


版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目錄1 緒論 11.1 設(shè)計(jì)背景 11.2 QUARTUS II 簡(jiǎn)介 11.3 VHDL 語(yǔ)言基礎(chǔ) 22 出租車計(jì)費(fèi)器總體設(shè)計(jì)結(jié)構(gòu) 22.1 系統(tǒng)設(shè)計(jì)要求和目的 22.2.1 系統(tǒng)設(shè)計(jì)要求 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 63.2.4 顯示模塊 DELED 74 出租車計(jì)費(fèi)器系統(tǒng)仿真及分析 84.1 計(jì)費(fèi)
2、系統(tǒng)的仿真 84.2 單元模塊的仿真及分析 104.2.1 譯碼顯示模塊的仿真及分析 104.2.2 顯示控制模塊的仿真及分析 114.2.3 計(jì)量模塊的仿真及分析 124.2.4 計(jì)費(fèi)模塊的仿真及分析 135 鎖定管腳及硬件實(shí)現(xiàn) 135.1 鎖定管腳圖 135.2 硬件實(shí)現(xiàn) 145.2.1 顯示結(jié)果的幾種情況 145.2.2 硬件實(shí)現(xiàn)總結(jié) 166 設(shè)計(jì)體會(huì)與總結(jié) 16參考文獻(xiàn) 17附 錄 181 JILIANG 模塊的 VHDL 編程 192 JIFEI 模塊的 VHDL 編程 203 SELTIME 控制模塊的 VHDL 編程 214 DELED 模塊的 VHDL 編程 231 緒論1.1
3、 設(shè)計(jì)背景隨著我國(guó)社會(huì)經(jīng)濟(jì)的全面發(fā)展,各大中小城市的出租車營(yíng)運(yùn)事業(yè)發(fā)展迅速, 出租車已經(jīng)成為人們?nèi)粘3鲂羞x擇較為普通的交通工具。 于是,出租車行業(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ī)化,
4、 標(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ò) Quartus II 6.0 軟件下進(jìn)行仿真,證明所設(shè) 計(jì)的電路系統(tǒng)完成了出租車計(jì)價(jià)的功能, 各項(xiàng)指標(biāo)符合設(shè)計(jì)要求, 具有一定的實(shí) 用性。1.2 QUARTUS II 簡(jiǎn)介QUARTUS II是Altera 公司的綜合性 CPLD/FPGAT發(fā)軟件,支持原理圖、VHDL、VerilogHDL 等多種設(shè)計(jì)輸入形式,嵌自有的綜合器以及仿真器,
5、可以完 成從設(shè)計(jì)輸入到硬件配置的完整 CPLD設(shè)計(jì)流程。QUARTUS II支持Altera的片 上可編程系統(tǒng)(SOPC開(kāi)發(fā),集系統(tǒng)級(jí)設(shè)計(jì)、嵌入式軟件開(kāi)發(fā)、可編程邏輯設(shè)計(jì) 于一體,是一種綜合性的開(kāi)發(fā)平臺(tái)。 Altera QUARTUISI 作為一種可編程邏輯的 設(shè)計(jì)環(huán)境 , 由于其強(qiáng)大的設(shè)計(jì)能力和直觀易用的接口, 越來(lái)越受到數(shù)字系統(tǒng)設(shè)計(jì) 者的歡迎。1.3 VHDL 語(yǔ)言基礎(chǔ)一般而言,一個(gè)相對(duì)完整的 VHDL語(yǔ)言程序至少應(yīng)三個(gè)基本組成部分:庫(kù)(Library )、程序包(Package)使用說(shuō)明;實(shí)體(Entity )說(shuō)明;實(shí)體對(duì) 應(yīng)的結(jié)構(gòu)體(Architecture )說(shuō)明。其中,庫(kù)、程序包使
6、用說(shuō)明用于打開(kāi)(調(diào)用) 本設(shè)計(jì)實(shí)體將要用到的庫(kù)、 程序包;實(shí)體說(shuō)明用于描述該設(shè)計(jì)實(shí)體與外界的接口 信號(hào)說(shuō)明,是可視部分;結(jié)構(gòu)體說(shuō)明用于描述該設(shè)計(jì)實(shí)體部工作的邏輯關(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ì)要求和目的2.2.1 系統(tǒng)設(shè)計(jì)要求1. 起步價(jià)為 5.0 元,起步公里為 3 公里;2. 超過(guò) 3 公里,每公里按 1 元收費(fèi),也可每
7、 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í)使用QUARTUS I軟件設(shè)計(jì)。3. 根據(jù)原理圖學(xué)會(huì)用VHDL語(yǔ)言設(shè)計(jì)時(shí)序電路。4. 學(xué)會(huì)繪制功能仿真波形圖。2.2 設(shè)計(jì)思路根據(jù)設(shè)計(jì)要求,電路具有計(jì)時(shí)、計(jì)程、計(jì)費(fèi)功能,用數(shù)碼管顯示行駛公里
8、數(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è)脈沖表示1公里,3公里以后每0.1公里產(chǎn)生 一個(gè)計(jì)費(fèi)脈沖,一個(gè)1HZ的脈沖用來(lái)表示等待時(shí)間,60個(gè)脈沖代表1分鐘,1分 鐘即60個(gè)脈沖產(chǎn)生一個(gè)等待計(jì)費(fèi)脈沖,然后用計(jì)費(fèi)電路對(duì)計(jì)費(fèi)脈沖進(jìn)行計(jì)費(fèi)。2.3 系統(tǒng)總體結(jié)構(gòu)圖2-1 系統(tǒng)總體結(jié)構(gòu)圖控制模塊碼動(dòng) 態(tài) 掃 描S. 顯 示出租車計(jì)費(fèi)器的組成如上圖所示,通過(guò)控制模塊以高低脈沖模擬出租汽車啟 動(dòng)、行駛、暫停,具有控制作用;通過(guò)控制模塊控制出租車的狀態(tài)來(lái)選擇出租車 是計(jì)里程
9、還是計(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)工作流程圖三“二M三二出租車載客后,啟動(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ù)BREAKS號(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í)間
10、計(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)器的頂層原理圖STAT axBt氣JSrWlip JJJJJMlMqj 可>JLJI -> oK h曲£IB4*1 SM! !ia-i*1 *Ti in-ifii dT iiAiliiPki決iwr“ATj II If-a 62.- II I芒i.KMX- J'643護(hù)刊 STA=«T CHIp 飼 DUP/E CHOpq圖3-1出租車計(jì)費(fèi)器頂層原理圖1 GfL2(3 - 0|1 CH1p .印 lOWfsq KWpq iqwi
11、p q KMfpq M Wiip q!».V(3uq . .,5-L K:和¥習(xí).w早可: 訊,r.口氐.m”原理圖中輸入部分分別是 CLK秒脈沖信號(hào),1個(gè)脈沖代表1秒,則60個(gè)脈 沖表示1分鐘。CLK1: 10米脈沖信號(hào),1個(gè)脈沖代表10米,則10個(gè)脈沖表示 100米,100個(gè)脈沖代表1公里。START計(jì)程車開(kāi)啟信號(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元,之
12、后每來(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表示費(fèi)用的十位,CHI表示費(fèi)用的個(gè)位,CHO 表示費(fèi)用的十分位。B為等待時(shí)間計(jì)費(fèi)脈沖信號(hào)或里程計(jì)費(fèi)脈沖信號(hào)。圖3-2 JIFEI 模塊圖3.2.2 計(jì)量模塊JILIANG:fjILiANGi-iSTART01V1"!CLK021i+CLK1KM2y 0-iDRIVE0*.IHiBREAKKMO3.0*MIN13.O: -1MINO3.OJ i:| inst2圖3-3 JILIANG 模塊圖本模塊是系統(tǒng)的核心模塊之一,能夠?qū)ν獠康男旭偩嚯x脈沖、等待時(shí)間
13、脈沖 進(jìn)行計(jì)數(shù)。因?yàn)樾旭偩嚯x每脈沖代表 10米,所以計(jì)滿100個(gè)數(shù)就輸出一個(gè)行駛 距離計(jì)費(fèi)脈沖,因?yàn)?公里之屬于起步價(jià),所以前3公里不輸出行駛距離計(jì)費(fèi)脈 沖,因?yàn)橛?位數(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
14、分鐘。 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-4 SELTIME模塊圖SELTIME莫塊起顯示控制作用,控制等待時(shí)間、行駛里程、費(fèi)用在數(shù)碼管上 的顯示位置。sel為計(jì)數(shù)控制信號(hào)輸出端,功能主要是利用其計(jì)數(shù)的八個(gè)狀態(tài), 使daout在其每個(gè)狀態(tài)下選擇某一輸入數(shù)據(jù),進(jìn)而將選擇的的數(shù)據(jù)送入到DELED模塊。dp為小數(shù)點(diǎn)脈沖控制信號(hào),當(dāng)該模塊輸出的值為里程
15、的個(gè)位、費(fèi)用的個(gè) 位時(shí),需要考慮小數(shù)點(diǎn)的存在,即此時(shí)dp= 1 ',在其他不需要小數(shù)點(diǎn)的情況下,dp= 0',最后dp將信號(hào)輸出到DELED模塊。3.2.4 顯示模塊DELEDDELED模塊把送入的每個(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)的仿真Nam亡A "!*呑心一參-環(huán)一衿-一竺衿砂srmCLKCLK1DRIVEBREAKEH2KM1EIIOMINIUEHOCH2CHI匚HOValu電 it3S1.0 nsM oH QH 0K 0H DH 0H 0H 0H 0H 0H
16、 0H 0H 0圖4-13 js 320.0 ns 640.p tls TBU 0 rs 1.縛 g 331'o TL51II1 11iinaI1HlilHdI1111II1(: 0(0HSiWS帥1丨丨丨 i丨11HacL011111II1H|f.A .乓XC :_1 1 1011HillQliJKI Hlw出租車啟動(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元Value 必4. 58 ms?. 2G ns 2. § us. 3. 54 ns 4. IS us 4. S2 us
17、riii4.581 usSTA1TH 1CLKH 0CLK1H DDRITEH 1BREAKH 1 KM2H 1田EMIH 60 KMOH 2田 MINIH 3田 MIMEH 2E GH2H E田CHIH 1 GHOH 4圖4-2出租車等待時(shí)計(jì)費(fèi)系統(tǒng)功能仿真圖由圖4-2可知,當(dāng)出租車在等待過(guò)程中,行駛里程16.2公里,等待時(shí)間為32分鐘時(shí),出租車的費(fèi)用為: 一致。5+ (16.2-3 )X 1+32X 0.仁21.4 元,與仿真結(jié)果N:iirieatEQnsElIli國(guó) 竺竺竺豆亙卸一昴亙亙旦昴STARTH 1CLKH 1CLKH 1DRIVEH 1BRiAKH 0H GH 6KMOH
18、63;riffiH 6MISOH 0CM2H 7CK1H 4CMCH C圖4-3出租車行駛時(shí)計(jì)費(fèi)系統(tǒng)功能仿真圖b.22 U5 9.AG uS LO.S Hi 11 14 us 11.76ii11.2935 nsJ6W(i i b - W5_ 君& i君T由圖4-3可知,當(dāng)出租車行駛到66.6千米,等待時(shí)間60分鐘時(shí),由仿真結(jié) 果可得出費(fèi)用為 74.6元;根據(jù)設(shè)計(jì)要求計(jì)算可得費(fèi)用為:5+( 66.6-3 )X1+60X 0.仁74.6元。仿真結(jié)果與計(jì)算值一致,驗(yàn)證了設(shè)計(jì)的正確性。HameVtlue a3,11 uSTARTH 0cutH 1CLK1H 1DRIVEH 0BKEAKH 0國(guó)
19、EM2H ii+j KM1H 0S KMOH D3 MUIH U國(guó)肛MOH 0+j CR2H 0B CHIH 0|+j CHOH 0&. 72 us9. 28 nsI9.1405 us0L J圖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 譯碼顯示模塊的仿真及分析Value at醛15 mDP3-S3SZ-S1-SOADCDH DH M H H H H 1M 1H IH 1X""II JIIIIIL-Ln-u_nrp nLRLnLrU.rLrLn_rLnrLnLnnR
20、mLrm_an LT-Lf!irrurn i iFL_nLnimnrw I n|i! ??! 1 i 丨 l|i! ??!Lrrrrnniorn.nnn.nn. nn.h3I|E LI LI LnzipurLrL_n尸 4.0 nsa o ns12 0 ns IE Q a圖4-5譯碼顯示模塊的功能仿真圖圖4-5為譯碼顯示模塊的功能仿真波形圖,DP S為信號(hào)輸入端,也是顯示 控制模塊的信號(hào)輸出端口, ABCDEFG八個(gè)端口為八位二進(jìn)制的輸出端口。假設(shè) DOUT“HGFEDCBA由上圖可以看出:1. DP=0 時(shí):當(dāng) S(3 downto 0)= ” 0000” 當(dāng) S(3 downto 0)= ”
21、0001” 當(dāng) S(3 downto 0)= ” 0010” 當(dāng) S(3 downto 0)= ” 0011” 當(dāng) S(3 downto 0)= ” 0100” 當(dāng) S(3 downto 0)= ” 0101” 當(dāng) S(3 downto 0)= ” 0110” 當(dāng) S(3 downto 0)= ” 0111” 當(dāng) S(3 downto 0)= ” 1000” 當(dāng) S(3 downto 0)= ” 1001”,則 DOUT= 00111111”;,則 DOUT= 00000110',則 DOUT= 01011011”;,則 DOUT= 01001111”;,則 DOUT= 0110011
22、0',則 DOUT= 01101101”;,則 DOUT= 01111101”;,則 DOUT= 00000111”;,則 dout= 01111111”;,則 DOUT= 01101111”;當(dāng)S(3 downto 0)等于上述值以外的值時(shí),則 DOUT= 00000000”2. DP=1 時(shí):當(dāng) S(3 downto 0)= ” 0000” 當(dāng) S(3 downto 0)= ” 0001” 當(dāng) S(3 downto 0)= ” 0010” 當(dāng) S(3 downto 0)= ” 0011” 當(dāng) S(3 downto 0)= ” 0100” 當(dāng) S(3 downto 0)= ” 010
23、1” 當(dāng) S(3 downto 0)= ” 0110” 當(dāng) S(3 downto 0)= ” 0111” 當(dāng) S(3 downto 0)= ” 1000” 當(dāng) S(3 downto 0)= ” 1001”,則 dout= 10111111”;,則 DOUT= 10000110',則 DOUT= 11011011”;,則 DOUT= 11001111”;,則 DOUT= 11100110',則 DOUT= 11101101”;,則 dout= 11111101”;,則 DOUT= 10000111”;,則 dout= 11111111”;,則 dout= 11101111”;當(dāng)S
24、(3 downto 0)等于上述值以外的值時(shí),則 DOUT= 10000000”4.2.2 顯示控制模塊的仿真及分析Valu« i iZ6.23 relkH 0田CHDH 2 CH1H 3n 口2IIX KMDH 5p KM1R1 02Hi MI1K)H B kF nnH日l(shuí)pH 1 I田 laoutIlliIIILMIIH 6 EHMaiiaiBBHiiiaaiiHiiui 1rL_ne inoi TOmixoioY on x mo X ini X i_io X 里 X, tw X mi X 山。圖4-6顯示控制模塊的功能仿真圖圖4-6為顯示控制模塊功能仿真圖,其中elk為時(shí)鐘脈沖
25、輸入端,sei為計(jì)數(shù)控制信號(hào)輸出端,daout為sei所控制狀態(tài)下的輸出到數(shù)碼管的位選信號(hào),dp為小數(shù)點(diǎn)控制輸出信號(hào)??梢钥闯?,當(dāng)時(shí)鐘沿上升時(shí)刻到來(lái)時(shí),計(jì)數(shù)器的輸出sei就自動(dòng)加1,當(dāng)計(jì)數(shù)器輸出端加到“ 111 ”時(shí),再來(lái)一個(gè)脈沖上升沿,則計(jì)數(shù)的輸出端sel變?yōu)椤?000”,該顯示控制模塊的功能主要是利用其計(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= “”時(shí),daout=CH2 當(dāng) sel=“011” 時(shí),daout=KMQ 當(dāng) sel= “100” 時(shí),da
26、out=KM1;當(dāng) sel= “ 101” 時(shí),daout=KM2 當(dāng) sel= “110” 時(shí),daout=MIN0;當(dāng) sel= “ 111” 時(shí),daout=MIN1。由于 KM1 CH1表示里程的個(gè)位和費(fèi)用的個(gè)位,其后都存在小數(shù),故在設(shè)計(jì)中當(dāng)顯示KM1CH1時(shí)須加入小數(shù)點(diǎn),此時(shí)dp= 1',在其他沒(méi)有小數(shù)點(diǎn)的情況時(shí) dp= 0'。4.2.3 計(jì)量模塊的仿真及分析at6391. 5 usrmCLKCLK1DRIVE£K£A1:0 EMIa EMO unris HIN10BlEZH 5H 0h 03M.0 zI640l 0 nsI60.0 ns|I丨6丨
27、;5v.i41o xTx 21II圖4-7計(jì)量模塊的功能仿真圖LL1UHIIIUIIUII1L圖4-7為計(jì)量模塊的功能仿真圖,START言號(hào)為高電平時(shí)(即出租車啟動(dòng))。 當(dāng)DRIVE為高電平且BREA為低電平時(shí),出租車為行駛狀態(tài),此時(shí)里程計(jì)數(shù)模塊 開(kāi)始計(jì)數(shù),每經(jīng)過(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為高電平且BREAKS高電 平時(shí),出租車為暫停狀態(tài),此時(shí)等待時(shí)間計(jì)數(shù)模塊開(kāi)始計(jì)數(shù),每經(jīng)過(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)
28、模塊的仿真及分析Master Time Bar5210彳卜 Fuin剛:23.68 nsA醪-A-sl一亙昴刃ARTDRIVEB CH2 :HlE CHOV alue atS20.0 nsK 1H 1H 1H' 0US1 11111IIIIiiit 1i1id«agiPFFl1111I1111 M H H 丨 n n n n11inn i nn n<cO' X5xzikii10i X s /TXT;(5U QT XiX2p ps320.0 ns640.D m9&0.0 ns1 ZS'曲 if"圖4-8計(jì)費(fèi)模塊的功能仿真圖圖4-8為計(jì)費(fèi)模
29、塊的功能仿真圖當(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表示費(fèi)用的十位, CH1表示費(fèi)用的個(gè)位,CH0表示費(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)之間的對(duì) 應(yīng)關(guān)系,參照資料得出本設(shè)計(jì)中各引腳的對(duì)應(yīng)情況如下:No<je MamedirectorLocation1A AOutputPIN IO2£OutputPIN.L13» BRE
30、AKInputPIN 474OulputPIN 125* CLKInputPINOTS6時(shí) CLK1InputPIN lfi37A CIXJNInputPIN_8O呂3 DOutputPIM-H9Input10EOutputPIN_H110 FOutputPIN 1512O GOutputPIN I613<>HOutputPIN I714ss2CMputPINJ15e SEL1OutputPIN 81SBL0Outputpni 717P JTARTInputPIN.45圖5-1頂層原理圖5.2 硬件實(shí)現(xiàn)通過(guò)硬件下載,該電路可以完成硬件實(shí)現(xiàn),芯片管腳定義可以直接用編 輯.pin文件。
31、完成管腳定義后選擇器件,編譯后生成.sof文件。選擇.sof文 件進(jìn)行下載。下載完成后,將第一全局時(shí)鐘 CLK1的跳線器接1Hz(作為秒脈沖信號(hào)),將 第二全局時(shí)鐘CLK2的跳線器接1Hz(作為十米脈沖信號(hào)),將第三全局時(shí)鐘CLK3 的跳線器接32768Hz用撥位開(kāi)關(guān)模擬控制出租車的啟動(dòng)、行駛、暫停。觀察數(shù) 碼管上數(shù)據(jù)的變化是否符合設(shè)計(jì)標(biāo)準(zhǔn)。在試驗(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表示出租車等待了 1分鐘,行駛了 3.9公里,即
32、時(shí)車費(fèi)為6.0元。根 據(jù)設(shè)計(jì)要求計(jì)算所得費(fèi)用為:5元+(3.9-3 )公里X 1元/公里+1分鐘X 0.1元/ 分鐘=6.0元,計(jì)算結(jié)果與試驗(yàn)箱上所得顯示結(jié)果相同。圖5-3 驗(yàn)證結(jié)果2圖5-3表示出租車等待了 3分鐘,行駛了 6.8公里,即時(shí)車費(fèi)為9.1元。根 據(jù)設(shè)計(jì)要求計(jì)算所得費(fèi)用為:5元+ (6.8-3 )公里X 1元/公里+3分鐘X 0.1元/ 分鐘=9.1元,計(jì)算結(jié)果與試驗(yàn)箱上所得顯示結(jié)果相同。在試驗(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)金額加
33、0.1 元,當(dāng)我們按下等待暫停鍵,每分鐘左邊兩個(gè) 數(shù)碼管加 1,其顯示的等待時(shí)間,當(dāng)?shù)却龝r(shí)間到 1 分鐘時(shí),計(jì)費(fèi)金額加 0.1 元, 由此我們可以判斷,系統(tǒng)設(shè)計(jì)符合要求。5.2.2 硬件實(shí)現(xiàn)總結(jié)通過(guò)對(duì)每一模塊的仿真和下載, 可以實(shí)現(xiàn)各個(gè)模塊的邏輯功能, 驗(yàn)證了各個(gè) 模塊的正確性。在出租車計(jì)費(fèi)系統(tǒng)的 4 個(gè)模塊中,重點(diǎn)在于計(jì)量模塊 (JILIANG), 計(jì)費(fèi)模塊(JIFEI ),顯示控制模塊(SELTIME ,譯碼顯示模塊(DELED。JILIANG 模塊主要有汽車的開(kāi)始、運(yùn)行、暫停,JILIANG 模塊主要記錄出租車的行駛里程和等待時(shí)間,并將等待時(shí)間計(jì)費(fèi)脈沖和行駛里程計(jì)費(fèi)脈沖送入 JIFEI模
34、塊;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ù)碼管上 正確的顯示。 這四個(gè)模塊的組合成完整的出租車系統(tǒng), 在設(shè)計(jì)過(guò)程中還需要改進(jìn) 的是控制出租車計(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)清零,等
35、待下一次計(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 公里) 等功能;能夠?qū)崿F(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ǔ)言
36、和普通軟件語(yǔ) 言之間的區(qū)別,也能夠更加熟練地運(yùn)用 VHDL語(yǔ)言進(jìn)行邏輯電路的設(shè)計(jì)了,受益 匪淺。我們所做的課題是出租車計(jì)費(fèi)器的設(shè)計(jì)。老師給了我們課程設(shè)計(jì)題目,在 這半個(gè)月的實(shí)驗(yàn)操作中, 不斷的完善自己的設(shè)計(jì)要求, 將自己的想法融入到實(shí)驗(yàn) 的程序中去。最終通過(guò)仿真達(dá)到了自己預(yù)想的效果。有種先苦后甜的成就感。同時(shí)在本次試驗(yàn)中,我們熟練的掌握了 Quartus II 軟件的使用。學(xué)會(huì)了如 何把自己所設(shè)計(jì)的程序,通過(guò)軟件用波形仿真出來(lái),再通過(guò)試驗(yàn)箱仿真出來(lái)。在這次課程設(shè)計(jì)過(guò)程中, 要感謝老師在課程設(shè)計(jì)上給予我的幫助, 提供給我 的支持與建議, 特別是幫助我解決了我半個(gè)月來(lái)一直遇到的運(yùn)行程序警告多的問(wèn)
37、題,這是我能順利完成這次報(bào)告的主要原因,讓我能把課程設(shè)計(jì)做得更加完善。 在此期間,我不僅學(xué)到了許多新知識(shí),而且也開(kāi)闊了視野,提高了自己的設(shè)計(jì)能 力。其次,我要感謝幫助過(guò)我的同學(xué)們,他們也為我解決了不少難題。這些東西 是無(wú)法再平時(shí)上課的過(guò)程中學(xué)到的, 實(shí)踐出真知, 只有在實(shí)驗(yàn)中我們才能更好的 學(xué)到東西,不用紙上談兵,做無(wú)用功。參考文獻(xiàn)1 徐飛.EDA技術(shù)與實(shí)踐M.:清華大學(xué),2011.2 王行,衍.EDA技術(shù)入門與提高M(jìn).:電子科技大學(xué),2005.3 昌華.數(shù)字邏輯EDA設(shè)計(jì)與實(shí)踐M.:國(guó)防工業(yè),2011.4 蓉.基于VHD語(yǔ)言的出租車自動(dòng)計(jì)費(fèi)器的設(shè)計(jì)J.科技風(fēng),2008,24:33附錄1 JI
38、LIANG 模塊的VHDL編程LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JILIANG ISPORT(CLK,CLK1 : IN STD_LOGIC;START : IN STD_LOGIC;DRIVE : IN STD_LOGIC;BREAK : IN STD_LOGIC;B1,B2 : OUT STD_LOGIC;KM2,KM1,KM0: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);MIN1,M
39、IN0 : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); END JILIANG;ARCHITECTURE BEHAVE OF JILIANG ISSIGNAL R1:INTEGER RANGE 0 TO 9;SIGNAL K:STD_LOGIC_VECTOR (7 DOWNTO 0);SIGNAL K2,K1,K0 :STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL W1:INTEGER RANGE 0 TO 59;SIGNAL M1:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL M0:STD_LOGIC_VECTOR(3
40、 DOWNTO 0);BEGINRUN:PROCESS(CLK1,DRIVE,BREAK,K0,K1,K2)BEGINIF START='1' THENIF DRIVE='0' THEN K0<="0000"K1<="0000"K2<="0000"R1<=0;ELSIF CLK1'EVENT AND CLK1='1' THENIF DRIVE='1'AND BREAK='0' THENIF R1=9 THEN R1<=
41、0;IF K0="1001" THEN K0<="0000"k1<=k1+1;IF K1="1001" THEN K1<="0000"k2<=k2+1;IF K2="1001" THEN K2<="0000" ELSE K2<=K2+1;END IF;ELSE K1<=K1+1;END IF;ELSE K0<=K0+1;END IF;ELSE R1<=R1+1;B1<='0'END IF;K<=
42、K2&K1;IF K>"00000010" THENIF R1<9 THEN R1<=R1+1;B1<='0'ELSE R1<=0; B1<='1' END IF;END IF;END IF;END IF;ELSE K0<="0000"K1<="0000"K2<="0000"END IF;KM0<=K0;KM1<=K1;KM2<=K2;END PROCESS;PAUSE:PROCESS(CLK,DRIVE
43、,BREAK,M0,M1)BEGINIF START='1' THENIF DRIVE='0' THEN M0<="0000"M1<="0000"W1<=0;ELSIF CLK'EVENT AND CLK='1' THENIF DRIVE='1' AND BREAK='1'THENIF W1=59 THEN W1<=0;B2<='1'IF M0="1001"THEN M0<="0000&
44、quot; M1<=M1+1;IF M1="1001"THEN M1<="0000"ELSE M1<=M1+1;END IF;ELSE M0<=M0+1;END IF;ELSE W1<=W1+1;B2<='0'END IF;END IF;END IF;ELSE M0<="0000"M1<="0000"END IF;MIN0<=M0;MIN1<=M1;END PROCESS;END ARCHITECTURE ;2 JIFEI 模塊的VHDl編
45、程LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JIFEI IS PORT(B :IN STD_LOGIC;START:IN STD_LOGIC;DRIVE:IN STD_LOGIC;CH2,CH1,CH0: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); END JIFEI;ARCHITECTURE BEHAVE OF JIFEI ISSIGNAL C2,C1,C0:STD_LOGIC_VECTOR(3
46、 DOWNTO 0); BEGINPROCESS(B,DRIVE,C0,C1,C2)BEGINIF DRIVE='0' THEN C0<="0000"C1<="0101"C2<="0000" ELSIF DRIVE='1' THENIF B'EVENT AND B='1' THENIF C0="1001" THEN C0<="0000"IF C1="1001"THEN C1<="0
47、000"IF C2="1001"THEN C2<="0000"ELSE C2<=C2+1; END IF;ELSE C1<=C1+1; END IF;ELSE C0<=C0+1;END IF;END IF;END IF;ELSE C0<="0000"C1<="0000"C2<="0000"END IF;CH0<=C0;CH1<=C1;CH2<=C2;END PROCESS;END;3 SELTIME控制模塊的VHDL編程 li
48、brary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity seltime isport( clk : in std_logic;CH2,CH1,CH0 : in std_logic_vector(3 downto 0);KM2,KM1,KM0 : in std_logic_vector(3 downto 0); MIN1,MIN0 : in std_logic_vector(3 downto 0); dp: OUT STD_LOGIC;daout: out std_logic_vector(3 d
49、ownto 0);sel: out std_logic_vector(2 downto 0);end seltime;architecture behav of seltime is signal sec : std_logic_vector(2 downto 0); beginprocess(clk)begin if(clk'event and clk='1') thenif(sec="111") then sec<="000"elsesec<=sec+1;end if;end if;end process; pro
50、cess(sec,MIN1,MIN0,CH2,CH1,CH0,KM2,KM1,KM0) begincase sec iswhen "000"=>daout<=CH0 ( 3 downto 0);dp<='0' when "001"=>daout<=CH1 ( 3 downto 0);dp<='1' when ""=>daout<=CH2 ( 3 downto 0);dp<='0' when "011"=>da
51、out<=KM0 ( 3 downto 0);dp<='0' when "100"=>daout<=KM1 ( 3 downto 0);dp<='1' when "101"=>daout<=KM2 ( 3 downto 0);dp<='0' when "110"=>daout<=MIN0( 3 downto 0);dp<='0'when "111"=>daout<=MIN1( 3 downto 0);dp<='0' when others=>daout<="XXXX"end case;end process;sel<=sec;end behav;4 DELED模塊的VH
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年廣西工程職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)含答案
- 2025年廣西培賢國(guó)際職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)完整
- 2025年黑龍江省綏化市單招職業(yè)傾向性測(cè)試題庫(kù)帶答案
- 人體機(jī)能復(fù)習(xí)測(cè)試卷附答案
- 科技班組持續(xù)創(chuàng)新的驅(qū)動(dòng)力
- 2025年湖南科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)新版
- 科技助力精神障礙康復(fù)的中西醫(yī)整合方案
- 2025年廣西建設(shè)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)含答案
- 2025年河南省洛陽(yáng)市單招職業(yè)傾向性測(cè)試題庫(kù)及答案1套
- 計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)知到智慧樹(shù)章節(jié)測(cè)試課后答案2024年秋臨沂職業(yè)學(xué)院
- 韓國(guó)語(yǔ)入門教學(xué)資料
- 《大學(xué)生職業(yè)能力訓(xùn)練》
- 人民警察忠誠(chéng)品質(zhì)
- 冠狀動(dòng)脈搭橋手術(shù)后的健康生活促進(jìn)
- 《英國(guó)飲食文化》課件
- 《SolidWorks建模實(shí)例教程》第4章 綜合應(yīng)用實(shí)例
- JCT2110-2012 室內(nèi)空氣離子濃度測(cè)試方法
- 視頻號(hào)運(yùn)營(yíng)規(guī)則
- 文印服務(wù)投標(biāo)方案(技術(shù)方案)
- 初三語(yǔ)文總復(fù)習(xí)全程計(jì)劃表
- 九年級(jí)初中語(yǔ)文閱讀理解專題訓(xùn)練及答案
評(píng)論
0/150
提交評(píng)論