綜合實驗---出租車計價器設(shè)計_第1頁
已閱讀1頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  綜合實驗</b></p><p>  ——出租車計價器設(shè)計</p><p><b>  前言</b></p><p>  隨著微電子技術(shù)的發(fā)展,現(xiàn)代電子技術(shù)的核心已日趨轉(zhuǎn)向基于計算機的電子設(shè)計自動化技術(shù),即EDA(Electronic Design Automation)技術(shù)。EDA技術(shù)就是依

2、賴功能強大的計算機,在EDA工具軟件平臺上,對以硬件描述語言HDL(Hardware Description Language)為系統(tǒng)邏輯描述手段完成的設(shè)計文件,自動地完成邏輯編譯、化簡、分割、綜合、布局布線以及邏輯優(yōu)化和仿真測試,直至實現(xiàn)既定的電子線路系統(tǒng)功能。EDA技術(shù)使得設(shè)計者的工作僅限于利用軟件的方式,即利用硬件描述語言和EDA軟件來完成對系統(tǒng)硬件功能的實現(xiàn),這是電子設(shè)計技術(shù)的一個巨大進步。</p><p&g

3、t;  本學(xué)期,學(xué)校開設(shè)了EDA和VHDL課程的學(xué)習(xí),而學(xué)習(xí)一門編程語言,最好的方法莫過于在一個完整的系統(tǒng)開發(fā)過程中進行。因此,EDA綜合實驗就是一個最好的學(xué)習(xí)實踐機會。</p><p>  隨著我國社會經(jīng)濟的全面發(fā)展,各大中小城市的出租車營運事業(yè)發(fā)展迅速,出租車已經(jīng)成為人們?nèi)粘3鲂羞x擇較為普遍的交通工具。出租車計價器是出租車營運收費的專用智能化儀表是出租車市場規(guī)范化、 標(biāo)準(zhǔn)化以及減少司機與乘客之間發(fā)生糾紛的重要

4、設(shè)備。一種功能完備、簡單易用、計量準(zhǔn)確的出租車計價器是加強出租車行業(yè)管理、提高服務(wù)質(zhì)量的必備品。本實驗就是采用VHDL硬件描述語言作為設(shè)計手段,采用自頂向下的設(shè)計思路,得到一種出租車計價系統(tǒng)的軟件結(jié)構(gòu),通過在 Quartus II軟件下進行模擬仿真,并進行相應(yīng)的硬件下載調(diào)試,證明所設(shè)計的電路系統(tǒng)完成了出租車計價器的功能,各技術(shù)指標(biāo)符合預(yù)定標(biāo)準(zhǔn),具有一定實用性。</p><p><b>  一、實驗任務(wù)及

5、要求</b></p><p>  1.能實現(xiàn)計費功能,計費標(biāo)準(zhǔn)為:按行駛里程收費,起步費為10.00元,并在車行3公里后再按1.6元/公里,車暫停時,停車一分鐘之后開始加價,每分鐘增加2.5元。</p><p>  2. 實現(xiàn)預(yù)置功能:能預(yù)置起步費、每公里收費、車行加費里程。</p><p>  3. 實現(xiàn)模擬功能:能模擬汽車啟動、停止、暫停等狀態(tài)。&l

6、t;/p><p>  4. 設(shè)計動態(tài)掃描電路:將車費及暫停時間顯示出來。</p><p>  5. 用VHDL語言設(shè)計符合上述功能要求的出租車計費器,并用層次化設(shè)計方法設(shè)計該電路。</p><p>  6. 綜合仿真驗證,并通過有關(guān)波形確認電路設(shè)計是否正確。</p><p>  7. 完成電路全部設(shè)計后,通過GW48系統(tǒng)實驗箱下載驗證設(shè)計的正確性

7、。</p><p><b>  二、實驗原理</b></p><p>  圖1出租車計價器流程圖</p><p><b>  圖2系統(tǒng)結(jié)構(gòu)圖</b></p><p><b>  接口部分定義如下:</b></p><p>  輸入:clk_240,系統(tǒng)時

8、鐘,頻率為240Hz;</p><p>  Start,啟動信號,當(dāng)start=1時,汽車啟動,開始計價; 當(dāng)start=0時,清零;</p><p>  Stop,暫時計時信號,當(dāng)stop-1時,中途暫停,開始計時;當(dāng)stop=0時,再次出發(fā);</p><p>  Fin,汽車車速脈沖信號,是一個與隨著車速變化而變化的脈沖信號。</p><p&

9、gt;  輸出:cha2,cha1,cha0,分別為價錢的十位,個位和角位;</p><p>  Km1,km0,分別為行駛公里數(shù)的十位,個位;</p><p>  Min0,暫時分鐘數(shù)輸出。</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); --費用數(shù)據(jù)</p><p>  km1,km0:out std_logic_vector(3 downto 0);

12、 --公里數(shù)據(jù) </p><p>  min0: out std_logic_vector(3 downto 0)); --等待時間 </p><p><b>  計價部分原理如下:</b></p><p>  起步價10元,3公里內(nèi)10元,超出3公里部分,每公里1.6元,車暫停時

13、,2分鐘內(nèi)不加價,超出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語句完成分計數(shù) </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語句完成公里脈沖計數(shù)</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; --費用數(shù)據(jù)輸出</p><p>  km1<=k1;km0<=k0;min1<='0'&m

29、1;min0<=m0; --公里數(shù)據(jù)、分鐘數(shù)據(jù)輸出</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語句完成對費用的計數(shù)</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)。功能仿真用于綜合前檢查設(shè)計的邏輯功能是否符合設(shè)計要求,仿真過程中可以通過觀察檢測設(shè)計的輸入信號、輸出信號以及內(nèi)部信號來分析設(shè)計的邏輯功能是否實現(xiàn)。如果仿真全部通過無誤的話,就可

36、以進行引腳鎖定,然后下載程序到GW48 系統(tǒng)進行硬件仿真。FPGA 的配置芯片為ACEX1K EP1K30TC114-3,利用在實驗箱上連接好的八片LED 數(shù)碼管中的六片,直接觀察結(jié)果。測試結(jié)果表明,系統(tǒng)設(shè)計達到了預(yù)期的技術(shù)指標(biāo)要求。</p><p><b>  四、實驗總結(jié)</b></p><p>  出租車計費器系統(tǒng)的設(shè)計已全部完成,能按預(yù)期的效果進行模擬汽車啟動

37、、停止、暫停等功能,并設(shè)計LED數(shù)碼管顯示車費數(shù)目。車暫時1分鐘內(nèi)車費保持不變。若停止則車費清零,等待下一次計費的開始出租車計費系統(tǒng)的設(shè)計中體現(xiàn)了VHDL覆蓋面廣,描述能力強,是一個多層次的硬件描述語言及PLD器件速度快,使用方便,便于修改等特點,本設(shè)計在實用方面具有一定的價值。</p><p>  此外,由于是初學(xué)EDA及VHDL,難免一些錯誤及不足之處,本系統(tǒng)也存在一定的缺陷,如車費只能顯示到十位,百位無法顯

38、示,暫停也只能顯示10分鐘以內(nèi)。因此,改進方向可從擴大輸出范圍入手。</p><p>  最后,衷心感謝文毅老師全程指導(dǎo)及提出的寶貴建議,可以說,沒有文老師,本實驗就不能取得成功。</p><p><b>  五、心得體會:</b></p><p>  這次課程設(shè)計中,我們主要是運用VHDL語言設(shè)計了一個出租車計費器,并且用層次化的設(shè)計方法來實

39、現(xiàn)這個電路。在程序編寫結(jié)束后,我們還對該程序進行了調(diào)試, 能按預(yù)期的效果進行模擬汽車啟動、停止、暫停等功能,基本完成課程設(shè)計的要求。</p><p>  通過此次課程設(shè)計,我們更進一步的深入了解了VHDL設(shè)計語言,并通過使用對它有了更深的體會。對于編程過程中可能遇到的問題有了一定的了解,也明白了其中的一些注意事項,對于下次進行編程設(shè)計有很大的幫助和提高。</p><p>  總之,這次實驗

溫馨提示

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

評論

0/150

提交評論