

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 綜合實驗</b></p><p> ——出租車計價器設計</p><p><b> 前言</b></p><p> 隨著微電子技術的發(fā)展,現代電子技術的核心已日趨轉向基于計算機的電子設計自動化技術,即EDA(Electronic Design Automation)技術。EDA技術就是依
2、賴功能強大的計算機,在EDA工具軟件平臺上,對以硬件描述語言HDL(Hardware Description Language)為系統(tǒng)邏輯描述手段完成的設計文件,自動地完成邏輯編譯、化簡、分割、綜合、布局布線以及邏輯優(yōu)化和仿真測試,直至實現既定的電子線路系統(tǒng)功能。EDA技術使得設計者的工作僅限于利用軟件的方式,即利用硬件描述語言和EDA軟件來完成對系統(tǒng)硬件功能的實現,這是電子設計技術的一個巨大進步。</p><p&g
3、t; 本學期,學校開設了EDA和VHDL課程的學習,而學習一門編程語言,最好的方法莫過于在一個完整的系統(tǒng)開發(fā)過程中進行。因此,EDA綜合實驗就是一個最好的學習實踐機會。</p><p> 隨著我國社會經濟的全面發(fā)展,各大中小城市的出租車營運事業(yè)發(fā)展迅速,出租車已經成為人們日常出行選擇較為普遍的交通工具。出租車計價器是出租車營運收費的專用智能化儀表是出租車市場規(guī)范化、 標準化以及減少司機與乘客之間發(fā)生糾紛的重要
4、設備。一種功能完備、簡單易用、計量準確的出租車計價器是加強出租車行業(yè)管理、提高服務質量的必備品。本實驗就是采用VHDL硬件描述語言作為設計手段,采用自頂向下的設計思路,得到一種出租車計價系統(tǒng)的軟件結構,通過在 Quartus II軟件下進行模擬仿真,并進行相應的硬件下載調試,證明所設計的電路系統(tǒng)完成了出租車計價器的功能,各技術指標符合預定標準,具有一定實用性。</p><p><b> 一、實驗任務及
5、要求</b></p><p> 1.能實現計費功能,計費標準為:按行駛里程收費,起步費為10.00元,并在車行3公里后再按1.6元/公里,車暫停時,停車一分鐘之后開始加價,每分鐘增加2.5元。</p><p> 2. 實現預置功能:能預置起步費、每公里收費、車行加費里程。</p><p> 3. 實現模擬功能:能模擬汽車啟動、停止、暫停等狀態(tài)。&l
6、t;/p><p> 4. 設計動態(tài)掃描電路:將車費及暫停時間顯示出來。</p><p> 5. 用VHDL語言設計符合上述功能要求的出租車計費器,并用層次化設計方法設計該電路。</p><p> 6. 綜合仿真驗證,并通過有關波形確認電路設計是否正確。</p><p> 7. 完成電路全部設計后,通過GW48系統(tǒng)實驗箱下載驗證設計的正確性
7、。</p><p><b> 二、實驗原理</b></p><p> 圖1出租車計價器流程圖</p><p><b> 圖2系統(tǒng)結構圖</b></p><p><b> 接口部分定義如下:</b></p><p> 輸入:clk_240,系統(tǒng)時
8、鐘,頻率為240Hz;</p><p> Start,啟動信號,當start=1時,汽車啟動,開始計價; 當start=0時,清零;</p><p> Stop,暫時計時信號,當stop-1時,中途暫停,開始計時;當stop=0時,再次出發(fā);</p><p> Fin,汽車車速脈沖信號,是一個與隨著車速變化而變化的脈沖信號。</p><p&
9、gt; 輸出:cha2,cha1,cha0,分別為價錢的十位,個位和角位;</p><p> Km1,km0,分別為行駛公里數的十位,個位;</p><p> Min0,暫時分鐘數輸出。</p><p> 接口部分源程序如下:</p><p> port ( clk_240 :in std_logic;
10、 --頻率為240Hz的時鐘 </p><p> start :in std_logic; --計價使能信號</p><p> stop:in std_logic; --等待信號</p&g
11、t;<p> fin:in std_logic; --公里脈沖信號</p><p> cha2,cha1,cha0:out std_logic_vector(3 downto 0); --費用數據</p><p> km1,km0:out std_logic_vector(3 downto 0);
12、 --公里數據 </p><p> min0: out std_logic_vector(3 downto 0)); --等待時間 </p><p><b> 計價部分原理如下:</b></p><p> 起步價10元,3公里內10元,超出3公里部分,每公里1.6元,車暫停時
13、,2分鐘內不加價,超出2分鐘部分,每分鐘2.5元;</p><p> 計費部分源程序如下:</p><p> feipin:process(clk_240,start)</p><p><b> begin</b></p><p> if clk_240'event and clk_240='1&
14、#39; then</p><p> if start='0' then q_15<=0;q_16<=0;f_15<='0';f_16<='0';f_1<='0';f<='0';</p><p><b> else</b></p>&l
15、t;p> if q_15=15 then q_15<=0;f_15<='1'; --此IF語句得到頻率為15Hz的信號</p><p> else q_15<=q_15+1;f_15<='0';</p><p><b> end if;</b></p><p>
16、; if q_16=14 then q_16<=0;f_16<='1'; --此IF語句得到頻率為16Hz的信號</p><p> else q_16<=q_16+1;f_16<='0'; </p><p><b> end if;</b></p><p> if
17、 q_1=239 then q_1<=0;f_1<='1'; --此IF語句得到頻率為1Hz的信號</p><p> else q_1<=q_1+1;f_1<='0';</p><p><b> end if;</b></p><p> if en1='
18、1' then f<=f_15; --此IF語句得到計費脈沖f</p><p> elsif en0='1' then f<=f_16;</p><p> else f<='0';</p><p><b> end if;</b></p&
19、gt;<p><b> end if;</b></p><p><b> end if;</b></p><p> end process;</p><p> process(f_1)</p><p><b> begin</b></p>
20、<p> if f_1'event and f_1='1' then</p><p> if start='0' then </p><p> w<=0;en1<='0';en0<='0';m1<="000";m0<="0000";k
21、1<="0000";k0<="0000";</p><p> elsif stop='1' then </p><p> if w=59 then w<=0; --此IF語句完成等待計時</p><p> if m0="1
22、001" then m0<="0000"; --此IF語句完成分計數 </p><p> if m1<="101" then m1<="000";</p><p> else m1<=m1+1;</p><p><b> end
23、 if;</b></p><p> else m0<=m0+1;</p><p><b> end if;</b></p><p> if m1&m0>"0000001"then en1<='1'; --此IF語句得到en1使能信號</
24、p><p> else en1<='0';</p><p><b> end if;</b></p><p> else w<=w+1;en1<='0';</p><p><b> end if;</b></p><p>
25、 elsif fin='1' then </p><p> if k0="1001" then k0<="0000"; --此IF語句完成公里脈沖計數</p><p> if k1="1001" then k1<="0000";</p
26、><p> else k1<=k1+1;</p><p><b> end if;</b></p><p> else k0<=k0+1;</p><p><b> end if;</b></p><p> if k1&k0>"000
27、00010" then en0<='1'; --此IF語句得到en0使能信號</p><p> else en0<='0';</p><p> end if; </p><p> else en1<='0';en0<='0'
28、;;</p><p><b> end if;</b></p><p> cha3<=c3;cha2<=c2;cha1<=c1;cha0<=c0; --費用數據輸出</p><p> km1<=k1;km0<=k0;min1<='0'&m
29、1;min0<=m0; --公里數據、分鐘數據輸出</p><p><b> end if;</b></p><p> end process;</p><p> process(f,start)</p><p><b> begin</b></p>
30、;<p> if start='0' then c3<="0000";c2<="0001";c1<="0000";c0<="0000";</p><p> elsif f'event and f='1' then</p><p>
31、 if c0="1001" then c0<="0000"; --此IF語句完成對費用的計數</p><p> if c1="1001" then c1<="0000";</p><p> if c2="1001" then c2
32、<="0000";</p><p> if c3<="1001" then c3<="0000";</p><p> else c3<=c3+1;</p><p><b> end if;</b></p><p> else c2
33、<=c2+1;</p><p><b> end if;</b></p><p> else c1<=c1+1;</p><p><b> end if;</b></p><p> else c0<=c0+1;</p><p><b>
34、end if;</b></p><p><b> end if;</b></p><p> end process;</p><p> end behav; </p><p><b> 圖3仿真波形圖1</b></p><p><b> 圖
35、4仿真波形圖2</b></p><p><b> 三、系統(tǒng)測試</b></p><p> 系統(tǒng)測試過程如下:首先用QuartusⅡ仿真工具對系統(tǒng)進行時序仿真(波形如圖3、圖4)。功能仿真用于綜合前檢查設計的邏輯功能是否符合設計要求,仿真過程中可以通過觀察檢測設計的輸入信號、輸出信號以及內部信號來分析設計的邏輯功能是否實現。如果仿真全部通過無誤的話,就可
36、以進行引腳鎖定,然后下載程序到GW48 系統(tǒng)進行硬件仿真。FPGA 的配置芯片為ACEX1K EP1K30TC114-3,利用在實驗箱上連接好的八片LED 數碼管中的六片,直接觀察結果。測試結果表明,系統(tǒng)設計達到了預期的技術指標要求。</p><p><b> 四、實驗總結</b></p><p> 出租車計費器系統(tǒng)的設計已全部完成,能按預期的效果進行模擬汽車啟動
37、、停止、暫停等功能,并設計LED數碼管顯示車費數目。車暫時1分鐘內車費保持不變。若停止則車費清零,等待下一次計費的開始出租車計費系統(tǒng)的設計中體現了VHDL覆蓋面廣,描述能力強,是一個多層次的硬件描述語言及PLD器件速度快,使用方便,便于修改等特點,本設計在實用方面具有一定的價值。</p><p> 此外,由于是初學EDA及VHDL,難免一些錯誤及不足之處,本系統(tǒng)也存在一定的缺陷,如車費只能顯示到十位,百位無法顯
38、示,暫停也只能顯示10分鐘以內。因此,改進方向可從擴大輸出范圍入手。</p><p> 最后,衷心感謝文毅老師全程指導及提出的寶貴建議,可以說,沒有文老師,本實驗就不能取得成功。</p><p><b> 五、心得體會:</b></p><p> 這次課程設計中,我們主要是運用VHDL語言設計了一個出租車計費器,并且用層次化的設計方法來實
39、現這個電路。在程序編寫結束后,我們還對該程序進行了調試, 能按預期的效果進行模擬汽車啟動、停止、暫停等功能,基本完成課程設計的要求。</p><p> 通過此次課程設計,我們更進一步的深入了解了VHDL設計語言,并通過使用對它有了更深的體會。對于編程過程中可能遇到的問題有了一定的了解,也明白了其中的一些注意事項,對于下次進行編程設計有很大的幫助和提高。</p><p> 總之,這次實驗
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 出租車計價器(20170824174838)
- 出租車計價器課程設計
- 578 出租車計價器系統(tǒng)設計
- 出租車計價器系統(tǒng)設計.doc
- 畢業(yè)設計----出租車計價器
- 出租車計價器畢業(yè)設計
- 765 出租車計價器系統(tǒng)設計
- 出租車計價器系統(tǒng)的設計
- 出租車計價器課程設計
- 出租車計價器課程設計
- 出租車計價器課程設計
- 出租車計價器系統(tǒng)設計.doc
- 語音多路出租車計價器
- 出租車計價器程序.doc
- 出租車計價器程序.doc
- 畢業(yè)設計--出租車計價器設計
- 50設計-出租車計價器系統(tǒng)設計
- 課程設計---出租車計價器設計
- 課程設計---出租車計價器設計
- 課程設計--出租車計價器設計
評論
0/150
提交評論