版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 論文題目:基于FPGA的出租車計價器的設(shè)計</p><p> 專 業(yè):微電子科學(xué)與工程</p><p> 本 科 生:沈 丹 (簽名)___________</p><p> 指導(dǎo)教師:岳改麗 (簽名)___________</p><p>&
2、lt;b> 摘 要</b></p><p> 出租車計價器是乘客與司機雙方的交易準則。具有良好性能的計價器無論是對廣大出租車司機朋友還是乘客來說都是很必要的?,F(xiàn)在各大中城市出租車行業(yè)都已普及自動計價器,而部分小城市尚未普及,但隨著城市建設(shè)日益加快,象征著城市面貌的出租車行業(yè)也將加速發(fā)展,所以計價器的普及也是毫無疑問的。 </p><p> 本論文闡述了EDA的發(fā)展及
3、其優(yōu)勢、FPGA的發(fā)展趨勢及結(jié)構(gòu)特點和VHDL語言的優(yōu)點及語法結(jié)構(gòu),并分析了出租車計價器各模塊的功能要求、基本原理以及實現(xiàn)方法。本論文的設(shè)計采用VHDL硬件描述語言進行編程,基于Quartus II軟件平臺進行編譯和仿真。論文介紹了采用FPGA芯片設(shè)計出租車計價器的方法,闡述了該計價器的主要組成單元:車輪大小選擇模塊、計程模塊、計時模塊及計費模塊、數(shù)據(jù)分配模塊、分頻模塊、譯碼模塊的設(shè)計方法,同時給出了詳細的仿真波形,實現(xiàn)了出租車基本計費
4、功能,還能模擬汽車啟動,停止,暫停等狀態(tài),同時提高了計費系統(tǒng)的可靠性、通用性。本設(shè)計在FPGA試驗箱上運行良好,實現(xiàn)了計費器的各項功能。</p><p> 關(guān)鍵字 FPGA,VHDL,Quartus II,出租車計價器</p><p> Subject: The design of the taxi meter based on FPGA</p><p>
5、Specialty: Microeletronics Science and Engineering</p><p> Name:Dan Shen (Signature) ___________</p><p> Instructor: Gaili Yue (Signature) ___________
6、</p><p><b> ABSTRACT</b></p><p> Taxi meter is the rule of passenger and driver. Have a good performance of the meter for our taxi driver or passenger is very necessary. Now the au
7、tomatic taxi meter has popularized, and some small city has not been popular, but with the quickening of city construction, the symbol of the city will accelerate development of the taxi industry.</p><p> T
8、his article elaborates the concept and development of EDA , the development trend and structure of the FPGA, andexplains the advantages and grammar structure of VHDL ,meanwhile, analysed the function request, the basic p
9、rinciple as well as the method ofaccomplishment of each parts. This system's design programmes in the VHDL, compiled and emulated basing on Quartus II platform of Altera consists of four modules, that is speed, milea
10、ge, timing and billing module. This paper introduce one method </p><p> KEY WORDS FPGA , VHDL , Quartus II ,The taxi meter</p><p><b> 目 錄</b></p><p><b> 第1章
11、緒論1</b></p><p> 1.1 課題研究背景及目的1</p><p> 1.2 課題研究現(xiàn)狀2</p><p> 1.3 課題研究方法3</p><p> 第2章 設(shè)計相關(guān)工具介紹4</p><p> 2.1 EDA介紹4</p><p> 2.1.
12、1 EDA的發(fā)展4</p><p> 2.1.2 EDA的優(yōu)勢5</p><p> 2.2 FPGA介紹5</p><p> 2.2.1 FPGA的發(fā)展趨勢6</p><p> 2.2.2 FPGA結(jié)構(gòu)及其特點7</p><p> 2.3 VHDL介紹7</p><p>
13、 2.3.1 VHDL簡介7</p><p> 2.3.2 VHDL代碼結(jié)構(gòu)8</p><p> 2.3.3 VHDL語言設(shè)計硬件電路的優(yōu)點9</p><p> 2.4 Quartus II10</p><p> 2.4.1 QuartusⅡ簡介10</p><p> 2.4.2 QuartusⅡ設(shè)
14、計流程10</p><p> 2.5 實驗箱簡述11</p><p> 第3章 系統(tǒng)的設(shè)計13</p><p> 3.1 總體設(shè)計13</p><p> 3.1.1 出租車計價器的設(shè)計要求13</p><p> 3.1.2 總體框架設(shè)計13</p><p> 3.1.3流
15、程圖14</p><p> 3.2主要模塊設(shè)計16</p><p> 3.2.1 出租車總體模塊設(shè)計16</p><p> 3.2.2 車輪大小選擇模塊設(shè)計17</p><p> 3.2.3 計程模塊設(shè)計18</p><p> 3.2.4 計時模塊設(shè)計18</p><p>
16、 3.2.5 計費模塊設(shè)計19</p><p> 3.2.6 數(shù)據(jù)分配模塊設(shè)計21</p><p> 3.2.7 譯碼模塊設(shè)計21</p><p> 3.2.8 分頻模塊設(shè)計22</p><p> 第4章 仿真及調(diào)試結(jié)果23</p><p> 4.1 仿真結(jié)果23</p><
17、p> 4.1.1 出租車總體模塊仿真波形23</p><p> 4.1.2 車輪大小選擇模塊仿真波形23</p><p> 4.1.3 計程模塊仿真波形24</p><p> 4.1.4 計時模塊仿真波形24</p><p> 4.1.5 計費模塊仿真波形25</p><p> 4.1.6
18、數(shù)據(jù)分配模塊仿真波形25</p><p> 4.1.7 譯碼模塊仿真波形26</p><p> 4.1.8 分頻模塊仿真波形26</p><p> 4.2 管腳分配及說明27</p><p> 4.3 調(diào)試結(jié)果及分析27</p><p><b> 第5章 總結(jié)31</b>&l
19、t;/p><p><b> 致 謝34</b></p><p><b> 參考文獻35</b></p><p><b> 附 錄36</b></p><p><b> 源代碼36</b></p><p><b>
20、; 第1章 緒論</b></p><p> 1.1 課題研究背景及目的</p><p> 出租車計價器是乘客與司機之間用于公平貿(mào)易的工具,同時它也是出租車行業(yè)發(fā)展的重要標志。所以具有良好性能的出租車計價器無論是對司機還是乘客來說都是很重要的。因此,設(shè)計出租車計價器是很有價值的。</p><p> 在70年代開始時我國出現(xiàn)了第一輛出租車,但是那時的
21、出租車計價器幾乎都是進口的,不但不夠準確,而且價格還十分貴。隨著經(jīng)濟的快速發(fā)展,出租車行業(yè)的發(fā)展趨勢已十分突出,直接導(dǎo)致國內(nèi)各機械廠紛紛研發(fā)計價器。同時經(jīng)濟的發(fā)展也意味著城市旅游業(yè)的迅猛發(fā)展,使得出租車已經(jīng)成為看一個城市的窗口,也是象征這個城市的文明程度?,F(xiàn)在各大中城市的出租車計價器已經(jīng)普及,部分小城市雖尚未普及,但隨著城市建設(shè)的日益加快,實現(xiàn)計價器的全面普及是毫無疑問的,所以未來出租車計價器的市場是難以想象的。</p>
22、<p> 現(xiàn)在我國普遍使用的出租車計價器主要是利用單片機來實現(xiàn)計價功能。出租車計價器的功能由剛開始時只能顯示路程,而價錢卻需要司機自己通過路程來計算,計算后進行四舍五入得到,到現(xiàn)在能實現(xiàn)顯示總價并且語音提示和打印發(fā)票。但是近年來,由于國際油價的大幅度變動,所以出租車的價格也隨著油價的變動而進行調(diào)整,但由于計價器是采用單片機來實現(xiàn)的,而單片機程序并是不通用的,且不同的芯片有不同的指令集,因此價格的改動都需要將芯片從新燒錄,使得
23、每次調(diào)價都需要耗費大量的人力物力,所以很難達到目前油價變動的需求。并且出租車計價器采用硬件模塊化設(shè)計,分別為:主控模塊,電源模塊和按鍵顯示模塊。所以其硬件電路很復(fù)雜,并且由于分立元器件太多,造成電源功耗大,使得芯片不易散熱,影響計價器的使用壽命。而基于FPGA的出租車計價器不僅可以解決由單片機設(shè)計引起的諸多問題,而且現(xiàn)場可編程門陣列FPGA具有開發(fā)簡單,靜態(tài)可重復(fù)編程和動態(tài)系統(tǒng)編程等優(yōu)點。隨著微電子技術(shù)的迅猛發(fā)展,使得FPGA在電子電路
24、設(shè)計中可以實現(xiàn)速度更快、集成度更高的顯著優(yōu)勢,即可實現(xiàn)的功能也越來越多。所以基于FPGA的出租車計價器已成為未來計價方式的首選。</p><p> 所以這次的畢業(yè)設(shè)計在實現(xiàn)計價功能的同時,考慮到現(xiàn)在出租車行業(yè)的發(fā)展趨勢以及對計價器靈活性的高要求,希望利用現(xiàn)場可編程門陣列FPGA來解決現(xiàn)在出租車計價器存在的問題。</p><p> 1.利用FPGA代替MCU </p>&l
25、t;p> 現(xiàn)場可編程門陣列FPGA的出現(xiàn),解決了傳統(tǒng)電子設(shè)計不能完成的任務(wù)。基于FPGA的出租車計價器電路簡單,可采用軟件進行編譯與仿真,同時可設(shè)計相對復(fù)雜的功能,而且已經(jīng)編好的程序在不同的FPGA芯片上是通用的。還可以利用FPGA實現(xiàn)任何數(shù)字器件的功能,基于FPGA的數(shù)字電路,可以縮短設(shè)計周期,減少PCB面積,提高系統(tǒng)的可靠性。又因為FPGA的功能只取決于利用VHDL語言或Verilog-HDL語言編寫的程序,而不受具體芯片的
26、特殊控制,所以基于FPGA的出租車計價器具有更好的更新?lián)Q代能力。</p><p><b> 2.計價標準設(shè)定 </b></p><p> 增加該模塊,主要考慮在不改變硬件電路的前提下,可以使計價標準設(shè)計顯得更加靈活,即根據(jù)各地區(qū)的需求可以在VHDL程序中設(shè)置參數(shù),就可以適應(yīng)各地區(qū)出租車不同計價標準的需要,還可實現(xiàn)根據(jù)各地區(qū)的需求增加其他所需功能。同時還體現(xiàn)目前出租
27、車行業(yè)的發(fā)展,使因油價變動而方便改變運價成為可能。</p><p><b> 3.等待時間計價</b></p><p> 該模塊的增加是為了響應(yīng)了出租車行業(yè)的發(fā)展需求,使出租車計價更加合理,讓乘客與出租車司機之間的一個平衡點更容易達到。</p><p> 1.2 課題研究現(xiàn)狀</p><p> 對于出租車計價器,
28、目前市面上已經(jīng)出現(xiàn)了許多采用不同方式的設(shè)計,譬如有可編程的門器件FPGA,單片機以及ARM等,但其中以單片機為主流。下來就以單片機為例講述一下現(xiàn)在市面上的出租車計價器存在的弊端。采用單片機實現(xiàn)的出租車計價器因為而單片機程序不是通用的,且不同的芯片有不同的指令集,因此價格的改動都需要將芯片從新燒錄,使得每次調(diào)價都需要耗費大量的人力物力并且所需時間長,所以很難達到目前油價高頻率變動的需求。而且采用了硬件模塊化設(shè)計,分別為:主控模塊,電源模塊
29、和按鍵顯示模塊。所以其硬件電路很復(fù)雜,并且由于分立元器件太多,造成電源功耗大,使得芯片不易散熱,影響計價器的使用壽命。</p><p> 在我的這次設(shè)計中就利用FPGA來設(shè)計出租車計價器,因為基于FPGA的出租車計價器可以解決由單片機設(shè)計引起的諸多問題。與利用單片機設(shè)計的出租車計價器相比,采用FPGA設(shè)計的出租車計費功能在很大程度上凸顯了EDA的優(yōu)勢。因為利用EDA,不僅可以實現(xiàn)在線仿真和測試,還可以將所有的設(shè)
30、計都集中在統(tǒng)一的文件中,即根據(jù)系統(tǒng)需求,設(shè)計所需要的各個模塊,最后對各個模塊進行系統(tǒng)綜合,從而得到我們所需的整個系統(tǒng)設(shè)計。</p><p> 1.3 課題研究方法</p><p> 根據(jù)系統(tǒng)的總體功能,采用分層次、分模塊、自頂向下的設(shè)計方式,首先實現(xiàn)系統(tǒng)框圖中的各個子模塊,然后由頂層模塊調(diào)用各子模塊實現(xiàn)整個系統(tǒng)。編程完成后就利用QuartusⅡ軟件進行各模塊的仿真,實現(xiàn)后,分別創(chuàng)建原件
31、符號,新建一個電路圖,在圖中添加各模塊原件符號并進行端口定義和功能劃分,通過合理連接和協(xié)調(diào)各相關(guān)的各個不同端口,得到整個電路系統(tǒng)。然后連接電路,檢查電路是否連接正確,最后將程序下載到實驗裝置中,進行引腳分配及編譯,檢驗電路是否能實現(xiàn)所設(shè)計的功能和要求。</p><p> 本次設(shè)計硬件部分采用EP2C5Q208芯片作為主控芯片,8個共陰極數(shù)碼管,以及6個撥碼開關(guān),軟件部分的仿真在QuartusⅡ7.2環(huán)境中進行。
32、首先,對系統(tǒng)時鐘分頻以得到各個模塊所需的時鐘頻率,并將所得到的頻率送至主控芯片,同時對等待時間脈沖數(shù),里程脈沖數(shù),計費方式信號,復(fù)位信號和等待時間信號等信息經(jīng)過控制器的處理,得到總價錢和路程,并最終將所行駛的路程和所需支付的金額通過LED 8段數(shù)碼管顯示出來。</p><p> 第2章 設(shè)計相關(guān)工具介紹</p><p> 2.1 EDA介紹 </p><p>
33、 2.1.1 EDA的發(fā)展</p><p> 隨著科學(xué)技術(shù)的飛速發(fā)展,電子設(shè)計的規(guī)模越來越大,復(fù)雜度也越來越高,集成電路的制作工藝達到90nm甚至更小的尺寸。以計算機為工作平臺,融合了電子技術(shù)和智能化技術(shù)的EDA(Electronic Design Automation,電子設(shè)計自動化)工具已經(jīng)在高速,復(fù)雜的數(shù)字系統(tǒng)設(shè)計中得到了廣泛的應(yīng)運。</p><p> EDA是指利用計算機完成電
34、子系統(tǒng)的設(shè)計。EDA技術(shù)是以計算機和微電子技術(shù)為先導(dǎo),匯集了計算機圖形學(xué),拓撲學(xué),邏輯學(xué),微電子工藝與結(jié)構(gòu)學(xué)和計算數(shù)學(xué)等多種計算機應(yīng)運學(xué)科最新成果先進技術(shù)。</p><p> EDA技術(shù)以計算機為工具,代替人完成數(shù)字系統(tǒng)的邏輯綜合,布局布線和設(shè)計仿真等工作。設(shè)計人員只需要完成對系統(tǒng)功能的描述,就可以由計算機軟件進行處理,得到設(shè)計結(jié)果,而且修改設(shè)計如同修改軟件一樣方便,可極大地提高設(shè)計效率。</p>
35、<p> 從20世紀60年代中期開始,人們就不斷開發(fā)各種計算機輔助設(shè)計工具來幫助設(shè)計人員進行電子系統(tǒng)的設(shè)計。電路理論和半導(dǎo)體工藝水平的提高,對EDA技術(shù)的發(fā)展起了巨大的推動作用,使EDA作用范圍從PCB版設(shè)計延伸到電子線路和集成電路設(shè)計,甚至整個系統(tǒng)的設(shè)計,也使IC芯片系統(tǒng)應(yīng)用,電路制作和整個電子系統(tǒng)生產(chǎn)過程都集成在一個環(huán)境之中。根據(jù)電子設(shè)計技術(shù)的發(fā)展特診,EDA技術(shù)發(fā)展可大體分為三個階段。</p><
36、p> CAD階段:CAD(Computer Aided Design,計算機輔助設(shè)計)階段是從20世紀60年代中期到20世紀80年代初期,該階段的特點是一些單獨的工具軟件,主要有PCB(Printed Circuit Board)布線設(shè)計,電路模擬,邏輯模擬及版圖的繪制等,通過計算機的使用,從而將設(shè)計人員從大量繁鎖重復(fù)的計算和繪圖工作中解脫出來。 </p><p> CAE階段:CAE(Computer
37、 Aided Engineering,計算機輔助工程)階段是從20世紀80年代初期到20世紀90年代初期,這個階段在集成電路與電子設(shè)計方法學(xué)以及設(shè)計工具集成化方面取得了許多成果。各種設(shè)計工具,如原理圖輸入,編譯與連接,邏輯模擬,測試碼生成,版圖自動布局以及各種單元庫已齊全。這個階段主要采用基于單元庫的半定制的設(shè)計方法,采用門陣列和標準單元設(shè)計的各種ASIC(Application Specific Integrated Circuit,
38、專用集成電路)得到了極大的發(fā)展,將集成電路工業(yè)推入ASIC時代。</p><p> EDA階段:20世紀90年代以來,電子設(shè)計技術(shù)發(fā)展到EDA階段。此階段主要出現(xiàn)了高級語言描述,系統(tǒng)仿真和綜合技術(shù)為特診的第三代EDA技術(shù),不僅極大地提高了系統(tǒng)的設(shè)計效率,而且使設(shè)計人員擺脫了大量的輔助性及基礎(chǔ)性工作,將精力集中于創(chuàng)造性的方案與概念的構(gòu)思上。</p><p> 2.1.2 EDA的優(yōu)勢&l
39、t;/p><p> 電子產(chǎn)品的設(shè)計生產(chǎn),從選題大,方案論證,性能指標確定,裝修電路,修改,定型參數(shù)直到批量生產(chǎn),是一個復(fù)雜而又費時的過程。</p><p> 傳統(tǒng)的電路裝配,調(diào)試過程,一般均采用專門的焊接板,通過手工連線裝配,檢查無誤后,進行電路測量,最后評估電路性能。若性能與設(shè)計值不符時,需調(diào)換參數(shù)并重新調(diào)試測量,直至電路符合設(shè)計要求為止,但是,當電路非常復(fù)雜時,采用焊接板組裝電路時所產(chǎn)
40、生的連接錯誤,器件損壞等人為錯誤,常會造成人力,財力,時間的浪費及錯誤的性能評估。尤其是集成電路的設(shè)計,器件在焊接班上就無法組成向集成電路內(nèi)部那樣機密復(fù)雜的電子電路,裝配版上的寄生參數(shù)與集成環(huán)境中的完全不同。因此,在裝配班測試的特性將無法準確的描述集成電路的真實特性。所以,電子電路的傳統(tǒng)設(shè)計發(fā)法已經(jīng)不適應(yīng)當前電子技術(shù)發(fā)展的要求,這就要借助計算機完成電子電路的輔助設(shè)計,即電子電路EDA技術(shù)。</p><p> E
41、DA包括電子工程設(shè)計的全過程,如系統(tǒng)結(jié)構(gòu)模擬,電路特性分析,繪電路圖和制作PCB等。EDA還可進行電路仿真,就是把電子器件或電路模塊以數(shù)學(xué)模型表示,并配合數(shù)值分析的方法,實現(xiàn)電路的功能模擬及特性分析。如果采用的電路模型足夠精確,則模擬結(jié)果將真實的反映電路特性,甚至可以方便地實現(xiàn)電路結(jié)構(gòu)及性能的優(yōu)化設(shè)計,并提供相當完整而詳細的數(shù)據(jù)庫資料。較之傳統(tǒng)的電路設(shè)計方法,EDA的優(yōu)點是顯而易見的。</p><p> 2.2
42、 FPGA介紹</p><p> 現(xiàn)場可編程門陣列FPGA器件是Xilinx公司于1985年首家推出的,它是一種新型的高密度PLD,采用CMOS-SRAM工藝制作。</p><p> FPGA是一種基于查找表(LUT, Look Up Table)的可編程邏輯器件,主要由邏輯單元(LE,Logic Element)構(gòu)成的可配置邏輯塊,可編程I/O和可編程內(nèi)部互聯(lián)模塊組成。用戶也可以根據(jù)
43、需要對它進行編程,使之生成特定的電路結(jié)構(gòu),完成一定的功能。FPGA內(nèi)部陣列塊之間采用分段式進行互連,因此結(jié)構(gòu)比較靈活,但是延時不可預(yù)測。</p><p> 2.2.1 FPGA的發(fā)展趨勢 </p><p> FPGA器件在過去的幾十年里已經(jīng)取得了巨大成就,在功能、成本、功耗、容量和編程能力方面的性能不斷提高,在未來的發(fā)展中,將呈現(xiàn)以下幾個方面的趨勢。</p><p&
44、gt; 1.向大規(guī)模、高集成度方向進一步發(fā)展</p><p> 由于微電子制作工藝的超高速發(fā)展,F(xiàn)PGA在性能、容量方面取得的進步非常顯著,有人認為:目前多數(shù)系統(tǒng)的瓶頸是處理器、音頻及數(shù)據(jù)的系統(tǒng)引起的I/O帶寬問題。I/O帶寬的關(guān)鍵在于收發(fā)器性能,這正是FPGA優(yōu)于其他解決方案之處,Altera的Strative IV GT產(chǎn)品中提供了可達11.3Gb/s的高性能收發(fā)器,并將40nm工藝、高密度與高性能收發(fā)器
45、完美結(jié)合,從而使FPGA能更完善地用于視頻、音頻、圖像處理領(lǐng)域。</p><p> 2.向低電壓、低功耗的方向發(fā)展</p><p> 目前,電子設(shè)計的一個顯著趨勢是功耗特性變得日益重要,功耗已經(jīng)成為電子系統(tǒng)開發(fā)中的最重要考慮因素之一,并影響著最終產(chǎn)品的體積、重量和效率。FPGA器件的內(nèi)核電壓呈不斷降低的趨勢,經(jīng)歷了5V-3.3V-2.5V-1.8V-1.2V的演變,未來將會更低。工作電
46、壓的降低使得芯片的功耗也顯著減少,這樣使FPGA器件可適用于便攜、低功耗應(yīng)用場合,如移動通信設(shè)備、個人數(shù)字助理等。</p><p> 3.向高速可預(yù)測延時的方向發(fā)展</p><p> 時間特性也是FPGA器件的一個重要標志。由于在一些高速處理系統(tǒng)中,為了保證系統(tǒng)的穩(wěn)定性,F(xiàn)PGA器件的延時可預(yù)測性變得十分重要。用戶在進行系統(tǒng)重構(gòu)的同時,擔心的是延時特性會不會因重新布線而改變,是否將導(dǎo)致
47、系統(tǒng)性能的不穩(wěn)定性,因此,為了適合未來復(fù)雜高速電子系統(tǒng)的要求,F(xiàn)PGA的高速可預(yù)測延時也是一個發(fā)展趨勢。</p><p> 4.在FPGA器件內(nèi)嵌入更多功能模塊</p><p> 現(xiàn)在,F(xiàn)PGA器件中已經(jīng)廣泛嵌入RAM/ROM等存儲模塊,嵌入了DSP模塊、硬件乘法器等,可實現(xiàn)快速的乘法累加操作,比DSP芯片快很多倍。將來的FPGA器件還將嵌入更多功能模塊,實現(xiàn)更多復(fù)雜運算,</p
48、><p> 5.向模數(shù)混合可編程方向發(fā)</p><p> 迄今為止,F(xiàn)PGA的開發(fā)和應(yīng)用的大部分工作都集中在數(shù)字邏輯上,模擬電路及數(shù)?;旌想娐返目删幊碳夹g(shù)在未來將得到進一步發(fā)展。</p><p> 2.2.2 FPGA結(jié)構(gòu)及其特點</p><p> FPGA結(jié)構(gòu)一般分為三部分,可編程邏輯塊,可編程I/O模塊和可編程內(nèi)部連線。</p&
49、gt;<p> FPGA的發(fā)展非常迅速,形成了各種不同的結(jié)構(gòu)。按邏輯功能模塊的大小分類,F(xiàn)PGA可以分為細粒度FPGA和粗粒度FPGA。細粒度FPGA的邏輯功能塊比較小,資源可以充分利用,但是隨著設(shè)計密度的增加,信號不得不通過許多開關(guān),路由延遲也快速增加,從而削弱了整體性能,導(dǎo)致速度降低;粗粒度FPGA的邏輯功能塊規(guī)模大,功能強,可以用較少的功能塊和內(nèi)部連線就能完成較復(fù)雜的邏輯功能,易于獲得較好的性能,但其缺點是資源不能
50、充分利用。從邏輯功能的結(jié)構(gòu)上分類,可分為查找表結(jié)構(gòu)、多路開關(guān)結(jié)構(gòu)和多級與非門結(jié)構(gòu)。根據(jù)FPGA內(nèi)部連線的結(jié)構(gòu)不同,可分為分段互聯(lián)型FPGA和連續(xù)互連性、型FPGA兩種。分段互連型FPGA中具有多種不同長度的金屬線,各金屬線段之間通過開關(guān)矩陣或反熔絲編程鏈接,走線靈活方便,但走線延時無法預(yù)測;連續(xù)互連型FPGA是利用相同長度的金屬線,連接與距離遠近無關(guān),布局走線是固定的和可預(yù)測的。根據(jù)編程方式,F(xiàn)PGA可分為一次編程型和可重復(fù)編程型兩類。
51、一次編程型采用反熔絲開關(guān)元件,具有體積小、集成密度高、互連線特性阻抗低、寄生電容小和高速度的特點,此外還具有加密位、防拷貝、抗輻射、抗干擾、不需外接PR</p><p> 2.3 VHDL介紹</p><p> 2.3.1 VHDL簡介</p><p> VHDL是一種硬件描述語言,它可以對電子電路系統(tǒng)和系統(tǒng)的行為進行描述?;谶@種描述,結(jié)合相關(guān)的軟件工具,可
52、以得到所期望的實際電路系統(tǒng)。</p><p> VHDL是VHSIC Hardwar Description Language(VHSIC硬件描述語言)。VHSIC是Very High Speed Integrated Circuit HDL(超高速集成電路硬件描述語言)的縮寫,是在ADA語言基礎(chǔ)上發(fā)展起來的硬件描述語言。是20世紀80年代在美國國防部資助下始創(chuàng)的,并最終導(dǎo)致了VHDL語言的出現(xiàn)。它的第一個規(guī)范
53、版本為VHDL 87,VHDL 93是其后續(xù)的升級版本。</p><p> 使用VHDL語言描述的電路,可以進行綜合與仿真。然而,值得注意的是,盡管所有VHDL代碼都是可仿真的,但并不是所有代碼都是可綜合的。VHDL語言被廣泛使用的基本原因在于它是一種標準語言,是與工具和工藝無關(guān)的,從而可以方便的進行移植和重用。VHDL語言的兩個最直接的應(yīng)用領(lǐng)域是可編程邏輯器件和專用集成的電路,其中可編程邏輯器件包括復(fù)雜可編程
54、邏輯器件和現(xiàn)場可編程門陣列。一段VHDL代碼編寫完成后,用戶可以使用可編程邏輯器件來實現(xiàn)整個電路。</p><p> VHDL語言與常規(guī)的順序執(zhí)行的計算機程序不同,VHDL從根本上將是并發(fā)執(zhí)行的。因此,我們通常稱之為代碼,而不是程序。在VHDL中,只有在進程(PROCESS),函數(shù)(FUNCTION)和過程(PROCEDURE)內(nèi)部的語句才是順序執(zhí)行的。</p><p> 2.3.2
55、VHDL代碼結(jié)構(gòu)</p><p><b> 1.代碼基本單元</b></p><p> 一段獨立的VHDL代碼至少包含3個組成部分:</p><p> 庫(LIBRARY)聲明:列出了當前設(shè)計中需要用到的所有庫文件,如ieee,std和work等。</p><p> 實體(ENTITY):定義了電路的輸入/輸出引
56、腳。</p><p> 構(gòu)造體(ARCHITECTURE):所包含的代碼描述了電路要實現(xiàn)的功能。</p><p><b> 2.代碼語法結(jié)構(gòu)</b></p><p> 庫聲明:使用一個庫之前,需要首先對庫進行聲明。經(jīng)過聲明之后,在設(shè)計中就可以調(diào)用庫中的代碼了。庫的聲明方式如下:</p><p> LIBRARY
57、libray_name;</p><p> USE libray_name.package_name.package_parts;</p><p> 其中LIBRARY和USE是VHDL保留的關(guān)鍵字。</p><p> 實體:是用來描述電路的所有輸入/輸出引腳,其語法結(jié)構(gòu)如下:</p><p> ENTITY entity_name
58、IS</p><p><b> POQT (</b></p><p> Pore_name:signal_model signal_type;</p><p> Pore_name:signal_model signal_type;</p><p><b> …);</b></p>
59、;<p> END entity_name; </p><p> 端口的信號模式是以下4中之一:IN,OUT,INOUT,BUFFER。ENTITY名稱的選取沒有嚴格的規(guī)定,但須注意不要與VHDL保留的關(guān)鍵字發(fā)生沖突。</p><p> 構(gòu)造體:構(gòu)造體中的代碼用來描述電路行為和實現(xiàn)的功能,其語法結(jié)構(gòu)如下:</p><p> ARCHITECTU
60、RE architecture_name OF entity_name IS</p><p> [declarations] </p><p><b> BEGIN</b></p><p><b> (code) </b></p><p> END architecture_name;<
61、;/p><p> 從語法結(jié)構(gòu)中可以看到,一個ARCHITECTURE包含兩部分:聲明部分(可選),用于對信號和常量等進行聲明;代碼部分(BEGIN和END之間的部分),用來描述電路的行為或工功能。與ENTITY一樣,可以采用除VHDL關(guān)鍵字以外的任何名稱為ARCHITECTURE命名,并且允許和ENTITY具有相同的名稱。</p><p> 2.3.3 VHDL語言設(shè)計硬件電路的優(yōu)點<
62、;/p><p> 1.VHDL支持結(jié)構(gòu)化和自頂向下的設(shè)計方法,這樣非常便與設(shè)計的模塊化。設(shè)計者從系統(tǒng)整體要求出發(fā),自上而下將系統(tǒng)內(nèi)容細化,最后將模塊組合成完整的整體設(shè)計。</p><p> 2.VHDL具有多層次描述和仿真系統(tǒng)硬件功能的能力,可以從系統(tǒng)到門級電路不同層次對數(shù)字進行建模和描述,不同的描述還可以混合使用,大大簡化了硬件設(shè)計任務(wù),提高了設(shè)計效率和可靠性,縮短了產(chǎn)品開發(fā)周期。<
63、;/p><p> 3.VHDL是一種工業(yè)語言,設(shè)計者,EDA開發(fā)工具的供應(yīng)商和IC芯片生產(chǎn)商都要遵循這一標準,因此它具有設(shè)計和開發(fā)環(huán)境,具有電路實現(xiàn)工藝以及采用的實現(xiàn)芯片無關(guān)的特點,設(shè)計成果便于移植,交流和二次開發(fā)。另外由于其語法嚴格,是強類型語言,因此涉及安全性好,也便于閱讀。</p><p> 4.VHDL即支持傳輸延時也支持慣性延遲,不僅可以很好地描述系統(tǒng)和電路的邏輯功能,也可以真實
64、地反映系統(tǒng)和電路的時間特性。</p><p> 5.VHDL可以支持各種不同類型的數(shù)字電路和系統(tǒng)的設(shè)計。既支持同步電路也支持異步電路;既支持TTL電路,也支持CMOS電路;即可以采用CPLD芯片實現(xiàn),也可以采用FPGA芯片實現(xiàn)。</p><p> 2.4 Quartus II</p><p> 2.4.1 QuartusⅡ簡介</p><p
65、> QuartusⅡ是Altera公司在21世紀初推出的可編程邏輯器件的集成開發(fā)軟件,這個軟件是該公司前一代可編程邏輯器件集成開發(fā)軟件MAX+PLUSⅡ的更新?lián)Q代產(chǎn)品。QuartusⅡ集成開發(fā)軟件支持可編程邏輯器件開發(fā)的整個過程,它提供一種與器件結(jié)構(gòu)五官的設(shè)計環(huán)境。軟件界面友好,使設(shè)計者能夠方便的進行設(shè)計輸入、設(shè)計處理和器件編程。</p><p> QuartusⅡ集成開發(fā)軟件不僅支持利用硬件描述語言通
66、過文本編輯的方法完成電路設(shè)計,而且該軟件也提供類似傳統(tǒng)電子設(shè)計中繪制電路圖的輸入方式。當使用原理圖輸入方式時,設(shè)計者可以很方便地使用開發(fā)軟件提供的各種元件來提高設(shè)計及速度和設(shè)計質(zhì)量。</p><p> 2.4.2 QuartusⅡ設(shè)計流程</p><p> QuartusⅡ集成開發(fā)軟件的核心是模塊化的編譯器。編譯器包括的功能模塊有分析/綜合器、適配器、裝配器、時序分析器、設(shè)計輔助模塊和
67、EDA網(wǎng)表文件生成器。</p><p> 利用QuartusⅡ集成開發(fā)軟件進行可編程邏輯器件開發(fā)的全部過程包括以下步驟:設(shè)計輸入、綜合、布局布線、驗證和仿真,以及可編程邏輯器件的編程和配置。QuartusⅡ集成開發(fā)軟件的功能模塊與可編程邏輯器件開發(fā)過程之間的關(guān)系如圖2-2所示。</p><p> 設(shè)計輸入是將設(shè)計者所需要的電路構(gòu)思已開發(fā)軟件要求的形式表達出來。QuartusⅡ軟件支持模
68、塊/原理圖輸入方式、文本輸入方式、Core輸入方式和第三方EDA工具輸入方式等。QuartusⅡ軟件同時允許用戶在需要對器件的編譯或變成進行必要的條件約束的環(huán)境下,使用分配編輯器設(shè)定初始設(shè)計的約束條件。</p><p> 綜合是將HDL語言、原理圖等設(shè)計輸入依據(jù)給定的硬件結(jié)構(gòu)組件和約束控制條件進行編譯、優(yōu)化、轉(zhuǎn)換和綜合,生成門級電路,或更底層電路的描述網(wǎng)表文件,以供適配器實現(xiàn)。</p><p
69、> 適配也稱為布局布線,這個步驟利用適配器將邏輯綜合生成的網(wǎng)表文件映射到某一具體的器件。該過程包括將設(shè)計的邏輯和時序要求與器件的可用資源相匹配;將每個邏輯功能分配到最好的邏輯單元位置,進行布局和時序分析;選擇相應(yīng)的互聯(lián)路徑和引腳分配。適配完成后,生成可用于時序仿真的仿真文件和可用于編程的編程文件。</p><p> 仿真包括功能仿真和時序仿真。功能仿真實在不考慮期間延時的理想情況下仿真設(shè)計項目,以驗證其
70、邏輯功能的正確性,功能仿真又稱前仿真。時序仿真是在考慮具體適配器的各種延時的情況下仿真設(shè)計項目,它是接近真實器件運行特性的仿真,時序仿真又稱后仿真。</p><p> 器件編程與配置是指設(shè)計輸入編譯成功后,設(shè)計者試用器件編譯器將編程文件下載到實際器件的過程。</p><p> QuartusⅡ集成開發(fā)軟件允許用戶在開發(fā)過程中使用QuartusⅡ圖形用戶界面、EDA工具界面和命令執(zhí)行界面
71、。用戶可以在整個開發(fā)過程中使用這些界面中的任意一個,也可以在開發(fā)過程中的不同步驟中使用不同的界面。</p><p> 上述任何一步出錯,均需要回到設(shè)計輸入階段糾正錯誤,并重新按設(shè)計流程進行設(shè)計。</p><p><b> 2.5 實驗箱簡述</b></p><p> 本設(shè)計采用的實驗箱為LTE_EDA_02F型EDA/SOC實驗開發(fā)系統(tǒng),
72、選用的芯片為EP2C5Q208C8。關(guān)于FPGA/CPLD器件的配置:</p><p> 當在QuartusⅡ中完成設(shè)計后,就應(yīng)當將所設(shè)計的電路下載到CPLD芯片中,結(jié)合用戶系統(tǒng)進行統(tǒng)一的調(diào)試。針對CPLD器件不同的內(nèi)部結(jié)構(gòu),Altera公司提供了不同的器件配置方式。Altera可編程邏輯器件的配置可通過編程器、JATG接口在線編程及Altera在線配置三種方式進行。</p><p>
73、 Altera器件編程的連接硬件包括ByteBlaster并口下載電纜,ByteBlasterMV并口下載電纜,MasterBlaster串行/USB 通信電纜,BitBlaster串口下載電纜。Altera公司提供的EPC1、EPC2、EPC16和EPC144等PROM配置芯片。本設(shè)計采用的是ByteBlaster并口下載電纜。ByteBlaster并口下載電纜提供兩種下載模式:</p><p> 1.標準串
74、行模式(AS模式)——用來產(chǎn)品定型后,完成對FPGA代碼的固化,在下次上電后,能夠自動對FPGA進行配置,使產(chǎn)品獨立工作;</p><p> 2.JTAG模式——具有工業(yè)標準的JTAG邊界掃描測試電路(符合IEEE 1149.1:1990標準),用來調(diào)試FPGA或NiosⅡCPU,多在產(chǎn)品開發(fā)初期使用。</p><p><b> 第3章 系統(tǒng)的設(shè)計</b><
75、/p><p><b> 3.1 總體設(shè)計</b></p><p> 3.1.1 出租車計價器的設(shè)計要求</p><p> 按照計價標準能實現(xiàn)計價功能;實現(xiàn)預(yù)置功能:能預(yù)置起步價、每公里收價、行車加價里程;實現(xiàn)模擬功能:能模擬汽車啟動、停止、暫停等狀態(tài)。</p><p> 該計價系統(tǒng)可靠性高、成本低、通用性強;該系統(tǒng)在
76、不改變硬件電路的前提下,要具有可以重構(gòu)系統(tǒng)的功能,采用完全相同電路結(jié)構(gòu),只要根據(jù)各地區(qū)的需求在VHDL程序中設(shè)置各參數(shù),就可以適應(yīng)各地區(qū)出租車不同計價標準的需要,還可實現(xiàn)根據(jù)各地區(qū)需求增加其他功能。</p><p><b> 具體計費方式如下:</b></p><p> 1.車起步開始計價。首先顯示起步價(本次設(shè)計起步價分為7:00至22:00為10.00元,22
77、:00至7:00為15元),車在行駛3 km以內(nèi),只收起步價。</p><p> 2.在7:00至22:00行駛時,超過3 km未達20km后在10元基礎(chǔ)上每行駛1km車價加2元,行駛路程達到或超過20 km后,車費變成按每公里3.3元開始計價;在22:00至7:00行駛時,超過3 km未達20km后在15元基礎(chǔ)上每行駛1km車價加4元,行駛路程達到或超過20 km后,車費變成按每公里5元開始計價。</p
78、><p> 3.車暫時停止(行駛中遇紅燈或中途暫時停車)等待累計時間超過5分鐘時,按1元/分鐘累計費用。</p><p> 3.1.2 總體框架設(shè)計</p><p> 圖3.1系統(tǒng)設(shè)計總框圖</p><p> 分頻模塊用來將實驗系統(tǒng)所提供的時鐘進行分頻,得到所需要的時鐘頻率。</p><p> 行駛路程計數(shù)模塊來
79、統(tǒng)計路程。當出租車啟動并行駛的過程中,當時鐘的上升沿檢測到公里信號(輸入端clkout)為1時,對路程計數(shù)器的個位和十位進行加法計數(shù),并在累計路程超過3km是,讓標志位enable為高電平,該信號將傳給控制模塊。</p><p> 等待時間計數(shù)模塊來統(tǒng)計等待時間。在出租車啟動并停止等待的過程中(即復(fù)位reset為0 時,停止信號stop為0),計數(shù)器在時鐘的上升沿進行加法計數(shù),每60進制產(chǎn)生進位脈沖使分鐘計數(shù)器
80、個位和十位進行加法計數(shù),并在累計等待時間超過5分鐘時,讓標志位timecount為高電平,該信號將傳給控制模塊。</p><p> 計費模塊用于出租車啟動后,根據(jù)行駛路程和停止等待時間計算費用。該模塊的時鐘使用控制模塊輸出的信號。當出租車停車復(fù)位時,時鐘控制模塊為clk信號,用于將費用計數(shù)器復(fù)位為起步價10元;當出租車處于行駛狀態(tài)時,時鐘控制模塊為滿3km信號時enable,路程每滿1km,費用計數(shù)器加2元,時
81、鐘控制模塊為滿20km信號時,路程每滿1km,費用計數(shù)器加3.3元,;當出租車處于停止等待狀態(tài)時,時鐘控制模塊為滿5分鐘信號timecount,時間每滿1分鐘,費用計數(shù)器加1元。</p><p> 控制模塊為計數(shù)模塊提供時鐘信號。停止復(fù)位狀態(tài)輸出時鐘信號clk;停止等待狀態(tài)時輸出時間計數(shù)模塊產(chǎn)生的滿5分鐘脈沖timecount;行駛狀態(tài)是輸出模擬滿公里數(shù)的信號clkout。</p><p&g
82、t; 數(shù)碼管顯示模塊用來顯示所行駛的路程和所花費的價錢。</p><p><b> 3.1.3流程圖</b></p><p> 系統(tǒng)工作流程圖如圖3.2所示。系統(tǒng)工作流程為:出租車載客后,啟動計價器即start為1,整個系統(tǒng)開始運行,進入初始化狀態(tài),即計程和計時從0開始,計價從起步價開始,白天起步價為6.0元,晚上起步價為7.0元。再根據(jù)pause信號判斷行駛或
83、是停止等待。若pause為0,表示行駛狀態(tài),則計程器開始計數(shù),當路程超過3km后,如果是白天,計價器按每公里1.4元的單價進行累加,如果是晚上,計價器按每公里2.0元累加,否則計程器保持不變;當路程超過20km后,如果是白天,計價器按每公里2.0元的單價進行累加,如果是晚上,計價器按每公里3.0元累加,否則繼續(xù)按3km后的計價方式計價;若pause為1,便是停止等待狀態(tài),則計時器開始加數(shù),當每超過5min后計價器加1元,否則計價器保持不
84、變;出租車停止后,按下stop鍵,停止計程和計時;然后按下reset鍵,將所有計數(shù)器復(fù)位。</p><p> 圖3.2 程序流程圖</p><p><b> 3.2主要模塊設(shè)計</b></p><p> 3.2.1 出租車總體模塊設(shè)計</p><p> 圖3.3 出租車計價器設(shè)計的頂層原理圖</p>
85、<p> 構(gòu)建原理圖的方法:首先建立相應(yīng)的原理圖文件。點擊New -> Block Diagram/Schematic File,生成一個后綴名為.bdf的文件。第二步,打開將要生成元件的主代碼頁面,然后選擇File-> Create/_Update -> Create Symbol Files for Current File.在.bdf文件的空白處左鍵雙擊一下,彈出一個Symbol的窗口,在左邊窗口
86、處選擇需要的器件,在Project下是自己的代碼生成的元件。然后將所添加的元件按邏輯關(guān)系連接起來,最后加上output和input的管腳。然后對管腳命名。</p><p> 上圖就是按上述方法所得到的。其中計價,計程,計時,數(shù)據(jù)分配和尺寸大小選擇模塊都使用相同的時鐘脈沖,均由分頻模塊將系統(tǒng)時鐘經(jīng)過分頻后傳送給各個模塊。譯碼模塊用于顯示路程和價錢。Choose輸入端口用于選擇白天模式和晚上模式。</p>
87、;<p> 3.2.2 車輪大小選擇模塊設(shè)計</p><p> 不同型號的車輪,其所對應(yīng)的直徑不同,每行駛100m,對應(yīng)的圈數(shù)也不同,車輪直徑與每公里需要轉(zhuǎn)過圈數(shù)對照表由下表3.1給出。</p><p> 表3.1 車輪直徑與每千米所轉(zhuǎn)圈數(shù)對應(yīng)表</p><p> 圖3.4 車輪大小選擇模塊原理框圖</p><p>
88、開關(guān)sp控制不同車型所應(yīng)該給出計程圈數(shù),達到所給的圈數(shù)給出相應(yīng)的計程脈沖,clk為輸入脈沖時鐘信號,reset為復(fù)位鍵,stop為停止鍵,start為開始計價鍵,所有信號均為高有效。</p><p> 3.2.3 計程模塊設(shè)計</p><p> 圖3.5 計程模塊原理框圖</p><p> 管腳說明:reset為復(fù)位信號,clkout為里程計費脈沖,KM_CN
89、T0~KM_CNT3為路程的十分位到百位輸出。</p><p> 當復(fù)位信號為‘1’時,里程的百,十,個,十分位均被復(fù)位為‘0’;反之,clkout開始循環(huán)計數(shù)。當十分位為9時,十分位清零,向個位進1,個位為9 時,向十位進1,個位清零,同理,十位和百位的計數(shù)方式同前。當計程為999.9公里時,達到最大計程范圍,里程的各位被清零。</p><p> 3.2.4 計時模塊設(shè)計</p
90、><p> 圖 3.6 計時模塊原理框圖</p><p> 管腳說明:CLK為時鐘信號,reset為復(fù)位信號,start為開始信號,stop為停止信號,pause為暫停信號。</p><p> 當start=‘1’,stop=‘0’且pause=‘1’時,開始記間,當計時達到30秒時,timecount輸出一個脈沖,然后重新開始計時。</p>&
91、lt;p> 3.2.5 計費模塊設(shè)計</p><p> 圖 3.7 計費模塊原理框圖</p><p> 管腳說明: 時鐘信號CLK,里程計數(shù)脈沖clkout,計時計數(shù)脈沖timecount,復(fù)位信號reset,chooose為白天、晚上選擇輸入端,KM_CNT0~KM_CNT3為路程的十分位到百位,MONEY0~MONEY3是費用的角,元,十元,百元輸出端。</p>
92、<p> 3km以內(nèi)為起步價,大于3km以后,每行駛1km費用按price進行變化,所以需要路程信號標志位enable,當enable為1時,說明此時所行路程已經(jīng)大于3km,否則小于3km。為了更切合實際,采用白天和晚上起步價和計價單價不同的方式,其選擇信號為choose,當choose=‘1’時,按白天所要求的計價方式計價,反之,為晚上。</p><p> timecount以1元基準進行累加
93、,在時鐘信號下對計時脈沖進行累加,當達到一定數(shù)值時,總價加1元,否則計時脈沖繼續(xù)累加。代碼如下:</p><p> ELSIF timecount='1'THEN --每來一次計時脈沖計費加1</p><p> IF MONEY_CN3="1001"AND MONEY_CN2="1001"AND MONEY_CN1="
94、;1001" THEN--費用等于999</p><p> MONEY_CN3<="0000";</p><p> MONEY_CN2<="0000";</p><p> MONEY_CN1<="0000";</p><p> MONEY_CN0&
95、lt;=MONEY_CN0;</p><p> ELSIF MONEY_CN3/="1001" AND MONEY_CN2="1001"AND MONEY_CN1="1001" THEN--費用大于99小于999</p><p> MONEY_CN3<=MONEY_CN3+"0001";</p&
96、gt;<p> MONEY_CN2<="0000";</p><p> MONEY_CN1<="0000";</p><p> MONEY_CN0<=MONEY_CN0;</p><p> ELSIF MONEY_CN2/="1001"AND MONEY_CN1=&q
97、uot;1001" THEN</p><p> MONEY_CN3<=MONEY_CN3;</p><p> MONEY_CN2<=MONEY_CN2+"0001";</p><p> MONEY_CN1<="0000";</p><p> MONEY_CN0<
98、=MONEY_CN0;</p><p><b> ELSE </b></p><p> MONEY_CN3<=MONEY_CN3;</p><p> MONEY_CN2<=MONEY_CN2;</p><p> MONEY_CN1<=MONEY_CN1+"0001";<
99、;/p><p> MONEY_CN0<=MONEY_CN0;</p><p><b> END IF;</b></p><p> clkout的計價方式為:KM_CNT1>=4時,MONEY0和MONEY1和計價單價(PRICE0和PRICE1)相應(yīng)進行相加,在相加的過程會產(chǎn)生進位,設(shè)計中考慮了如下進位情況:</p>
100、<p> 1.MONEY0與PRICE0相加沒有進位,MONEY1與PRICE1相加沒有進位;</p><p> 2.MONEY0與PRICE0相加沒有進位,MONEY1與PRICE1相加有進位;</p><p> 3.MONEY0與PRICE0相加有進位,MONEY1與PRICE1相加沒有進位;</p><p> 4.MONEY0與PRICE0
101、相加有進位,MONEY1與PRICE1相加有進位。</p><p><b> 代碼見附錄。</b></p><p> 3.2.6 數(shù)據(jù)分配模塊設(shè)計</p><p> 圖 3.8 數(shù)據(jù)分配模塊原理框圖</p><p> 在時鐘信號CLK的控制下,將里程信號百位十位個位以及十分位,還有費用信號的值分時輸出。其中,MO
102、NEY~MONEY3分別是費用的角,元,十元,百元信號輸入端,KM_CNT0~KM_CNT3為里程的十分位到里程的百位輸出,用到八位數(shù)碼管,需要用3位選擇信號SEL0~SEL2,還有小數(shù)點信號dp 和輸出信號d。最終利用人的視覺暫留,提高掃描頻率,這樣人眼就看到穩(wěn)定的里程和費用信號的顯示。</p><p> 3.2.7 譯碼模塊設(shè)計</p><p> 圖 3.9 譯碼模塊原理框圖<
103、;/p><p> 譯碼模塊的輸入為4位的BCD碼,輸出的是共陰極七段數(shù)碼管的7位,輸入,輸出一一對應(yīng),將輸入的信號,正確的在數(shù)碼管上顯示出來,讓人更為直觀的看到我們所想要看到的結(jié)果。</p><p> 3.2.8 分頻模塊設(shè)計</p><p> 圖 3.10 分頻模塊原理框圖</p><p> 輸入信號clk1,輸出信號clk。計價器的各
104、模塊所需的時鐘信號不同,這就需要對已有的信號進行分頻。</p><p> 第4章 仿真及調(diào)試結(jié)果</p><p><b> 4.1 仿真結(jié)果</b></p><p> 4.1.1 出租車總體模塊仿真波形</p><p> 圖 4.1 出租車總體模塊仿真波形圖</p><p> 隨著脈沖數(shù)
105、的增加,八段數(shù)碼管也在發(fā)生相應(yīng)的變化,且顯示結(jié)果與預(yù)期一樣。</p><p> 4.1.2 車輪大小選擇模塊仿真波形</p><p> 圖 4.2 車輪大小選擇模塊仿真波形圖</p><p> 從波形圖中可以看出隨著sp的不同,clkout輸出脈沖所需的系統(tǒng)時鐘脈沖數(shù)也會發(fā)生變化。當sp由00變?yōu)?0是,clkout輸出脈沖所需的系統(tǒng)時鐘脈沖數(shù)較之前減少。&l
106、t;/p><p> 4.1.3 計程模塊仿真波形</p><p> 圖 4.3 計程模塊仿真波形圖</p><p> KM_CNO為路程輸出的十分位,KM_CN1為路程輸出的個位,KM_CN2為路程輸出的十位,KM_CN3為路程輸出的百位。當clkout輸出10個脈沖后,KM_CNO自動加1,當KM_CNO為1001即達到最大值9時,KM_CN1加1;同理,KM_
107、CN2和KM_CN3也是形同的原理進行計數(shù)的。</p><p> 4.1.4 計時模塊仿真波形</p><p> 圖 4.4 計時模塊仿真波形圖</p><p> 該模塊是當出租車處于等待狀態(tài)時用來計價的。從波形圖中可以很容易看出當pause為1時,(start為1且stop和reset為0),當系統(tǒng)時鐘輸出60個脈沖后timeout輸出一個脈沖。與設(shè)計要求符
108、合。</p><p> 4.1.5 計費模塊仿真波形</p><p> 圖 4.5 計費模塊仿真波形圖</p><p> 波形圖明顯顯示當路程出在2km以內(nèi)(即KM_CN0=0000,KM_CN1=0010,KM_CN2=0000,KM_CN3=0000),只顯示起步價,在2km以外(即KM_CN0=0000,KM_CN1=0011,KM_CN2=0000,K
109、M_CN3=0000),按每公里1.4元計價,5km以外(即KM_CN0=0000,KM_CN1=0110,KM_CN2=0000,KM_CN3=0000),按每公里2元計價。等待1min中價格加1。</p><p> 4.1.6 數(shù)據(jù)分配模塊仿真波形</p><p> 圖 4.6 數(shù)據(jù)分配模塊仿真波形圖</p><p> 在時鐘信號CLK的控制下,將里程信號
110、百位十位個位以及十分位,還有費用信號的值分時輸出。其中,MONEY~MONEY3分別是費用的角,元,十元,百元信號輸入端,KM_CNT0~KM_CNT3為里程的十分位到里程的百位輸出。在SEL為0、1、2、3是輸出里程,在SEL為4、5、6、7是輸出價錢。</p><p> 4.1.7 譯碼模塊仿真波形</p><p> 圖 4.7 譯碼模塊仿真波形圖</p><p
111、> 從該波形圖可以看出八段數(shù)碼顯示管的輸出值是隨著輸入d的變化而相對變化的。即:</p><p> 1.當d=“0000”時數(shù)碼管輸出0;當d=“0001”時數(shù)碼管輸出1;</p><p> 2.當d=“0010”時數(shù)碼管輸出2;當d=“0011”時數(shù)碼管輸出3;</p><p> 3.當d=“0100”時數(shù)碼管輸出4;當d=“0101”時數(shù)碼管輸出5
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文--基于fpga的出租車計價器的設(shè)計
- 出租車計價器設(shè)計畢業(yè)論文
- 基于fpga的出租車計價器設(shè)計
- 基于fpga設(shè)計的出租車計價器
- 出租車計價器畢業(yè)論文設(shè)計
- 出租車計價器畢業(yè)論文
- 智能出租車計價器設(shè)計【畢業(yè)論文】
- 畢業(yè)論文-出租車計價器系統(tǒng)設(shè)計.doc
- 畢業(yè)論文--基于單片機的出租車計價器設(shè)計
- 課程設(shè)計——基于fpga的出租車計價器設(shè)計
- 基于單片機的出租車計價器設(shè)計畢業(yè)論文
- 基于單片機的出租車計價器設(shè)計【畢業(yè)論文】
- 畢業(yè)設(shè)計----出租車計價器
- 出租車計價器畢業(yè)設(shè)計
- 畢業(yè)論文---基于單片機的出租車計價器的設(shè)計
- 帶語音提示的出租車計價器【畢業(yè)論文】
- 基于veriloghdl設(shè)計的出租車計價器
- 畢業(yè)論文(設(shè)計)基于單片機的出租車計價器的設(shè)計
- 基于fpga的出租車計價器系統(tǒng)的設(shè)計【文獻綜述】
- 基于fpga的出租車計價器系統(tǒng)的設(shè)計【開題報告】
評論
0/150
提交評論