基于FPGA技術(shù)出租車計費器的設計(EDA技術(shù))_第1頁
基于FPGA技術(shù)出租車計費器的設計(EDA技術(shù))_第2頁
基于FPGA技術(shù)出租車計費器的設計(EDA技術(shù))_第3頁
基于FPGA技術(shù)出租車計費器的設計(EDA技術(shù))_第4頁
基于FPGA技術(shù)出租車計費器的設計(EDA技術(shù))_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

EDA課程設計題目:基于FPGA的出租車計費器的設計學院:通信與電子工程學院班級:電子101班學號:2010131019姓名:何經(jīng)國指導老師:周喜權(quán)日期:2013年12月2EDA課程設計(論文)用紙摘要本文以Altera公司的DE2開發(fā)板為中心,QuartusⅡ軟件作為開發(fā)平臺,使用VerilogHDL語言編程,設計了一個出租車計費的計費器模型。在程序描述的過程中,用了行為描述方式和結(jié)構(gòu)描述方式二種描述方式對計費器進行描述。該計費器能動態(tài)掃描電路,將車費和路顯示出來,各有兩位小數(shù)。整個自動控制系統(tǒng)由三個主要電路構(gòu)成:里程和車費計算、譯碼和動態(tài)顯示。最后給出了仿真的波形,并硬件實現(xiàn)。關鍵詞:出租車計費VerilogHDLQuartusⅡ目錄摘要 I第1章概述 11.1設計目的 11.2設計背景 11.3設計意義 1第2章工作原理 3第3章設計過程 43.1設計方案 43.1.1計算里程和車費模塊 43.1.2七段顯示譯碼器模塊 53.1.3動態(tài)顯示模塊 73.1.4設計出租車計費器電路 83.2硬件實現(xiàn) 103.2.1引腳鎖定 103.2.2編程下載 11第4章仿真過程 124.1建立工程 124.2建立VerilogHDL文件 134.3建立波形文件 144.4仿真結(jié)果 14結(jié)論 17參考文獻 18EDA課程設計(論文)用紙第1章概述1.1設計目的通過基于EDA技術(shù)出租車計費器的設計,理解可編程邏輯器件的設計原理及工作流程,學習EDA軟件QuartusⅡ功能與使用方法,了解VerilogHDL語言邏輯編程設計基本過程。1.2設計背景隨著我國經(jīng)濟社會的全面發(fā)展,各大中小城市的出租車營運事業(yè)發(fā)展迅速,出租車已經(jīng)成為人們?nèi)粘3鲂羞x擇較為普通的交通工具。出租車計價器是出租車營運收費的專用智能化儀表,是使出租車市場規(guī)范化、標準化的重要設備。一種功能完備,簡單易用,計量準確的出租車計價器是加強出租車行業(yè)管理,提高服務質(zhì)量的必需品。本設計采用VHDL硬件描述語言作為設計手段,采用自頂向下的設計思路,得到一種出租車計價系統(tǒng)的軟件結(jié)構(gòu),通過QuartusⅡ軟件下進行仿真,證明所設計的電路系統(tǒng)完成了出租車計價的功能,各項指標符合設計要求。該設計雖然功能簡單,智能化水平比較低,但仍具有一定的實用性。

該設計是在VHDL的基礎上對出租車計價器進行設計來實現(xiàn)其基本功能的,與以往的基于單片機的數(shù)?;旌想娐废啾龋現(xiàn)PGA具有穩(wěn)定性好,抗干擾能力強等優(yōu)點,且非常適合做為出租車計價器的控制核心,所以選擇用VHDL來對計價器進行設計來實現(xiàn)其功能。

1.3設計意義汽車計價器是乘客與司機雙方的交易準則,它是出租車行業(yè)發(fā)展的重要標志,是出租車中最重要的工具。它關系著交易雙方的利益。具有良好性能的計價器無論是對廣大出租車司機朋友還是乘客來說都是很必要的。因此,汽車計價器的研究也是具有一定意義的。

隨著生活水平的提高,人們已不再滿足于衣食住的享受,出行的舒適已受到越來越多人的關注。于是,出租車行業(yè)以低價高質(zhì)的服務給人們帶來了出行的享受。但是總存在著買賣糾紛困擾著行業(yè)的發(fā)展。而在出租車行業(yè)中解決這一矛盾的最好方法就是改良計價器。用更加精良的計價器來為乘客提供更加方便快捷的服務。

多年來國內(nèi)普遍使用的計價器只具備單一的脊梁功能。最早的計價器全部使用機械齒輪結(jié)構(gòu),只能簡單的計程功能,可以說,早期的計價器就是個里程表。隨著科學技的發(fā)展,產(chǎn)生了第二代計價器。它采用手搖計算機與機械結(jié)構(gòu)相結(jié)合的方式實現(xiàn)了半機械半電子化。此時它在計程的同時還完成計價的工作。大規(guī)模集成電路的發(fā)展又產(chǎn)生了第三代計價器,也就是全電子化的計價器。它的功能也在不斷完善。出租車計價器是一種專用的計量儀器,它安裝在出租車上,能夠連續(xù)累加,并只是出行中任意時刻乘客應付費用。隨著電子技術(shù)的發(fā)展以及對計價器的不斷改進和完善,便產(chǎn)生了能夠自主計費,以及現(xiàn)在的能夠打一發(fā)票和語音提示、按時間自主變動單價等功能。第2章工作原理本文設計了一個出租車計費器的模型,其接口信號如圖2-1所示。圖2-1出租車計費器模型方框圖車的狀態(tài)由傳感器傳回來當作控制信號,用控制信號來控制計算里程和車費模塊,然后分別將里程和車費送到譯碼模塊譯碼,輸出的數(shù)據(jù)一起送到動態(tài)掃描模塊,由片選信號控制哪部分譯碼模塊輸出的數(shù)據(jù)用數(shù)碼管顯示。當車啟動后,計算里程和車費模塊就開始計數(shù),起步價為7.00元,并在車行3Km后按2.20元/Km計費,當計費器達到或超過20元時,每公里回收50%的車費,車停止和暫停時不計費;然后將里程和車費送到譯碼模塊譯碼和動態(tài)顯示模塊動態(tài)顯示,最后顯示在七段數(shù)碼管上,動態(tài)顯示的時間間隔為5秒鐘。第3章設計過程3.1設計方案3.1.1計算里程和車費模塊本模塊主要是計算里程和車費。按行駛里程計費,起步價為7.00元,并在車行3Km后按2.20元/Km計費,當計費器達到或超過20元時,每公里回收50%的車費,車停止和暫停時不計費。在本模塊中,一個脈沖代表是里程要加100米。計算里程和車費的模塊的功能結(jié)構(gòu)框圖如圖3-1所示。圖3-1計算里程和車費模塊的功能結(jié)構(gòu)框圖根據(jù)模塊實現(xiàn)的功能設計VerilogHDL源代碼如下:moduletaxicount(stop,start,clk,pause,chefei,lucheng);inputstop,start,clk,pause;outputreg[19:0]chefei,lucheng;reg[3:0]qijia,danjia;reg[12:0] ygl;reg yglflag;always@(posedgeclk)beginif(stop==0) begin danjia=0; qijia=0; ygl=0; lucheng=0; endelseif(start==0) begin chefei=700; lucheng=0; endelseif(start&pause) begin lucheng=lucheng+100; ygl=ygl+100; endif(ygl<1000) yglflag=0;else begin yglflag=1; ygl=0; endif(lucheng>3000) begin if(chefei<2000) begin if(yglflag) chefei=chefei+220; end elseif(chefei>2000) begin if(yglflag) chefei=chefei+330; end endendendmodule3.1.2七段顯示譯碼器模塊本模塊主要是將4位二進制數(shù)轉(zhuǎn)換為十六進制表示。七段顯示譯碼器模塊的功能結(jié)構(gòu)框圖如圖3-3所示:圖3-3七段顯示譯碼器的功能結(jié)構(gòu)框圖根據(jù)模塊實現(xiàn)的功能設計VerilogHDL源代碼如下:moduleymq8421(a,hex); input[3:0]a; outputreg[6:0]hex;always@(a) begin case(a) 0:hex='b1000000; 1:hex='b1111001; 2:hex='b0100100; 3:hex='b0110000; 4:hex='b0011001; 5:hex='b0010010; 6:hex='b0000010; 7:hex='b1111000; 8:hex='b0000000; 9:hex='b0010000; 10:hex='b0001000; 11:hex='b0000011; 12:hex='b1000110; 13:hex='b0100001; 14:hex='b0000110; 15:hex='b0001110; default:hex='b1111111; endcase endendmodule3.1.3動態(tài)顯示模塊本模塊為動態(tài)顯示,時間間隔為5秒。動態(tài)顯示模塊的功能結(jié)構(gòu)框圖如圖3-5所示。圖3-5動態(tài)顯示模塊的功能結(jié)構(gòu)圖根據(jù)模塊實現(xiàn)的功能設計VerilogHDL源代碼如下:moduledisplay(clk,dis0,dis1,dis2,dis3,dis4,dis5,dis6,dis7,HEX0,HEX1,HEX2,HEX3);inputclk;input[6:0] dis0,dis1,dis2,dis3,dis4,dis5,dis6,dis7;outputreg[6:0] HEX0,HEX1,HEX2,HEX3;reg[2:0] CNT,COUNT;always@(posedgeclk)case(COUNT)0: begin if(clk) CNT=CNT+1; if(CNT<5) begin HEX0=dis0; HEX1=dis1; HEX2=dis2; HEX3=dis3; end else begin CNT=0; COUNT=5; end end5: begin if(clk) CNT=CNT+1; if(CNT<5) begin HEX0=dis4; HEX1=dis5; HEX2=dis6; HEX3=dis7; end else begin CNT=0; COUNT=0; end endendcaseendmodule3.1.4設計出租車計費器電路VerilogHDL具有行為描述和結(jié)構(gòu)描述功能。行為描述是對設計電路的邏輯功能的描述,并不用關心設計電路使用哪些元件及這些元件之間的連接關系。而結(jié)構(gòu)描述是對設計電路的結(jié)構(gòu)進行描述,即描述設計電路使用的元件及這些元件之間的連接關系。本文用行為描述和結(jié)構(gòu)描述分別實現(xiàn)電路系統(tǒng)。(一)用行為描述實現(xiàn)出租車計費器電路系統(tǒng)設計用行為描述實現(xiàn)出租車計費器電路系統(tǒng)設計的源程序如下:moduletcout(stop,start,clk,pause,HEX0,HEX1,HEX2,HEX3);inputstop,start,clk,pause;outputreg[6:0] HEX0,HEX1,HEX2,HEX3;wire[15:0]chefei,lucheng;wire[6:0]dis0,dis1,dis2,dis3,dis4,dis5,dis6,dis7;taxicountU1(stop,start,clk,pause,chefei,lucheng);ymq8421U2(chefei[3:0],dis0);ymq8421U3(chefei[7:4],dis1);ymq8421U4(chefei[11:8],dis2);ymq8421U5(chefei[15:12],dis3);ymq8421U6(lucheng[3:0],dis4);ymq8421U7(lucheng[7:4],dis5);ymq8421U8(lucheng[11:8],dis6);ymq8421U9(lucheng[15:12],dis7);displayU10(clk,dis0,dis1,dis2,dis3,dis4,dis5,dis6,dis7,HEX0,HEX1,HEX2,HEX3);endmodule(二)用結(jié)構(gòu)描述實現(xiàn)出租車計費器電路系統(tǒng)設計生成的taxicount、ymq8421和display元件圖形符號只是分別代表分立的電路設計結(jié)果,并沒有形成系統(tǒng)。頂層設計文件就是調(diào)用taxicount、ymq8421和display三個功能元件,將它們組裝起來,成為一個完整的設計。taxi.bdf是本例的頂層文件,實現(xiàn)的功能是將里程和路程動態(tài)顯示出來,時間間隔是5秒,如圖3-8所示。圖3-8taxi頂層設計圖在Altera公司的軟件工具QuartusⅡ(WindowsXP環(huán)境下)中編譯和波形仿真后得到的波形如圖3-9示:圖3-9taxi.bdf的仿真波形圖3.2硬件實現(xiàn)3.2.1引腳鎖定對出租車計費器進行實驗驗證時,需要確定用DE2開發(fā)板的哪些輸入/輸出端口(PIO)來表示設計電路的輸入輸出。根據(jù)DE2開發(fā)板提供的實驗模式,可選擇電平開關SW2~SW0作為出租車計費器的控制信號;選擇HEX4~HEX0作為里程和車費的輸出顯示。出租車計費器與DE2中的目標芯片引腳連接的全部關系見表3-1。表3-1出租車計費器與DE2中的目標芯片引腳連接關系表端口名稱PIO名稱芯片引腳端口名稱PIO名稱芯片引腳stopDPDT_SW[0]PIN_N25hex2[1]HEX2[1]PIN_V22startDPDT_SW[1]PIN_N26hex2[2]HEX2[2]PIN_AC25pauseDPDT_SW[2]PIN_P25hex2[3]HEX2[3]PIN_AC26cinOSC_50PIN_N2hex2[4]HEX2[4]PIN_AB26cin0OSC_50PIN_N2hex2[5]HEX2[5]PIN_AB25hex0[0]HEX0[0]PIN_AF10hex2[6]HEX2[6]PIN_Y24hex0[1]HEX0[1]PIN_AB12hex3[0]HEX3[0]PIN_Y23hex0[2]HEX0[2]PIN_AC12hex3[1]HEX3[1]PIN_AA25hex0[3]HEX0[3]PIN_AD11hex3[2]HEX3[2]PIN_AA26hex0[4]HEX0[4]PIN_AE11hex3[3]HEX3[3]PIN_Y26hex0[5]HEX0[5]PIN_V14hex3[4]HEX3[4]PIN_Y25hex0[6]HEX0[6]PIN_V13hex3[5]HEX3[5]PIN_U22hex1[0]HEX1[0]PIN_V20hex3[6]HEX3[6]PIN_W24hex1[1]HEX1[1]PIN_V21hex4[0]HEX4[0]PIN_U9hex1[2]HEX1[2]PIN_W21hex4[1]HEX4[1]PIN_U1hex1[3]HEX1[3]PIN_Y22hex4[2]HEX4[2]PIN_U2hex1[4]HEX1[4]PIN_AA24hex4[3]HEX4[3]PIN_T4hex1[5]HEX1[5]PIN_AA23hex4[4]HEX4[4]PIN_R7hex1[6]HEX1[6]PIN_AB24hex4[5]HEX4[5]PIN_R6hex2[0]HEX2[0]PIN_AB23hex4[6]HEX4[6]PIN_T33.2.2編程下載將程序下載到DE2開發(fā)板上,扳動SW0~SW2,組成控制信號,從七段數(shù)碼管HEX4~HEX0上觀察里程和車費。第4章仿真過程4.1建立工程(1)點擊file→newprojectwizard,新建工程目錄和工程文件czjf,得如圖4-1所示。圖4-1新建工程和工程文件(2)Next后進入工程文件選擇,輸入新文件czjf,必須注意該文件名必須與將要編輯的程序模塊名相同,如圖4-2所示。圖4-2添加新文件(3)然后Next設置器件信息,接下來一直Next直到結(jié)束工程建立。4.2建立VerilogHDL文件(1)單擊file→new,進入下面選擇界面,選擇VerilogHDLFile→OK。如圖4-3所示。圖4-3建立VerilogHDL文件(2)在編輯窗口輸入源程序,保存,編譯,如圖所示。圖4-4輸入源程序4.3建立波形文件(1)單擊file→new,進入下面選擇界面,選擇VectorWaveformFile→OK。如圖4-5所示。圖4-5建立波形文件(2)設置相關端口信號,設置之后保存波形文件,重新進行編譯。4.4仿真結(jié)果各模塊模擬仿真結(jié)果如下:(1)計算里程和車費模塊taxicount模塊定義輸入輸出端口如下:clk: 全局時鐘信號,這里為1Hz的時鐘。stop:當stop=0時,車停止;stop=1時,車沒停止。start:當start=0時,車起動,但沒有走;start=1時,車開動了。pause:當pause=0時,車暫停;pause=1時,車不暫停。chefei:表示車費。lucheng:表示里程。在Altera公司的軟件工具QuartusⅡ(WindowsXP環(huán)境下)中編譯和波形仿真后得到的波形如圖3-2所示:、圖3-2計算里程和車費模塊的仿真波形(2)七段顯示譯碼器模塊ymq8421程序定義輸入輸出端口如下:a:輸入的4位二進制數(shù)。hex:輸出的1位十六進制數(shù)。在Altera公司的軟件工具QuartusⅡ(WindowsXP環(huán)境下)中編譯和波形仿真后得到的波形如圖3-4所示:圖3-4七顯示譯碼器的仿真波形(3)動態(tài)顯示模塊display模塊定義輸入輸出端口如下:Clk:全局時鐘信號,這里為1Hz的時鐘。dis0,dis1,dis2,dis3,dis4,dis5,dis6,dis7:譯碼模塊輸出的數(shù)據(jù)。HEX0,HEX1,HEX2,HEX3:七段數(shù)碼管顯示的數(shù)據(jù)。在Altera公司的軟件工具QuartusⅡ(WindowsXP環(huán)境下)中編譯和波形仿真后得到的波形如圖3-6所示:圖3-6動態(tài)顯示的仿真波形(4)出租車計費器電路程序定義輸入輸出端口如下:clk: 全局時鐘信號,這里為1Hz的時鐘。stop:當stop=0時,車停止;stop=1時,車沒停止。start:當st

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論