![基于FPGA的出租車計(jì)費(fèi)器的設(shè)計(jì)畢業(yè)論文_第1頁](http://file1.renrendoc.com/fileroot_temp2/2021-2/27/790be8cd-9a5e-42a0-b378-d0e7dfca9758/790be8cd-9a5e-42a0-b378-d0e7dfca97581.gif)
![基于FPGA的出租車計(jì)費(fèi)器的設(shè)計(jì)畢業(yè)論文_第2頁](http://file1.renrendoc.com/fileroot_temp2/2021-2/27/790be8cd-9a5e-42a0-b378-d0e7dfca9758/790be8cd-9a5e-42a0-b378-d0e7dfca97582.gif)
![基于FPGA的出租車計(jì)費(fèi)器的設(shè)計(jì)畢業(yè)論文_第3頁](http://file1.renrendoc.com/fileroot_temp2/2021-2/27/790be8cd-9a5e-42a0-b378-d0e7dfca9758/790be8cd-9a5e-42a0-b378-d0e7dfca97583.gif)
![基于FPGA的出租車計(jì)費(fèi)器的設(shè)計(jì)畢業(yè)論文_第4頁](http://file1.renrendoc.com/fileroot_temp2/2021-2/27/790be8cd-9a5e-42a0-b378-d0e7dfca9758/790be8cd-9a5e-42a0-b378-d0e7dfca97584.gif)
![基于FPGA的出租車計(jì)費(fèi)器的設(shè)計(jì)畢業(yè)論文_第5頁](http://file1.renrendoc.com/fileroot_temp2/2021-2/27/790be8cd-9a5e-42a0-b378-d0e7dfca9758/790be8cd-9a5e-42a0-b378-d0e7dfca97585.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、大連海事大學(xué)畢業(yè)論文二0四年六月基于FPGA的出租車計(jì)費(fèi)器的設(shè)計(jì)專業(yè)班級(jí): 電子信息工程 3班姓 名:李寧指導(dǎo)老師:嚴(yán)飛信息科學(xué)技術(shù)學(xué)院摘要隨著 EDA 技術(shù)的日益成熟的發(fā)展趨勢(shì), 與電子設(shè)計(jì)相關(guān)的設(shè)計(jì)技術(shù)與開發(fā) 平臺(tái)等也都有了迅猛的發(fā)展。 可編程邏輯器件 CPLD/FPGA 的快速發(fā)展與深入應(yīng) 用也為設(shè)計(jì)人員提供了很大的便利。 本文主要介紹一種基于 FPGA 芯片的出租車 計(jì)費(fèi)器的設(shè)計(jì)方法,對(duì)該設(shè)計(jì)方法的研究意義和應(yīng)用價(jià)值進(jìn)行了闡述,描述了 FPGA 芯片的發(fā)展歷史和主要應(yīng)用,介紹了 VHDL (硬件描述語言)的主要功能 和算法設(shè)計(jì)思想及設(shè)計(jì)流程。本次設(shè)計(jì)高效利用 FPGA 設(shè)計(jì)方法的多變性
2、和可編程性等優(yōu)勢(shì), 有效的縮短 研發(fā)周期,設(shè)計(jì)出體積小、功能強(qiáng)的出租車計(jì)費(fèi)系統(tǒng)。能夠根據(jù)需求簡(jiǎn)便、快捷 地調(diào)整出租車計(jì)費(fèi)價(jià)格,并且防止作弊現(xiàn)象等問題的產(chǎn)生。該出租車計(jì)費(fèi)器主要包含五大模塊: 分頻模塊向各模塊提供驅(qū)動(dòng)信號(hào); 計(jì)量 模塊完成等待時(shí)間和所行駛路程數(shù)據(jù)的統(tǒng)計(jì); 計(jì)費(fèi)方式選擇模塊是對(duì)汽車行駛過 程不同計(jì)價(jià)狀態(tài)進(jìn)行判斷輸出; 計(jì)費(fèi)模塊完成總費(fèi)用統(tǒng)計(jì)計(jì)算; 動(dòng)態(tài)掃描模塊最 后將累計(jì)等待計(jì)費(fèi)時(shí)間、行駛路程以及計(jì)費(fèi)總數(shù)等實(shí)時(shí)顯示出來。本次設(shè)計(jì)采用VHDL硬件描述語言編寫計(jì)費(fèi)器的系統(tǒng)程序, Quarters軟件 作為開發(fā)平臺(tái), 對(duì)程序進(jìn)行了仿真, 最后將生成的目標(biāo)文件下載到教學(xué)實(shí)驗(yàn)儀器 ZY11E
3、DA13B 的 FPGA 芯片中,完成了相應(yīng)的硬件測(cè)試和驗(yàn)證,證明了出租車 計(jì)費(fèi)系統(tǒng)的可行性。關(guān)鍵詞:EDA; FPGA;出租車計(jì)費(fèi)器;VHDL;Quarters II4ABSTRACTWith the growing maturity of the development trend of EDA technology, and the technologies and the design of the platform which related to the electronic design , also have a very rapid development.The fast
4、development of Programmable logic device and in deepth application also offers a great convenience to designers. This Paper introduces a method for FPGA chip to design a taxi billing system and describes the significance and value of the design methods , describes the history and development of FPGA
5、 chip main application , introduces VHDL ( hardware description language ) main function and algorithm design and design processes.Efficient use of FPGA design method variability and programmability advantagescould effectively shorten the development cycle, and design a small but powerful taxi billi
6、ng system. According to effectively address the needs of simple , it can quick adjust taxi meter rates to prevent cheating and other issues.The taxi meter mainly includes five modules: the divide module module provides drive signal to other module; the metering module works to statistical date about
7、 the wait1ing time and the distance traveled; the control module is used to judge output of the cars with different pricing status; the billing module caculate statistical of the total cost; finally the dynamic scanning module billing will display the wait1 time, total distance traveled and billing
8、in real time.The billing system program is designed by the VHDL hardware description Ianguage. Quarters n software as a development platform to simulate the program .Finally the generated file is downloaded to the teaching laboratory instruments ZY11EDA13B FPGA chip,finish to test and validate the h
9、ardware ,and prove the taxi billing system is feasible.Keywords: EDA ;FPGA ; TAXI ;VHDL ;Quarters n目錄第 1 章 緒論 1.1.1 課題研究的背景及意義 1.1.2 出租車計(jì)費(fèi)器的發(fā)展現(xiàn)狀 1.1.3 課題研究的內(nèi)容及方法 2.1.4 本章小結(jié) 2.第 2 章 相關(guān)設(shè)計(jì)工具介紹 3.2.1 EDA 技術(shù)簡(jiǎn)介 3.2.1.1 EDA 的歷史背景 3.2.1.2 EDA 的發(fā)展現(xiàn)狀 3.2.1.3 EDA 的技術(shù)特點(diǎn) 3.2.2 FPGA 簡(jiǎn)介 4.2.2.1 FPGA 的結(jié)構(gòu) 4.2.2.2 FP
10、GA 的開發(fā)流程圖 5.2.3 VHDL 簡(jiǎn)介 5.2.3.1 VHDL 的發(fā)展歷史 6.2.3.2 VHDL 的優(yōu)勢(shì)特點(diǎn) 6.2.3.3 VHDL 的開發(fā)流程 7.2.4 QuartusII 簡(jiǎn)介及開發(fā)流程 7.2.5 本章小結(jié) 8.第 3 章 課題原理及各模塊的設(shè)計(jì)說明 9.3.1 課題設(shè)計(jì)原理 9.3.2 分頻模塊 1.2.3.2.1 分頻模塊的功能描述 1.23.2.2 分頻模塊的仿真波形圖 1.23.2.3 分頻模塊器件圖 1.23.3 計(jì)量模塊 1.3.3.3.1 計(jì)量模塊的功能描述 1.33.3.2 計(jì)量模塊的流程圖 1.43.3.3 計(jì)量模塊的模塊生成符號(hào) 1.63.3.4 計(jì)
11、量模塊的仿真波形圖 1.63.4 計(jì)費(fèi)方式選擇模塊 1.73.4.1 計(jì)費(fèi)方式選擇模塊的功能描述 1. 73.4.2 計(jì)費(fèi)方式選擇模塊的流程圖 1.73.4.3 計(jì)費(fèi)方式選擇模塊的模塊生成符號(hào) 1. 83.4.4 計(jì)費(fèi)方式選擇模塊的仿真圖形 1. 93.5 計(jì)費(fèi)模塊 1.9.3.5.1 計(jì)費(fèi)模塊功能描述 1.93.5.2 計(jì)費(fèi)模塊的流程圖 2.03.5.3 計(jì)費(fèi)模塊的模塊生成符號(hào) 2.13.5.4 計(jì)費(fèi)模塊的仿真圖形 2.23.6 顯示模塊 2.2.3.6.1 數(shù)碼管顯示電路 2.23.6.2 動(dòng)態(tài)掃描的功能描述 2.43.6.3 動(dòng)態(tài)掃描的模塊符號(hào) 2.63.7 頂層模塊原理圖 2.63.8
12、 本章小結(jié) 2.8.第 4 章 下載調(diào)試與結(jié)果驗(yàn)證 2.94.1 下載及調(diào)試 2.9.4.2 實(shí)驗(yàn)箱硬件驗(yàn)證 2.94.2.1 無乘客上車 3.04.2.2 乘客上車行駛中 3.04.2.3 停車等待 3.14.2.4 停車結(jié)算 3.24.2.5 下車復(fù)位 3.34.3 本章小結(jié) 3.4.總結(jié)3.5.參考文獻(xiàn) 3.6.致謝3.7.基于FPGA的岀租車計(jì)費(fèi)器的設(shè)計(jì)第1章緒論1.1課題研究的背景及意義隨著我國(guó)人民經(jīng)濟(jì)水平的不斷提高,越來越多的人們選擇出租車做為出行最 便捷的交通工具。出租車計(jì)價(jià)器作為計(jì)量器具有其特殊性和專用性,它只用在出 租車汽車上,因此它與出租汽車車輛、 出租汽車的收費(fèi)辦法、出租
13、汽車的管理經(jīng) 營(yíng)等密切相關(guān)。出租汽車計(jì)價(jià)器必須隨時(shí)適應(yīng)它們的變化和需求。出租車計(jì)費(fèi) 器的使用也使出租車市場(chǎng)更加規(guī)范化和標(biāo)準(zhǔn)化,同時(shí)直觀、快捷的智能化計(jì)費(fèi)方 式也幫助人們節(jié)省了時(shí)間、創(chuàng)造了更多效益,使乘客與出租車運(yùn)營(yíng)者之間的矛盾 得以解決。出租車的設(shè)計(jì)也更加注重于實(shí)用性和功能性,是不可缺少的一種計(jì)量 工具。隨著越來越多的消費(fèi)群體乘坐出租車,廣大的乘客對(duì)計(jì)費(fèi)器的功能也提出了 更多的要求。用戶不僅要求計(jì)費(fèi)器性能穩(wěn)定,計(jì)費(fèi)準(zhǔn)確,有防作弊功能;同時(shí)還 要求其具有車票資料打印、IC卡付費(fèi)、語音報(bào)話、電腦串行通信及稅控等功能 0 大部分地區(qū)的收費(fèi)不都是一樣的, 車型不一致使收費(fèi)也會(huì)有區(qū)別,隨著油價(jià)的不 斷波
14、動(dòng)或經(jīng)濟(jì)發(fā)展的影響,收費(fèi)方式和收費(fèi)標(biāo)準(zhǔn)也有可能在不斷的變化。這時(shí)候, 采用傳統(tǒng)的基于單片機(jī)設(shè)計(jì)的出租車計(jì)費(fèi)器已不能滿足這些變化的需求,硬件電路復(fù)雜功能升級(jí)也很繁瑣,在運(yùn)營(yíng)過程中很容易產(chǎn)生干擾,影響用戶的使用;而 且分立器件較多,將導(dǎo)致電源功耗大, 芯片不易散熱,從而影響芯片的使用壽命 ?;贔PGA的出租車計(jì)費(fèi)器,結(jié)合了硬件描述語言(VHDL )和邏輯結(jié)合為 基礎(chǔ)的自頂向下的電路設(shè)計(jì)方法,成本投入較低,可靠性高,通用性也比較強(qiáng); 在不改變硬件電路的情況下,根據(jù)需求在 VHDL程序中修改相關(guān)參數(shù),既可滿 足不同地區(qū)、不同用戶的需求,同時(shí)也可以添加其他功能。本課題所設(shè)計(jì)的出租車計(jì)費(fèi)器采用軟件編程的
15、形式,可以完成多種計(jì)費(fèi)形 式,使用的芯片不僅容量大,體積也比較小巧。而隨著電子科技的發(fā)展,可使得 保存在芯片中的數(shù)據(jù)長(zhǎng)時(shí)間不會(huì)丟失,因此本課題所設(shè)計(jì)的計(jì)費(fèi)器不僅在現(xiàn)代有 著較強(qiáng)的應(yīng)用性,同時(shí)在未來市場(chǎng)中的也有很大的發(fā)展前景。1.2出租車計(jì)費(fèi)器的發(fā)展現(xiàn)狀我國(guó)的第一家生產(chǎn)計(jì)價(jià)器的企業(yè)是重慶市起重機(jī)廠, 最早的計(jì)價(jià)器全部采用 機(jī)械齒輪結(jié)構(gòu),只能完成簡(jiǎn)單的計(jì)程功能,可以說早期的計(jì)價(jià)器就是一個(gè)里程表。 隨著科學(xué)技術(shù)的發(fā)展,產(chǎn)生了第二代計(jì)價(jià)器。它采用了手搖計(jì)算機(jī)與機(jī)械結(jié)構(gòu)相 結(jié)合的方式,實(shí)現(xiàn)了半機(jī)械半電子化。此時(shí)它在計(jì)程的同時(shí)還可以完成計(jì)價(jià)的工作。大規(guī)模集成電路的發(fā)展又產(chǎn)生了第三代計(jì)價(jià)器,也就是全電子化的
16、加強(qiáng)。它的功能也在不斷完善。當(dāng)單片機(jī)出現(xiàn)并應(yīng)用于計(jì)價(jià)器后, 現(xiàn)代出租車計(jì)價(jià)器的模 型也就基本具備了,它可以完成計(jì)程,計(jì)價(jià),顯示等基本工作。單片機(jī)以及外圍 芯片的不斷發(fā)展促進(jìn)了計(jì)價(jià)器的發(fā)展0隨著數(shù)字系統(tǒng)的快速發(fā)展,F(xiàn)PGA等可編程數(shù)字器件的出現(xiàn),使計(jì)費(fèi)器性能 更趨于穩(wěn)定,可以實(shí)現(xiàn)更為復(fù)雜的功能, 實(shí)現(xiàn)的功能也也有了多變的選擇,同時(shí) 提高了計(jì)費(fèi)器的靈活性,改善了其升級(jí)的能力。FPGA的多個(gè)優(yōu)質(zhì)性能使其成為了最具發(fā)展?jié)撡|(zhì)的數(shù)字器件,結(jié)合硬件描述語言可簡(jiǎn)潔直觀的描述復(fù)雜的邏輯設(shè) 計(jì)。因此基于FPGA的出租計(jì)費(fèi)器在未來將會(huì)成為很實(shí)用的計(jì)量工具,它的發(fā)展 完全可以代替單片機(jī),成為新一代的計(jì)費(fèi)器發(fā)展時(shí)代。1
17、.3課題研究的內(nèi)容及方法通過研究分析相關(guān)資料,對(duì)國(guó)內(nèi)外出租車計(jì)費(fèi)器的設(shè)計(jì)方法有了深入的認(rèn)識(shí) 和了解,最終確定本設(shè)計(jì)方案將采用基于 FPGA開發(fā)數(shù)字電路,以縮短開發(fā)周期, 提高系統(tǒng)的穩(wěn)定性和可靠性;利用 VHDL硬件描述語言編寫程序?qū)ο到y(tǒng)的功能 進(jìn)行設(shè)計(jì),從而將產(chǎn)品更新?lián)Q代的能力大大提高。本設(shè)計(jì)采用計(jì)算總行駛路程和累計(jì)等待時(shí)長(zhǎng)的兩種狀態(tài)收費(fèi)。按照大連市的出租車收費(fèi)標(biāo)準(zhǔn)進(jìn)行設(shè)定:(1) 出租車起步價(jià)設(shè)定為10元,當(dāng)行駛里程小于3km時(shí),只收取起步價(jià); 當(dāng)行駛的里程數(shù)大于3km時(shí),則在起步價(jià)的基礎(chǔ)上每公里按 2元計(jì)費(fèi)。(2) 停車等待累計(jì)時(shí)長(zhǎng)超過3min時(shí),超出部分每分鐘按0.3元計(jì)費(fèi)。(3) 行駛
18、里程顯示:顯示的范圍為 099km。單位為km。分辨率1km(4) 累計(jì)等待時(shí)間顯示:顯示的范圍為059min。單位為min。分辨率1min(5) 總費(fèi)用顯示:顯示的范圍為 0999.9,單位為元,分辨率0.1元測(cè)量出租車行駛距離的傳感器電路由實(shí)驗(yàn)箱的開關(guān)和時(shí)鐘信號(hào)代替,輸出信號(hào)由數(shù)碼管和指示燈同時(shí)顯示。1.4本章小結(jié)本章主要介紹了出租車計(jì)費(fèi)器的發(fā)展歷史及意義,對(duì)出租車在國(guó)內(nèi)的發(fā)展現(xiàn)狀做了一些概述,通過相關(guān)的調(diào)研使自己對(duì)出租車計(jì)費(fèi)器有了更深刻的認(rèn)識(shí),并對(duì)其未來的的發(fā)展趨勢(shì)也有了自己的看法, 幫助自己在此次出租車計(jì)費(fèi)器的設(shè)計(jì) 更具實(shí)用性和規(guī)范性。第2章相關(guān)設(shè)計(jì)工具介紹2.1 EDA技術(shù)簡(jiǎn)介EDA
19、是電子設(shè)計(jì)自動(dòng)化(Eeectronic Design Automation)的縮寫。EDA工具 是以計(jì)算機(jī)的硬件和軟件為工作平臺(tái),集數(shù)據(jù)庫、圖形學(xué)、圖論與拓?fù)溥壿?、?jì) 算數(shù)學(xué)、優(yōu)化理論等多學(xué)科最新成果研制的計(jì)算機(jī)輔助設(shè)計(jì)通用軟件包。從功能實(shí)用性方面EDA主要包含以下幾個(gè)部分:用來表示采用EDA技術(shù)進(jìn)行電子設(shè) 計(jì)的硬件描述語言;使 EDA技術(shù)設(shè)計(jì)電子系統(tǒng)更加自動(dòng)化、智能化的一些軟件 開發(fā)工具;EDA技術(shù)設(shè)計(jì)過程中的載體大規(guī)??删幊踢壿嬈骷?;以及最終對(duì)電 子設(shè)計(jì)進(jìn)行仿真驗(yàn)證的下載及硬件驗(yàn)證工具等。2.1.1 EDA的歷史背景迄今為止,EDA已經(jīng)歷了 30多年的發(fā)展,可將這漫長(zhǎng)的歲月大致分為三大 階
20、段。第一階段在70年代,這個(gè)時(shí)期人們開始借助于計(jì)算機(jī)進(jìn)行相關(guān)設(shè)計(jì),例 如完成PCB布局布線、IC版圖編輯等,是計(jì)算機(jī)系輔助設(shè)計(jì)階段(CAD)。當(dāng) 發(fā)展到80年代時(shí),設(shè)計(jì)者不但可以利用 EDA技術(shù)圖形進(jìn)行繪制之外,還能用 CAD進(jìn)行電路的功能和結(jié)構(gòu)的設(shè)計(jì),結(jié)合電器連接表將兩者結(jié)合在一起,是工 程設(shè)計(jì)得以實(shí)現(xiàn),這個(gè)階段成為計(jì)算機(jī)輔助工程階段(CAE);到了 90年代,人 們對(duì)CAE的應(yīng)用已經(jīng)非常廣泛了,用其是想電路的邏輯仿真,相關(guān)原理圖的輸 入,對(duì)電路進(jìn)行分析、布局布線,以及對(duì)設(shè)計(jì)的分析驗(yàn)證等,這個(gè)時(shí)候EDA的發(fā)展則依然進(jìn)入了第三個(gè)階段電子系統(tǒng)設(shè)計(jì)自動(dòng)化極端(EDA)5。2.1.2 EDA的發(fā)展現(xiàn)
21、狀目前中國(guó)的EDA市場(chǎng)中,絕大多數(shù)的設(shè)計(jì)者面臨的是小型 ASIC以及PC主 板領(lǐng)域,只有少數(shù)的設(shè)計(jì)者從事復(fù)雜的芯片系統(tǒng)設(shè)計(jì)工作。為了使我國(guó)的EDA技術(shù)更加具有競(jìng)爭(zhēng)力,設(shè)計(jì)者們也在不斷的學(xué)習(xí)和借鑒國(guó)外各行業(yè)的頂尖技術(shù)。EDA軟件開發(fā)技術(shù)目前主要以美國(guó)為主。韓國(guó)和日本雖然都有各自的 ASIC設(shè)計(jì) 工具,但是都是不對(duì)外開放的。EDA技術(shù)的應(yīng)用層面也越來越廣泛,已經(jīng)悄然 聲息地涉及到我們生活的方方面面。2.1.3 EDA的技術(shù)特點(diǎn)隨著EDA的被大量的應(yīng)用到日常生活中,對(duì)EDA技術(shù)的研究也越來越深入, 在實(shí)現(xiàn)EDA技術(shù)更深層的應(yīng)用時(shí),需要對(duì) EDA的基本特點(diǎn)有著一定的了解:(1)EDA采用“自頂向下”設(shè)
22、計(jì)方法。與傳統(tǒng)電子設(shè)計(jì)所采用的“自底向上” 的方法相比,能夠大大降低開發(fā)成本,不易產(chǎn)生新的錯(cuò)誤,設(shè)計(jì)的效率也比較高, 將功能在結(jié)構(gòu)上完成了模塊化,即可分塊進(jìn)行反正和結(jié)果驗(yàn)證。也比較方便設(shè)計(jì) 者對(duì)程序設(shè)計(jì)的香瓜修改。(2)設(shè)計(jì)采用硬件描述語言,結(jié)合軟件編程的優(yōu)勢(shì)特點(diǎn),可以將電子系統(tǒng) 的邏輯功能與硬件設(shè)計(jì)電路的結(jié)構(gòu)融合。硬件描述語言也是目前電子行業(yè)的主 流,降低制造成本,縮短開發(fā)時(shí)長(zhǎng),也比較方便應(yīng)用于大量產(chǎn)品的生產(chǎn)。因此在 研發(fā)和工業(yè)設(shè)計(jì)中且都有廣泛的應(yīng)用。(3)能夠?qū)崿F(xiàn)邏輯綜合和優(yōu)化。通過邏輯在綜合可以將抽象的描述通過比較低級(jí)的抽象進(jìn)行描述。優(yōu)化功能依照布爾方程等效原則,分析器件邏輯綜合結(jié) 果,
23、將一些比較復(fù)雜的邏輯單元用綜合結(jié)果代替,最終將其映射成新的一組邏輯方程。通過優(yōu)化功能,可以在將資源的消耗率降到最低并將時(shí)延縮降到最短。(4)具有規(guī)范化的軟件架構(gòu)和開放性。通過軟件架構(gòu)可以為EDA的相關(guān)開 發(fā)平臺(tái)提供開發(fā)環(huán)境,以及各種與數(shù)據(jù)相關(guān)的內(nèi)容。通過軟件架構(gòu)可以將不同型 號(hào)、不同廠商的工具進(jìn)行整合,集中在一個(gè)統(tǒng)一的、便于管理的環(huán)境下,因此更 加有利于資源的共享和優(yōu)化配置。2.2 FPGA 簡(jiǎn)介FPGA( Field Programmable Gate Array 現(xiàn)場(chǎng)可編程門陣列)是在 PAL、GAL、 CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展起來的高性能可編程邏輯器件。他是做為專用集成電路
24、(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電 路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。FPGA可以通過Verilog或VHDL硬件描述語言進(jìn)行電路的設(shè)計(jì),然后經(jīng)過綜合與布局,快速地 燒錄至FPGA上進(jìn)行測(cè)試。FPGA 般采用SRAM工藝,也有一些采用Flash工 藝或反熔絲(Anti-Fuse)工藝等。FPGA集成度很高,其器件密度從數(shù)萬門到上 千萬門,可以完成復(fù)雜的時(shí)序與組合邏輯電路功能,適用于高速、高密度的高端數(shù)字邏輯電路設(shè)計(jì)領(lǐng)域。FPGA的基本組成部分有可編程輸入/輸出單元、基本可 編程單元、嵌入式RAM、豐富的布線資源、底層嵌入功能資源、內(nèi)嵌專用硬核(Hard
25、 Core)等。2.2.1 FPGA的結(jié)構(gòu)至今為止,制造FPGA芯片的公司主要有 Altera、Xilinx、Lattice以及Actel, 制造了大量品種不一、型號(hào)各異的產(chǎn)品,雖然這些芯片的內(nèi)部結(jié)構(gòu)和技術(shù)指標(biāo)都 不一致,但他們都有一個(gè)相同的特點(diǎn),就是將可配置的邏輯功能塊排成陣列,由互聯(lián)資源(可編程)連接這些邏輯塊,從而可以對(duì)其進(jìn)行不同的設(shè)計(jì)。存放數(shù)據(jù) 的SRAM和三種可編程的電路組成共同構(gòu)成了FPGA,三種電路包括可配置邏輯塊(CLB )、輸入輸出模塊(IOB )、以及互連資(IR )。是實(shí)現(xiàn)邏輯功能的基本單元是可配置邏輯模塊,由觸發(fā)器、 數(shù)據(jù)選擇器等器件組成。輸入輸出模塊一 般位于芯片的四
26、周,主要有輸入/輸出緩存器、輸入/輸出觸發(fā)器等組成。IOB可 被設(shè)定為雙向I/O功能。要行程多種功能復(fù)雜的系統(tǒng),可以通過互聯(lián)資源可將所 有的可編程邏輯模塊和輸入/輸出模塊相互連接起來oFPGA的基本結(jié)構(gòu)圖如圖2.1所示: 口 口 dtl 口 口口口圖2.1 FPGA芯片的基本結(jié)構(gòu)2.2.2 FPGA的開發(fā)流程圖基于CPLD/FPGA系統(tǒng)設(shè)計(jì)的工作流程說明:(1) 電子設(shè)計(jì)師按照“(top-down)”的設(shè)計(jì)方法進(jìn)行系統(tǒng)劃分。(2) 編寫VHDL源程序。而且,也可以采用原理圖輸入方式。(3) 將以上的設(shè)計(jì)輸入QuartusH中進(jìn)行編譯。(4) 進(jìn)行早期的功能仿真,主要是檢驗(yàn)系統(tǒng)功能設(shè)計(jì)是否符合要
27、求。(5) 利用適配器將綜合后的網(wǎng)絡(luò)表文件針對(duì)某一具體的目標(biāo)器件進(jìn)行邏輯 映射操作(6) 在適配完成后,便可進(jìn)行時(shí)序仿真,如果仿真結(jié)果不理想,就進(jìn)行適 當(dāng)修改直至滿足設(shè)計(jì)要求。(7) 將產(chǎn)生的.sof文件通過JTAP下載電纜載入到目標(biāo)芯片 CPLD/FPGA2.3 VHDL 簡(jiǎn)介VHDL ( Very_High_Speed Integrated Circuit Hardware DescriptionLan guage )是標(biāo)準(zhǔn)硬件描述語言。在未來數(shù)字系統(tǒng)的設(shè)計(jì)將會(huì)全部采用VHDL 和VerilogHDL語言??梢詫?duì)數(shù)字系統(tǒng)的接口、功能、結(jié)構(gòu)等進(jìn)行描述。包含用 于描述硬件結(jié)構(gòu)的語句,相比普通的
28、計(jì)算機(jī)高級(jí)語言語言風(fēng)格和描述方式也比較 類似。使用VHDL的程序的結(jié)構(gòu)特點(diǎn)可以把一個(gè)工程設(shè)計(jì),或者設(shè)計(jì)實(shí)體(元 件、電路模塊或一個(gè)完整系統(tǒng))分為可視的外部端口,和不可視的內(nèi)部設(shè)計(jì),即 完成這項(xiàng)設(shè)計(jì)的功能實(shí)現(xiàn)和基本算法。當(dāng)一個(gè)設(shè)計(jì)的外部端口被定義且完成了內(nèi) 部開發(fā),那么其它的設(shè)計(jì)也可以去調(diào)用此設(shè)計(jì)。VHDL系統(tǒng)的基本點(diǎn)就是將一個(gè) 設(shè)計(jì)的實(shí)體分成內(nèi)部和外部 。2.3.1 VHDL的發(fā)展歷史在20世紀(jì)中期,電子技術(shù)憑借其獨(dú)特的優(yōu)勢(shì)在美國(guó)國(guó)防工業(yè)中得到廣泛的 認(rèn)可。隨著電子技術(shù)設(shè)計(jì)方法和集成工藝的飛速發(fā)展,1981年提出了“超速集成電路硬件描述語言”,簡(jiǎn)稱 VHDL ( VHSIC Hardware
29、Description Language), 一開始只是將其做為電路文本化的一種標(biāo)準(zhǔn), 即讓其他人更容易理解使用文本描 述的設(shè)計(jì),可以作為模型語言,也可用軟件編譯、仿真9。1986年,IEEE致力于VHDL語言的標(biāo)準(zhǔn)化工作,為此成立了 VHDL語言 標(biāo)準(zhǔn)化小組。經(jīng)歷了多次的修改與擴(kuò)充,直到 1987年12月VHDL語言才被接 納為IEEE1076標(biāo)準(zhǔn)。1988年,Milstd454規(guī)定所有為美國(guó)國(guó)防部設(shè)計(jì)的 ASIC產(chǎn) 片必須采用VHDL語言來進(jìn)行描述。1993年,IEEE1076標(biāo)準(zhǔn)被修訂,更新為新 的VHDL語言標(biāo)準(zhǔn)IEEE 1164。1996年,IEEE1076.3成為VHDL語言的綜合
30、標(biāo) 準(zhǔn)。1995年,我國(guó)國(guó)家技術(shù)監(jiān)督局制定的CAD通用技術(shù)規(guī)范推薦VHDL語 言作為我國(guó)電子設(shè)計(jì)自動(dòng)化硬件描述語言的國(guó)家標(biāo)準(zhǔn)。至此,VHDL語言在我國(guó)迅速普及,現(xiàn)在這門語言已經(jīng)成為從事硬件電路設(shè)計(jì)的開發(fā)人員所必須掌握的一 項(xiàng)技術(shù)。2.3.2 VHDL的優(yōu)勢(shì)特點(diǎn)目前,很多電子設(shè)計(jì)者經(jīng)常采用 VHDL作為標(biāo)準(zhǔn)硬件描述語言,是因?yàn)檎J(rèn) 識(shí)到其比較強(qiáng)的通用性,基于其突出的性能優(yōu)勢(shì):(1)優(yōu)秀的靈活性和強(qiáng)大的功能性。 VHDL語言結(jié)構(gòu)功能強(qiáng)大,可以用簡(jiǎn) 潔的語言描述復(fù)雜的邏輯器件設(shè)計(jì)。 能夠多層次的描述設(shè)計(jì)功能,還提供創(chuàng)建模 塊設(shè)計(jì)和支持階層設(shè)計(jì)。(2)程序可以移植。VHDL語言可以在在不同的模擬工具、
31、工作平臺(tái)以及 設(shè)計(jì)工具中進(jìn)行移植。VHDL語言還可以模擬綜合描述的設(shè)計(jì), 從而節(jié)省了設(shè)計(jì) 者的時(shí)間。(3)設(shè)計(jì)獨(dú)立于器件。當(dāng)采用 VHDL語言設(shè)計(jì)硬件電路時(shí),設(shè)計(jì)者無需在 設(shè)計(jì)之初就選定邏輯器件,在完成設(shè)計(jì)系統(tǒng)的功能描述后,可以使用不同的邏輯 器件來實(shí)現(xiàn)其功能。(4) 可以對(duì)設(shè)計(jì)性能進(jìn)行評(píng)估。設(shè)計(jì)人員可以進(jìn)行一個(gè)完整的 VHDL語言 描述,并且可以對(duì)它進(jìn)行綜合,生成選定的器件結(jié)構(gòu)和邏輯功能, 然后再對(duì)設(shè)計(jì) 結(jié)果進(jìn)行測(cè)試、評(píng)估,最后選用最適合該設(shè)計(jì)的邏輯器件。(5) 語法的規(guī)范性較強(qiáng),益于共享。IEEE的工業(yè)標(biāo)準(zhǔn)硬件是VHDL,規(guī)范 較為統(tǒng)一嚴(yán)格,利于共享。2.3.3 VHDL的開發(fā)流程為了能使
32、采用VHDL語言設(shè)計(jì)的電路有更好的可靠性和準(zhǔn)確性,設(shè)計(jì)人員 首先在設(shè)計(jì)之前應(yīng)對(duì)此次設(shè)計(jì)的目的及相關(guān)要求有著非常清楚的認(rèn)識(shí),然后選擇合適的設(shè)計(jì)方法和邏輯器件,最終根據(jù)既定的設(shè)計(jì)流程完成設(shè)計(jì):(1)根據(jù)硬件電路的要求,設(shè)計(jì)出總體模型,并根據(jù)硬件內(nèi)外部的連接關(guān) 系,對(duì)各部分進(jìn)行定義。(2) 根據(jù)硬件系統(tǒng)的具體功能編寫能夠?qū)崿F(xiàn)相應(yīng)功能的VHDL語言程序。(3)然后可對(duì)VHDL語言程序進(jìn)行編譯,根據(jù)實(shí)際情況,對(duì)程序進(jìn)行優(yōu)化 和修改。(4)完成程序的編譯后可生成相應(yīng)的邏輯器件,布局布線,再次對(duì) VHDL 程序進(jìn)行綜合和調(diào)試。(5)再一次對(duì)系統(tǒng)進(jìn)行編譯,防止由于布局布線或一些其它的操作導(dǎo)致設(shè) 計(jì)功能的異常。
33、(6)最終將程序下載到目標(biāo)器件中,即可完成設(shè)計(jì)。2.4 Quartusll簡(jiǎn)介及開發(fā)流程Quarters是全球最大的可編程邏輯器件供應(yīng)商之一的Altera公司所推出的產(chǎn)品。針對(duì)FPGA/CPLD器件,Altera公司生產(chǎn)了相應(yīng)的軟件設(shè)計(jì)產(chǎn)品,目前被 廣泛應(yīng)用的則是 MAX+plus U和Quarter。Quartern是Altera公司推出的第四 代也是最新的集成設(shè)計(jì)環(huán)境,能夠支持目前所有主流FPGA的設(shè)計(jì)開發(fā)。該設(shè)計(jì) 軟件改進(jìn)了編程性能、提升了功能性、解決了潛在的設(shè)計(jì)延遲等潛在問題。同時(shí), 在工業(yè)領(lǐng)域也有很強(qiáng)大的優(yōu)勢(shì), 很多工業(yè)用的芯片,都是使用Quartus n進(jìn)行開 發(fā)設(shè)計(jì)。Quarte
34、rs支持原理圖、VHDL、VerilogHDL等多種不同的設(shè)計(jì)輸入方 式并且具備仿真功能。Quartus II還被指定為唯一一種設(shè)計(jì)工具,為 FPGA和固 定功能的HardCopy器件來統(tǒng)一設(shè)計(jì)流程。同時(shí)設(shè)計(jì)師使用低價(jià)位的Quartus II,不僅可以完成FPGA的功能驗(yàn)證和原型設(shè)計(jì),又可以用于批量成品生成。Quarters的運(yùn)行環(huán)境有關(guān) Windows、Linux以及Unix,通過Quarters可以 用腳本文件完成流程的設(shè)計(jì),為設(shè)計(jì)人員提供了功能齊全、操作簡(jiǎn)易的圖形操作界面。因此Quarters具有很快的運(yùn)行速度,集中的功能操作,統(tǒng)一的界面設(shè)計(jì) 方式,容易快速學(xué)習(xí)利用等優(yōu)點(diǎn)10 oQuar
35、ters的開發(fā)設(shè)計(jì)流程如圖2.2所示:設(shè)計(jì)輸入*u設(shè)計(jì)修斷15設(shè)計(jì)編璋設(shè)計(jì)仿真引腳鎖定*編理下戴圖2.2 Quarters 開發(fā)設(shè)計(jì)流程圖2.5本章小結(jié)本章主要介紹了與此次設(shè)計(jì)相關(guān)的一些開發(fā)工具。簡(jiǎn)單介紹了EDA技術(shù),并對(duì)其發(fā)展歷史和現(xiàn)狀,所使用到的設(shè)計(jì)方法、設(shè)計(jì)語言及工具等展開了進(jìn)一步 的說明。同時(shí),還介紹了 FPGA的結(jié)構(gòu)特點(diǎn)、應(yīng)用優(yōu)勢(shì)以及開發(fā)流程,概述了 VHDL語言,并對(duì)其發(fā)展歷史、開發(fā)優(yōu)勢(shì)以及設(shè)計(jì)流程等有了全面的介紹。同時(shí)還對(duì)此次設(shè)計(jì)的開發(fā)環(huán)境 Quartus II以及做了相應(yīng)的闡述。對(duì)本次設(shè)計(jì)所涉及的技術(shù)層面的知識(shí)有了全面的認(rèn)識(shí)第3章 課題原理及各模塊的設(shè)計(jì)說明3.1課題設(shè)計(jì)原理根
36、據(jù)緒論中介紹的出租車計(jì)費(fèi)器的設(shè)計(jì)要求,設(shè)定系統(tǒng)的外部端口信號(hào): 輸入信號(hào):時(shí)鐘信號(hào)elk,開始計(jì)費(fèi)信號(hào)start,車輛停止行駛時(shí)的等待信號(hào) waitl,行駛信號(hào)fin。輸出信號(hào):總計(jì)費(fèi)數(shù)c0c3,累計(jì)公里數(shù)kmOkm1,累計(jì)等待時(shí)長(zhǎng)minOmin1 本次設(shè)計(jì)的出租車計(jì)費(fèi)系統(tǒng)主要分為五大模塊:分頻模塊、計(jì)量模塊、計(jì)費(fèi) 模塊、計(jì)費(fèi)方式選擇模塊以及顯示模塊,系統(tǒng)結(jié)構(gòu)框圖如圖3.1所示。計(jì)量模塊是實(shí)現(xiàn)整個(gè)系統(tǒng)里程計(jì)數(shù)和時(shí)間計(jì)數(shù)的重要部分;計(jì)費(fèi)方式選擇模塊可以實(shí)現(xiàn)不同計(jì)費(fèi)方式的選擇,根據(jù)使能端信號(hào)選擇系統(tǒng)是根據(jù)里程計(jì)費(fèi)還是 等待時(shí)間計(jì)費(fèi);計(jì)費(fèi)模塊則將根據(jù)計(jì)量模塊提供的行駛里程和等待時(shí)間以及分頻 模塊提供
37、的計(jì)費(fèi)單價(jià)將總費(fèi)用計(jì)算出來;最終顯示模塊將所有的統(tǒng)計(jì)數(shù)據(jù)包括里 程數(shù)、累計(jì)等待時(shí)長(zhǎng)、總費(fèi)用通過數(shù)碼管直觀地顯示出來。圖3.1系統(tǒng)的結(jié)構(gòu)框圖本次設(shè)計(jì)需要通過分頻模塊將脈沖輸入信號(hào) clk_750分頻為20hz、3hz、1hz。 20hz與3hz為計(jì)費(fèi)模塊的驅(qū)動(dòng)信號(hào),1hz為計(jì)量模塊的驅(qū)動(dòng)信號(hào),即每當(dāng)計(jì)量模 塊完成一次計(jì)數(shù)時(shí),計(jì)費(fèi)模塊根據(jù)內(nèi)部程序的選擇完成20次或者3次計(jì)數(shù)。因此,就可以實(shí)現(xiàn)行駛過程中每公里 2元或等待過程中每分鐘0.3元的標(biāo)準(zhǔn)計(jì)費(fèi)。在出租車計(jì)費(fèi)器的實(shí)際使用中,汽車行駛時(shí)的行駛信號(hào)信號(hào)可以用光電傳感器、霍爾效應(yīng)傳感,以及干簧繼電器作為里程傳感器來進(jìn)行信號(hào)采集。在汽車行駛時(shí),每前進(jìn)1
38、米,安裝在蝸輪變速器上的磁鐵將控制傳感器關(guān)閉一次,即輸 出一個(gè)脈沖,當(dāng)汽車行駛到1km時(shí),將輸出100個(gè)脈沖。本次設(shè)計(jì)使用實(shí)驗(yàn)箱中的開關(guān)和時(shí)鐘信號(hào)代替?zhèn)鞲衅麟娐?,?jì)費(fèi)信號(hào)start 和行駛信號(hào)fin為“1”時(shí),當(dāng)計(jì)量模塊的時(shí)鐘信號(hào)的的上升沿到來時(shí),計(jì)程將完 成一次計(jì)數(shù),100個(gè)時(shí)鐘信號(hào)為1km,本次設(shè)計(jì)在3km之內(nèi)時(shí)只收取起步價(jià),所 以當(dāng)接受到300個(gè)行駛信號(hào) 后,則每km將增加2元,計(jì)價(jià)分辨率設(shè)定為0.1, 所以在20個(gè)脈沖系統(tǒng)將增加0.1元。本次的設(shè)計(jì)描述:start為開始計(jì)費(fèi)信號(hào),當(dāng)start處于高電平時(shí),說明有乘客上車,則系統(tǒng)開 始計(jì)費(fèi)。當(dāng)出租車在正常行駛計(jì)費(fèi)時(shí),fin信號(hào)為“ 1”,
39、wait1位于低電平,系統(tǒng) 進(jìn)入行駛計(jì)費(fèi)狀態(tài),內(nèi)部程序判斷行駛公里數(shù)是否大于3km,當(dāng)超過3km時(shí),數(shù)碼管計(jì)費(fèi)部分開始跳動(dòng),正常計(jì)費(fèi);行駛過程中如遇到紅燈或者需停車等待時(shí), 則將fin信號(hào)置“ 0”,同時(shí)將wait1置于高電平,則進(jìn)入等待計(jì)費(fèi)模式,內(nèi)部程 序判斷等待時(shí)長(zhǎng)是否超過3min,當(dāng)超過3min時(shí)數(shù)碼管計(jì)費(fèi)部分將按照每分鐘 0.3 元的標(biāo)準(zhǔn)進(jìn)行跳動(dòng)計(jì)費(fèi)。當(dāng)車子到達(dá)目的地時(shí),則將 wait1與fin同時(shí)置“ 0”,此時(shí)則停止計(jì)費(fèi),可 查看行駛總公里數(shù)、等待累計(jì)時(shí)長(zhǎng)以及計(jì)費(fèi)總額;當(dāng)乘客下車且不等待時(shí),將 start置于低電平,系統(tǒng)停止計(jì)費(fèi)且清零復(fù)初值,起步價(jià)將重新置于10元。具體設(shè)計(jì)流程圖如
40、圖3.2所示:圖3.2系統(tǒng)設(shè)計(jì)流程圖3.2分頻模塊3.2.1分頻模塊的功能描述由于本次設(shè)計(jì)需要用到特定頻率的時(shí)鐘脈沖信號(hào),實(shí)驗(yàn)箱提供的時(shí)鐘信號(hào)不能滿足此要求。因此通過分頻器將較大頻率的時(shí)鐘信號(hào)通過分頻得出較小的頻 率。設(shè)計(jì)時(shí)選用 750khz有源晶振,因此近似得到為計(jì)費(fèi)模塊提供驅(qū)動(dòng)信號(hào)的 20hz、3hz的方波信號(hào),以及用于計(jì)量模塊驅(qū)動(dòng)信號(hào)的占空比為50%的1hz的時(shí)鐘脈沖信號(hào),此模塊采用了 VHDL語言進(jìn)行實(shí)現(xiàn),將750khz的的時(shí)鐘信號(hào)分別 進(jìn)行了 37500次、25000次以及750000次分頻。3.2.2分頻模塊的仿真波形圖)ps 60. 0 ns 160.0 its 240 0 ns
41、 320. 0 ns 4OQ. 0 ns 480.0 ns 560.0 nx 640. 0 ns 720. D be 800.0 ns 6 恥阿13.55 m圖3.3分頻模塊仿真波形圖3.2.3分頻模塊器件圖圖3.4為分頻模塊所生成的器件圖,其輸入輸出定義如下:I fenpin2ILrHtelk 750c elk 20ri-Lelk 3r-$c,k-1Li =instZ卜_-,i j - - | -r-ar*- -= 4圖3.4分頻模塊生成符號(hào)輸入信號(hào):Clk_750 :由系統(tǒng)提供用于分頻時(shí)鐘信號(hào);輸出信號(hào):clk_20:實(shí)現(xiàn)每公里計(jì)費(fèi)2元的計(jì)費(fèi)驅(qū)動(dòng)信號(hào),頻率20hz; clk_3 :實(shí)現(xiàn)等待
42、時(shí)每分鐘0.3元的計(jì)費(fèi)驅(qū)動(dòng)信號(hào),頻率3hz;clk_1:計(jì)量模塊的驅(qū)動(dòng)信號(hào),頻率1hz;3.3計(jì)量模塊3.3.1計(jì)量模塊的功能描述模塊的輸入信號(hào)含義:(1) start為整個(gè)系統(tǒng)的開始計(jì)費(fèi)信號(hào),當(dāng)start為高電平時(shí),貝U說明此時(shí)有乘客上車,系統(tǒng)將開始計(jì)費(fèi)。當(dāng) start為低電平時(shí),說明客人下車,撥動(dòng)start系統(tǒng)復(fù)位,將記錄的數(shù)據(jù)清零,并重新預(yù)置起步價(jià)10元。(2) waitl為等待計(jì)費(fèi)控制信號(hào)。當(dāng)車子在行駛過程中遇到紅燈或其它情況 停止的時(shí)候,waitl為高電平時(shí),系統(tǒng)將開始記錄等待時(shí)長(zhǎng),當(dāng) waitl置“0”時(shí), 則停止等待;當(dāng)start置“0”時(shí),將記錄的時(shí)長(zhǎng)清零。(3) fin為行駛
43、信號(hào)信號(hào)。當(dāng)乘客上車車子開始啟動(dòng)時(shí),行駛信號(hào)為“ 1” 時(shí),則系統(tǒng)開始記錄行駛里程數(shù),當(dāng)fin置“0”時(shí),則暫停行駛里程數(shù)據(jù)的顯示 記錄,start置零“0”是,系統(tǒng)則將記錄的總行駛里程數(shù)清零。(4) clk1是由分頻模塊產(chǎn)生的計(jì)量模塊的時(shí)鐘驅(qū)動(dòng)信號(hào)。當(dāng)clk1的上升沿 到來時(shí),系統(tǒng)將進(jìn)行一次計(jì)時(shí)或計(jì)程的累加。模塊的輸出信號(hào)含義:(1) enO為輸出到計(jì)費(fèi)選擇模塊的計(jì)費(fèi)方式選擇信號(hào)。 當(dāng)車輛行駛超過3km 時(shí),enO將變?yōu)椤?1”,輸出到計(jì)費(fèi)選擇模塊,將由分頻模塊提供的 20hz計(jì)費(fèi)驅(qū) 動(dòng)信號(hào)輸出給計(jì)費(fèi)模塊,完成當(dāng)行駛超過 3km時(shí)每公里2元的計(jì)費(fèi)功能。(2) en1為輸出到計(jì)費(fèi)選擇模塊的計(jì)費(fèi)
44、方式選擇信號(hào)。當(dāng)車輛行駛超過3min 時(shí),en1將變?yōu)椤?”,輸出到計(jì)費(fèi)選擇抹開,將由分頻模塊提供的 3hz計(jì)費(fèi)驅(qū)動(dòng) 信號(hào)輸出給計(jì)費(fèi)模塊,完成當(dāng)行駛超過 3min時(shí)每分鐘0.3元的計(jì)費(fèi)功能。(3) k1、k0將計(jì)量模塊的計(jì)程數(shù)據(jù)輸出到數(shù)碼管實(shí)時(shí)顯示。k0為計(jì)程數(shù)據(jù) 的個(gè)位,k1為十位。(4) m1、m0將計(jì)量模塊的等待計(jì)時(shí)數(shù)據(jù)輸出到數(shù)碼管實(shí)時(shí)顯示。mO位計(jì) 時(shí)數(shù)據(jù)的個(gè)位,最高顯示9,m1位計(jì)時(shí)數(shù)據(jù)的十位,最高顯示為 5。本模塊為整個(gè)系統(tǒng)的核心模塊,完成正常行駛狀態(tài)下的計(jì)程功能和等待狀態(tài) 下的計(jì)時(shí)功能。實(shí)現(xiàn)計(jì)程功能:當(dāng)start置“ 1”時(shí),系統(tǒng)判斷車輛運(yùn)行狀態(tài)。當(dāng)?shù)却?jì)費(fèi)信 號(hào)wait1為“0
45、”、行駛信號(hào)fin為“1”時(shí),說明車輛正常行駛,則累計(jì)行駛里程 數(shù)。計(jì)量模塊將行駛總里程數(shù)輸出到數(shù)碼管進(jìn)行實(shí)時(shí)顯示。當(dāng)clk1的上升沿到來時(shí),計(jì)程數(shù)據(jù)自動(dòng)加1,并判斷行駛里程數(shù)是否超過 3km,若小于3km,此模 塊的計(jì)費(fèi)選擇信號(hào)enO為0;當(dāng)超過3km時(shí),enO將變?yōu)椤?”,enO輸出到計(jì)費(fèi) 方式選擇模塊確定不同的計(jì)費(fèi)方式,最后輸出給計(jì)費(fèi)模塊累計(jì)行駛里程的費(fèi)用。 計(jì)程的最大量程為99km,當(dāng)超過99km時(shí),計(jì)程數(shù)據(jù)將清零,并重新開始累加。實(shí)現(xiàn)計(jì)時(shí)功能:當(dāng)start置“ 1”時(shí),系統(tǒng)判斷車輛運(yùn)行狀態(tài)。若等待計(jì)費(fèi)信 號(hào)waitl為“1”、行駛信號(hào)fin為“0”時(shí),則車輛進(jìn)入停車等待計(jì)費(fèi)模式,計(jì)量
46、 模塊將等待計(jì)時(shí)數(shù)值輸出到數(shù)碼管實(shí)時(shí)顯示,當(dāng)clkl的上升沿到來時(shí),則計(jì)時(shí)數(shù)據(jù)自動(dòng)加1,同時(shí)判斷等待時(shí)長(zhǎng)是否超過 3min,當(dāng)超過3min時(shí),此模塊的使 能信號(hào)en1將變?yōu)楦唠娖?,送給計(jì)費(fèi)方式選擇模塊確定不同的計(jì)費(fèi)方式,而后輸出到計(jì)費(fèi)模塊,實(shí)現(xiàn)等待計(jì)時(shí)計(jì)費(fèi)功能。計(jì)時(shí)的最大量程為59min,當(dāng)超過59min 時(shí),計(jì)時(shí)數(shù)據(jù)將清零,并重新開始累加。3.3.2計(jì)量模塊的流程圖計(jì)量模塊為本系統(tǒng)的核心模塊,通過對(duì)設(shè)計(jì)功能進(jìn)行分析后得到本模塊的流 程設(shè)計(jì)如圖3.5所示。基于FPGA的岀租車計(jì)費(fèi)器的設(shè)計(jì)3.3.3計(jì)量模塊的模塊生成符號(hào)根據(jù)流程圖以及對(duì)該模塊的描述,采用VHDL語言編程后得到如圖3.6所示 的計(jì)
47、量模塊的生成符號(hào),其輸入輸出信號(hào)的定義如下:-|bngLftart佃finduaitlkip 0clklkOp.DMgmip. 0一mi(3 0inst41.n.r圖3.6計(jì)量模塊生成符號(hào)輸入信號(hào):start:由撥動(dòng)開關(guān)提供的開始計(jì)費(fèi)信號(hào);fin :有撥動(dòng)開關(guān)提供的行駛信號(hào);waitl :由撥動(dòng)開關(guān)提供的停車等待計(jì)費(fèi)信號(hào);clkl :通過分頻模塊得到的計(jì)量模塊的驅(qū)動(dòng)信號(hào);輸出信號(hào):enO:向計(jì)費(fèi)方式選擇模塊提供啟動(dòng)按里程計(jì)費(fèi)的使能信號(hào);en1:向計(jì)費(fèi)方式選擇模塊提供啟動(dòng)按等待時(shí)長(zhǎng)計(jì)費(fèi)的使能信號(hào); k13.0:輸出到數(shù)碼管的總行駛里程數(shù)的高位信號(hào); kO3.O:輸出到數(shù)碼管的總行駛里程數(shù)的低位信
48、號(hào); m13.0:輸出到數(shù)碼管的總等待時(shí)長(zhǎng)的高位信號(hào);m03.0:輸出到數(shù)碼管的總等待時(shí)長(zhǎng)的低位信號(hào);3.3.4計(jì)量模塊的仿真波形圖! PEi広q阿lfan cps JI0elkl-TLTTTTJ-LOL_n_rL_rL_rT_nL_n_rL_rT_rT_nL_r_r-LJ11MfanII1rstarti弓LLenOi05enl罰回booaooaooi Xooio XoailXaioo YoiaLxono y0111詡ILQ k:canS 110:aannK 0M1 X 10 XaanKoioccmi X01ID(OlLlJt IMO Sl0000圖3.7計(jì)量模塊仿真波形圖17基于FPGA的岀
49、租車計(jì)費(fèi)器的設(shè)計(jì)從仿真波形圖3.7中可以看出,start信號(hào)時(shí)鐘為“ 1”,系統(tǒng)一直處于計(jì)費(fèi)狀 態(tài),當(dāng)行駛信號(hào)fin為“ 1”時(shí),則kO、k1開始記錄里程,每次當(dāng)kO滿9時(shí),則 自動(dòng)向k1進(jìn)1,當(dāng)kO大于3時(shí)enO自動(dòng)置“ 1”; waitl置“1”,計(jì)費(fèi)器進(jìn)入停 車等待計(jì)費(fèi),mO, m1將開始計(jì)時(shí),mO滿9時(shí),則自動(dòng)向m1進(jìn)1,當(dāng)mO大于 3 時(shí) en1 置 “1”。3.4計(jì)費(fèi)方式選擇模塊3.4.1計(jì)費(fèi)方式選擇模塊的功能描述計(jì)費(fèi)方式選擇模塊主要是根據(jù) enO、en1的值選擇輸出頻率分別為20hz和 3hz的時(shí)鐘脈沖。enO、en1信號(hào)由計(jì)量模塊提供,不同頻率的時(shí)鐘脈沖信號(hào)由分 頻模塊提供。輸
50、出的時(shí)鐘脈沖信號(hào)將輸出給計(jì)費(fèi)模塊。當(dāng)使能信號(hào)enO為“1”時(shí),說明車子行駛的路程數(shù)超過了 3km貝U計(jì)費(fèi) 方式選擇模塊將20hz的行駛計(jì)費(fèi)單價(jià)脈沖信號(hào)輸出給計(jì)費(fèi)模式, 從而在10元底 價(jià)的基礎(chǔ)上開始計(jì)程計(jì)費(fèi)。當(dāng)?shù)却?jì)時(shí)的使能信號(hào) en1為“ 1”時(shí),說明出租車停車等待時(shí)長(zhǎng)超過了 3min,系統(tǒng)進(jìn)入等待計(jì)費(fèi)模式,則計(jì)費(fèi)方式選擇模塊選擇等待計(jì)費(fèi)脈沖3hz提供給計(jì)費(fèi)模塊,從而開始進(jìn)行等待計(jì)時(shí)計(jì)費(fèi)。3.4.2計(jì)費(fèi)方式選擇模塊的流程圖通過對(duì)計(jì)費(fèi)方式選擇模塊的功能設(shè)計(jì)進(jìn)行分析后,得出如圖3.8所示的計(jì)費(fèi)方式選擇模塊的流程設(shè)計(jì)圖:圖3.8計(jì)費(fèi)方式選擇模塊流程圖3.4.3計(jì)費(fèi)方式選擇模塊的模塊生成符號(hào)根據(jù)流程
51、圖以及對(duì)該模塊的描述,采用VHDL語言編程后得到如圖3.9所示 的計(jì)費(fèi)方式選擇模塊,其輸入輸出信號(hào)的定義如下:entOclk_out;Lent1clk_in1i1clk_in2F kongzhiinsi圖3.9計(jì)費(fèi)方式選擇模塊生成符號(hào)輸入信號(hào):entO:大于3km時(shí)開始計(jì)費(fèi)的使能信號(hào),由計(jì)量模塊提供;ent1:等待時(shí)間超過3min開始計(jì)費(fèi)的使能信號(hào),由計(jì)量模塊提供; clk_in1 :分頻后得到的每公里計(jì)費(fèi)單價(jià)脈沖信號(hào),由分頻模塊提供; clk_in2:分頻后得到的等待時(shí)每分鐘單價(jià)脈沖信號(hào),由分頻模塊提供; 輸出信號(hào):clk_out :計(jì)費(fèi)方式選擇模塊選擇的計(jì)費(fèi)脈沖驅(qū)動(dòng)信號(hào),送給計(jì)費(fèi)模塊;3.
52、4.4計(jì)費(fèi)方式選擇模塊的仿真圖形此模塊的仿真輸出部分有延遲。由波形圖可以看出,當(dāng)使能信號(hào)entO處于高電平時(shí),系統(tǒng)為行駛里程計(jì)費(fèi)狀態(tài),此時(shí)計(jì)費(fèi)方式選擇模塊則選擇里程計(jì)費(fèi)頻 率clk_in1進(jìn)行輸出;當(dāng)使能信號(hào)en1處于高電平時(shí),系統(tǒng)進(jìn)入停止等待計(jì)費(fèi), 系統(tǒng)將選擇等待計(jì)費(fèi)頻率clk_in2進(jìn)行輸出。因此計(jì)費(fèi)方式選擇模塊就完成了對(duì) 不同計(jì)價(jià)方式的選擇。3.5計(jì)費(fèi)模塊3.5.1計(jì)費(fèi)模塊功能描述分析功能設(shè)計(jì)可知,當(dāng)計(jì)費(fèi)信號(hào) start為“ T時(shí),計(jì)費(fèi)模塊開始工作。計(jì)費(fèi) 方式選擇模塊根據(jù)車輛不同的運(yùn)行狀態(tài)選擇不同的計(jì)費(fèi)單價(jià)脈沖送給計(jì)費(fèi)模塊 clk2信號(hào),計(jì)費(fèi)模塊根據(jù)clk2信號(hào)完成相應(yīng)的費(fèi)用累加。計(jì)費(fèi)模
53、塊的計(jì)費(fèi)過程描述:(1) 當(dāng)start為高電平時(shí),計(jì)費(fèi)模塊開始工作。 行駛里程數(shù)小于3km并且停 車等待累計(jì)時(shí)長(zhǎng)不超過3min時(shí),計(jì)費(fèi)模塊只輸出起步價(jià)10元,數(shù)碼管的計(jì)費(fèi)區(qū) 域?qū)⒉粫?huì)產(chǎn)生跳動(dòng)。(2) 當(dāng)start為高電平,汽車在行駛過程中,行駛里程數(shù)超過3km時(shí),計(jì)費(fèi) 方式選擇模塊將頻率為20hz的脈沖信號(hào)送給計(jì)費(fèi)模塊的clk2,計(jì)費(fèi)模塊則在起 步價(jià)的基礎(chǔ)上,汽車每行駛1公里,累加2元。(3)當(dāng)start為高電平時(shí),在計(jì)費(fèi)狀態(tài)下汽車停車等待,當(dāng)?shù)却塾?jì)時(shí)長(zhǎng)超 過3min時(shí)計(jì)費(fèi)方式選擇模塊輸出3hz的計(jì)費(fèi)脈沖信號(hào)給計(jì)費(fèi)模塊的clk2信號(hào), 則每分鐘將在原費(fèi)用的基礎(chǔ)上加收 0.3元。(4)當(dāng)sta
54、rt為高電平且clk2沒有輸入,即行駛信號(hào)fin和停車等待計(jì)費(fèi)信 waitl號(hào)同時(shí)為低電平時(shí),則計(jì)費(fèi)數(shù)值不再變化,實(shí)際應(yīng)用為停車結(jié)算功能。(5)start為低電平,則系統(tǒng)將會(huì)復(fù)位,把之前記錄的計(jì)費(fèi)數(shù)據(jù)清零后并重 新置入起步價(jià)10.0元。計(jì)費(fèi)模塊輸出信號(hào):c0、c1、c2、c3為車費(fèi)的8421BCD碼,分別表示小數(shù) 點(diǎn)后一位、個(gè)位、十位和百位數(shù)據(jù),即車費(fèi)最大量程為999.9元,當(dāng)大于999.9時(shí),系統(tǒng)將自動(dòng)清零,并重新開始累加。3.5.2計(jì)費(fèi)模塊的流程圖計(jì)費(fèi)模塊是此次設(shè)計(jì)中實(shí)現(xiàn)計(jì)費(fèi)功能的核心模塊,根據(jù)所設(shè)功能得出如圖3.11所示的流程圖。3.5.3計(jì)費(fèi)模塊的模塊生成符號(hào)通過分析系統(tǒng)的功能要求和本模塊的設(shè)計(jì)流程圖,采用VHDL語言編寫程序后得到如圖3.12所示的計(jì)費(fèi)方式選擇模塊,其輸入輸出信號(hào)的定
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 辦公園林綠化合同范本
- 2025年度辦事處設(shè)計(jì)及智能化辦公系統(tǒng)合同
- 兒童玩具商標(biāo)轉(zhuǎn)讓居間合同
- 玻璃制品廠出租居間合同
- 第三人房產(chǎn)抵押擔(dān)保合同
- 網(wǎng)絡(luò)故障排除與維護(hù)手冊(cè)
- 工程中介居間合同
- 三農(nóng)產(chǎn)品安全檢測(cè)技術(shù)指南
- 大數(shù)據(jù)應(yīng)用與服務(wù)平臺(tái)建設(shè)項(xiàng)目合同
- 供應(yīng)商管理與采購(gòu)合同談判規(guī)定
- 四川省自貢市2024-2025學(xué)年上學(xué)期八年級(jí)英語期末試題(含答案無聽力音頻及原文)
- 2025-2030年中國(guó)汽車防滑鏈行業(yè)競(jìng)爭(zhēng)格局展望及投資策略分析報(bào)告新版
- 2025年上海用人單位勞動(dòng)合同(4篇)
- 二年級(jí)上冊(cè)口算題3000道-打印版讓孩子口算無憂
- 新疆烏魯木齊地區(qū)2025年高三年級(jí)第一次質(zhì)量監(jiān)測(cè)生物學(xué)試卷(含答案)
- 衛(wèi)生服務(wù)個(gè)人基本信息表
- 高中英語北師大版必修第一冊(cè)全冊(cè)單詞表(按單元編排)
- 新教科版科學(xué)小學(xué)四年級(jí)下冊(cè)全冊(cè)教案
- 苗圃建設(shè)項(xiàng)目施工組織設(shè)計(jì)范本
- 2024中考語文試卷及答案長(zhǎng)沙
- 廣東省湛江市廉江市2023-2024學(xué)年八年級(jí)上學(xué)期期末考試數(shù)學(xué)試卷(含答案)
評(píng)論
0/150
提交評(píng)論