2021湖南科技大學(xué)計算機學(xué)院數(shù)字系統(tǒng)設(shè)計與VHDL出租車計價器設(shè)計報告和源代碼_第1頁
2021湖南科技大學(xué)計算機學(xué)院數(shù)字系統(tǒng)設(shè)計與VHDL出租車計價器設(shè)計報告和源代碼_第2頁
2021湖南科技大學(xué)計算機學(xué)院數(shù)字系統(tǒng)設(shè)計與VHDL出租車計價器設(shè)計報告和源代碼_第3頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

目錄一、設(shè)計題目說明 1二、設(shè)計方案 11、設(shè)計思路 12、外部接口 13、總體框圖 1三、系統(tǒng)實現(xiàn) 21、設(shè)計原理 22、模塊設(shè)計 2四、仿真 4五、測試 5六、總結(jié) 51、實驗中遇到的問題 52、心得收獲 63、不足 6附錄:VHDL代碼 7PAGEPAGE10一、設(shè)計題目說明題目九:出租車計價器設(shè)計(平臺實現(xiàn))★★完成簡易出租車計價器設(shè)計,選做停車等待計價功能?;竟δ埽?/3/公里;500.1(40KM/h)0.1選做功能:增加一個停車等待/恢復(fù)行程按鈕,用2個數(shù)碼管顯示等待時間,精確到0.1分鐘。等候費1元/0.1二、設(shè)計方案1、設(shè)計思路8.00332/2min,1元/LED單價為元。計價范圍為0—99.90.1“XX.Xkm1km“X.X0—9.90.12、外部接口時鐘信號輸入:clk_100100HZ;計價器開關(guān):start乘客上下車開關(guān):in_car中途停車等待開關(guān):stop數(shù)字顯示向量:ledag數(shù)碼管選擇向量:Bt3、總體框圖三、系統(tǒng)實現(xiàn)1、設(shè)計原理100HZclk_100,系統(tǒng)啟動和重start,計價開始以及乘客上下車信號in_car,stop。系c0~c2,行駛距離k0~k2,m0~m11/6Hz1/9Hz2/9Hzstartin_carstop;控制過程為:startstart8.0startin_carstop0;如需stop0,來讀取最終的行駛路程數(shù)、等待時間和最后的總費用,直接將start0,8.0譯碼、分頻、計量四個部分組成。2、模塊設(shè)計顯示模塊顯示模塊負責(zé)將6000000HZstartstart譯碼模塊行譯碼,送至對應(yīng)的數(shù)碼管上顯示,并且顯示小數(shù)點。分頻模塊100HZ6s1/600clk_599stopclk_5990.12,en10.1且車費增加0.1元;100HZ9s1/900clk_899stopclk_8990.1km;3km3kmen02/km0.05km,0.1100HZ4.5s1/450clk_4493kmclk_449升沿代表出租車行駛路程增加0.05km,此時按照2元/km計費,里程每增加0.05km0.1計量模塊100Hz消抖部分20ms化。重置清零部分維護系統(tǒng),顯示正常示數(shù)。當(dāng)start8.0等待時間,行駛里程以及其它信號;當(dāng)in_car0,暫停計時和記里程,費用也不再增加。計時部分stopclk_100沿,計時器就自增1,并且自動完成進位,當(dāng)?shù)却龝r間大于2min19.9min,滿量程后自動歸零。計程部分stopclk_1001,3kmen0199.9km,滿量程后自動歸零。計費部分clk_100start=1in_car=1en0en1=1始終處于計費狀態(tài),c0、c1、c2三個四位向量信號從低位到高位表示費用,其c00.1en3km則為起步價8.021(en0=0,en1=1)。四、仿真仿真波形圖2.84.5求所得費用為:8.0+(4.5km-3.0km)*2.0/公里+(2.8min-2.0min)*1.0元=8.0+3.0+0.8=11.8五、測試板載實驗圖4.44.2算所得費用為:8.0+(4.2km-3km)*2.0/km+(4.4min-2min)*1.0/min=8.0+2.4+2.4=12.8六、總結(jié)VHDLFPGA1、實驗中遇到的問題驅(qū)動安裝問題序強制簽名,再重新安裝驅(qū)動程序,終于解決了該問題。硬件選擇和引腳選擇問題Quartus在請教同學(xué)后才知道在哪個窗口選擇引腳。數(shù)碼管輸出數(shù)字時序脈沖的確認和選擇的時間則需等待很久(40km/h100m/9s3需花費270s),等待結(jié)果十分耗時。因此在最后板載實驗時,我將時鐘頻率輸1000HZ10的觀察。多驅(qū)動問題2、心得收獲VHDL我成功完成了板載實驗。VHDLQuartusVHDLQuartusVHDL電路圖并實現(xiàn)功能。3、不足決,如:計費,還需要進一步討論。VHDL在實際中出現(xiàn)操作偏差,會導(dǎo)致計費不準確。附錄:VHDL代碼LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;entitytaxiis port(clk_100:instd_logic; clk_6000000:instd_logic; start:instd_logic;--認為start0,系統(tǒng)停止工作;價格開始歸為起步價8.00,startin_car:instd_logic;--認為in_car1等待時間和最后的總費用stop:instd_logic;--行駛中,中途等待信號stop高電平:停車等待,并去除in_car輸入脈沖,進行等待計費;低電平:正在行駛。--添加數(shù)碼管引腳選擇和數(shù)碼管選擇ledag:OUTSTD_LOGIC_VECTOR(7downto0);--8segments從右到左從低到高高電平有效Bt:OUTSTD_LOGIC_VECTOR(7downto--8digitaltubes從右到左從低到高低電平有效);endtaxi;architecturetaxioftaxiissignalq_599:integerrange0to599; signalq_899:integerrange0to899;signalq_449:integerrange0toSignalcnt8:integerrange0to7;signalnum:std_logic_vector(3downto0); signalc0,c1,c2:std_logic_vector(3downto0);--車費,初始值8元,計價范圍為0—99.9元,c0~c2從低位到高位signalclk_599:std_logic; --600分頻,6s為0.1分鐘,花費0.1signalclk_899:std_logic; --900分頻,9s走了0.1千米signalclk_449:std_logic; --4504.50.050.1元signalen1,en0:std_logic;--計費單價使能信號,當(dāng)行駛里程大于3km時,本模塊中en0使能信號變?yōu)?,當(dāng)?shù)却龝r間大于2min時,本模塊中en1使能信號變?yōu)?signalk2,k1,k0:std_logic_vector(3downto0);--行駛公里計數(shù),計程器的量程為99.9km,滿量程后自動歸零。k0低位,k2高位,用BCD碼,k0,k1,k2分別用三個BCD碼確定0~9signalm1,m0:std_logic_vector(3downto0);BCDBCD0~90~9分鐘(0~959299),滿量程后自動歸零。signalledag_temp:STD_LOGIC_VECTOR(6downto0);--7segments除了小數(shù)點,從右到左,從低到高,高電平有效signalflag:std_logic; beginprocess(clk_6000000)--分為八個時段,每個時段選擇一個一個數(shù)碼管,更新其示數(shù)Beginif(clk_6000000'eventandclk_6000000='1')thenifcnt8=7thencnt8<=0;elsecnt8<=cnt8+1;endif;endif;Endprocess;process(cnt8,start)--顯示模塊,不同時段對應(yīng)不同的數(shù)碼管Beginif(start='1')thencasecnt8ISwhen0=>Bt<="11111110";num<=c0;flag<='0';--數(shù)碼管SEL0示數(shù)代表c0when1=>Bt<="11111101";num<=c1;flag<='1';when2=>Bt<="11111011";num<=c2;flag<='0';when3=>Bt<="11110111";num<=k0;flag<='0';when4=>Bt<="11101111";num<=k1;flag<='1';when5=>Bt<="11011111";num<=k2;flag<='0';when6=>Bt<="10111111";num<=m0;flag<='0';when7=>Bt<="01111111";num<=m1;flag<='1';Endcase;elseBt<="11111111";-startendif;endprocess;process(num,start)--譯碼顯示模塊beginif(start='1')thencasenumiswhen"0000"=>ledag_temp<="0111111";ledag<=flag&ledag_temp;--數(shù)顯,加入小數(shù)點when"0001"=>ledag_temp<="0000110";ledag<=flag&ledag_temp;when"0010"=>ledag_temp<="1011011";ledag<=flag&ledag_temp;when"0011"=>ledag_temp<="1001111";ledag<=flag&ledag_temp;when"0100"=>ledag_temp<="1100110";ledag<=flag&ledag_temp;when"0101"=>ledag_temp<="1101101";ledag<=flag&ledag_temp;when"0110"=>ledag_temp<="1111101";ledag<=flag&ledag_temp;when"0111"=>ledag_temp<="0000111";ledag<=flag&ledag_temp;when"1000"=>ledag_temp<="1111111";ledag<=flag&ledag_temp;when"1001"=>ledag_temp<="1101111";ledag<=flag&ledag_temp;whenothers=>null;endcase;endif;endprocess;process(clk_100) --分頻模塊beginif(clk_100'eventandclk_100='1')then --100HZif(q_599=599)then--每6s一個高電平,時間增加0.1min--并且如果en1=1,同時價格也要增加0.1q_599<=0;clk_599<='1';elseq_599<=q_599+1;clk_599<='0';endif;if(q_899=899)then --每9q_899<=0;clk_899<='1';elseclk_899<='0';endif;加0.1

if(q_449=449)then--每4.5秒一個高電平,若en0=1,同時價格也要增q_449<=0;clk_449<='1';elseclk_449<='0';endif;endif;endprocess;process(clk_100,clk_449,clk_599,clk_899) beginif(clk_100'eventandclk_100='1')then --100HZ上升if(start='0')then --初始化en1<='0'; --停留時間不超過兩分鐘不計入價格en0<='0';m1<="0000";m0<="0000";k2<="0000";k1<="0000";k0<="0000";c2<="0000";c1<="1000"; 8c0<="0000";elsif(in_car='0')then--重置,此時價錢不增加,認為in_car10en0<='0';en1<='0';elsif(start='1'andin_car='1')thenif(k2&k1&k0>"000000110000")thenen0<='1'; 3km則en0elseen0<='0';endif;ifm1&m0>"00100000"thenen1<='1'; 2min,則en11elseen1<='0';endif;if(clk_599='1')thenifstop='1'then --停車等待if(m0="1001")then m0<="0000";if(m1="1001")thenm1<="0000";elsem1<=m1+1;endif;elsem0<=m0+1;endif;if(en1='1')thenif(c0="1001")then c0<="0000";if(c1="1001")thenc1<="

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論