版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
目錄1緒論 11.1設(shè)計(jì)背景 11.2QUARTUSII簡(jiǎn)介 11.3VHDL語(yǔ)言基礎(chǔ) 22出租車計(jì)費(fèi)器總體設(shè)計(jì)結(jié)構(gòu) 22.1系統(tǒng)設(shè)計(jì)規(guī)定和目的 22.2.1系統(tǒng)設(shè)計(jì)規(guī)定 22.2.1系統(tǒng)設(shè)計(jì)目的 22.2設(shè)計(jì)思緒 32.3系統(tǒng)總體結(jié)構(gòu) 32.4出租車計(jì)費(fèi)器系統(tǒng)工作流程圖 43出租車計(jì)費(fèi)器的實(shí)現(xiàn) 53.1出租車計(jì)費(fèi)器的頂層原理圖 53.2系統(tǒng)各功能模塊的實(shí)現(xiàn) 53.2.1計(jì)費(fèi)模塊JIFEI 53.2.2計(jì)量模塊JILIANG 63.2.3顯示控制模塊SELTIME 73.2.4顯示模塊DELED 74出租車計(jì)費(fèi)器系統(tǒng)仿真及分析 84.1計(jì)費(fèi)系統(tǒng)的仿真 84.2單元模塊的仿真及分析 104.2.1譯碼顯示模塊的仿真及分析 104.2.2顯示控制模塊的仿真及分析 124.2.3計(jì)量模塊的仿真及分析 134.2.4計(jì)費(fèi)模塊的仿真及分析 135鎖定管腳及硬件實(shí)現(xiàn) 145.1鎖定管腳圖 145.2硬件實(shí)現(xiàn) 145.2.1顯示結(jié)果的幾種情況 155.2.2硬件實(shí)現(xiàn)總結(jié) 166設(shè)計(jì)體會(huì)與總結(jié) 17參考文獻(xiàn) 18附錄 191JILIANG模塊的VHDL編程 192JIFEI模塊的VHDL編程 213SELTIME控制模塊的VHDL編程 224DELED模塊的VHDL編程 231緒論1.1設(shè)計(jì)背景隨著我國(guó)社會(huì)經(jīng)濟(jì)的全面發(fā)展,各大中小城市的出租車營(yíng)運(yùn)事業(yè)發(fā)展迅速,出租車已經(jīng)成為人們平常出行選擇較為普通的交通工具。于是,出租車行業(yè)以低價(jià)高質(zhì)的服務(wù)給人們帶來(lái)了出行的享受。但是總存在著買賣糾紛困擾著行業(yè)的發(fā)展。而在出租車行業(yè)中解決這一矛盾的最佳方法就是改良計(jì)價(jià)器。汽車計(jì)價(jià)器是乘客與司機(jī)雙方的交易準(zhǔn)則,它是出租車行業(yè)發(fā)展的重要標(biāo)志,是出租車中最重要的工具,它關(guān)系著交易雙方的利益。具有良好性能的計(jì)價(jià)器無(wú)論是對(duì)廣大出租車司機(jī)朋友還是乘客來(lái)說(shuō)都是很必要的。因此,汽車計(jì)價(jià)器的研究也是具有一定意義的。出租車計(jì)費(fèi)器是出租車營(yíng)運(yùn)收費(fèi)的專用智能化儀表,是出租車市場(chǎng)規(guī)范化,標(biāo)準(zhǔn)化以及減少司機(jī)與乘客之間發(fā)生糾紛的重要設(shè)備。一種功能完備,簡(jiǎn)樸易用,計(jì)量準(zhǔn)確的出租車計(jì)費(fèi)器是加強(qiáng)出租車行業(yè)管理,提高服務(wù)質(zhì)量的必需品。本設(shè)計(jì)就是采用VHDL硬件描述語(yǔ)言作為設(shè)計(jì)手段,采用自己的設(shè)計(jì)思緒,得到一種出租車計(jì)價(jià)系統(tǒng)的軟件結(jié)構(gòu),通過(guò)QuartusII6.0軟件下進(jìn)行仿真,證明所設(shè)計(jì)的電路系統(tǒng)完畢了出租車計(jì)價(jià)的功能,各項(xiàng)指標(biāo)符合設(shè)計(jì)規(guī)定,具有一定的實(shí)用性。1.2QUARTUSII簡(jiǎn)介QUARTUSII是Altera公司的綜合性CPLD/FPGA開(kāi)發(fā)軟件,支持原理圖、VHDL、VerilogHDL等多種設(shè)計(jì)輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完畢從設(shè)計(jì)輸入到硬件配置的完整CPLD設(shè)計(jì)流程。QUARTUSII支持Altera的片上可編程系統(tǒng)(SOPC)開(kāi)發(fā),集系統(tǒng)級(jí)設(shè)計(jì)、嵌入式軟件開(kāi)發(fā)、可編程邏輯設(shè)計(jì)于一體,是一種綜合性的開(kāi)發(fā)平臺(tái)。AlteraQUARTUSII作為一種可編程邏輯的設(shè)計(jì)環(huán)境,由于其強(qiáng)大的設(shè)計(jì)能力和直觀易用的接口,越來(lái)越受到數(shù)字系統(tǒng)設(shè)計(jì)者的歡迎。1.3VHDL語(yǔ)言基礎(chǔ)一般而言,一個(gè)相對(duì)完整的VHDL語(yǔ)言程序至少應(yīng)三個(gè)基本組成部分:①庫(kù)(Library)、程序包(Package)使用說(shuō)明;②實(shí)體(Entity)說(shuō)明;③實(shí)體相應(yīng)的結(jié)構(gòu)體(Architecture)說(shuō)明。其中,庫(kù)、程序包使用說(shuō)明用于打開(kāi)(調(diào)用)本設(shè)計(jì)實(shí)體將要用到的庫(kù)、程序包;實(shí)體說(shuō)明用于描述該設(shè)計(jì)實(shí)體與外界的接口信號(hào)說(shuō)明,是可視部分;結(jié)構(gòu)體說(shuō)明用于描述該設(shè)計(jì)實(shí)體內(nèi)部工作的邏輯關(guān)系,是不可視部分。在一個(gè)實(shí)體中,允許具有一個(gè)或多個(gè)結(jié)構(gòu)體,而在每一個(gè)結(jié)構(gòu)體中又可以具有一個(gè)或多個(gè)進(jìn)程以及其他的語(yǔ)句。根據(jù)需要,實(shí)體還可以有配置說(shuō)明語(yǔ)句。配置說(shuō)明語(yǔ)句重要用于以層次化的方式對(duì)特定的設(shè)計(jì)實(shí)體進(jìn)行元件例化,或是為實(shí)體選定某個(gè)特定的結(jié)構(gòu)體。2出租車計(jì)費(fèi)器總體設(shè)計(jì)結(jié)構(gòu)2.1系統(tǒng)設(shè)計(jì)規(guī)定和目的2.2.1系統(tǒng)設(shè)計(jì)規(guī)定1.起步價(jià)為5.0元,起步公里為3公里;2.超過(guò)3公里,每公里按1元收費(fèi),也可每0.1公里按0.1元收費(fèi);3.等候時(shí)間累計(jì)1分鐘,按每分鐘0.1元收費(fèi);4.用三個(gè)數(shù)碼管顯示總金額,最大值為99.9元;用三個(gè)數(shù)碼管顯示總里程,最大值99.9公里;用兩個(gè)數(shù)碼管顯示等待時(shí)間,最大值99分鐘。2.2.1系統(tǒng)設(shè)計(jì)目的1.通過(guò)這次實(shí)驗(yàn)設(shè)計(jì)使我們加深對(duì)EDA技術(shù)與數(shù)字系統(tǒng)設(shè)計(jì)相關(guān)理論和概念的理解,培養(yǎng)我們的理論聯(lián)系實(shí)際的能力,特別是實(shí)際動(dòng)手能力。2.學(xué)習(xí)使用QUARTUSII軟件設(shè)計(jì)。
3.根據(jù)原理圖學(xué)會(huì)用VHDL語(yǔ)言設(shè)計(jì)時(shí)序電路。4.學(xué)會(huì)繪制功能仿真波形圖。2.2設(shè)計(jì)思緒根據(jù)設(shè)計(jì)規(guī)定,電路具有計(jì)時(shí)、計(jì)程、計(jì)費(fèi)功能,用數(shù)碼管顯示行駛公里數(shù)、等待時(shí)間、收費(fèi)金額,行車?yán)锍毯偷却龝r(shí)間的解決電路將汽車行駛的里程數(shù)、轉(zhuǎn)換成與之成正比的計(jì)費(fèi)脈沖,然后由計(jì)費(fèi)電路轉(zhuǎn)換成收費(fèi)金額,實(shí)驗(yàn)中以一個(gè)脈沖模擬汽車前進(jìn)十米,則每100個(gè)脈沖表達(dá)1公里,3公里以后每0.1公里產(chǎn)生一個(gè)計(jì)費(fèi)脈沖,一個(gè)1HZ的脈沖用來(lái)表達(dá)等待時(shí)間,60個(gè)脈沖代表1分鐘,1分鐘即60個(gè)脈沖產(chǎn)生一個(gè)等待計(jì)費(fèi)脈沖,然后用2.3系統(tǒng)總體結(jié)構(gòu)圖2-1系統(tǒng)總體結(jié)構(gòu)圖出租車計(jì)費(fèi)器的組成如上圖所示,通過(guò)控制模塊以高低脈沖模擬出租汽車啟動(dòng)、行駛、暫停,具有控制作用;通過(guò)控制模塊控制出租車的狀態(tài)來(lái)選擇出租車是計(jì)里程還是計(jì)等待時(shí)間,相應(yīng)產(chǎn)生的時(shí)間計(jì)費(fèi)脈沖信號(hào)和里程脈沖信號(hào)來(lái)計(jì)費(fèi),譯碼/動(dòng)態(tài)掃描模塊將等待時(shí)間、路程與費(fèi)用的數(shù)值譯碼后用動(dòng)態(tài)掃描的方式驅(qū)動(dòng)數(shù)碼管;數(shù)碼管顯示模塊將里程數(shù)、等待時(shí)間和計(jì)費(fèi)金額用數(shù)碼管顯示。2.4出租車計(jì)費(fèi)器系統(tǒng)工作流程圖圖2-2出租車計(jì)費(fèi)系統(tǒng)工作流程圖出租車載客后,啟動(dòng)計(jì)費(fèi)器,整個(gè)系統(tǒng)開(kāi)始工作,進(jìn)入初始化狀態(tài),即計(jì)程從0開(kāi)始,計(jì)費(fèi)從5.0元開(kāi)始。再根據(jù)BREAK信號(hào)判斷行駛還是暫停。若是行駛狀態(tài),計(jì)費(fèi)器開(kāi)始進(jìn)行里程計(jì)數(shù),當(dāng)里程超過(guò)3公里時(shí),計(jì)費(fèi)器開(kāi)始累加,按每0.1公里收費(fèi)0.1元計(jì)算,計(jì)程器則繼續(xù),否則計(jì)費(fèi)器不變。若是暫停狀態(tài),計(jì)費(fèi)器開(kāi)始進(jìn)行等候時(shí)間計(jì)數(shù),當(dāng)?shù)群驎r(shí)間累計(jì)1分鐘,則每分鐘0.1元計(jì)費(fèi)。最后將等候時(shí)間、里程、計(jì)費(fèi)都顯示出來(lái)。3出租車計(jì)費(fèi)器的實(shí)現(xiàn)3.1出租車計(jì)費(fèi)器的頂層原理圖圖3-1出租車計(jì)費(fèi)器頂層原理圖原理圖中輸入部分分別是CLK:秒脈沖信號(hào),1個(gè)脈沖代表1秒,則60個(gè)脈沖表達(dá)1分鐘。CLK1:10米脈沖信號(hào),1個(gè)脈沖代表10米,則10個(gè)脈沖表達(dá)100米,100個(gè)脈沖代表1公里。START:計(jì)程車啟動(dòng)信號(hào);DRIVE:計(jì)費(fèi)器啟動(dòng)信號(hào);BREAK:等待信號(hào),SEL為計(jì)數(shù)控制信號(hào)輸出端。3.2系統(tǒng)各功能模塊的實(shí)現(xiàn)3.2.1計(jì)費(fèi)模塊JIFEI計(jì)費(fèi)(JIFEI)模塊也是本系統(tǒng)的核心,完畢起步價(jià)計(jì)費(fèi),等待時(shí)間計(jì)費(fèi),里程計(jì)費(fèi)功能。計(jì)費(fèi)器啟動(dòng),顯示起步價(jià)5.0元,之后每來(lái)一個(gè)行駛里程計(jì)費(fèi)脈沖或者等待時(shí)間計(jì)費(fèi)脈沖,計(jì)費(fèi)金額自動(dòng)加0.1元。計(jì)費(fèi)顯示用3位數(shù)碼管,所以計(jì)費(fèi)最大值為99.9元。其中CH2表達(dá)費(fèi)用的十位,CHI表達(dá)費(fèi)用的個(gè)位,CH0表達(dá)費(fèi)用的十分位。B為等待時(shí)間計(jì)費(fèi)脈沖信號(hào)或里程計(jì)費(fèi)脈沖信號(hào)。圖3-2JIFEI模塊圖3.2.2計(jì)量模塊JILIANG圖3-3JILIANG模塊圖本模塊是系統(tǒng)的核心模塊之一,可以對(duì)外部的行駛距離脈沖、等待時(shí)間脈沖進(jìn)行計(jì)數(shù)。由于行駛距離每脈沖代表10米,所以計(jì)滿100個(gè)數(shù)就輸出一個(gè)行駛距離計(jì)費(fèi)脈沖,由于3公里之內(nèi)屬于起步價(jià),所以前3公里內(nèi)不輸出行駛距離計(jì)費(fèi)脈沖,由于用3位數(shù)碼管來(lái)顯示行駛距離,其中兩位整數(shù),一位小數(shù),所以行駛距離最小分辨率為0.1公里,行駛距離脈沖每計(jì)10個(gè)數(shù),行駛距離輸出加0.1,行駛距離最大值為99.9公里。其中KM2為里程的十位,KM1為里程的個(gè)位,KM0為里程的十分位。等待時(shí)間脈沖頻率為1HZ,所以一個(gè)脈沖代表1秒,60個(gè)等待脈沖是1分鐘,輸出等待時(shí)間加1,等待時(shí)間滿1分鐘計(jì)一次費(fèi),所以對(duì)等待時(shí)間脈沖計(jì)數(shù),計(jì)滿60個(gè)數(shù)就輸出一個(gè)等待計(jì)費(fèi)脈沖。等待時(shí)間最大值為99分鐘。MIN1為等待時(shí)間的十位,MIN0為等待時(shí)間的個(gè)位。將行駛距離、等待時(shí)間送到SELTIME模塊,時(shí)間與里程計(jì)費(fèi)脈沖送到計(jì)費(fèi)模塊完畢里程、等待時(shí)間的計(jì)費(fèi)功能。B1為超過(guò)3公里后,每0.1公里產(chǎn)生的計(jì)費(fèi)脈沖。B2為每等待一分鐘產(chǎn)生的計(jì)費(fèi)脈沖。3.2.3顯示控制模塊SELTIME圖3-4SELTIME模塊圖SELTIME模塊起顯示控制作用,控制等待時(shí)間、行駛里程、費(fèi)用在數(shù)碼管上的顯示位置。sel為計(jì)數(shù)控制信號(hào)輸出端,功能重要是運(yùn)用其計(jì)數(shù)的八個(gè)狀態(tài),使daout在其每個(gè)狀態(tài)下選擇某一輸入數(shù)據(jù),進(jìn)而將選擇的的數(shù)據(jù)送入到DELED模塊。dp為小數(shù)點(diǎn)脈沖控制信號(hào),當(dāng)該模塊輸出的值為里程的個(gè)位、費(fèi)用的個(gè)位時(shí),需要考慮小數(shù)點(diǎn)的存在,即此時(shí)dp=‘1’,在其他不需要小數(shù)點(diǎn)的情況下,dp=‘03.2.4顯示模塊DELED圖3-5DELED模塊圖DELED模塊把送入的每個(gè)四位數(shù)據(jù)轉(zhuǎn)換為7段碼送出顯示,可以使數(shù)碼管正常顯示送入的數(shù)據(jù)。其中DP為小數(shù)點(diǎn)輸入信號(hào)。4出租車計(jì)費(fèi)器系統(tǒng)仿真及分析4.1計(jì)費(fèi)系統(tǒng)的仿真圖4-1出租車啟動(dòng)時(shí)計(jì)費(fèi)系統(tǒng)功能仿真圖由圖4-1可知,當(dāng)出租車未啟動(dòng)時(shí),里程、等待時(shí)間、費(fèi)用均為0。出租車剛啟動(dòng)時(shí),里程、等待時(shí)間為0,費(fèi)用為出租車起步價(jià)5元。圖4-2出租車等待時(shí)計(jì)費(fèi)系統(tǒng)功能仿真圖由圖4-2可知,當(dāng)出租車在等待過(guò)程中,行駛里程16.2公里,等待時(shí)間為32分鐘時(shí),出租車的費(fèi)用為:5+(16.2-3)×1+32×0.1=21.4元,與仿真結(jié)果一致。圖4-3出租車行駛時(shí)計(jì)費(fèi)系統(tǒng)功能仿真圖由圖4-3可知,當(dāng)出租車行駛到66.6千米,等待時(shí)間60分鐘時(shí),由仿真結(jié)果可得出費(fèi)用為74.6元;根據(jù)設(shè)計(jì)規(guī)定計(jì)算可得費(fèi)用為:5+(66.6-3)×1+60×0.1=74.6元。仿真結(jié)果與計(jì)算值一致,驗(yàn)證了設(shè)計(jì)的對(duì)的性。圖4-4出租車停車時(shí)計(jì)費(fèi)系統(tǒng)功能仿真圖當(dāng)出租車停車時(shí),出租車上的時(shí)間、里程和費(fèi)用清零,為下次計(jì)費(fèi)的開(kāi)始做準(zhǔn)備。4.2單元模塊的仿真及分析4.2.1譯碼顯示模塊的仿真及分析圖4-5譯碼顯示模塊的功能仿真圖圖4-5為譯碼顯示模塊的功能仿真波形圖,DP、S為信號(hào)輸入端,也是顯示控制模塊的信號(hào)輸出端口,ABCDEFGH八個(gè)端口為八位二進(jìn)制的輸出端口。假設(shè)DOUT=“HGFEDCBA”,由上圖可以看出:1.DP=0時(shí):當(dāng)S(3downto0)=”0000”,則DOUT=”00111111當(dāng)S(3downto0)=”0001”,則DOUT=”00000110當(dāng)S(3downto0)=”0010”,則DOUT=”01011011當(dāng)S(3downto0)=”0011”,則DOUT=”01001111當(dāng)S(3downto0)=”0100”,則DOUT=”01100110當(dāng)S(3downto0)=”0101”,則DOUT=”01101101當(dāng)S(3downto0)=”0110”,則DOUT=”01111101當(dāng)S(3downto0)=”0111”,則DOUT=”00000111當(dāng)S(3downto0)=”1000”,則DOUT=”01111111當(dāng)S(3downto0)=”1001”,則DOUT=”01101111當(dāng)S(3downto0)等于上述值以外的值時(shí),則DOUT=”00000000”2.DP=1時(shí):當(dāng)S(3downto0)=”0000”,則DOUT=”10111111當(dāng)S(3downto0)=”0001”,則DOUT=”10000110當(dāng)S(3downto0)=”0010”,則DOUT=”11011011當(dāng)S(3downto0)=”0011”,則DOUT=”11001111當(dāng)S(3downto0)=”0100”,則DOUT=”11100110當(dāng)S(3downto0)=”0101”,則DOUT=”11101101當(dāng)S(3downto0)=”0110”,則DOUT=”11111101當(dāng)S(3downto0)=”0111”,則DOUT=”10000111當(dāng)S(3downto0)=”1000”,則DOUT=”11111111當(dāng)S(3downto0)=”1001”,則DOUT=”11101111當(dāng)S(3downto0)等于上述值以外的值時(shí),則DOUT=”10000000”4.2.2顯示控制模塊的仿真及分析圖4-6顯示控制模塊的功能仿真圖圖4-6為顯示控制模塊功能仿真圖,其中clk為時(shí)鐘脈沖輸入端,sel為計(jì)數(shù)控制信號(hào)輸出端,daout為sel所控制狀態(tài)下的輸出到數(shù)碼管的位選信號(hào),dp為小數(shù)點(diǎn)控制輸出信號(hào)。可以看出,當(dāng)時(shí)鐘沿上升時(shí)刻到來(lái)時(shí),計(jì)數(shù)器的輸出sel就自動(dòng)加1,當(dāng)計(jì)數(shù)器輸出端加到“111”時(shí),再來(lái)一個(gè)脈沖上升沿,則計(jì)數(shù)的輸出端sel變?yōu)椤?00”,該顯示控制模塊的功能重要是運(yùn)用其計(jì)數(shù)的八個(gè)狀態(tài),進(jìn)而去輪流控制數(shù)碼管的位選信號(hào)。由圖4-6可知:當(dāng)sel=“000”時(shí),則daout=CH0;當(dāng)sel=“001”時(shí),daout=CH1;當(dāng)sel=“010”時(shí),daout=CH2;當(dāng)sel=“011”時(shí),daout=KM0;當(dāng)sel=“100”時(shí),daout=KM1;當(dāng)sel=“101”時(shí),daout=KM2;當(dāng)sel=“110”時(shí),daout=MIN0;當(dāng)sel=“111”時(shí),daout=MIN1。由于KM1、CH1表達(dá)里程的個(gè)位和費(fèi)用的個(gè)位,其后都存在小數(shù),故在設(shè)計(jì)中當(dāng)顯示KM1、CH1時(shí)須加入小數(shù)點(diǎn),此時(shí)dp=‘1’,在其他沒(méi)有小數(shù)點(diǎn)的情況時(shí)dp=‘0’。4.2.3計(jì)量模塊的仿真及分析圖4-7計(jì)量模塊的功能仿真圖圖4-7為計(jì)量模塊的功能仿真圖,START信號(hào)為高電平時(shí)(即出租車啟動(dòng))。當(dāng)DRIVE為高電平且BREAK為低電平時(shí),出租車為行駛狀態(tài),此時(shí)里程計(jì)數(shù)模塊開(kāi)始計(jì)數(shù),每通過(guò)10個(gè)CLK1脈沖信號(hào),里程加0.1公里,當(dāng)里程計(jì)數(shù)大于3公里時(shí),每計(jì)0.1公里產(chǎn)生1個(gè)B1脈沖信號(hào)。當(dāng)DRIVE為高電平且BREAK為高電平時(shí),出租車為暫停狀態(tài),此時(shí)等待時(shí)間計(jì)數(shù)模塊開(kāi)始計(jì)數(shù),每通過(guò)60個(gè)CLK脈沖信號(hào),時(shí)間加1分鐘,每計(jì)1分鐘產(chǎn)生一個(gè)B2脈沖信號(hào)。B1和B2分別為里程計(jì)費(fèi)脈沖和等待時(shí)間計(jì)費(fèi)脈沖。4.2.4計(jì)費(fèi)模塊的仿真及分析圖4-8計(jì)費(fèi)模塊的功能仿真圖圖4-8為計(jì)費(fèi)模塊的功能仿真圖當(dāng)START處在高電平且DRIVE處在高電平時(shí),每送入一個(gè)計(jì)費(fèi)脈沖且計(jì)費(fèi)脈沖處在上升沿時(shí),CH0自動(dòng)加1(即每送入一個(gè)計(jì)費(fèi)脈沖加0.1元)。CH0、CH1、CH2為十進(jìn)制計(jì)數(shù)。CH2表達(dá)費(fèi)用的十位,CH1表達(dá)費(fèi)用的個(gè)位,CH0表達(dá)費(fèi)用的十分位,計(jì)費(fèi)的最大值為99.9元。5鎖定管腳及硬件實(shí)現(xiàn)5.1鎖定管腳圖在驗(yàn)證出租車計(jì)費(fèi)器系統(tǒng)的功能之前,需要清楚實(shí)驗(yàn)箱與各個(gè)信號(hào)之間的相應(yīng)關(guān)系,參照資料得出本設(shè)計(jì)中各引腳的相應(yīng)情況如下:圖5-1頂層原理圖5.2硬件實(shí)現(xiàn)通過(guò)硬件下載,該電路可以完畢硬件實(shí)現(xiàn),芯片管腳定義可以直接用編輯.pin文獻(xiàn)。完畢管腳定義后選擇器件,編譯后生成.sof文獻(xiàn)。選擇.sof文獻(xiàn)進(jìn)行下載。下載完畢后,將第一全局時(shí)鐘CLK1的跳線器接1Hz(作為秒脈沖信號(hào)),將第二全局時(shí)鐘CLK2的跳線器接1Hz(作為十米脈沖信號(hào)),將第三全局時(shí)鐘CLK3的跳線器接32768Hz,用撥位開(kāi)關(guān)模擬控制出租車的啟動(dòng)、行駛、暫停。觀測(cè)數(shù)碼管上數(shù)據(jù)的變化是否符合設(shè)計(jì)標(biāo)準(zhǔn)。在實(shí)驗(yàn)箱上八個(gè)數(shù)碼管從左至右分別顯示的是:等待時(shí)間的十位、等待時(shí)間的個(gè)位、里程的十位、里程的個(gè)位、里程的十分位、費(fèi)用的十位、費(fèi)用的個(gè)位、費(fèi)用的十分位。5.2.1顯示結(jié)果的幾種情況圖5-2驗(yàn)證結(jié)果1圖5-2表達(dá)出租車等待了1分鐘,行駛了3.9公里,即時(shí)車費(fèi)為6.0元。根據(jù)設(shè)計(jì)規(guī)定計(jì)算所得費(fèi)用為:5元+(3.9-3)公里×1元/公里+1分鐘×0.1元/分鐘=6.0元,計(jì)算結(jié)果與實(shí)驗(yàn)箱上所得顯示結(jié)果相同。圖5-3驗(yàn)證結(jié)果2圖5-3表達(dá)出租車等待了3分鐘,行駛了6.8公里,即時(shí)車費(fèi)為9.1元。根據(jù)設(shè)計(jì)規(guī)定計(jì)算所得費(fèi)用為:5元+(6.8-3)公里×1元/公里+3分鐘×0.1元/分鐘=9.1元,計(jì)算結(jié)果與實(shí)驗(yàn)箱上所得顯示結(jié)果相同。在實(shí)驗(yàn)箱驗(yàn)證過(guò)程中,我們可以看到,八位數(shù)碼管的右三位顯示起步價(jià)05.0,中間三個(gè)數(shù)碼管在以0.1為步長(zhǎng)進(jìn)行加法顯示行駛里程,當(dāng)行駛里程超過(guò)3公里之后,每0.1公里計(jì)費(fèi)金額加0.1元,當(dāng)我們按下等待暫停鍵,每分鐘左邊兩個(gè)數(shù)碼管加1,其顯示的等待時(shí)間,當(dāng)?shù)却龝r(shí)間到1分鐘時(shí),計(jì)費(fèi)金額加0.15.2.2硬件實(shí)現(xiàn)總結(jié)通過(guò)對(duì)每一模塊的仿真和下載,可以實(shí)現(xiàn)各個(gè)模塊的邏輯功能,驗(yàn)證了各個(gè)模塊的對(duì)的性。在出租車計(jì)費(fèi)系統(tǒng)的4個(gè)模塊中,重點(diǎn)在于計(jì)量模塊(JILIANG),計(jì)費(fèi)模塊(JIFEI),顯示控制模塊(SELTIME),譯碼顯示模塊(DELED)。JILIANG模塊重要有汽車的開(kāi)始、運(yùn)營(yíng)、暫停,JILIANG模塊重要記錄出租車的行駛里程和等待時(shí)間,并將等待時(shí)間計(jì)費(fèi)脈沖和行駛里程計(jì)費(fèi)脈沖送入JIFEI模塊;JIFEI模塊重要是完畢起步價(jià)計(jì)費(fèi)、等待時(shí)間計(jì)費(fèi)、行駛里程計(jì)費(fèi),并完畢總費(fèi)用;SELTIME模塊起顯示控制作用,控制等待時(shí)間、行駛里程、費(fèi)用在八個(gè)數(shù)碼管上的位置。DELED模塊是把送入的每個(gè)四位數(shù)據(jù)轉(zhuǎn)換為7段碼,從而能在數(shù)碼管上對(duì)的的顯示。這四個(gè)模塊的組合成完整的出租車系統(tǒng),在設(shè)計(jì)過(guò)程中還需要改善的是控制出租車計(jì)費(fèi)系統(tǒng)的控制功能。
出租車計(jì)費(fèi)器系統(tǒng)的設(shè)計(jì)已所有完畢,能按預(yù)期的效果進(jìn)行模擬汽車開(kāi)始、啟動(dòng)、暫停、停止等功能,由數(shù)碼管顯示出租車等待時(shí)間,行駛里程,費(fèi)用。車暫等待時(shí)停止行駛里程計(jì)費(fèi),車費(fèi)僅由等待時(shí)間計(jì)費(fèi);出租車正常行駛時(shí),僅根據(jù)里程收費(fèi)方式。若停止則車費(fèi)清零,等待下一次計(jì)費(fèi)的開(kāi)始。出租車計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)中體現(xiàn)了VHDL覆蓋面廣,描述能力強(qiáng),是一個(gè)多層次的硬件描述語(yǔ)言本設(shè)計(jì)在實(shí)用方面具有一定的價(jià)值。
該計(jì)費(fèi)器實(shí)現(xiàn)了按預(yù)置參數(shù)自動(dòng)計(jì)費(fèi)(最大計(jì)費(fèi)金額為99.9元)、自動(dòng)計(jì)程(最大計(jì)程公里數(shù)為99.9公里)等功能;可以實(shí)現(xiàn)起步價(jià)、每公里收費(fèi)、等待時(shí)間計(jì)費(fèi)的參數(shù)預(yù)置(如:起步價(jià)5.0元;3公里后1元每公里;等待時(shí)間0.1元每分鐘),且預(yù)置參數(shù)可調(diào)范圍廣。由于采用CPLD大規(guī)模可編程邏輯器件,整機(jī)功耗小、抗干擾能力強(qiáng)、系統(tǒng)穩(wěn)定、工作可靠、升級(jí)方便。6設(shè)計(jì)體會(huì)與總結(jié)通過(guò)這次緊張而又充實(shí)的EDA課程設(shè)計(jì),我感受到了VHDL語(yǔ)言和普通軟件語(yǔ)言之間的區(qū)別,也可以更加純熟地運(yùn)用VHDL語(yǔ)言進(jìn)行邏輯電路的設(shè)計(jì)了,受益匪淺。我們所做的課題是出租車計(jì)費(fèi)器的設(shè)計(jì)。老師給了我們課程設(shè)計(jì)題目,在這半個(gè)月的實(shí)驗(yàn)操作中,不斷的完善自己的設(shè)計(jì)規(guī)定,將自己的想法融入到實(shí)驗(yàn)的程序中去。最終通過(guò)仿真達(dá)成了自己預(yù)想的效果。有種先苦后甜的成就感。同時(shí)在本次實(shí)驗(yàn)中,我們純熟的掌握了QuartusII軟件的使用。學(xué)會(huì)了如何把自己所設(shè)計(jì)的程序,通過(guò)軟件用波形仿真出來(lái),再通過(guò)實(shí)驗(yàn)箱仿真出來(lái)。在這次課程設(shè)計(jì)過(guò)程中,要感謝陳參考文獻(xiàn)[1]徐飛.EDA技術(shù)與實(shí)踐[M].北京:清華大學(xué)出版社,2023.[2]王行,李衍.EDA技術(shù)入門與提高[M].西安:西安電子科技大學(xué)出版社,2023.[3]劉昌華.數(shù)字邏輯EDA設(shè)計(jì)與實(shí)踐[M].北京:國(guó)防工業(yè)出版社,2023.[4]李蓉.基于VHDL語(yǔ)言的出租車自動(dòng)計(jì)費(fèi)器的設(shè)計(jì)[J].科技風(fēng),2023,24:33.附錄1JILIANG模塊的VHDL編程LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYJILIANGISPORT(CLK,CLK1:INSTD_LOGIC;START:INSTD_LOGIC;DRIVE:INSTD_LOGIC;BREAK:INSTD_LOGIC;B1,B2:OUTSTD_LOGIC;KM2,KM1,KM0:OUTSTD_LOGIC_VECTOR(3DOWNTO0);MIN1,MIN0:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDJILIANG;ARCHITECTUREBEHAVEOFJILIANGISSIGNALR1:INTEGERRANGE0TO9;SIGNALK:STD_LOGIC_VECTOR(7DOWNTO0);SIGNALK2,K1,K0:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALW1:INTEGERRANGE0TO59;SIGNALM1:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALM0:STD_LOGIC_VECTOR(3DOWNTO0);BEGINRUN:PROCESS(CLK1,DRIVE,BREAK,K0,K1,K2)BEGINIFSTART='1'THENIFDRIVE='0'THENK0<="0000";K1<="0000";K2<="0000";R1<=0;ELSIFCLK1'EVENTANDCLK1='1'THENIFDRIVE='1'ANDBREAK='0'THENIFR1=9THENR1<=0; IFK0="1001"THENK0<="0000";k1<=k1+1; IFK1="1001"THENK1<="0000";k2<=k2+1; IFK2="1001"THENK2<="0000"; ELSEK2<=K2+1; ENDIF; ELSEK1<=K1+1; ENDIF;ELSEK0<=K0+1;ENDIF;ELSER1<=R1+1;B1<='0'; ENDIF; K<=K2&K1;IFK>"00000010"THEN IFR1<9THENR1<=R1+1;B1<='0'; ELSER1<=0;B1<='1'; ENDIF;ENDIF;ENDIF;ENDIF;ELSEK0<="0000";K1<="0000";K2<="0000";ENDIF;KM0<=K0;KM1<=K1;KM2<=K2;ENDPROCESS;PAUSE:PROCESS(CLK,DRIVE,BREAK,M0,M1)BEGINIFSTART='1'THENIFDRIVE='0'THENM0<="0000";M1<="0000";W1<=0;ELSIFCLK'EVENTANDCLK='1'THEN IFDRIVE='1'ANDBREAK='1'THEN IFW1=59THENW1<=0;B2<='1'; IFM0="1001"THENM0<="0000";M1<=M1+1; IFM1="1001"THENM1<="0000"; ELSEM1<=M1+1; ENDIF; ELSEM0<=M0+1; ENDIF; ELSEW1<=W1+1;B2<='0'; ENDIF; ENDIF;ENDIF;ELSEM0<="0000";M1<="0000";ENDIF;MIN0<=M0;MIN1<=M1;ENDPROCESS;ENDARCHITECTURE;2JIFEI模塊的VHDL編程LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYJIFEIISPORT(B:INSTD_LOGIC;START:INSTD_LOGIC;DRIVE:INSTD_LOGIC;CH2,CH1,CH0:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDJIFEI;ARCHITECTUREBEHAVEOFJIFEIISSIGNALC2,C1,C0:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(B,DRIVE,C0,C1,C2)BEGINIFDRIVE='0'THENC0<="0000";C1<="0101";C2<="0000";ELSIFDRIVE='1'THEN IFB'EVENTANDB='1'THEN IFC0="1001"THENC0<="0000"; IFC1="1001"THENC1<="0000"; IFC2="1001"THENC2<="0000"; ELSEC2<=C2+1; ENDIF; ELSEC1<=C1+1; ENDIF; ELSEC0<=C0+1; ENDIF; ENDIF;ENDIF;ELSEC0<="0000";C1<="0000";C2<="0000";ENDIF; CH0<=C0;CH1<=C1;CH2<=C2;ENDPROCESS;END;3SELTIME控制模塊的VHDL編程libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityseltimeisport(clk:instd_logic;CH2,CH1,CH0:instd_logic_vector(3downto0);KM2,KM1,KM0:instd_logic_vector(3downto0);MIN1,MIN0:instd_logic_vector(3downto0);dp:OUTSTD_LOGIC;daout:outstd_logic_vector(3downto0);sel:outstd_logic_vector(2downto0));endseltime;architecturebehavofseltimeissignalsec:std_logic_vector(2downto0);beginprocess(clk) begin if(clk'eventandclk='1')then if(sec="111")then sec<="000";else sec<=sec+1;endif;endif; endprocess; process(sec,MIN1,MIN0,CH2,CH1,CH0,KM2,KM1,KM0) begin casesecis when"000"=>daout<=CH0(3downto0);dp<='0'; when"001"=>daout<=CH1(3downto0);dp<='1'; when"010"=>daout<=CH2(3downto0);dp<='0'; when"011"=>daout<=KM0(3downto0);dp<='0'; when"100"=>daout<=KM1(3downto0);dp<='1'; when"101"=>daout<=KM2(3downto0);dp<='0'; when"110"=>daout<=MIN0(3downto0);dp<='0'
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年量子計(jì)算技術(shù)研發(fā)合作合同
- 意林20周年紀(jì)念書(shū)回響-札記
- 2025版駕駛員車輛購(gòu)置稅及保險(xiǎn)代繳合同3篇
- 二零二五年度二手房買賣定金監(jiān)管與物業(yè)移交合同3篇
- 二零二五年專用礦山開(kāi)采權(quán)轉(zhuǎn)讓中介合同3篇
- 2024版定期存款合同樣本3篇
- 2024版雙方合作協(xié)議合同
- 二零二五年度商品房銷售認(rèn)籌合同及銷售區(qū)域劃分協(xié)議3篇
- 二零二五年度廠房拆遷與人才引進(jìn)及培養(yǎng)協(xié)議3篇
- 二零二五年度二手車交易市場(chǎng)管理服務(wù)合同2篇
- GB/T 42752-2023區(qū)塊鏈和分布式記賬技術(shù)參考架構(gòu)
- Module 9 (教案)外研版(一起)英語(yǔ)四年級(jí)上冊(cè)
- 初中物理-初三物理模擬試卷講評(píng)課教學(xué)課件設(shè)計(jì)
- DG-TJ 08-2367-2021 既有建筑外立面整治設(shè)計(jì)標(biāo)準(zhǔn)
- 公文流轉(zhuǎn)單(標(biāo)準(zhǔn)模版)
- 深入淺出Oracle EBS之OAF學(xué)習(xí)筆記-Oracle EBS技術(shù)文檔
- XXX大中型公司報(bào)價(jià)管理辦法
- 四年級(jí)計(jì)算題大全(列豎式計(jì)算,可打印)
- 年會(huì)主持詞:企業(yè)年會(huì)主持詞
- LS 8010-2014植物油庫(kù)設(shè)計(jì)規(guī)范
- GB/T 9119-2000平面、突面板式平焊鋼制管法蘭
評(píng)論
0/150
提交評(píng)論