![出租車自動計(jì)費(fèi)器設(shè)計(jì)(課程設(shè)計(jì)報(bào)告模板)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/21/0b9c42a5-6ca8-4620-a0af-715028ef7b58/0b9c42a5-6ca8-4620-a0af-715028ef7b581.gif)
![出租車自動計(jì)費(fèi)器設(shè)計(jì)(課程設(shè)計(jì)報(bào)告模板)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/21/0b9c42a5-6ca8-4620-a0af-715028ef7b58/0b9c42a5-6ca8-4620-a0af-715028ef7b582.gif)
![出租車自動計(jì)費(fèi)器設(shè)計(jì)(課程設(shè)計(jì)報(bào)告模板)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/21/0b9c42a5-6ca8-4620-a0af-715028ef7b58/0b9c42a5-6ca8-4620-a0af-715028ef7b583.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、目錄1 緒論 11.1 設(shè)計(jì)背景 11.2 QUARTUSII 簡介 . 11.3 VHDL語言基礎(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 73.2.4 顯示模塊 DELED74 出租車計(jì)費(fèi)器系統(tǒng)仿真及分析 84.1 計(jì)費(fèi)系
2、統(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ì)體會與總結(jié) 17參考文獻(xiàn) 18附 錄 191 JILIANG模塊的VHDL編程 192 JIFEI模塊的 VHDL編程 213 SELTIME控制模塊的VHDL編程 224 DELED模塊的VHDL編程 231 緒論1.1 設(shè)計(jì)背景隨著我國社會經(jīng)
3、濟(jì)的全面發(fā)展,各大中小城市的出租車營運(yùn)事業(yè)發(fā)展迅速, 出租車已經(jīng)成為人們?nèi)粘3鲂羞x擇較為普通的交通工具。 于是,出租車行業(yè)以低 價(jià)高質(zhì)的服務(wù)給人們帶來了出行的享受。 但是總存在著買賣糾紛困擾著行業(yè)的發(fā) 展。而在出租車行業(yè)中解決這一矛盾的最好方法就是改良計(jì)價(jià)器。 汽車計(jì)價(jià)器是 乘客與司機(jī)雙方的交易準(zhǔn)則, 它是出租車行業(yè)發(fā)展的重要標(biāo)志, 是出租車中最重 要的工具, 它關(guān)系著交易雙方的利益。 具有良好性能的計(jì)價(jià)器無論是對廣大出租 車司機(jī)朋友還是乘客來說都是很必要的。 因此,汽車計(jì)價(jià)器的研究也是具有一定 意義的。 出租車計(jì)費(fèi)器是出租車營運(yùn)收費(fèi)的專用智能化儀表, 是出租車市場規(guī)范 化,標(biāo)準(zhǔn)化以及減少司機(jī)
4、與乘客之間發(fā)生糾紛的重要設(shè)備。一種功能完備,簡單 易用,計(jì)量準(zhǔn)確的出租車計(jì)費(fèi)器是加強(qiáng)出租車行業(yè)管理, 提高服務(wù)質(zhì)量的必需品。 本設(shè)計(jì)就是采用VHDL硬件描述語言作為設(shè)計(jì)手段,采用自己的設(shè)計(jì)思路,得到 一種出租車計(jì)價(jià)系統(tǒng)的軟件結(jié)構(gòu),通過 Quartus II 6.0 軟件下進(jìn)行仿真,證明 所設(shè)計(jì)的電路系統(tǒng)完成了出租車計(jì)價(jià)的功能, 各項(xiàng)指標(biāo)符合設(shè)計(jì)要求, 具有一定 的實(shí)用性。1.2 QUARTUS II 簡介QUARTUS II是Altera 公司的綜合性 CPLD/FPGAT發(fā)軟件,支持原理圖、VHDL、VerilogHDL 等多種設(shè)計(jì)輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以 完成從設(shè)計(jì)輸入到
5、硬件配置的完整 CPLD設(shè)計(jì)流程。QUARTUS II支持Altera的 片上可編程系統(tǒng)(SOPC開發(fā),集系統(tǒng)級設(shè)計(jì)、嵌入式軟件開發(fā)、可編程邏輯設(shè) 計(jì)于一體,是一種綜合性的開發(fā)平臺。 Altera QUARTUISI 作為一種可編程邏輯 的設(shè)計(jì)環(huán)境 , 由于其強(qiáng)大的設(shè)計(jì)能力和直觀易用的接口, 越來越受到數(shù)字系統(tǒng)設(shè) 計(jì)者的歡迎。1.3 VHDL 語言基礎(chǔ)一般而言,一個(gè)相對完整的 VHDL語言程序至少應(yīng)三個(gè)基本組成部分:庫(Library )、程序包(Package)使用說明;實(shí)體(Entity )說明;實(shí)體對 應(yīng)的結(jié)構(gòu)體(Architecture )說明。其中,庫、程序包使用說明用于打開(調(diào)用)
6、 本設(shè)計(jì)實(shí)體將要用到的庫、 程序包;實(shí)體說明用于描述該設(shè)計(jì)實(shí)體與外界的接口 信號說明,是可視部分;結(jié)構(gòu)體說明用于描述該設(shè)計(jì)實(shí)體內(nèi)部工作的邏輯關(guān)系, 是不可視部分。在一個(gè)實(shí)體中,允許含有一個(gè)或多個(gè)結(jié)構(gòu)體,而在每一個(gè)結(jié)構(gòu)體 中又可以含有一個(gè)或多個(gè)進(jìn)程以及其他的語句。 根據(jù)需要, 實(shí)體還可以有配置說 明語句。配置說明語句主要用于以層次化的方式對特定的設(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. 超過 3 公里,每公里按 1 元收費(fèi),也可每 0.1 公里按 0
7、.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. 通過這次實(shí)驗(yàn)設(shè)計(jì)使我們加深對 EDA技術(shù)與數(shù)字系統(tǒng)設(shè)計(jì)相關(guān)理論和概 念的理解,培養(yǎng)我們的理論聯(lián)系實(shí)際的能力,特別是實(shí)際動手能力。2. 學(xué)習(xí)使用QUARTUS I軟件設(shè)計(jì)。3. 根據(jù)原理圖學(xué)會用VHDL語言設(shè)計(jì)時(shí)序電路。4. 學(xué)會繪制功能仿真波形圖。2.2 設(shè)計(jì)思路根據(jù)設(shè)計(jì)要求,電路具有計(jì)時(shí)、計(jì)程、計(jì)費(fèi)功能,用數(shù)碼管顯示行駛公里數(shù)、 等待時(shí)間、收費(fèi)
8、金額,行車?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的脈沖用來表示等待時(shí)間,60個(gè)脈沖代表1分鐘,1分 鐘即60個(gè)脈沖產(chǎn)生一個(gè)等待計(jì)費(fèi)脈沖,然后用計(jì)費(fèi)電路對計(jì)費(fèi)脈沖進(jìn)行計(jì)費(fèi)。2.3 系統(tǒng)總體結(jié)構(gòu)控制模塊圖2-1系統(tǒng)總體結(jié)構(gòu)圖謹(jǐn) 碼動 態(tài) 掃 描S. 顯 示出租車計(jì)費(fèi)器的組成如上圖所示,通過控制模塊以高低脈沖模擬出租汽車啟 動、行駛、暫停,具有控制作用;通過控制模塊控制出租車的狀態(tài)來選擇出租車 是計(jì)里程還是計(jì)等待時(shí)間,相
9、應(yīng)產(chǎn)生的時(shí)間計(jì)費(fèi)脈沖信號和里程脈沖信號來計(jì) 費(fèi),譯碼/動態(tài)掃描模塊將等待時(shí)間、路程與費(fèi)用的數(shù)值譯碼后用動態(tài)掃描的方 式驅(qū)動數(shù)碼管;數(shù)碼管顯示模塊將里程數(shù)、等待時(shí)間和計(jì)費(fèi)金額用數(shù)碼管顯示2.4 出租車計(jì)費(fèi)器系統(tǒng)工作流程圖圖2-2出租車計(jì)費(fèi)系統(tǒng)工作流程圖出租車載客后,啟動計(jì)費(fèi)器,整個(gè)系統(tǒng)開始工作,進(jìn)入初始化狀態(tài),即計(jì)程 從0開始,計(jì)費(fèi)從5.0元開始。再根據(jù)BREAKS號判斷行駛還是暫停。若是行駛 狀態(tài),計(jì)費(fèi)器開始進(jìn)行里程計(jì)數(shù),當(dāng)里程超過 3公里時(shí),計(jì)費(fèi)器開始累加,按每 0.1公里收費(fèi)0.1元計(jì)算,計(jì)程器則繼續(xù),否則計(jì)費(fèi)器不變。若是暫停狀態(tài),計(jì) 費(fèi)器開始進(jìn)行等候時(shí)間計(jì)數(shù),當(dāng)?shù)群驎r(shí)間累計(jì)1分鐘,則每分
10、鐘0.1元計(jì)費(fèi)。最后將等候時(shí)間、里程、計(jì)費(fèi)都顯示出來。3出租車計(jì)費(fèi)器的實(shí)現(xiàn)3.1出租車計(jì)費(fèi)器的頂層原理圖二 尹-Ij 'ui flin iBi ii vi »-a-sa tar aiB-:洋快汗一產(chǎn)4; ! II II 利 I IIV li illffllll"Hia!MIII IS 'I: eye亠 1 ra Hi ir ,;CUC1I '- Bill I I ! - I I- CfiVE y ra mi- i &n*£I、_,亠 Is fw T=nrBTBa_B "Tr-nri= r-«r m _ =i-LA
11、SS !* i *! 9-4 IBiAiBi ir iliMIIIUI產(chǎn)rwr a- :STATCLKBt更隠 raoci &r<Mip qemn e召JJMi N13 JMlMqj 可Ywe島.tK孑丹1品4L K:J.T*“3護(hù)甸 ST駅T ©Hip S DRP< Crop OJwnireffiijfifi'': 一巴r T ,' 1:;:;: ;J*JOUP TTpKMXSJQ:WWTGHjp.gjC-1p 網(wǎng)O«fB q KWp q 畑甲gj whip qiy IHQAi .Bl& -即丁L八1 iJDi :當(dāng) X
12、i1o17i昌亠1i圖3-1出租車計(jì)費(fèi)器頂層原理圖原理圖中輸入部分分別是 CLK秒脈沖信號,1個(gè)脈沖代表1秒,則60個(gè)脈 沖表示1分鐘。CLK1: 10米脈沖信號,1個(gè)脈沖代表10米,則10個(gè)脈沖表示 100米,100個(gè)脈沖代表1公里。START計(jì)程車開啟信號;DRIVE計(jì)費(fèi)器啟動信 號;BREAK等待信號,SEL為計(jì)數(shù)控制信號輸出端。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)器啟動,顯示起步價(jià) 5.0元,之后每來一個(gè)行駛里程計(jì) 費(fèi)脈沖或者等待時(shí)間計(jì)費(fèi)脈沖,計(jì)費(fèi)金額自動加0.1元。計(jì)費(fèi)顯示
13、用3位數(shù)碼管, 所以計(jì)費(fèi)最大值為99.9元。其中CH2表示費(fèi)用的十位,CHI表示費(fèi)用的個(gè)位, CH0表示費(fèi)用的十分位。B為等待時(shí)間計(jì)費(fèi)脈沖信號或里程計(jì)費(fèi)脈沖信號。Fjifei1ELCH23.OSTART1CH13. 0DRIVECHO3.Oinst圖3-2 JIFEI 模塊圖3.2.2 計(jì)量模塊JILIANGJiLiANGSTART011CLK02CLK1KM2y 0DRIVE0BREAKKMO3.0:MIN13.OMINQ3.OTI:inst2圖3-3 JILIANG 模塊圖本模塊是系統(tǒng)的核心模塊之一,能夠?qū)ν獠康男旭偩嚯x脈沖、等待時(shí)間脈沖 進(jìn)行計(jì)數(shù)。因?yàn)樾旭偩嚯x每脈沖代表 10米,所以計(jì)滿
14、100個(gè)數(shù)就輸出一個(gè)行駛 距離計(jì)費(fèi)脈沖,因?yàn)?公里之內(nèi)屬于起步價(jià),所以前3公里內(nèi)不輸出行駛距離計(jì) 費(fèi)脈沖,因?yàn)橛?位數(shù)碼管來顯示行駛距離,其中兩位整數(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),所以對等待時(shí) 間脈沖計(jì)數(shù),計(jì)滿60個(gè)數(shù)就輸出一個(gè)等待計(jì)費(fèi)脈沖。等待時(shí)間最大值為99分鐘。MINI為等待時(shí)間的十位,MINO為等待時(shí)間的
15、個(gè)位。將行駛距離、等待時(shí)間 送到SELTIME莫塊,時(shí)間與里程計(jì)費(fèi)脈沖送到計(jì)費(fèi)模塊完成里程、等待時(shí)間的計(jì) 費(fèi)功能。B1為超過3公里后,每0.1公里產(chǎn)生的計(jì)費(fèi)脈沖。B2為每等待一分鐘 產(chǎn)生的計(jì)費(fèi)脈沖。3.2.3 顯示控制模塊SELTIMEJselH:irwLIEdkdp1 CH?I3 .0daoutfi 0seiR.OCHau.O一'KM2I3.&1E>KM0(3l 0MIN13r.Oinst1nr圖3-4 SELTIME模塊圖SELTIME模塊起顯示控制作用,控制等待時(shí)間、行駛里程、費(fèi)用在數(shù)碼管上 的顯示位置。sel為計(jì)數(shù)控制信號輸出端,功能主要是利用其計(jì)數(shù)的八個(gè)狀態(tài),
16、使daout在其每個(gè)狀態(tài)下選擇某一輸入數(shù)據(jù),進(jìn)而將選擇的的數(shù)據(jù)送入到DELED模塊。dp為小數(shù)點(diǎn)脈沖控制信號,當(dāng)該模塊輸出的值為里程的個(gè)位、費(fèi)用的個(gè) 位時(shí),需要考慮小數(shù)點(diǎn)的存在,即此時(shí) dp= 1 ',在其他不需要小數(shù)點(diǎn)的情況 下,dp= 0',最后dp將信號輸出到DELED模塊。3.2.4 顯示模塊DELEDDEL£DDPA1iS3.OB;CDEFGFHI-mt2_圖3-5 DELED模塊圖DELE模塊把送入的每個(gè)四位數(shù)據(jù)轉(zhuǎn)換為 7段碼送出顯示,能夠使數(shù)碼管正 常顯示送入的數(shù)據(jù)。其中DP為小數(shù)點(diǎn)輸入信號。4出租車計(jì)費(fèi)器系統(tǒng)仿真及分析4.1計(jì)費(fèi)系統(tǒng)的仿真SSSHSHS
17、SsrmCLKCLK1DRIVEBREAKEJIZH!1KIOMINIMEHQ匚H2CHICHOlvalue at331.0 證H 0H 0H 0H 0H 0H 0H 0H 0H 0H QH 0H 0H 0圖4-1J ps 3Z0. 0 ns 640.p iu 950 0 ns 1 2c ux331.0 nsI(:(7 ' : ' /i ; i i : 5 _ i ' yli1i=-1IJJUK(二。榊I II出租車啟動時(shí)計(jì)費(fèi)系統(tǒng)功能仿真圖由圖4-1可知,當(dāng)出租車未啟動時(shí),里程、等待時(shí)間、費(fèi)用均為0。出租車剛啟動時(shí),里程、等待時(shí)間為 0,費(fèi)用為出租車起步價(jià) 5 元由圖S
18、TA1TH 1CLKH 0MlH 0nfiiTEH 1BREAKH 1 KM2H 1田EMIH 6田EMOH 2田 MINIH 3 MINDH 2田GHZH 2田CHIH 1 GHOH 44-2可知,匕26出租車等待時(shí)計(jì)費(fèi)系統(tǒng)功能仿真圖Vilu*4.5& he4-IS us4. 82 usI4 581IIIHill11Illi10r!卜631 X.2XMWCri>r3XglAAAAJ4.比 A. AAAA Ai'iiLU_!_/心 A圖4-2當(dāng)出租車在等待過程中,行駛里程16.2公里,等待時(shí)間為32分鐘時(shí),出租車的費(fèi)用為:5+( 16.2-3 )X 1+32X 0.1=2
19、1.4元,與仿真結(jié)果致。N:iirieSTAETH 1cuH 1CLK1H 1DRIVEH 1BMAKH 0KM2H EKN1H 6KMOH 6MillH 6HIIDH 0CM2H 7CK1H 4CHBH t圖4-3LD.5出租車行駛時(shí)計(jì)費(fèi)系統(tǒng)功能仿真圖/lue at11.3 nsa. 22 us 9.S611.14 us 11 7611.2935由圖4-3可知,當(dāng)出租車行駛到66.6千米,等待時(shí)間60分鐘時(shí),由仿真結(jié) 果可得出費(fèi)用為 74.6元;根據(jù)設(shè)計(jì)要求計(jì)算可得費(fèi)用為:5+ ( 66.6-3 )X 1+60X 0.仁74.6元。仿真結(jié)果與計(jì)算值一致,驗(yàn)證了設(shè)計(jì)的正確性。NameSTART
20、CLKCLK1D肚嚨BKEAK 國EM2 +j KM1 S KMO MI1I1H肛BO+j CJE CHI+j CHOVtlue at3,11 usH 0H IH IH 0H 0H ilH 0H DH 0H 0H 0H 0H 0l. 6 tie 4. lb us6. 72 us. ZE nsII1405i;J圖4-4出租車停車時(shí)計(jì)費(fèi)系統(tǒng)功能仿真圖當(dāng)出租車停車時(shí),出租車上的時(shí)間、里程和費(fèi)用清零,為下次計(jì)費(fèi)的開始做 準(zhǔn)備。4.2 單元模塊的仿真及分析4.2.1譯碼顯示模塊的仿真及分析Value at £4. 15 佔(zhàn)1>DPH D日2H A-S3H IV-SZ)H *-SlM g-
21、SDJH 0oLH 1aBM 1aCHlrH 1HLaHM 1ClH HM a It-8*! IIS*-fill !*!1 尸 4.0 nx9 0 n=12 g UH 站 Qzr-L_nL_rL_rL_rL_rr_JLTLjmnLrmRLrLanmnm ru-uZZnrLTLTLl nrTLTLTLR n iru圖4-5譯碼顯示模塊的功能仿真圖圖4-5為譯碼顯示模塊的功能仿真波形圖,DP S為信號輸入端,也是顯示控制模塊的信號輸出端口, ABCDEFG八個(gè)端口為八位二進(jìn)制的輸出端口。假設(shè)DOUT=,則 DOUT= 00111111”;,則 DOUT= 00000110';,則 DOUT
22、= 01011011”;,則 DOUT= 01001111';,則 DOUT= 01100110',則 DOUT= 01101101';,則 DOUT= 01111101';,則 DOUT= 00000111';,則 dout= 01111111';,則 DOUT= 01101111';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)=
23、39; 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= 10111111';,則 DOUT= 10000110',則 DOUT= 11011011';,則 DOUT= 11001111'
24、;;,則 DOUT= 11100110',則 DOUT= 11101101';,則 dout= 11111101';,則 DOUT= 10000111';,則 dout= 11111111';,則 dout= 11101111';HGFEDCB”A, 由上圖可以看出:1. DP=0 時(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 d
25、ownto 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”當(dāng) S(3 downto 0) 等于上述值以外的值時(shí),則 DOUT'= 00000000'當(dāng) S(3 downto 0) 等于上述值以外的值時(shí),則 DOUT'= 10000000'422顯示控制模塊的仿真及分析elkH 田CKDH 2 CK1H 3+ CK2K 4E 1310H 5 KM1H 5E 02H TH B田cnH日H 1田
26、 laoutH 6Vslu« 26.23 iCi1&Tn_nIfajrien_n_n_TLE lOOi00101010111Lcm001圖4-6顯示控制模塊的功能仿真圖童至審一匣77圖4-6為顯示控制模塊功能仿真圖,其中elk為時(shí)鐘脈沖輸入端,sei為計(jì) 數(shù)控制信號輸出端,daout為sei所控制狀態(tài)下的輸出到數(shù)碼管的位選信號,dp為小數(shù)點(diǎn)控制輸出信號??梢钥闯?,當(dāng)時(shí)鐘沿上升時(shí)刻到來時(shí),計(jì)數(shù)器的輸出 sei就自動加1,當(dāng)計(jì)數(shù)器輸出端加到“ 111 ”時(shí),再來一個(gè)脈沖上升沿,則計(jì)數(shù) 的輸出端sei變?yōu)椤?000”,該顯示控制模塊的功能主要是利用其計(jì)數(shù)的八個(gè)狀 態(tài),進(jìn)而去輪流控制
27、數(shù)碼管的位選信號。由圖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表示里程的個(gè)位和費(fèi)用的個(gè)位,其后都存在小數(shù),故在設(shè)計(jì)中當(dāng) 顯示KM1 CH1時(shí)須加入小數(shù)點(diǎn),此時(shí)dp='1',在其他沒有
28、小數(shù)點(diǎn)的情況時(shí)dp= 0'。4.2.3計(jì)量模塊的仿真及分析7*1 us at639(. 5 uSTAMH 1CLKH 1CLK1H 1DRIVEK L£K£A1:H QH 0EMIH 1KMOH 6HIK1H 0MINOH 5BlH 0E2H 0W 0 竺S竺亙環(huán)05 ns J640.0 ns圖4-7計(jì)量模塊的功能仿真圖圖4-7為計(jì)量模塊的功能仿真圖,START言號為高電平時(shí)(即出租車啟動)。 當(dāng)DRIVE為高電平且BREA為低電平時(shí),出租車為行駛狀態(tài),此時(shí)里程計(jì)數(shù)模塊 開始計(jì)數(shù),每經(jīng)過10個(gè)CLK1脈沖信號,里程加0.1公里,當(dāng)里程計(jì)數(shù)大于3公 里時(shí),每計(jì)0.1公
29、里產(chǎn)生1個(gè)B1脈沖信號。當(dāng)DRIVE為高電平且BREAKS高電 平時(shí),出租車為暫停狀態(tài),此時(shí)等待時(shí)間計(jì)數(shù)模塊開始計(jì)數(shù),每經(jīng)過60個(gè)CLK脈沖信號,時(shí)間加1分鐘,每計(jì)1分鐘產(chǎn)生一個(gè)B2脈沖信號。B1和B2分別為 里程計(jì)費(fèi)脈沖和等待時(shí)間計(jì)費(fèi)脈沖。4.2.4 計(jì)費(fèi)模塊的仿真及分析Master Tinw Bar:STARTDRIVEH 1H 1H 15ECH2H0CHIH5CHO5WarnsV alue at520.0 ns52D.0彳"Pointer:23.69 hs沖U640.0 nsI01圖4-8計(jì)費(fèi)模塊的功能仿真圖圖4-8為計(jì)費(fèi)模塊的功能仿真圖當(dāng) START處于高電平且DRIVE處于
30、高電平時(shí),每送入一個(gè)計(jì)費(fèi)脈沖且計(jì)費(fèi)脈沖處于上升沿時(shí),CHO自動加1 (即每送入一個(gè)計(jì)費(fèi)脈沖加0.1元)。CHO 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è)信號之間的對 應(yīng)關(guān)系,參照資料得出本設(shè)計(jì)中各引腳的對應(yīng)情況如下:No<je MamedirectorLocation1<L> AOutputPIN IO2& eCXj-tputPIN 11:P BREAKInputPIN 47牛cOutputP
31、IN 125Er CLICInputPIN 79&P CLKtInputPIN.朗7CLKJMInputP1N 3QQ尬 DOutputPIN 139A DRIVEInputPIN 4610<L>EOutputPIN 1411研 FOulputPIN.1512 GOutputPIN 1613e HOutputPIN?140 SEL3utxjtPIN 915SEL1OjtputPIN 8述襯?.OuiputP1N 717P JTARTInputPIN.45圖5-1頂層原理圖5.2 硬件實(shí)現(xiàn)通過硬件下載,該電路可以完成硬件實(shí)現(xiàn),芯片管腳定義可以直接用編 輯.pin文件。完成管腳
32、定義后選擇器件,編譯后生成.sof文件。選擇.sof文 件進(jìn)行下載。下載完成后,將第一全局時(shí)鐘 CLK1的跳線器接1Hz(作為秒脈沖信號),將 第二全局時(shí)鐘CLK2的跳線器接1Hz(作為十米脈沖信號),將第三全局時(shí)鐘CLK3 的跳線器接32768Hz用撥位開關(guān)模擬控制出租車的啟動、行駛、暫停。觀察數(shù) 碼管上數(shù)據(jù)的變化是否符合設(shè)計(jì)標(biāo)準(zhǔn)。在試驗(yàn)箱上八個(gè)數(shù)碼管從左至右分別顯示 的是:等待時(shí)間的十位、等待時(shí)間的個(gè)位、里程的十位、里程的個(gè)位、里程的十分位、費(fèi)用的十位、費(fèi)用的個(gè)位、費(fèi)用的十分位521顯示結(jié)果的幾種情況圖5-2驗(yàn)證結(jié)果1圖5-2表示出租車等待了 1分鐘,行駛了 3.9公里,即時(shí)車費(fèi)為6.0元
33、。根 據(jù)設(shè)計(jì)要求計(jì)算所得費(fèi)用為:5元+(3.9-3 )公里X 1元/公里+1分鐘X 0.1元/ 分鐘=6.0元,計(jì)算結(jié)果與試驗(yàn)箱上所得顯示結(jié)果相同。0 3 0 6.8 0 3. I圖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)證過程中,我們可以看到,八位數(shù)碼管的右三位顯示起步價(jià) 05.0, 中間三個(gè)數(shù)碼管在以 0.1 為步長進(jìn)行加法顯示行駛里程, 當(dāng)行駛里程超過 3公里 之后
34、,每 0.1 公里計(jì)費(fèi)金額加 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é)通過對每一模塊的仿真和下載, 可以實(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 模塊主要有汽車的開始、運(yùn)行、暫停, JILIANG 模塊主要記錄出租車的行駛里程 和等待時(shí)間,并將等待時(shí)間計(jì)費(fèi)脈沖
35、和行駛里程計(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ù)碼管上 正確的顯示。 這四個(gè)模塊的組合成完整的出租車系統(tǒng), 在設(shè)計(jì)過程中還需要改進(jìn) 的是控制出租車計(jì)費(fèi)系統(tǒng)的控制功能。出租車計(jì)費(fèi)器系統(tǒng)的設(shè)計(jì)已全部完成,能按預(yù)期的效果進(jìn)行模擬汽車開始、 啟動、暫停、停止等功能,由數(shù)碼管顯示出租車等待時(shí)間,行駛里程,費(fèi)用。車 暫等待時(shí)停止行駛里程計(jì)費(fèi),車費(fèi)僅由等待時(shí)間計(jì)費(fèi);出租車正常行駛時(shí),僅根 據(jù)里
36、程收費(fèi)方式。若停止則車費(fèi)清零,等待下一次計(jì)費(fèi)的開始。出租車計(jì)費(fèi)系統(tǒng) 的設(shè)計(jì)中體現(xiàn)了 VHDL覆蓋面廣,描述能力強(qiáng),是一個(gè)多層次的硬件描述語言本 設(shè)計(jì)在實(shí)用方面具有一定的價(jià)值。該計(jì)費(fèi)器實(shí)現(xiàn)了按預(yù)置參數(shù)自動計(jì)費(fèi) (最大計(jì)費(fèi)金額為 99.9 元) 、自動計(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)定、工作可靠、升級方便。6 設(shè)計(jì)體會與總結(jié)通過這次緊張而又充實(shí)的E
37、DA課程設(shè)計(jì),我感受到了 VHDL語言和普通軟件 語言之間的區(qū)別,也能夠更加熟練地運(yùn)用 VHDL語言進(jìn)行邏輯電路的設(shè)計(jì)了,受 益匪淺。我們所做的課題是出租車計(jì)費(fèi)器的設(shè)計(jì)。老師給了我們課程設(shè)計(jì)題目, 在這半個(gè)月的實(shí)驗(yàn)操作中, 不斷的完善自己的設(shè)計(jì)要求, 將自己的想法融入到實(shí) 驗(yàn)的程序中去。最終通過仿真達(dá)到了自己預(yù)想的效果。有種先苦后甜的成就感。同時(shí)在本次試驗(yàn)中,我們熟練的掌握了 Quartus II 軟件的使用。學(xué)會了如 何把自己所設(shè)計(jì)的程序,通過軟件用波形仿真出來,再通過試驗(yàn)箱仿真出來。在這次課程設(shè)計(jì)過程中, 要感謝陳老師在課程設(shè)計(jì)上給予我的幫助, 提供給 我的支持與建議, 特別是幫助我解決了
38、我半個(gè)月來一直遇到的運(yùn)行程序警告多的 問題,這是我能順利完成這次報(bào)告的主要原因, 讓我能把課程設(shè)計(jì)做得更加完善。 在此期間,我不僅學(xué)到了許多新知識,而且也開闊了視野,提高了自己的設(shè)計(jì)能 力。其次,我要感謝幫助過我的同學(xué)們,他們也為我解決了不少難題。這些東西 是無法再平時(shí)上課的過程中學(xué)到的, 實(shí)踐出真知, 只有在實(shí)驗(yàn)中我們才能更好的 學(xué)到東西,不用紙上談兵,做無用功。參考文獻(xiàn)1 徐飛.EDA技術(shù)與實(shí)踐M.北京:清華大學(xué)出版社,2011.2 王行,李衍.EDA技術(shù)入門與提高M(jìn).西安:西安電子科技大學(xué)出版社,2005.3 劉昌華.數(shù)字邏輯EDA設(shè)計(jì)與實(shí)踐M.北京:國防工業(yè)出版社,2011.4 李蓉.
39、基于VHDL語言的出租車自動計(jì)費(fèi)器的設(shè)計(jì)J.科技風(fēng),2008,24:33.附錄1 JILIANG 模塊的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,K
40、M0: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);MIN1,MIN0 : 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_VECT
41、OR(3 DOWNTO 0);SIGNAL M0:STD_LOGIC_VECTOR(3 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
42、 BREAK='0' THENIF R1=9 THEN R1<=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 R
43、1<=R1+1;B1<='0'END IF;K<=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&l
44、t;=K2;END PROCESS;PAUSE:PROCESS(CLK,DRIVE,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 M
45、0="1001"THEN M0<="0000" 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 P
46、ROCESS;END ARCHITECTURE ;2 JIFEI 模塊的VHDl編程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 J
47、IFEI ISSIGNAL C2,C1,C0:STD_LOGIC_VECTOR(3 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"
48、IF C1="1001"THEN C1<="0000"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<=C
49、2;END PROCESS;END;3 SELTIME控制模塊的VHDL編程library 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 S
50、TD_LOGIC;daout : out std_logic_vector(3 downto 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" elsese
51、c<=sec+1;end if;end if;end process; process(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 "010"=>daout<=CH2 ( 3 downto 0);d
52、p<='0' when "011"=>daout<=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 beha
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二手機(jī)器轉(zhuǎn)讓簡單合同范本年
- 施工工程運(yùn)輸合同范本
- 購買二手房買賣合同范本
- 2025cc直播平臺主播轉(zhuǎn)公會合同
- 二手商品房買賣合同
- 水泥銷售合同范本
- 石料買賣合同
- 2025續(xù)訂勞動合同通知書模板
- 2025建筑企業(yè)流動資金借款合同范本版
- 廣告發(fā)布投放合同
- 《新能源汽車技術(shù)》課件-第二章 動力電池
- 數(shù)字金融 遠(yuǎn)程音視頻手機(jī)銀行技術(shù)規(guī)范
- 2024屆高考語文一輪復(fù)習(xí):論證思路專練(含答案)
- 四年級學(xué)業(yè)指導(dǎo)模板
- 會議系統(tǒng)設(shè)備維護(hù)方案
- 少兒口才培訓(xùn)主持課件
- 餐飲業(yè)績效考核表(店長、前廳領(lǐng)班、吧臺、廚師長、后廚、服務(wù)員、收銀員、庫管、后勤)3
- 藝術(shù)課程標(biāo)準(zhǔn)(2022年版)
- 中國風(fēng)軍令狀誓師大會PPT模板
- 小兒高熱驚厥精品課件
- 2022年電拖實(shí)驗(yàn)報(bào)告伍宏淳
評論
0/150
提交評論