




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
PAGEPAGE21河南科技大學(xué)課程設(shè)計說明書課程名稱EDA綜合設(shè)計題目__出租車計費系統(tǒng)設(shè)計__學(xué)院______班級_____學(xué)生姓名__________學(xué)號________指導(dǎo)教師日期2015年6月26日
課程設(shè)計任務(wù)書課程設(shè)計名稱EDA綜合設(shè)計學(xué)生姓名專業(yè)班級設(shè)計題目出租車計費系統(tǒng)設(shè)計課程設(shè)計目的1、綜合運(yùn)用EDA技術(shù),獨立完成一個課題的設(shè)計,考察運(yùn)用所學(xué)知識,解決實際問題的能力;2、結(jié)合理論知識,考察閱讀參考資料、文獻(xiàn)、手冊的能力;3、進(jìn)一步熟悉EDA技術(shù)的開發(fā)流程,掌握文件編輯、編譯、仿真、下載驗證等環(huán)節(jié)的實現(xiàn)方法和應(yīng)用技巧;4、鍛煉撰寫研究報告、研究論文的能力;5、通過本實踐環(huán)節(jié),培養(yǎng)科學(xué)和嚴(yán)謹(jǐn)?shù)墓ぷ髯黠L(fēng)。設(shè)計內(nèi)容、技術(shù)條件和要求能夠?qū)崿F(xiàn)計費功能:費用的計算是按行駛里程收費,設(shè)出租車的起價為5.00元,當(dāng)里程小于3km時,按起價計算收費;當(dāng)里程大于3km時每公里按1.3元計費。等待累計時間超過2min,按每分鐘1.5元計費。所以總費用按下式計算:總費用=起價費+(里程-3km)×里程單價+等候時間×等候單價2、能夠?qū)崿F(xiàn)顯示功能:顯示汽車行駛里程:用四位數(shù)字顯示,顯示方式為“XXXX”,單位為km。計程范圍為0~99km,計程分辨率為1km。顯示等候時間:用兩位數(shù)字顯示分鐘,顯示方式為“XX”。計時范圍為0~59min,計時分辨率為1min。顯示總費用:用四位數(shù)字顯示,顯示方式為“XXX.X”,單位為元。計價范圍為999.9元,計價分辨率為0.1元。三、時間進(jìn)度安排1周:(1)完成設(shè)計準(zhǔn)備,確定實施方案;(2)完成電路文件的輸入和編譯;(3)完成功能仿真。2周:((1)完成文件至器件的下載,并進(jìn)行硬件驗證;(2)撰寫設(shè)計說明書。四、主要參考文獻(xiàn)(1)譚會生、瞿遂春,《EDA技術(shù)綜合應(yīng)用實例與分析》,西安電子科技大學(xué)出版社,2004(2)曹昕燕、周鳳臣等,《EDA技術(shù)實驗與課程設(shè)計》,清華大學(xué)出版社,2006指導(dǎo)教師簽字:2015年6月15日
出租車計費系統(tǒng)設(shè)計專業(yè):電子信息科學(xué)與技術(shù)系作者:指導(dǎo)老師:摘要:本次課程設(shè)計應(yīng)用EDA技術(shù)來實現(xiàn)出租車計費系統(tǒng)的設(shè)計。EDA是電子設(shè)計自動化(Electronic
Design
Automation)的縮寫,EDA技術(shù)是以計算機(jī)為工具,設(shè)計者在EDA軟件平臺上,用硬件描述語言HDL完成設(shè)計文件,然后由計算機(jī)自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。本文采用的就是用VHDL語言設(shè)計的基于FPGA的出租車計費系統(tǒng)設(shè)計,
FPGA是英文Field-Programmable
Gate
Array的縮寫,即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。出租車是人們在生活中和工作中不可缺少的交通工具,出租車行業(yè)的服務(wù)水平與電子信息的發(fā)展密切相關(guān),乘客坐出租車必須要有一個合理的價格,因此,出租車上必須要有一個計價器,計價器的設(shè)計合格與否直接相關(guān)著乘客和司機(jī)的經(jīng)濟(jì)利益。關(guān)鍵詞:VHDL語言;FPGA;仿真;出租車。TaxibillingsystemdesignProfessional:ElectronicInformationScienceandTechnologyAuthor:zhangzhenkInstructor:zhangleimingliuboAbstract:ThiscourseisdesignedtouseEDAtechnologytoachievedesigntaxibillingsystem.EDAisanelectronicdesignautomation(ElectronicDesignAutomation)abbreviation,EDAtechnologyisbasedonacomputerasatooldesignerintheEDAsoftwareplatform,completewithhardwaredescriptionlanguageHDLdesignfiles,thenautomaticallydonebycomputerlogiccompilation,simplification,segmentation,integration,optimization,placement,routingandsimulationworkuntilaspecifictargetforthecompileradapterchips,logicmappingandprogramdownloads.ThispaperistouseVHDLlanguagedesigntaxibillingsystembasedonFPGAdesign,FPGAistheEnglishField-ProgrammableGateArrayabbreviationofthefieldprogrammablegatearray,whichisinPAL,GAL,CPLDandotherprogrammabledevicesBasedonthefurtherdevelopmentoftheproduct.Itisimplementedasapplicationspecificintegratedcircuit(ASIC)inthefieldofasemi-customcircuitandemerged,whichaddressesthelackofcustomcircuits,butalsoovercomethelimitednumberofgatesofprogrammabledevicesexistingshortcomings.Taxisarepeopleinthelifeandworkanindispensablemeansoftransport,theservicelevelofthetaxiindustryandthedevelopmentofelectronicinformationiscloselyrelatedtotaxipassengersmusthaveareasonableprice,andtherefore,theremustbeataxiameter,themeterisdesignedqualifiedornotdirectlyrelatedtotheeconomicinterestsofpassengersanddrivers.Keywords:VHDLlanguage;FPGA;simulation;taxi..
目錄TOC\o"1-3"\u1任務(wù)解析 41.1里程計費 41.2等待計費 41.3顯示功能 42系統(tǒng)方案設(shè)計 42.1系統(tǒng)基本方案 42.2系統(tǒng)設(shè)計原理 52.3系統(tǒng)流程圖 53模塊設(shè)計及仿真 63.1計量模塊 63.2計時模塊 73.3控制模塊 83.4顯示模塊 104系統(tǒng)頂層原理圖及仿真 114.1系統(tǒng)頂層原理圖 114.2系統(tǒng)頂層仿真 115硬件驗證 125.1引腳鎖定 125.2驗證結(jié)果 136總結(jié)與心得 147參考文獻(xiàn) 15附錄一 16計量模塊VHDL源程序 16附錄二 17計時模塊VHDL源程序 17附錄三 18控制模塊VHDL源程序 18附錄四 19計費模塊VHDL源程序 19
1任務(wù)解析1.1里程計費設(shè)出租車的起價為5.00元,當(dāng)里程小于3km時,按起價計算收費;當(dāng)里程大于3km時每公里按1.3元計費。此模塊可用VHD語言編寫設(shè)計一個100進(jìn)制計數(shù)器,每計一次數(shù)里程增加1KM。當(dāng)計數(shù)器計數(shù)到4時,費用按每計一次數(shù),費用加1.3元。否則,費用按起價費算。1.2等待計費等待累計時間超過2min,按每分鐘1.5元計費。等待計費也可以用VHDL設(shè)計一個60進(jìn)制計數(shù)器,每計一次數(shù)等待時間增加1min。當(dāng)計數(shù)器計到3時,費用按每計一次數(shù)費用加1.5元,否則費用不增加。1.3顯示功能顯示汽車行駛里程:用四位數(shù)字顯示,顯示方式為“XXXX”,單位為km。計程范圍為0~99km,計程分辨率為1km。顯示里程可用液晶顯示,也可用用數(shù)碼管顯示,由于本次設(shè)計在GW48實驗教學(xué)系統(tǒng)上驗證,數(shù)碼管直接用4位BCD碼就可以顯示,所以本次設(shè)計采用數(shù)碼管來顯示里程,計程范圍為0~99km,即用兩個數(shù)碼管就可以顯示里程。顯示等候時間:用兩位數(shù)字顯示分鐘,顯示方式為“XX”。計時范圍為0~59min,計時分辨率為1min。等待時間顯示也用數(shù)碼管來顯示,由于是兩位數(shù)字顯示分鐘,則用兩個數(shù)碼管既可以來顯示等待的時間。顯示總費用:用四位數(shù)字顯示,顯示方式為“XXX.X”,單位為元。計價范圍為999.9元,計價分辨率為0.1元。四位數(shù)字的顯示可以用4個數(shù)碼管來顯示,小數(shù)點可以用一個發(fā)光二極管來顯示即可。2系統(tǒng)方案設(shè)計2.1系統(tǒng)基本方案根據(jù)題目要求第一節(jié)的任務(wù)解析,系統(tǒng)可劃分為計量程模塊,計時模塊,控制模塊,計費模塊,顯示模塊。系統(tǒng)框圖如圖2-1-1所示。計量程模塊計量程模塊控制模塊計費模塊計時模塊顯示模塊圖2-1-1系統(tǒng)的總體框圖2.2系統(tǒng)設(shè)計原理根據(jù)設(shè)計的要求,系統(tǒng)的輸入信號有:系統(tǒng)時鐘信號CLK,計價開始信號START,等待信號STOP,里程脈沖信號FIN。系統(tǒng)的輸出信號有:總的費用MON0~MON3,行駛距離(km數(shù))RUN0~RUN1,等待時間(min)TIME0~TIME3。系統(tǒng)的原件框圖如圖2-2-1所示。端口定義類型為:ENTITYjiliangISPORT(clk1:INSTD_LOGIC;--時鐘信號fin:INSTD_LOGIC;--里程脈沖信號start:INSTD_LOGIC;--計價開始信號--stop:INSTD_LOGIC;--等待時間信號run1,run0:OUTSTD_LOGIC_VECTOR(3DOWNTO0);time1,time0:OUTSTD_LOGIC_VECTOR(3DOWNTO0);mon3,mon2,mon1,mon0:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDjiliang;圖圖2-2-1系統(tǒng)總的原件框圖整個系統(tǒng)的控制為:系統(tǒng)有兩個脈沖信號CLK和里程脈沖信號FIN,兩個控制開關(guān)START和STOP。當(dāng)出租車沒有行駛時,沒有里程脈沖信號FIN,計價開始信號START為低電平,等待信號STOP為低電平,系統(tǒng)停止工作;當(dāng)有乘客上車并開始行駛時,里程脈沖信號FIN到來,即里程開始計數(shù),這時計價開始信號START置為高電平,開始計里程價,等待信號STOP為低電平;如果乘客需要停車等待,則沒有了里程脈沖信號FIN,開關(guān)將等待信號STOP置為高電平,開始等待計時;當(dāng)乘客等待結(jié)束,開關(guān)將等待信號STOP置為低電平,里程脈沖信號FIN到來,里程繼續(xù)開始計數(shù);當(dāng)乘客到目的地下車,計價開始信號START置為低電平,系統(tǒng)停止工作。2.3系統(tǒng)流程圖有了流程圖,才能更好的完成本次的課程設(shè)計,本次的設(shè)計是從底層到頂層的設(shè)計過程,從底層的VHDL程序代碼到頂層的例化原理圖設(shè)計。對系統(tǒng)的總體框圖進(jìn)行更全面,更小的模塊來分化設(shè)計便可得到設(shè)計的流程圖。如圖2-3-1所示為出租車價器的流程圖。圖圖2-3-1出租車計價器的流程圖開始空車等待有乘客置起步價停車,等待乘客下車乘客要求下車停車等待里程大于3km里程計價誤時超過2min置誤時價里程脈沖3模塊設(shè)計及仿真3.1計量模塊計量模塊是在出租車在行駛的過程中對量程的計數(shù),每計一次數(shù)即行駛了1km。當(dāng)行駛里程大于3km,即計數(shù)大于3時,使能信號SIG0為高電平。當(dāng)計數(shù)計到99時,計數(shù)從0重新開始計數(shù)。計量模塊原理圖如圖3-1-1所示。端口定義類型為:ENTITYjiliangISPORT(start,fin,clk1:INSTD_LOGIC;sig0:OUTSTD_LOGIC;run1,run0:BUFFERSTD_LOGIC_VECTOR(3DOWNTO0));ENDjiliang;圖圖3-1-1計量模塊原理圖計量模塊的仿真波形如圖3-1-2所示。由圖可以看出當(dāng)START為低電平時,系統(tǒng)停止工作,當(dāng)START為高電平,里程脈沖信號FIN到來時,里程run開始計數(shù),當(dāng)run0大于9時,run0從0重新開始計數(shù),run1加1,一直計到99時,重新從0開始計數(shù),實現(xiàn)了100進(jìn)制的計數(shù)器。當(dāng)計數(shù)器計數(shù)大于3時,使能信號SIG0輸出高電平(當(dāng)里程大于3km時每公里按1.3元計費)。圖圖3-1-2計量模塊仿真波形圖3.2計時模塊計時模塊是當(dāng)乘客中途有事需要等待時,對時間的計數(shù),每計一次數(shù)即等待了1min。當(dāng)?shù)却龝r間大于2min,即計數(shù)大于2時,使能信號SIG1為高電平。當(dāng)計數(shù)計到59時,計數(shù)從0重新開始計數(shù)。計時模塊原理圖如圖3-2-1所示。端口定義類型為:ENTITYjishiISPORT(start,STOP,clk2:INSTD_LOGIC;Sig1:OUTSTD_LOGIC;time1,time0:BUFFERSTD_LOGIC_VECTOR(3DOWNTO0));ENDjiliang;圖圖3-2-1計時模塊原理圖計時模塊的仿真波形圖如圖3-2-2所示。由圖可以看出當(dāng)START為低電平時,系統(tǒng)停止工作,當(dāng)START為高電平,STOP為低電平時,系統(tǒng)不計時,當(dāng)STOP變?yōu)楦唠娖?,?dāng)CLK2脈沖到來時,系統(tǒng)開始進(jìn)入等待計時,當(dāng)time0大于9時,time0重新開始計時,time1加1,一直計到59,重新從0開始計數(shù)。當(dāng)?shù)却龝r間計時大于2時,使能信號SIG1輸出高電平。圖圖3-2-2計時模塊仿真波形圖3.3控制模塊控制模塊主要通過計量模塊的使能輸出信號SIG0和計時模塊的使能輸出信號SIG1來控制費用的計算,當(dāng)SIG0為高電平時,即里程大于3km時,每公里按1.3元計費,當(dāng)里程小于3km時,按起價計算收費,出租車的起價為5.00元。當(dāng)SIG1為高電平時,即等待累計時間超過2min時,按每分鐘1.5元計費,當(dāng)?shù)却龝r間沒有超過2min,費用不增加。所以總費用按下式計算:總費用=起價費+(里程-3km)×里程單價+等候時間×等候單價控制模塊原理圖如圖3-3-1所示。端口定義類型為:PORT(start:INSTD_LOGIC;sig1,sig0:INSTD_LOGIC;run1,run0,time1,time0:INSTD_LOGIC_VECTOR(3DOWNTO0);cost:OUTINTEGERRANGE0TO999);ENDctl;圖圖3-3-1控制模塊原理圖控制模塊的輸入信號來自計量模塊與計時模塊的輸出信號,所以單獨仿真很復(fù)雜,要與計量模塊和計時模塊連在一起來做仿真。如圖3-3-2所示為計量模塊,計時模塊及控制模塊的原理圖。計量圖圖3-3-2計量模塊,計時模塊及控制模塊原理圖模塊的輸入信號START,F(xiàn)IN,CLK1是系統(tǒng)的輸入信號,輸出信號SIG0,RUN1,RUN0作為控制模塊的輸入信號;計時模塊的輸入信號START,STOP,CLK2是系統(tǒng)的輸入信號,輸出信號SIG1,TIME1,TIME0作為控制模塊的輸輸入信號,START也作為控制模塊的輸入信號,COST為控制模塊的輸出信號。端口定義類型為:PORT(clk:INSTD_LOGIC;fin:INSTD_LOGIC;start,STOP:INSTD_LOGIC;cost:OUTINTEGERRANGE0TO999);計量模塊,計時模塊及控制模塊的波形仿真圖如圖3-3-3所示。由仿真圖可以看出當(dāng)START為圖圖3-3-3計量模塊,計時模塊及控制模塊的波形仿真圖電平,F(xiàn)IN里程脈沖信號到來時,此時STOP為低電平,里程開始由0計數(shù),當(dāng)大于3kn時,使能信號SIG0變?yōu)楦唠娖剑M用按每行駛1km,費用增加1.3元。當(dāng)STOP為高電平時,開始進(jìn)入等待計數(shù),當(dāng)?shù)却龝r間大于2min時,費用按每等待1min,費用增加1.5元。由于計費模塊已在控制模塊中實現(xiàn),所以下面不在單獨討論計費模塊。3.4顯示模塊顯示模塊主要顯示汽車行駛里程,等待時間,總的費用。行駛里程用四位數(shù)字顯示,顯示方式為“XXXX”,單位為km。計程范圍為0~99km,計程分辨率為1km。里程用run1和run0輸出,由于在系統(tǒng)中run和run0的類型為STD_LOGIC_VECTOR(3DOWNTO0)類型,所以直接用數(shù)碼管輸出。等待時間用兩位數(shù)字顯示分鐘,顯示方式為“XX”。計時范圍為0~59min,計時分辨率為1min。等待時間用time1和time0輸出,time1和time0的類型為STD_LOGIC_VECTOR(3DOWNTO0)類型,所以直接用數(shù)碼管輸出。總的費用用四位數(shù)字顯示,顯示方式為“XXX.X”,單位為元。計價范圍為999.9元,計價分辨率為0.1元。在控制模塊中輸出的費用為十進(jìn)制數(shù),不能直接用數(shù)碼管輸出,對十進(jìn)制輸出可以有兩種方法,如下進(jìn)行討論。方案一:把每一個十進(jìn)制數(shù)用8位BCD碼表示,然后用數(shù)碼管輸出。由于此次統(tǒng)統(tǒng)需要的計價范圍為999.9元,因此需要對9999個數(shù)進(jìn)行BCD的編碼,數(shù)量比較大,程序代碼較長,所以不易采用。方案二:本次系統(tǒng)需要顯示的最大范圍是0到9999,總共四位數(shù),可以把每一位數(shù)字先求出來,在把每位數(shù)轉(zhuǎn)化為4位二進(jìn)制,就可以用數(shù)碼管直接輸出,此方法簡單,代碼較短。每位數(shù)求法如下所示。其中Ch0為個位數(shù),ch1為十位數(shù),ch2為百位數(shù),ch3位千位數(shù)。在個位與十位之間加一個發(fā)光二極管,則可以實現(xiàn)小數(shù)點。ch0<=costrem10;ch1<=cost/10;ch2<=0;ch3<=0;兩位數(shù)求個位,十位的算法ch0<=(costrem100)rem10;ch1<=(costrem100)/10;ch2<=cost/100;ch3<=0;三位數(shù)求個位,十位,百位的算法ch0<=((costrem1000)rem100)rem10;ch1<=((costrem1000)rem100)/10;ch2<=(costrem1000)/100;ch3<=cost/1000;四位數(shù)求個位,十位,百位,千位的算法十進(jìn)制數(shù)轉(zhuǎn)化為4位二進(jìn)制數(shù)的程序如下所示。mon0<=conv_std_logic_vector(ch0,4);--個位數(shù)轉(zhuǎn)化為4位二進(jìn)制數(shù)mon1<=conv_std_logic_vector(ch1,4);--十位數(shù)轉(zhuǎn)化為4位二進(jìn)制數(shù)mon2<=conv_std_logic_vector(ch2,4);--百位數(shù)轉(zhuǎn)化為4位二進(jìn)制數(shù)mon3<=conv_std_logic_vector(ch3,4);--千位數(shù)轉(zhuǎn)化為4位二進(jìn)制數(shù)4系統(tǒng)頂層原理圖及仿真4.1系統(tǒng)頂層原理圖根據(jù)題目要求,該系統(tǒng)的原理圖有計量程模塊,計時模塊,控制模塊,計費模塊,顯示模塊組成。計費模塊在控制模塊中實現(xiàn)。系統(tǒng)有四個輸入端口,兩個脈沖信號和兩個開關(guān);八個輸出端口,八個輸出信號用八個數(shù)碼管顯示結(jié)果,兩個數(shù)碼管顯示里程,兩個數(shù)碼管顯示等待時間,四個數(shù)碼管顯示總的費用。系統(tǒng)頂層原理圖如圖4-1-1所示。圖圖4-1-1系統(tǒng)的頂層原理圖4.2系統(tǒng)頂層仿真如圖4-2-2所示為系統(tǒng)頂層仿真波形圖。由波形圖可以看出,當(dāng)START為低電平時,系統(tǒng)停止工作;當(dāng)START為高電平,F(xiàn)IN里程脈沖到來時,里程run(run1為高四位,run0為低四位)開始計數(shù),當(dāng)大于3km時,每行駛1km,費用mon(mon3為千位,mon2為百位,mon1為十位,mon為個位)增加1.3元,起價費為5.0元;當(dāng)STOP為高電平時,time進(jìn)入等待計時,當(dāng)大于2min時,每等待1min,費用mon增加1.5元,不超過2min,費用mon不增加。圖圖4-2-2系統(tǒng)頂層仿真波形圖5硬件驗證5.1引腳鎖定引腳鎖定需要與目標(biāo)芯片型號及具體的硬件開發(fā)環(huán)境相結(jié)合。本次設(shè)計所使用的試驗箱在EDA實驗系統(tǒng)GW48-PK2上完成。芯片選用“cyclone”系列的“EP1C6Q240C8”。本設(shè)計選擇模式0,按鍵3和按鍵4分別作為START和STOP的輸入按鈕,按鍵5可作為里程FIN脈沖信號,CLOCK0作為clk的時鐘信號,八個數(shù)碼管作為里程、等待時間、總費用的的輸出顯示。在確定了設(shè)計電路的輸入/輸出與目標(biāo)芯片引腳的鏈接關(guān)系后,即可進(jìn)行引腳的確定。引腳鎖定如圖5-1-1所示。圖5-1-1圖5-1-1系統(tǒng)的引腳鎖定5.2驗證結(jié)果完成管腳鎖定后,對設(shè)計文件進(jìn)行重新編譯,產(chǎn)生設(shè)計電路的下載文件(.Sof)。在GW48實驗教學(xué)系統(tǒng)上下載.sof文件驗證結(jié)果。在所有按鍵都沒有按下時,系統(tǒng)停止工作,費用顯示起價費5.00元。當(dāng)START為高電平,F(xiàn)IN也為高電平時,里程開始計數(shù),當(dāng)沒有超過3km時,顯示起價費5.00元。當(dāng)大于3km時,每行駛1km,費用增加1.3元,當(dāng)按下STOP時,并且沒有FIN時,開始等待計時,當(dāng)大于2min時,每等待1min,費用增加1.5元。如圖5-2-1所示為系統(tǒng)停止工作時的驗證結(jié)果,圖5-2-2為里程小于3km時的驗證結(jié)果,圖5-2-3為里程大于3km時的驗證結(jié)果,圖5-2-4為等待時的驗證結(jié)果??傎M用=起價費+(里程-3km)×里程單價+等候時間×等候單價圖5-2-1圖5-2-1系統(tǒng)停止工作時的驗證結(jié)果圖5-2-2里程小于3km時的圖5-2-3圖5-2-3里程大于3km時的驗證結(jié)果圖5-2-4等待時的驗證結(jié)果6總結(jié)與心得本以為這次的課程設(shè)計三周的時間很長,沒想到在做的過程中才發(fā)現(xiàn)并不簡單,因為在做的前期遇到了很多的困難,比如模塊的選擇,功能的實現(xiàn),當(dāng)確定一個模塊之后,在寫程序的時候會有很多的想法來實現(xiàn)功能,但是驗證結(jié)果并不能滿足要求,需要的反復(fù)的來調(diào)試驗證。這次的課程設(shè)計是課程名稱是EDA綜合設(shè)計,題目是出租車計費系統(tǒng)設(shè)計,所以要用上學(xué)期學(xué)的FPGA的知識來設(shè)計本次課程設(shè)計,也就是用VHDL語言在Quartus工具上來編寫程序來實現(xiàn)課程設(shè)計的功能。出租車的計費系統(tǒng)設(shè)計,要能夠顯示所行駛的里程,等待的時間和總的費用,行駛的里程和等待的時間比較容易實現(xiàn),用VHDL寫兩個計數(shù)器即可實現(xiàn),但是,總的費用不好實現(xiàn),因為當(dāng)里程大于3km時,才按每行駛1km,費用增加1.3元,當(dāng)?shù)却龝r間超過2min時,每等待1min,費用增加1.5元,我在做的過程中,總的費用的計算,這個模塊所用的周期最長,有時候?qū)崿F(xiàn)了里程的計費,但是,等待時間的時間不能夠正確的計算,實現(xiàn)了等待時間的費用的功能,里程的費用又會出現(xiàn)偏差。所以在這一模塊的調(diào)試用了很長的時間,不過,最終還是通過查閱資料,通過老師的指導(dǎo)和同學(xué)的幫助,所有功能都可以很好的實現(xiàn)。通過這次的課程設(shè)計,我發(fā)現(xiàn)自己對EDA掌握還有很大的欠缺,對VHDL的語法不熟練,想一些對一個數(shù)的取余及取模,在未做課設(shè)之前都不知道如何用。不過,通過這次的課程設(shè)計,我已經(jīng)學(xué)會了關(guān)于FPGA更多的知識,了解到VHDL語言和C語言還是有很大的區(qū)別的,知道了FPGA有很多的優(yōu)點。通過設(shè)計使自己懂得了理論知識是要和實際結(jié)合使用才能感覺到理論知識的價值,沒有實際的操作,沒理論的知識的時候感覺學(xué)了沒啥大的用處,但是當(dāng)與實際結(jié)合的時候,才發(fā)現(xiàn)沒有理論知識時無法完成一項設(shè)計的,所以不管是不是理論知識對我們有沒有用,學(xué)了總歸是對我們有好處的。綜合運(yùn)用EDA技術(shù),加強(qiáng)了獨立完成一個課題的設(shè)計,通過運(yùn)用所學(xué)的知識,解決實際問題的能力;結(jié)合理論知識,鞏固了閱讀參考資料、文獻(xiàn)、手冊的能力;進(jìn)一步熟悉EDA技術(shù)的開發(fā)流程,掌握文件編輯、編譯、仿真、下載驗證等環(huán)節(jié)的實現(xiàn)方法和應(yīng)用的技巧。最后還要感謝我們的張老師和劉老師,老師循循善誘的教導(dǎo)和不拘一格的思路的給予我無盡的啟迪。他門淵博的知識,耐心的指導(dǎo),以及務(wù)實的研究態(tài)度,使我深受感動,并且順利的完成了本次的課程設(shè)計。同時還要感謝幫助過我的同學(xué),謝謝你們隊對我的幫助和支持。7參考文獻(xiàn)[1]潘松黃繼業(yè)
附錄一計量模塊VHDL源程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_arith.ALL;USEIEEE.STD_LOGIC_unsigned.ALL;ENTITYjiliangISPORT(start:INSTD_LOGIC;fin:INSTD_LOGIC;clk1:INSTD_LOGIC;sig0:OUTSTD_LOGIC;run1,run0:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDjiliang;ARCHITECTUREONEOFjiliangISSIGNALr1,r0:STD_LOGIC_VECTOR(3DOWNTO0)BEGINPRCESS(clk1)BENGINIFclk1'eventANGclk1='1'THENIFstart='0'THEN--當(dāng)start為低電平時,停止工作sig0<='0';r1<="0000";r0<="0000";ELSIFfin='1'THEN--當(dāng)stop為低電平時,fin脈沖到來時,km0,km1進(jìn)行計數(shù)IFr0="1001"THENr0<="0000";IFr1="1001"THENr1<="0000";--計程范圍為0~99kmELSEr1<=r1+1;ENDIF;ELSEr0<=r0+1;ENDIF;IFr1&r0>"00000010"THENsig0<='1';--當(dāng)里程大于3km時,en0<='1'ELSEsig0<='0';ENDIF;ELSEsig0<='0';ENDIF;ENDIF;run1<=r1;run0<=r0;ENDPROCESS;ENDONE;
附錄二計時模塊VHDL源程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_arith.ALL;USEIEEE.STD_LOGIC_unsigned.ALL;ENTITYjishiISPORT(start:INSTD_LOGIC;Stop:INSTD_LOGIC;clk2:INSTD_LOGIC;sig1:OUTSTD_LOGIC;time1,time0:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDjishi;ARCHITECTUREONEOFjishiISSIGNALt1,t0:STD_LOGIC_VECTOR(3DOWNTO0)BEGINPRCESS(clk2)BENGINIFclk2'eventANDclk2='1'THENIFstart='0'TEEN--當(dāng)start為低電平時,停止工作sig1<='0';t1<="0000";t0<="0000";ELSEstop='1'THEN--當(dāng)start為高電平,開始計數(shù),當(dāng)stop為高電平時,進(jìn)入等待計時IFt0="1001"THENt0<="0000";IFt1="0101"THENt1<="0000";ELSEt1<=t1+1;ENDIF;ELSEt0<=t0+1;ENDIF;IFt1&t0>"00000001"THENsig1<='1';--等待累計時間超過2min,en1<='1'ELSEsig1<='0';ENDIF;ELSEsig1<='0';ENDIF;ENDIF;time1<=t1;time0<=t0;ENDPROCESS;END;
附錄三控制模塊VHDL源程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_arith.ALL;USEIEEE.STD_LOGIC_unsigned.ALL;ENTITYctlISPORT(start:INSTD_LOGIC;sig1:INSTD_LOGIC;sig0:INSTD_LOGIC;run1,run0:INSTD_LOGIC_VECTOR(3DOWNTO0);time1,time0:INSTD_LOGIC_VECTOR(3DOWNTO0);cost:OUTTNTEGERRANGE0TO9999);ENDctl;ARCHITECTUREONEOFctlISSIGNALa1:TNTEGERRANGE0TO9999;SIGNALa2:TNTEGERRANGE0TO9999;SIGNALb1:TNTEGERRANGE0TO9999;SIGNALb2:TNTEGERRANGE0TO9999;SIGNALfee3,fee2,fee1,fee0:TNTEGERRANGE0TO9999;BEGINPROCESS(start,sig1,sig0,run1,run0,time1,time0)BEGINIFstart='0'THENfee3<=0;fee2<=0;fee1<=0;fee0<=0;--start為低電平,停止工作ELSEIFsig0='1'THENIFrun1="0000"THENa1<=13*(conv_integer(run0)-3);a2<=13*CONV_INTEGER(run1)*10;fee0<=a1+a2+50;ELSEa1<=13*conv_integer(run0);a2<=13*CONV_INTEGER(run1)*10;fee1<=a1+a2-39+50;ENDIF;ENDIF;IFsig1='1'thenIFtime1="0000"THENb1<=15*(conv_integer(time0)-2);b2<=15*CONV_INTEGER(time1)*10;fee2<=b1+b2;ELSEb1<=15*conv_integer(time0);b2<=15*CONV_INTEGER(time1)*10;fee3<=b1+b2-30;ENDIF;ENDIF;IF(run1="0000"andtime1="0000")thencost<=fee0+fee2;ENDIF;IF(run1>"0000"andtime1="0000")thencost<=fee1+fee2;ENDIF;IF(run1="0000"andtime1>"0000")thencost<=fee0+fee3;ENDIF;IF(run1>"0000"andtime1>"0000")thencost<=fee1+fee3;ENDIF;ENDIF;ENDPROCESS;ENDONE;附錄四計費模塊VHDL源程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_arith.ALL;USEIEEE.STD_LOGIC_unsigned.ALL;ENTITYctlISPORT(cost:INTNTEGERRANGE0TO9999;mon0,mon1,mon2,mon3:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDjifei;ARCHITECTUREONEOFjifeiISSIGNALch3,ch2,ch1,ch0:TNTEGERRANGE0TO9;SIGNALtemp:STD_LOGIC_VECTOR(1DOWNTO0);BEGINPROCESS(cost)BEGINIFcost>9THENtemp<="01";ch0<=costrem10;ch1<=cost/10;ch2<=0;ch3<=0;IFcost>99THENtemp<="10";ch0<=(costREM100)REM10;ch1<=(costREM100)/10;ch2<=cost/100;ch3<=0;IFcost>999THENtemp<="11";ch0<=((costREM1000)rem100)REM10;ch1<=((costREM1000)REM100)/10;ch2<=(costREM1000)/100;ch3<=cost/1000;ELSEtemp<="10";ch0<=(costREM100)REM10;ch1<=(costREM100)/10;ch2<=cost/100;ch3<=0;ENDIF:ELSEtemp<="01";ch0<=costREM10;ch1<=cost/10;ch2<=0;ch3<=0;ENDIF:ELSEtemp<="00";ch0<=0;ch1<=5;ch2<=0;ch3<=0;ENDIF:ENDPROCESS:PROCESS(temp,ch3,ch2,ch1,ch0)BEGINCASEtempISWHEN"11"=>--四位數(shù)顯示mon0<=CONV_STD_LOGIC_VECTOR(ch0,4);mon1<=CONV_STD_LOGIC_VECTOR(ch1,4);mon2<=CONV_STD_LOGIC_VECTOR(ch2,4);mon3<=CONV_STD_LOGIC_VECTOR(ch3,4);WHEN"10"=>--三位數(shù)顯示mon0<=CONV_STD_LOGIC_VECTOR(ch0,4);mon1<=CONV_STD_LOGIC_VECTOR(ch1,4);mon2<=CONV_STD_LOGIC_VECTOR(ch2,4);mon3<=CONV_STD_LOGIC_VECTOR(ch3,4);WHEN"01"=>--二位數(shù)顯示mon0<=CONV_STD_LOGIC_VECTOR(ch0,4);mon1<=CONV_STD_LOGIC_VECTOR(ch1,4);mon2<=CONV_STD_LOGIC_VECTOR(ch2,4);mon3<=CONV_STD_LOGIC_VECTOR(ch3,4);WHEN"00"=>mon0<=CONV_STD_LOGIC_VECTOR(ch0,4);mon1<=CONV_STD_LOGIC_VECTOR(ch1,4);mon2<=CONV_STD_LOGIC_VECTOR(ch2,4);mon3<=CONV_STD_LOGIC_VECTOR(ch3,4);ENDCASE;ENDPROCESS;ENDONE;基于C8051F單片機(jī)直流電動機(jī)反饋控制系統(tǒng)的設(shè)計與研究基于單片機(jī)的嵌入式Web服務(wù)器的研究MOTOROLA單片機(jī)MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機(jī)溫度控制系統(tǒng)的研制基于MCS-51系列單片機(jī)的通用控制模塊的研究基于單片機(jī)實現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機(jī)控制的二級倒立擺系統(tǒng)的研究基于增強(qiáng)型51系列單片機(jī)的TCP/IP協(xié)議棧的實現(xiàn)基于單片機(jī)的蓄電池自動監(jiān)測系統(tǒng)基于32位嵌入式單片機(jī)系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機(jī)的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機(jī)的交流伺服電機(jī)運(yùn)動控制系統(tǒng)研究與開發(fā)基于單片機(jī)的泵管內(nèi)壁硬度測試儀的研制基于單片機(jī)的自動找平控制系統(tǒng)研究基于C8051F040單片機(jī)的嵌入式系統(tǒng)開發(fā)基于單片機(jī)的液壓動力系統(tǒng)狀態(tài)監(jiān)測儀開發(fā)模糊Smith智能控制方法的研究及其單片機(jī)實現(xiàn)一種基于單片機(jī)的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機(jī)的在線間歇式濁度儀的研制基于單片機(jī)的噴油泵試驗臺控制器的研制基于單片機(jī)的軟起動器的研究和設(shè)計基于單片機(jī)控制的高速快走絲電火花線切割機(jī)床短循環(huán)走絲方式研究基于單片機(jī)的機(jī)電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機(jī)的智能手機(jī)充電器基于單片機(jī)的實時內(nèi)核設(shè)計及其應(yīng)用研究基于單片機(jī)的遠(yuǎn)程抄表系統(tǒng)的設(shè)計與研究基于單片機(jī)的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機(jī)系統(tǒng)單片機(jī)系統(tǒng)軟件構(gòu)件開發(fā)的技術(shù)研究基于單片機(jī)的液體點滴速度自動檢測儀的研制基于單片機(jī)系統(tǒng)的多功能溫度測量儀的研制基于PIC單片機(jī)的電能采集終端的設(shè)計和應(yīng)用基于單片機(jī)的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機(jī)單片機(jī)控制系統(tǒng)的研制基于單片機(jī)的數(shù)字磁通門傳感器基于單片機(jī)的旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器的研究基于單片機(jī)的光纖Bragg光柵解調(diào)系統(tǒng)的研究單片機(jī)控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機(jī)的多生理信號檢測儀基于單片機(jī)的電機(jī)運(yùn)動控制系統(tǒng)設(shè)計Pico專用單片機(jī)核的可測性設(shè)計研究基于MCS-51單片機(jī)的熱量計基于雙單片機(jī)的智能遙測微型氣象站MCS-51單片機(jī)構(gòu)建機(jī)器人的實踐研究基于單片機(jī)的輪軌力檢測基于單片機(jī)的GPS定位儀的研究與實現(xiàn)基于單片機(jī)的電液伺服控制系統(tǒng)用于單片機(jī)系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機(jī)的時控和計數(shù)系統(tǒng)性能優(yōu)化的研究基于單片機(jī)和CPLD的粗光柵位移測量系統(tǒng)研究單片機(jī)控制的后備式方波UPS提升高職學(xué)生單片機(jī)應(yīng)用能力的探究基于單片機(jī)控制的自動低頻減載裝置研究基于單片機(jī)控制的水下焊接電源的研究基于單片機(jī)的多通道數(shù)據(jù)采集系統(tǒng)基于uPSD3234單片機(jī)的氚表面污染測量儀的研制基于單片機(jī)的紅外測油儀的研究96系列單片機(jī)仿真器研究與設(shè)計基于單片機(jī)的單晶金剛石刀具刃磨設(shè)備的數(shù)控改造基于單片機(jī)的溫度智能控制系統(tǒng)的設(shè)計與實現(xiàn)基于MSP430單片機(jī)的電梯門機(jī)控制器的研制基于單片機(jī)的氣體測漏儀的研究基于三菱M16C/6N系列單片機(jī)的CAN/USB協(xié)議轉(zhuǎn)換器基于單片機(jī)和DSP的變壓器油色譜在線監(jiān)測技術(shù)研究基于單片機(jī)的膛壁溫度報警系統(tǒng)設(shè)計基于AVR單片機(jī)的低壓無功補(bǔ)償控制器的設(shè)計基于單片機(jī)船舶電力推進(jìn)電機(jī)監(jiān)測系統(tǒng)基于單片機(jī)網(wǎng)絡(luò)的振動信號的采集系統(tǒng)基于單片機(jī)的大容量數(shù)據(jù)存儲技術(shù)的應(yīng)用研究基于單片機(jī)的疊圖機(jī)研究與教學(xué)方法實踐基于單片機(jī)嵌入式Web服務(wù)器技術(shù)的研究及實現(xiàn)基于AT89S52單片機(jī)的通用數(shù)據(jù)采集系統(tǒng)基于單片機(jī)的多道脈沖幅度分析儀研究機(jī)器人旋轉(zhuǎn)電弧傳感角焊縫跟蹤單片機(jī)控制系統(tǒng)基于單片機(jī)的控制系統(tǒng)在PLC虛擬教學(xué)實驗中的應(yīng)用研究基于單片機(jī)系統(tǒng)的網(wǎng)絡(luò)通信研究與應(yīng)用基于PIC16F877單片機(jī)的莫爾斯碼自動譯碼系統(tǒng)設(shè)計與研究基于單片機(jī)的模糊控制器在工業(yè)電阻爐上的應(yī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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 投資寶打折協(xié)議書
- 心理健康咨詢與治療保險套餐行業(yè)深度調(diào)研及發(fā)展項目商業(yè)計劃書
- 環(huán)保型氟硅脫模劑行業(yè)深度調(diào)研及發(fā)展項目商業(yè)計劃書
- 電子晶須增強(qiáng)材料行業(yè)深度調(diào)研及發(fā)展項目商業(yè)計劃書
- 互聯(lián)網(wǎng)供應(yīng)鏈金融數(shù)據(jù)分析師培訓(xùn)行業(yè)深度調(diào)研及發(fā)展項目商業(yè)計劃書
- 互聯(lián)網(wǎng)車險平臺企業(yè)制定與實施新質(zhì)生產(chǎn)力項目商業(yè)計劃書
- 高纖維南瓜籽能量棒行業(yè)深度調(diào)研及發(fā)展項目商業(yè)計劃書
- 互聯(lián)網(wǎng)保險社群經(jīng)濟(jì)與營銷行業(yè)跨境出海項目商業(yè)計劃書
- 金融科技創(chuàng)業(yè)投資與孵化服務(wù)行業(yè)深度調(diào)研及發(fā)展項目商業(yè)計劃書
- 語文S版語文四年級上冊2.蘆葉船練習(xí)卷
- 《了凡四訓(xùn)》原文及譯文-拼音版
- 初中英語新課標(biāo)解讀
- GB/T 3671.1-1996水溶性染料溶解度和溶液穩(wěn)定性的測定
- GB/T 34646-2017燒結(jié)金屬膜過濾材料及元件
- GB/T 1962.1-2001注射器、注射針及其他醫(yī)療器械6%(魯爾)圓錐接頭第1部分:通用要求
- 熱力管網(wǎng)施工組織設(shè)計方案標(biāo)書
- 中醫(yī)十八項護(hù)理操作并發(fā)癥及處理10-38-30
- 機(jī)械通氣基礎(chǔ)知識及基礎(chǔ)操作課件
- 打印版醫(yī)師執(zhí)業(yè)注冊健康體檢表(新版)
- 《空中領(lǐng)航》全套教學(xué)課件
- 人教版五年級下冊數(shù)學(xué)操作題期末專項練習(xí)(及解析)
評論
0/150
提交評論