出租車計費(fèi)器EDA_第1頁
出租車計費(fèi)器EDA_第2頁
出租車計費(fèi)器EDA_第3頁
出租車計費(fèi)器EDA_第4頁
出租車計費(fèi)器EDA_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、南 京 理 工 大 學(xué)EDA設(shè)計(II)實(shí)驗(yàn)報告作 者:學(xué) 號:學(xué)院(系):自動化學(xué)院專 業(yè):自動化標(biāo) 題 出租車計費(fèi)器 指導(dǎo)老師: 實(shí)驗(yàn)日期: 2015年9月 目 錄1 緒論12 系統(tǒng)總體設(shè)計12.1 系統(tǒng)設(shè)計思想12.2 系統(tǒng)功能概述12.3 系統(tǒng)總體組成結(jié)構(gòu)23 系統(tǒng)各模塊詳細(xì)設(shè)計23.1 計時模塊23.2 按鍵控制模塊23.3 動態(tài)顯示模塊33.4 里程和車費(fèi)計算模塊43.5 我的部分44 系統(tǒng)調(diào)試54.1 系統(tǒng)仿真54.2 系統(tǒng)實(shí)際驗(yàn)證54.3 調(diào)試過程中遇到的問題與解決方法55 總結(jié)與心得體會6致謝6參 考 文 獻(xiàn)7出租車計費(fèi)器1 緒論EDA是電子設(shè)計自動化(Electronic

2、Design Automation)的縮寫,發(fā)展于20世紀(jì)90年代。EDA技術(shù)就是以計算機(jī)為工具,設(shè)計者在EDA軟件平臺上,用硬件描述語言VHDL完成設(shè)計文件,然后由計算機(jī)自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。EDA技術(shù)的出現(xiàn),極大地提高了電路設(shè)計的效率和可操作性,減輕了設(shè)計者的勞動強(qiáng)度。本次EDA設(shè)計使用MAX+plus II實(shí)驗(yàn)開發(fā)系統(tǒng),學(xué)習(xí)并掌握VHDL硬件描述語言的基本語法以及設(shè)計方法和思想,將已學(xué)過的數(shù)字電子設(shè)計知識綜合運(yùn)用于電子系統(tǒng)的設(shè)計中,掌握運(yùn)用VHDL 設(shè)計電子系統(tǒng)的流程和方法,加強(qiáng)和培養(yǎng)自己對

3、電子系統(tǒng)的設(shè)計能力。綜合設(shè)計的任務(wù)是用一周的時間,在EDA軟件MAX+plus II上用VHDL語言設(shè)計完成一個電子技術(shù)綜合問題,小組成員分工,負(fù)責(zé)各個子模塊的設(shè)計,最后將各個模塊整合起來,連接整體電路,分配引腳,下載到實(shí)驗(yàn)班上進(jìn)行測試。2 系統(tǒng)總體設(shè)計2.1 系統(tǒng)設(shè)計思想用VHDL語言設(shè)計出符合功能要求的的出租車計費(fèi)器系統(tǒng),完成設(shè)計后使用系統(tǒng)實(shí)驗(yàn)箱下載驗(yàn)證。2.2 系統(tǒng)功能概述1、 計費(fèi)功能:計費(fèi)標(biāo)準(zhǔn)為按行駛里程收費(fèi),起步價為11元,車行3公里后每公里1.4元,車停止時不計費(fèi);2、 實(shí)現(xiàn)模擬功能:能模擬汽車啟動、暫停及停止?fàn)顟B(tài);3、 實(shí)現(xiàn)顯示功能:能在數(shù)碼管上顯示出公里數(shù)及總費(fèi)用。2.3 系

4、統(tǒng)總體結(jié)構(gòu)整個計費(fèi)系統(tǒng)的結(jié)構(gòu)如下圖所示,其計時模塊負(fù)責(zé)對實(shí)驗(yàn)板上的時鐘信號進(jìn)行分配,產(chǎn)生合適的計數(shù)脈沖,供里程計算模塊和車費(fèi)計算模塊的技術(shù)。而顯示模塊則將前兩者計算得到的結(jié)果顯示在數(shù)碼管上。開關(guān)控制模塊則接受實(shí)驗(yàn)板上的開關(guān)信號,模擬出租車的起停。 3 系統(tǒng)各模塊詳細(xì)設(shè)計3.1 計時模塊計時模塊的時鐘源為試驗(yàn)箱的CP2時鐘,頻率為1024 Hz,在VHDL中經(jīng)過計數(shù)十分頻得到模擬的出租車百米行駛計數(shù)時鐘。其計數(shù)的邏輯比較簡單,不再詳細(xì)列出。3.2 按鍵控制模塊在按鍵控制模塊中我們引入了兩個撥碼開關(guān)K1和K2,其中K1是啟動和停止開關(guān),K2是暫停開關(guān),兩個按鍵向上撥邏輯值均為1,向下?lián)苓壿嬛稻鶠?

5、。為了方便控制,我們引入了state這個兩位的二進(jìn)制變量,用它的值來標(biāo)記出租車的不同狀態(tài),其控制邏輯如下:鍵值邏輯結(jié)果K1=1,K2=1出租車處在停止?fàn)顟B(tài),但此次載客未結(jié)束,state=”00”K1=1,K2=0出租車處于載客運(yùn)行計費(fèi)狀態(tài),state=”11”K1=0,K2任意出租車處于載客結(jié)束的停止?fàn)顟B(tài),state=”01”或”10”(本設(shè)計里默認(rèn)為01)按鍵控制模塊程序如下:control:PROCESS(start,pause) beginif(start='0')thenstate<="01"elsif(pause='1')th

6、enstate<="00"elsif(pause='0')then state<="11"end if;end PROCESS;3.3 動態(tài)顯示模塊由于此系統(tǒng)要用到實(shí)驗(yàn)板上的8個數(shù)碼管,且每個數(shù)碼管顯示的數(shù)字都不相同,所以不能采用靜態(tài)顯示而必須使用動態(tài)顯示,動態(tài)顯示即依次向每位數(shù)碼管同時送出字形碼和相應(yīng)的位選,位與位之間利用延時程序進(jìn)行延時,當(dāng)延時程序非常短時,由于發(fā)光管的余輝和人眼視覺暫留作用,此時我們的人眼就分辨不出位與位之間有延時存在(人眼視覺暫留時間為0.05-0.2秒,延時程序應(yīng)當(dāng)根據(jù)這個范圍來調(diào)整),感覺各位數(shù)碼管

7、同時都在顯示。此處用系統(tǒng)時鐘1024Hz來掃描數(shù)碼管,取得了不錯的效果。該模塊程序如下,后面tmp1為其它值時,各種情況與其值為0時相似,未有一一列出:PROCESS(clk)variable tmp1,tmp2:integer range 0 to 10;BEGINif(clk'event and clk='1')then tmp1:=tmp1+1;if(tmp1>=8)thentmp1:=0;end if;case tmp1 iswhen 0 => sel<="00000001"tmp2:=CONV_INTEGER(fee_te

8、nth);case tmp2 iswhen 0 => data<="11111100"when 1 => data<="01100000"when 2 => data<="11011010"when 3 => data<="11110010"when 4 => data<="01100110"when 5 => data<="10110110"when 6 => data<="101

9、11110"when 7 => data<="11100000"when 8 => data<="11111110"when 9 => data<="11110110"when others=>null;end case;3.4 里程和車費(fèi)計算模塊在里程和車費(fèi)計算模塊中,只需要完成一個工作計數(shù)。里程的計算與之前所做數(shù)字鐘的計數(shù)沒有什么本質(zhì)區(qū)別,由于每個時鐘上升沿只要在原里程的基礎(chǔ)上加0.1,故計算的邏輯就是從低位(十分位)到高位(百位)層層判斷,每次加“1”,滿9歸零即可。而對于車費(fèi)

10、的計算,還需要對邏輯進(jìn)行如下調(diào)整:1.由于里程數(shù)小于3公里的情況下,車費(fèi)要保持11元不變,這一要求可以用if語句進(jìn)行限制;2.車費(fèi)的計算是每100公里1.4元,故在里程大于3公里的情況下每接受到計時模塊時鐘上升沿就要在原有車費(fèi)基礎(chǔ)上加1.4即可。3.5 我的部分詳細(xì)介紹在本次綜合設(shè)計中,我負(fù)責(zé)的是動態(tài)顯示模塊,之前的基礎(chǔ)實(shí)驗(yàn)中,我們已經(jīng)做過類似的顯示程序,我在自己編寫的時候參照該模塊進(jìn)行了一定的調(diào)整。對每一位進(jìn)行位選后分別顯示前端傳送過來的數(shù)據(jù),每一位只要顯示0到9,原本打算使用選擇循環(huán)方法顯示,但經(jīng)嘗試后出現(xiàn)了問題不能得到合理解決,故最終在與本組周珅宇同學(xué)商定后,由其整合為最終程序的分段式對

11、每一位進(jìn)行顯示,隨程序段較長,但不易出現(xiàn)邏輯錯誤。4 系統(tǒng)調(diào)試4.1 系統(tǒng)仿真我們將程序整合在一起,并未進(jìn)行仿真校驗(yàn),而是直接下載到實(shí)驗(yàn)箱上驗(yàn)證。4.2 系統(tǒng)實(shí)際驗(yàn)證將程序整合完成以后,我們進(jìn)行了編譯與調(diào)試,多次修改完善,然后對照實(shí)驗(yàn)指導(dǎo)書進(jìn)行管腳分配。在多次修改嘗試后,最終在試驗(yàn)箱上成功完成了出租車計費(fèi)器系統(tǒng)的相關(guān)要求,實(shí)現(xiàn)了計費(fèi)功能、模擬功能和顯示功能,即實(shí)現(xiàn)了開始時制定的系統(tǒng)設(shè)計要求。4.3 調(diào)試過程中遇到的問題與解決方法4.3.1 數(shù)碼管顯示問題在進(jìn)行基礎(chǔ)實(shí)驗(yàn)時我們發(fā)現(xiàn)數(shù)碼管顯示不能按照我們預(yù)先的設(shè)想,隨后我們利用資料對實(shí)驗(yàn)箱的數(shù)碼管進(jìn)行了研究,發(fā)現(xiàn)基礎(chǔ)實(shí)驗(yàn)中數(shù)碼管采用的是靜態(tài)顯示,由

12、于本系統(tǒng)中數(shù)碼管各位需要顯示不同的數(shù)字,最后我們選定了動態(tài)掃描顯示的方法,問題得到了解決。4.3.2 取模運(yùn)算問題在系統(tǒng)設(shè)計中期,我們本準(zhǔn)備采用公式計算的方法來得到車費(fèi),即將里程數(shù)的各位(mile_tenth,mile_unit,mile_decade,mile_hp)通過函數(shù)CON_INTEGER()從8位二進(jìn)制數(shù)轉(zhuǎn)化為整型數(shù),然后對各位加權(quán)求和得到整型數(shù)表示的里程數(shù),從而將其帶入公式后,計算得到對應(yīng)車費(fèi),再在用函數(shù)REM()分離出車費(fèi)的各位,分別顯示。然而在實(shí)際編程中我們發(fā)現(xiàn),使用REM()函數(shù)需要添加頭文件IEEE.NUMERIC_STD。在QUARTUS II編譯環(huán)境下可以成功添加并編

13、譯,然而在MAX+PLUS II下卻缺少這個頭文件,多次嘗試添加失敗后,我們放棄了計算法,采用另外的方法來實(shí)現(xiàn)顯示目的,即改為采用每次加1.4元的方法實(shí)現(xiàn)計費(fèi),最終取得了成功。4.3.3 調(diào)試中的問題針對器件的引腳配置不能馬虎,否則在下載到實(shí)驗(yàn)箱上時會出現(xiàn)顯示位的錯亂,在實(shí)際調(diào)試中我們便遇到了這樣的問題,隨后進(jìn)行了分析糾正。5 總結(jié)與心得體會本次實(shí)驗(yàn)我初次接觸了VHDL語言,了解了其基本語法以及設(shè)計方法和思想。在經(jīng)過兩次基礎(chǔ)實(shí)驗(yàn)的鍛煉之后,我已經(jīng)基本上熟悉了整個MAX+plus II實(shí)驗(yàn)開發(fā)系統(tǒng),也能夠?qū)ζ溥M(jìn)行簡單的操作設(shè)計。在綜合設(shè)計中,我主要是負(fù)責(zé)了動態(tài)掃面顯示方面的設(shè)計工作,其原理與基礎(chǔ)實(shí)驗(yàn)中的顯示方法相同,故在理解原程序的基礎(chǔ)上我對其進(jìn)行了改進(jìn),并最終由周珅宇同學(xué)對其進(jìn)行整合用于總的程序中去。經(jīng)過本次實(shí)驗(yàn),鍛煉了我的操作能力和系統(tǒng)設(shè)計能力,對于課堂知識進(jìn)行了再一次的鞏固,同時接觸到了新的編程語言,獲益頗豐。當(dāng)然,其中還有許多的不足之處,

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論