【正文】
華東交通大學(xué)畢設(shè)計(jì)基于FPGA的出租車(chē)計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)摘要隨著我國(guó)市場(chǎng)經(jīng)濟(jì)的發(fā)展,交通也越來(lái)越便利,特別是計(jì)程車(chē),以快捷、方便的特點(diǎn)早已盛行各個(gè)城市,成為城市交通的重要工具。計(jì)程車(chē)市場(chǎng)從90年代初的起步階段到現(xiàn)在已經(jīng)進(jìn)入了高峰期。隨著城市化水平的提高和人民生活水平的改善,計(jì)程車(chē)的服務(wù)也就顯得越來(lái)越重要。因此計(jì)程車(chē)計(jì)價(jià)器也就應(yīng)運(yùn)而生了。本文分析了當(dāng)前國(guó)內(nèi)外出租車(chē)計(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的出租車(chē)計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)。在本設(shè)計(jì)中主要是通過(guò)VHDL語(yǔ)言來(lái)編程實(shí)現(xiàn)計(jì)費(fèi)系統(tǒng)的四個(gè)功能塊:分頻模塊,控制模塊,計(jì)量模塊和譯碼顯示模塊,最后使用MAX+PLUSII軟件來(lái)對(duì)程序進(jìn)行仿真,以模擬實(shí)現(xiàn)出租車(chē)的啟動(dòng),停止以及等待等過(guò)程中的計(jì)時(shí),計(jì)程和計(jì)費(fèi)功能。并將各功能模塊的結(jié)果通過(guò)動(dòng)態(tài)譯碼掃描模塊輸出到顯示模塊進(jìn)行顯示。即通過(guò)顯示模塊顯示出租車(chē)所行駛的路程,出租車(chē)等待的時(shí)間和出租車(chē)分別在等待過(guò)程中的費(fèi)用和行駛過(guò)程中的費(fèi)用。關(guān)鍵字:CPLD/FPGA;VHDL語(yǔ)言;MAXPLUS II;出租車(chē);計(jì)費(fèi)器Design of taxi meter Based on FPGAAbstractAs China39。s market economy develops,more and more convenient transport,particularly taxis, to fast, convenient features have long been popular in various cities and bee an important tool for urban traffic. Taxi market in the early 1990s,the initial stage up to now has entered a peak period. With the level of urbanization and the improvement of people39。s living standards improve, taxi services will bee increasingly important. Taxi meter therefore it has emerged.This paper analyses the current domestic and foreign taxi billing system and the basic working principle and the two main design。 Based on the design of microcontroller and FPGAbased design。 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。And the results of the functional modules through dynamic decoding scanning module output to display module to display it. Through the display module Taxis By the travelling distance, a taxi waiting for the time and were waiting for a taxi in the process of moving costs and fees in the process.Keywords:CPLD/FPGA。VHDL。MAX+PLUSSII。 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 出租車(chē)計(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ì)程車(chē),以快捷、方便的特點(diǎn)早已盛行各個(gè)城市,成為城市交通的重要工具。計(jì)程車(chē)市場(chǎng)從90年代初的起步階段到現(xiàn)在已經(jīng)進(jìn)入了高峰期。隨著城市化水平的提高和人民生活水平的改善,計(jì)程車(chē)的服務(wù)也就顯得越來(lái)越重要。因此計(jì)程車(chē)計(jì)價(jià)器也就應(yīng)運(yùn)而生了。目前市場(chǎng)上使用的出租車(chē)計(jì)費(fèi)器主要采用的都是利用MCU如89C51單片機(jī)實(shí)現(xiàn)的計(jì)費(fèi)器設(shè)計(jì),顯示方式上主要采用的是固定顯示內(nèi)容的LED顯示。 傳統(tǒng)的出租車(chē)計(jì)費(fèi)器由于發(fā)展使用了十幾年,在穩(wěn)定性、成本、以及使用習(xí)慣上都具有一些優(yōu)勢(shì),但是隨著出租車(chē)價(jià)格市場(chǎng)化,我國(guó)加入WTO以來(lái)主導(dǎo)出租車(chē)行業(yè)成本的許多因素主要包括油價(jià)的波動(dòng),都對(duì)傳統(tǒng)的出租車(chē)計(jì)費(fèi)器提出了更高的要求。近一年來(lái),各大城市都在對(duì)出租車(chē)價(jià)格進(jìn)行調(diào)整,由于數(shù)量太多,很多城市的調(diào)價(jià)甚至需要一個(gè)月的時(shí)間才能完成,經(jīng)常會(huì)同一時(shí)間出現(xiàn)幾個(gè)價(jià)格,有的城市的出租車(chē)上還會(huì)出現(xiàn)司機(jī)人工計(jì)價(jià)的尷尬情形。這些都暴露了傳統(tǒng)計(jì)費(fèi)器在靈活性和升級(jí)換代能力的不足。傳統(tǒng)計(jì)費(fèi)器的不足可以體現(xiàn)在以下幾點(diǎn):1)品更新周期長(zhǎng)傳統(tǒng)計(jì)費(fèi)器利用MCU如89C51單片機(jī)實(shí)現(xiàn)汽車(chē)計(jì)費(fèi)器的設(shè)計(jì),大部分的功能可以用單片機(jī)來(lái)實(shí)現(xiàn)。但是單片機(jī)程序是不通用的,不同的芯片有不同的指令集,因此設(shè)計(jì)研發(fā)比較困難,周期長(zhǎng),如果系統(tǒng)設(shè)計(jì)的不好,則系統(tǒng)不是很穩(wěn)定,而且靈活度不夠,不易實(shí)現(xiàn)功能復(fù)雜的設(shè)計(jì)。2)計(jì)價(jià)方式的不靈活每次計(jì)價(jià)標(biāo)準(zhǔn)的修改都需要將芯片從新燒錄,使得每次調(diào)價(jià)都需要耗費(fèi)大量的人力物力,很難達(dá)到目前油價(jià)聯(lián)動(dòng)的需求。 考慮到目前出租車(chē)行業(yè)迅猛發(fā)展的趨勢(shì)以及對(duì)計(jì)費(fèi)器更高的靈活性要求,本設(shè)計(jì)希望嘗試一些新的方法來(lái)予以解決以上問(wèn)題。1)利用FPGA取代MCU隨著FPGA等數(shù)字可編程器件的出現(xiàn)解決傳統(tǒng)電子設(shè)計(jì)不能完成的任務(wù),利用FPGA來(lái)實(shí)現(xiàn)出租車(chē)計(jì)費(fèi)器。可行性很高,而且電路簡(jiǎn)單,大大減少外圍器件,可以用軟件完全仿真,靈活度高,可以設(shè)計(jì)一些復(fù)雜的系統(tǒng),而且編好的系統(tǒng)可以在不同的FPGA或CPLD芯片上通用。FPGA能完成任何數(shù)字器件的功能,使用FPGA來(lái)開(kāi)發(fā)數(shù)字電路,可以大大縮短設(shè)計(jì)時(shí)間,減少PCB面積,提高系統(tǒng)的可靠性。同時(shí)由于FPGA的功能完全取決于VHDL語(yǔ)言編寫(xiě)的程序,不拘泥于某種芯片的特殊指令,更加提高了產(chǎn)品的更新?lián)Q代能力。2)增加計(jì)價(jià)標(biāo)準(zhǔn)設(shè)定功能通過(guò)設(shè)計(jì)此功能模塊可以使得計(jì)價(jià)標(biāo)準(zhǔn)設(shè)計(jì)更加靈活,體現(xiàn)目前出租車(chē)行業(yè)發(fā)展的需要,使運(yùn)價(jià)、油價(jià)聯(lián)動(dòng)成為可能。本文在第2章介紹了VHDL語(yǔ)言的特點(diǎn)和FPGA的基本原理。第3章主要是對(duì)MAX+PLUSII進(jìn)行了簡(jiǎn)要的介紹。第4章介紹了當(dāng)前兩種主要出租車(chē)設(shè)計(jì)方案和這兩種方案的比較。第5章是對(duì)基于FPGA設(shè)計(jì)方案的詳細(xì)設(shè)計(jì)。2 VHDL和FPGA的簡(jiǎn)介 VHDL的介紹VHDL的英文全名是Vry_High_Speed Integrated Circuit Hardware DescriptionLanguage,被認(rèn)為是標(biāo)準(zhǔn)硬件描述語(yǔ)言,有專(zhuān)家認(rèn)為,在新世紀(jì)中,VHDL與Verilog HDL語(yǔ)言將承擔(dān)起幾乎全部的數(shù)字系統(tǒng)設(shè)計(jì)任務(wù)。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口。除了含有許多具有硬件特征的語(yǔ)句外,VHDL的語(yǔ)言形式和描述風(fēng)格與句法十分類(lèi)似于一般的計(jì)算機(jī)高級(jí)語(yǔ)言。VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱(chēng)設(shè)計(jì)實(shí)體(可以是一個(gè)元件、一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱(chēng)可視部分,即端口)和內(nèi)部(或稱(chēng)不可視部分),即設(shè)計(jì)實(shí)體的內(nèi)部功能和算法完成部分。在對(duì)一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,一旦內(nèi)部開(kāi)發(fā)完成后,其他的設(shè)計(jì)可以直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計(jì)的基本點(diǎn)。隨著EDA技術(shù)的發(fā)展,使用硬件語(yǔ)言設(shè)計(jì)FPGA成為一種趨勢(shì)。借用MAXPLUSII或QuartusII等軟件用VHDL語(yǔ)言開(kāi)發(fā)FPGA的完整流程為:1)文本編輯:用任何文本編輯器都可以進(jìn)行,也可以用專(zhuān)用的HDL編輯環(huán)境。2)功能仿真:將文件調(diào)入HDL仿真軟件進(jìn)行功能仿真,檢查邏輯功能是否正確也叫前仿真,對(duì)簡(jiǎn)單的設(shè)計(jì)可以跳過(guò)這一步,只在布線完成以后,進(jìn)行時(shí)序仿真)。3)邏輯綜合:將源文件調(diào)入邏輯綜合軟件進(jìn)行綜合,即把語(yǔ)言綜合成最簡(jiǎn)的布爾表達(dá)式和信號(hào)的連接關(guān)系。(edif)的EDA工業(yè)標(biāo)準(zhǔn)文件。4)布局布線:將edf文件調(diào)入PLD廠家提供的軟件中進(jìn)行布線,即把設(shè)計(jì)好的邏輯安放到PLD/FPGA內(nèi)。5)時(shí)序仿真:需要利用在布局布線中獲得的精確參數(shù),用仿真軟件驗(yàn)證電路的時(shí)序(也叫后仿真)。6)編程下載:確認(rèn)仿真無(wú)誤后,將文件下載到芯片中。.sof文件用于直接下載到芯片(掉電后會(huì)消失),.pof文件用于rom芯片下載(掉電后不消失)。 FPGA的介紹FPGA是現(xiàn)場(chǎng)可編程門(mén)陣列(Field Programable Gate Array)的簡(jiǎn)稱(chēng),F(xiàn)PGA是電子設(shè)計(jì)領(lǐng)域中最具活力和發(fā)展前途的一項(xiàng)技術(shù),它的影響絲毫不亞于70年代單片機(jī)的發(fā)明和使用。actel公司于2005年1月24日在美國(guó)加利福尼亞總部發(fā)布了它的ProASIC3和ProASIC3E系列的FPGA。這是該公司第三代的基于Flash的可編程邏輯方案。這些新的SIC3最低價(jià)將達(dá)到1。5美元,代表了全球最低成本的FPGA,并且相對(duì)于基于SRAM的FPGA來(lái)說(shuō)具有保密的優(yōu)勢(shì)。基于Flash的FPGA可以提供加密、低功耗、上電工作、可重復(fù)編程的方案。目前生產(chǎn)FPGA的公司主要有Xilinx、Altera、Actel、Lattice、QuickLogic等生產(chǎn)的FPGA品種和型號(hào)繁多。盡管這些FPGA的具體結(jié)構(gòu)和性能指標(biāo)各有特色,但它們都有一個(gè)共同之處,即由邏輯功能塊排成陣列,并由可編程的互連資源連接這些邏輯功能塊,從而實(shí)現(xiàn)不同的設(shè)計(jì)。典型的FPGA通常包含三類(lèi)基本資源:可編程邏輯功能塊、可編程輸入/輸出塊和可編程互連資源??删幊踢壿嫻δ軌K是實(shí)現(xiàn)用戶(hù)功能的基本單元,多個(gè)邏輯功能塊通常規(guī)則地排成一個(gè)陣列結(jié)構(gòu),分布于整個(gè)芯片;可編程輸入/輸出塊完成芯片內(nèi)部邏輯與外部管腳之間的接口,圍繞在邏輯單元陣列四周;可編程內(nèi)部互連資源包括各種長(zhǎng)度的連線線段和一些可編程連接開(kāi)關(guān),它們將各個(gè)可編程邏輯塊或輸入/輸出塊連接起來(lái),構(gòu)成特定功能的電路。用戶(hù)可以通過(guò)編程決定每個(gè)單元的功能以及它們的互連關(guān)系,從而實(shí)現(xiàn)所需的邏輯功能。不同廠家或不同型號(hào)的FPGA,在可編程邏輯塊的內(nèi)部結(jié)構(gòu)、規(guī)模、內(nèi)部互連的結(jié)構(gòu)等方面經(jīng)常存在較大的差異。3 Max+plusII平臺(tái)簡(jiǎn)介Max+plusII是Altera公司推出的第三代PLD開(kāi)發(fā)系統(tǒng)(Altera第四代PLD開(kāi)發(fā)系統(tǒng)被稱(chēng)為:QuartusII,主要用于設(shè)計(jì)新器件和大規(guī)模CPLDFPGA)。使用MAX+PLUSII的設(shè)計(jì)者不需精通器件內(nèi)部的復(fù)雜結(jié)構(gòu)。設(shè)計(jì)者可以用自己熟悉的設(shè)計(jì)工具(如原理圖輸入或硬件描述語(yǔ)言)建立設(shè)計(jì),MAX+PLUSII把這些設(shè)計(jì)轉(zhuǎn)自動(dòng)換成最終所需的格式。其設(shè)計(jì)速度非常快。對(duì)于一般幾千門(mén)的電路設(shè)計(jì),使用MAX+PLUSII,從設(shè)計(jì)輸入到器件編程完畢,用戶(hù)拿到設(shè)計(jì)好的邏輯電路,大約只需幾小時(shí)。設(shè)計(jì)處理一般在數(shù)分鐘內(nèi)完成。特別是在原理圖輸入等方面,Maxplus2被公認(rèn)為是最易使用,人機(jī)界面最友善的PLD開(kāi)發(fā)軟件。 Max+plusII的特點(diǎn)1)開(kāi)放的界面Altera的工作與EDA廠家緊密結(jié)合,使MAX+PLUSII軟件可與其它工業(yè)標(biāo)準(zhǔn)的設(shè)計(jì)輸入.綜合與校驗(yàn)工具相連接。設(shè)計(jì)人員可以使用Altera或標(biāo)準(zhǔn)EDA設(shè)計(jì)輸入工具來(lái)建立邏輯設(shè)計(jì),使用MAX+PLUSII編譯器(Compiler)對(duì)Altera器件設(shè)計(jì)進(jìn)行編譯,并使用Altera或其它EDA校驗(yàn)工具進(jìn)行器件或板級(jí)仿真。目前,MAX+PLUSII支持與Cadence、Exemplarlogic、Mentor Graphics、Synopsys、Synplicity、Viewlogic和其它公司的EDA工具的接口。2)多平臺(tái)