【正文】
算,最大范圍為99公里。 end if。――此IF語(yǔ)句完成分計(jì)數(shù) if m1=101 then m1=000。(2)計(jì)價(jià)部分的波形仿真如圖5-8所示:從仿真圖可以看出cha3,cha2,cha1,cha0在各個(gè)時(shí)間段的輸出數(shù)據(jù)。 c15:=c15+1。上面這幾句完成超過(guò)三公里的時(shí)的計(jì)費(fèi)功能。139。它是計(jì)價(jià)、計(jì)時(shí)、計(jì)程功能的具體實(shí)現(xiàn)。 end if。139。 then en0=39。039。 if k1amp。 elsif stop=39。 then en0=39。它是計(jì)費(fèi)器工作的核心。 end if。 else Q_1=Q_1+1。 Q_1=0。 圖5-2分頻模塊電路符號(hào)圖分頻模塊的主要源代碼如下: if start=39。 圖51出租車計(jì)費(fèi)器組成方框圖1)秒分頻的對(duì)頻率為100Hz的輸入脈沖進(jìn)行分頻,得到頻率為1Hz的頻率。對(duì)計(jì)程車的工作狀態(tài)進(jìn)行具體的定義。如圖51所示,主要分為四個(gè)模塊。一方面實(shí)現(xiàn)基本功能時(shí),包括在行程中滿足3公里以內(nèi)計(jì)起步價(jià) 10 元。2)方案二將所有器件集成在一塊芯片上,體積大大減小的同時(shí)還提高了穩(wěn)定性,且可應(yīng)用EDA軟件仿真,調(diào)試,易于進(jìn)行功能擴(kuò)展,外圍電路較少,采用硬件邏輯電路實(shí)現(xiàn),其最大的優(yōu)點(diǎn)是穩(wěn)定性好,抗干擾能力強(qiáng),非常適合作為計(jì)程車的計(jì)價(jià)器系統(tǒng)的控制核心。計(jì)費(fèi)數(shù)據(jù)送入譯碼顯示模塊譯碼,最后送至以百元,十元,元,角為單位對(duì)應(yīng)的數(shù)碼管上顯示。1)分頻模塊:分頻模塊是對(duì)系統(tǒng)時(shí)鐘進(jìn)行分頻以得到低頻系號(hào)。6)鍵盤(pán)服務(wù)程序鍵盤(pán)采用查詢的方式,放在主程序中,當(dāng)沒(méi)有按鍵按下的時(shí)候,單片機(jī)循環(huán)主程序,一旦右按鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。在該程序中,需要完成當(dāng)前行駛里程數(shù)和總額的累加操作,并將結(jié)果存入里程和總額寄存器中。另外,在主程序模塊中還需要設(shè)置啟動(dòng)/清除標(biāo)志寄存器、里程寄存器和價(jià)格寄存器,并對(duì)它們進(jìn)行初始化。4)利用單片機(jī)豐富的IO端口,實(shí)現(xiàn)基本的里程計(jì)價(jià)功能和價(jià)格調(diào)節(jié)、時(shí)鐘顯示功能。4 設(shè)計(jì)方案的簡(jiǎn)介及比較當(dāng)今國(guó)內(nèi)外出租車計(jì)價(jià)器的設(shè)計(jì)方式主要有兩種,一種是基于單片機(jī)的出租車計(jì)價(jià)器的設(shè)計(jì),另一種是基于FPGA的出租車計(jì)價(jià)器的設(shè)計(jì)。6)硬件描述語(yǔ)言(HDL)MAX+PLUS II軟件支持各種HDL設(shè)計(jì)輸入選項(xiàng),包括VHDL、Verilog HDL和Altera自己的硬件描述語(yǔ)言AHDL。4)豐富的設(shè)計(jì)庫(kù)MAX+PLUSII提供豐富的庫(kù)單元供設(shè)計(jì)者調(diào)用,其中包括74系列的全部器件和多種特殊的邏輯宏功能(Macro—Function)以及新型的參數(shù)化的兆功能(Mage—function)。2)多平臺(tái)MAX+PLUSII軟件可基于48奔騰PC機(jī)的WINDOWS NT 3。特別是在原理圖輸入等方面,Maxplus2被公認(rèn)為是最易使用,人機(jī)界面最友善的PLD開(kāi)發(fā)軟件。設(shè)計(jì)者可以用自己熟悉的設(shè)計(jì)工具(如原理圖輸入或硬件描述語(yǔ)言)建立設(shè)計(jì),MAX+PLUSII把這些設(shè)計(jì)轉(zhuǎn)自動(dòng)換成最終所需的格式。用戶可以通過(guò)編程決定每個(gè)單元的功能以及它們的互連關(guān)系,從而實(shí)現(xiàn)所需的邏輯功能。目前生產(chǎn)FPGA的公司主要有Xilinx、Altera、Actel、Lattice、QuickLogic等生產(chǎn)的FPGA品種和型號(hào)繁多。這是該公司第三代的基于Flash的可編程邏輯方案。6)編程下載:確認(rèn)仿真無(wú)誤后,將文件下載到芯片中。3)邏輯綜合:將源文件調(diào)入邏輯綜合軟件進(jìn)行綜合,即把語(yǔ)言綜合成最簡(jiǎn)的布爾表達(dá)式和信號(hào)的連接關(guān)系。隨著EDA技術(shù)的發(fā)展,使用硬件語(yǔ)言設(shè)計(jì)FPGA成為一種趨勢(shì)。除了含有許多具有硬件特征的語(yǔ)句外,VHDL的語(yǔ)言形式和描述風(fēng)格與句法十分類似于一般的計(jì)算機(jī)高級(jí)語(yǔ)言。第4章介紹了當(dāng)前兩種主要出租車設(shè)計(jì)方案和這兩種方案的比較。同時(shí)由于FPGA的功能完全取決于VHDL語(yǔ)言編寫(xiě)的程序,不拘泥于某種芯片的特殊指令,更加提高了產(chǎn)品的更新?lián)Q代能力。 考慮到目前出租車行業(yè)迅猛發(fā)展的趨勢(shì)以及對(duì)計(jì)費(fèi)器更高的靈活性要求,本設(shè)計(jì)希望嘗試一些新的方法來(lái)予以解決以上問(wèn)題。這些都暴露了傳統(tǒng)計(jì)費(fèi)器在靈活性和升級(jí)換代能力的不足。因此計(jì)程車計(jì)價(jià)器也就應(yīng)運(yùn)而生了。MAX+PLUSSII。 Based on the design of microcontroller and FPGAbased design。即通過(guò)顯示模塊顯示出租車所行駛的路程,出租車等待的時(shí)間和出租車分別在等待過(guò)程中的費(fèi)用和行駛過(guò)程中的費(fèi)用。因此計(jì)程車計(jì)價(jià)器也就應(yīng)運(yùn)而生了。華東交通大學(xué)畢設(shè)計(jì)基于FPGA的出租車計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)摘要隨著我國(guó)市場(chǎng)經(jīng)濟(jì)的發(fā)展,交通也越來(lái)越便利,特別是計(jì)程車,以快捷、方便的特點(diǎn)早已盛行各個(gè)城市,成為城市交通的重要工具。本文分析了當(dāng)前國(guó)內(nèi)外出租車計(jì)費(fèi)系統(tǒng)的基本組成和工作原理及主要的兩種設(shè)計(jì)方式:基于單片機(jī)的設(shè)計(jì)方式和基于FPGA的設(shè)計(jì)方式;并對(duì)這兩種實(shí)現(xiàn)方式的優(yōu)點(diǎn)和缺點(diǎn)進(jìn)行分析,比較后確定本系統(tǒng)的方案:基于FPGA的出租車計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)。關(guān)鍵字:CPLD/FPGA;VHDL語(yǔ)言;MAXPLUS II;出租車;計(jì)費(fèi)器Design of taxi meter Based on FPGAAbstractAs China39。 and both the strengths and the ways Shortings of the analysis,parison of the system established after the programme: FPGAbased billing system for taxis.In this design mainly through the VHDL language programming billing systems of the four function blocks:the frequency modules, control module, the measurement modules and decoding modules, the final use of MAX + PLUSII software to simulate the procedures to Simulation of the realization of a taxi start, stop and wait in the course of time, and so on, includingand billing functions。 Taxi;Meters目錄1緒論 5 5 5 5 62 VHDL和FPGA的簡(jiǎn)介 7 VHDL的介紹 7 FPGA的介紹 73 Max+plusII平臺(tái)簡(jiǎn)介 9 9 Max+plusII的特點(diǎn) 94 設(shè)計(jì)方案的簡(jiǎn)介及比較 11 11 11 12 12 13 135 出租車計(jì)費(fèi)系統(tǒng)的設(shè)計(jì) 14 14 14 14 15 15 16 17 21 23 24 24結(jié)束語(yǔ) 25謝辭 26參考文獻(xiàn) 27附錄A 28附錄B 33附錄C 361緒論隨著我國(guó)市場(chǎng)經(jīng)濟(jì)的發(fā)展,交通也越來(lái)越便利,特別是計(jì)程車,以快捷、方便的特點(diǎn)早已盛行各個(gè)城市,成為城市交通的重要工具。目前市場(chǎng)上使用的出租車計(jì)費(fèi)器主要采用的都是利用MCU如89C51單片機(jī)實(shí)現(xiàn)的計(jì)費(fèi)器設(shè)計(jì),顯示方式上主要采用的是固定顯示內(nèi)容的LED顯示。傳統(tǒng)計(jì)費(fèi)器的不足可以體現(xiàn)在以下幾點(diǎn):1)品更新周期長(zhǎng)傳統(tǒng)計(jì)費(fèi)器利用MCU如89C51單片機(jī)實(shí)現(xiàn)汽車計(jì)費(fèi)器的設(shè)計(jì),大部分的功能可以用單片機(jī)來(lái)實(shí)現(xiàn)。1)利用FPGA取代MCU隨著FPGA等數(shù)字可編程器件的出現(xiàn)解決傳統(tǒng)電子設(shè)計(jì)不能完成的任務(wù),利用FPGA來(lái)實(shí)現(xiàn)出租車計(jì)費(fèi)器。2)增加計(jì)價(jià)標(biāo)準(zhǔn)設(shè)定功能通過(guò)設(shè)計(jì)此功能模塊可以使得計(jì)價(jià)標(biāo)準(zhǔn)設(shè)計(jì)更加靈活,體現(xiàn)目前出租車行業(yè)發(fā)展的需要,使運(yùn)價(jià)、油價(jià)聯(lián)動(dòng)成為可能。第5章是對(duì)基于FPGA設(shè)計(jì)方案的詳細(xì)設(shè)計(jì)。VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可以是一個(gè)元件、一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱可視部分,即端口)和內(nèi)部(或稱不可視部分),即設(shè)計(jì)實(shí)體的內(nèi)部功能和算法完成部分。借用MAXPLUSII或QuartusII等軟件用VHDL語(yǔ)言開(kāi)發(fā)FPGA的完整流程為:1)文本編輯:用任何文本編輯器都可以進(jìn)行,也可以用專用的HDL編輯環(huán)境。(edif)的EDA工業(yè)標(biāo)準(zhǔn)文件。.sof文件用于直接下載到芯片(掉電后會(huì)消失),.pof文件用于rom芯片下載(掉電后不消失)。這些新的SIC3最低價(jià)將達(dá)到1。盡管這些FPGA的具體結(jié)構(gòu)和性能指標(biāo)各有特色,但它們都有一個(gè)共同之處,即由邏輯功能塊排成陣列,并由可編程的互連資源連接這些邏輯功能塊,從而實(shí)現(xiàn)不同的設(shè)計(jì)。不同廠家或不同型號(hào)的FPGA,在可編程邏輯塊的內(nèi)部結(jié)構(gòu)、規(guī)模、內(nèi)部互連的結(jié)構(gòu)等方面經(jīng)常存在較大的差異。其設(shè)計(jì)速度非???。 Max+plusII的特點(diǎn)1)開(kāi)放的界面Altera的工作與EDA廠家緊密結(jié)合,使MAX+PLUSII軟件可與其它工業(yè)標(biāo)準(zhǔn)的設(shè)計(jì)輸入.綜合與校驗(yàn)工具相連接。51或4。調(diào)用庫(kù)單元進(jìn)行設(shè)計(jì),可以大大減輕設(shè)計(jì)人員的工作量,也可成倍地縮短設(shè)計(jì)周期。7)Megacore功能Megacore功能是為復(fù)雜的系統(tǒng)級(jí)功能提供的,經(jīng)過(guò)校驗(yàn)的HDL網(wǎng)表文件,它能使FLEX 10K、FLEX 8000、FLEX 6000、MAX 9000和MAX 7000器件系列實(shí)現(xiàn)最優(yōu)化的設(shè)計(jì)。1)鍵盤(pán)控制功能是啟動(dòng)出租車計(jì)價(jià)器,改變出租車計(jì)價(jià)器的狀態(tài)如運(yùn)行、等待計(jì)時(shí)、不同計(jì)費(fèi)模式的切換。5)用單片機(jī)實(shí)現(xiàn)出租車計(jì)價(jià)器的開(kāi)發(fā)。然后,主程序?qū)⒏鶕?jù)各標(biāo)志寄存器的內(nèi)容,分別完成啟動(dòng)、清除、計(jì)程和計(jì)價(jià)等不同的操作。4)中途等待中斷服務(wù)程序當(dāng)在計(jì)數(shù)狀態(tài)下霍爾開(kāi)關(guān)沒(méi)有輸出信號(hào),片內(nèi)的T1 定時(shí)器便被啟動(dòng),每當(dāng)計(jì)時(shí)到達(dá)10分鐘,就對(duì)當(dāng)前金額加上中途等待的單價(jià),以后每十分鐘都自動(dòng)加上中途等待的單價(jià)?;贔PGA的出租車計(jì)費(fèi)是外部輸入模塊,控制模塊和顯示模塊三部分組成。2)控制模塊:控制模塊主要是完成對(duì)計(jì)費(fèi)器狀態(tài)的控制。計(jì)時(shí)數(shù)據(jù)送入譯碼顯示模塊進(jìn)行譯碼,最后送至以分為單位對(duì)應(yīng)的數(shù)碼管上顯示。從以上兩種方案的比較可以看出基于FPGA的設(shè)計(jì)方案要優(yōu)于基于單片機(jī)的設(shè)計(jì)方案基于FPGA的設(shè)計(jì)方案穩(wěn)定性更強(qiáng)且相對(duì)于單片機(jī)的設(shè)計(jì)方案來(lái)說(shuō)它更易于將來(lái)進(jìn)行功能擴(kuò)展。處于等待的狀態(tài)下滿足2分鐘以內(nèi)計(jì)2元。分別為:秒分頻模塊、控制模塊、計(jì)量模塊和譯碼顯示模塊。計(jì)量模塊也是系統(tǒng)中一個(gè)十分重要的模塊,它分為三個(gè)部分,分別為計(jì)價(jià)部分、計(jì)時(shí)部分和計(jì)程部分,是出租車計(jì)費(fèi)系統(tǒng)多功能實(shí)現(xiàn)的保證。分頻模塊的電路符號(hào)圖如下圖5-2所示。039。 else if Q_1=99 then 此IF語(yǔ)句是得到頻率為1Hz的頻率信號(hào)和1公里脈沖 Q_1=0。 F_1=39。2)秒分頻模塊的波形仿真圖如下圖5-3所示:從圖中可以看到當(dāng)Q_1計(jì)數(shù)達(dá)到99的時(shí)候那么f_1就產(chǎn)生一個(gè)1公里脈沖信號(hào)。控制模塊的電路符號(hào)圖如下圖5-4所示:從圖中可以看到控制模塊有3個(gè)輸入端口即clk時(shí)鐘信號(hào),start計(jì)價(jià)使能信號(hào)和stop等待信號(hào)。039。039。k000000011 then 此IF語(yǔ)句得到en0使能信號(hào) en0=39。 end if。039。 else en1=39。2)控制模塊的波形仿真圖如下圖5-5所示:從仿真圖中可以看出輸出信號(hào)e0和e1的為輸出信號(hào)(當(dāng)en0=1時(shí)說(shuō)明出租車行駛超過(guò)了3公里,當(dāng)en1=)。1)計(jì)價(jià)部分:,然后再把計(jì)算出來(lái)的數(shù)分別以百元,十元,元,角的單位表示出來(lái),送去顯示譯碼模塊。then 說(shuō)明超過(guò)了三公里; if(c191)then 加到19角就說(shuō)明車子行駛了1公里; c19:=c19+1。 elsif(en1=39。 if(c15=1) then temp1=m0。圖5-8計(jì)價(jià)部分的波形仿真圖2)計(jì)時(shí)部分:是對(duì)乘客的乘車時(shí)間進(jìn)行計(jì)時(shí)(包括等待的時(shí)間和行進(jìn)的時(shí)間),分別以秒和分的形式送去顯示譯碼模塊,到59分時(shí)自動(dòng)歸零。 else m1=m1+1。 else w=w+1。同樣也送入譯碼顯示模塊。 then k1=0000。then if k0=1001 then k0=0000。 else k0=k0+1。通過(guò)譯碼顯示模塊,人們才能得到想要的信息。通過(guò)對(duì)輸入模塊的選擇信號(hào)判斷,而顯示計(jì)程車運(yùn)行的狀態(tài),比如說(shuō)計(jì)價(jià)多少、走了多長(zhǎng)時(shí)間、走了多少路程等。139。min0=0000。cha2=0000。039。 km1=k1。cha1=c1。 (2)譯碼顯示部分的仿真圖如下圖5-16所示:圖516譯碼輸