基于FPGA出租車計費系統(tǒng)的設(shè)計畢業(yè)論文_第1頁
基于FPGA出租車計費系統(tǒng)的設(shè)計畢業(yè)論文_第2頁
基于FPGA出租車計費系統(tǒng)的設(shè)計畢業(yè)論文_第3頁
基于FPGA出租車計費系統(tǒng)的設(shè)計畢業(yè)論文_第4頁
基于FPGA出租車計費系統(tǒng)的設(shè)計畢業(yè)論文_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、石家莊鐵道大學(xué)四方學(xué)院畢業(yè)設(shè)計基于fpga出租車計費系統(tǒng)的設(shè)計the design of taxi meter based on fpga畢業(yè)設(shè)計成績單學(xué)生姓名學(xué)號20086287班級方0809-1專業(yè)電子信息工程畢業(yè)設(shè)計題目基于fpga出租車計費系統(tǒng)的設(shè)計指導(dǎo)教師姓名指導(dǎo)教師職稱講師評 定 成 績指導(dǎo)教師得分評閱人得分答辯小組組長得分成績:院長(主任) 簽字:年 月 日畢業(yè)論文任務(wù)書題目基于fpga出租車計費系統(tǒng)的設(shè)計學(xué)生姓名宋雨薇學(xué)號20086287班級方0809-1專業(yè)電子信息工程承擔指導(dǎo)任務(wù)單位電氣工程系導(dǎo)師姓名尚燕導(dǎo)師職稱講師一、 主要內(nèi)容該項目主要由硬件電路設(shè)計和軟件控制兩部分組成

2、。硬件部分主要完成出租車計費系統(tǒng)設(shè)計需要的fpga芯片及外圍顯示和撥檔開關(guān)控制電路設(shè)計。軟件部分由主控器ep1c12控制完成,通過vhdl語言完成出租車計費系統(tǒng)的整個程序設(shè)計。二、 基本要求1、車起步開始計費;2、超過起步里程后,按規(guī)定的費用累加計費;3、車暫停不計費或按折扣計費;4、超過最大所規(guī)定里程后,可增加計費比例;三、主要技術(shù)指標1、完成主要功能。2、原理圖,波形圖。3、使用說明書撰寫。4、論文正文不少于1萬字,查閱文獻資料不少于10篇,其中外文文獻2篇以上,翻譯與課題有關(guān)的外文資料不少于3000漢字。四、應(yīng)收集的資料及參考文獻vhdl語言開發(fā)。quartus ii開發(fā)工具。關(guān)于cyc

3、lone系列相關(guān)fpga開發(fā)文檔。ep1c12q240c8芯片的使用手冊和接口電路。五、進度計劃第 1 周第 2周 收集資料,完成開題報告第 3 周第 4周 需求分析,概要設(shè)計第 5 周第 7周 詳細設(shè)計第 8 周 中期檢查第 9 周第12周 寫論文第13周第14周 論文審核定稿第15周第16周 答辯教研室主任簽字時間年 月 日畢業(yè)設(shè)計開題報告題 目基于fpga出租車計費系統(tǒng)的設(shè)計學(xué)生姓名宋雨薇學(xué)號20086287班級方0809-1專業(yè)電氣工程系一、研究背景在我國社會經(jīng)濟發(fā)展的今天,隨著城市化水平的提高和人民生活水平的改善,各大中小城市的出租車營運事業(yè)也迅速發(fā)展,出租車的服務(wù)顯得越來越重要。出

4、租車計價器是出租車營運收費的專用智能化儀表,它安裝在出租車上,指示出載客路程數(shù),以及乘客應(yīng)付費用的總數(shù),是出租車市場規(guī)范化、標準化以及減少司機與乘客之間發(fā)生糾紛的重要設(shè)備。一種功能完備、簡單易用、計量準確的出租車計價器是加強出租車行業(yè)管理、提高服務(wù)質(zhì)量的必備品。當計費系統(tǒng)在各大、中城市出租車中使用越來越廣泛,用戶對計費器的要求也越來越高。以出租車多功能計費器為例,用戶不僅要求計費器性能穩(wěn)定,計費準確,有防作弊功能;同時還要求其具有車票打印、語音報話識別、電腦串行通信及稅控等功能;不同國家和地區(qū)的收費方式存在差異,即使在同一地區(qū),不同車型的出租車其收費方式也有差別,而且出租車還面臨幾年一次的調(diào)價

5、或調(diào)整收費方式等問題。出租車計價系統(tǒng)較多的是利用單片機進行控制,但較易被私自改裝,且故障率相對較高,且不易升級;而fpga具有高密度、可編程及有強大的軟件支持等特點,所以設(shè)計的產(chǎn)品具有功能強、可靠性高、易于修改等特點。基于現(xiàn)場可編程邏輯陣列(fpga)的出租車多功能計費器,采用硬件描述語言vhdl和邏輯綜合為基礎(chǔ)的自頂向下的電路設(shè)計方法,開發(fā)成本低,周期短,可靠性高,功能升級方便,滿足了用戶的要求。該系統(tǒng)在不改變硬件電路的前提下,具有可以重構(gòu)系統(tǒng)的功能;采用完全相同電路結(jié)構(gòu),只要根據(jù)各地區(qū)的要求在vhdl程序中設(shè)置各參數(shù),就可以適應(yīng)各地區(qū)出租車不同計費標準的需要,還可以根據(jù)各地區(qū)需求增加其他功

6、能。二、國內(nèi)外研究狀況我國在70年代開始出現(xiàn)出租車,但那時的計時系統(tǒng)大都是國外進口,不但不夠準確,價格還十分昂貴。隨著改革開放日益深入,出租車行業(yè)的發(fā)展勢頭已十分突出,國內(nèi)各機械廠家紛紛推出國產(chǎn)計價器。出租車計價器的功能從剛開始的只顯示路程,到能夠自主計費,以及現(xiàn)在的能夠打發(fā)票和語音提示、按時間自主變更單價等功能。在國外,現(xiàn)在各大中城市出租車行業(yè)都已普及自動計價器,所以計價器技術(shù)的發(fā)展已成定局,而部分小城市尚未普及,但隨著城市建設(shè)日益加快,計價器的普及也是毫無疑問的。從國內(nèi)外的各種研究方法來看,實現(xiàn)出租車計費系統(tǒng)總共有三種方案。利用大規(guī)模的數(shù)字邏輯器件來實現(xiàn),利用89c51實現(xiàn),利用cpld/

7、fpga來實現(xiàn)。二十世紀后半期,數(shù)字系統(tǒng)得到了飛速發(fā)展,同時為了提高系統(tǒng)的可靠性與通用性,微處理器和專業(yè)集成電路逐漸取代了通用全硬件電路。目前,業(yè)界大量可編程邏輯器件,尤其是現(xiàn)場可編程器件被大量地應(yīng)用在集成電路的制作當中。理想的可編程邏輯開發(fā)系統(tǒng)能符合大量的設(shè)計要求:它能支持不同結(jié)構(gòu)的器件。在多種平臺運行,提供易于使用的界面,并且有廣泛的特征??删幊唐骷倪壿嫻δ苊枋鲆话惴譃樵韴D描述和硬件語言描述,原理圖描述是一種直觀簡便的方法,它可以講現(xiàn)有的小規(guī)模集成電路實現(xiàn)的功能直接用可編程器件來實現(xiàn),而不必去將現(xiàn)有的電路用語言來描述,但電路圖描述方法無法做到簡練。而語言描述可以精確和簡練地表示電路的邏

8、輯功能,現(xiàn)在可編程器件的設(shè)計過程中廣泛使用。常用的硬件描述語言有abel、vhdl語言等,其中vhdl語言是一種行為描述語言,其編程結(jié)構(gòu)類似于計算機中的c語言,在描述復(fù)雜邏輯設(shè)計時,非常簡潔,具有很強的邏輯描述和仿真能力,是未來硬件設(shè)計語言的主流。三、研究方案 整個出租車計費系統(tǒng)大致可以分為控制電路模塊、分頻模塊和掃描顯示模塊,其中控制電路模塊包括速度模塊、計程模塊、計時模塊、計費模塊,掃描顯示模塊包括模8計數(shù)器模塊、8選1選擇器模塊、七段數(shù)碼管顯示模塊。其系統(tǒng)設(shè)計框圖如圖1所示。速度模塊計時模塊計費模塊計程模塊總費用總里程譯碼顯示 脈沖信號 速度 開始鍵 復(fù)位鍵 時鐘信號圖1出租車計費器系統(tǒng)

9、設(shè)計框圖四、預(yù)期結(jié)果經(jīng)過對任務(wù)書的分析,本課題要求對出租車計費系統(tǒng)的原理進行分析,熟悉出租車計費系統(tǒng)的組成結(jié)構(gòu)圖,并對其進行仿真設(shè)計。該電路系統(tǒng)能夠模擬實際出租汽車的行駛、停止、暫停等狀態(tài),并根據(jù)不同狀態(tài)進行計費。以十進制顯示出租車行駛路程與車費。車起步開始計費,首先顯示起步價,起步費為3.00元,車在行駛3km以內(nèi),只收起步價。車行駛超過3km后,每km收費2元,車費依次累加。當總費用達到或超過40元時,每km收費4元。當遇到紅燈或遇客戶需要停車等待時,則按時間計費,計費單價為每20s收費1元。指導(dǎo)教師簽字時間年 月 日摘要我國在70年代開始出現(xiàn)出租車,但那時的計費系統(tǒng)大都是國外進口,不但不

10、夠準確,價格還十分昂貴。隨著改革開放日益深入,出租車行業(yè)的發(fā)展勢頭已十分突出,國內(nèi)各機械廠家紛紛推出國產(chǎn)計價器。出租車計價器的功能從剛開始的只顯示路程,發(fā)展到能夠自主計費,以及現(xiàn)在的能夠打發(fā)票和語音提示、按時間自主變動單價等。隨著城市旅游業(yè)的發(fā)展,出租車行業(yè)已成為城市的窗口,象征著一個城市的文明程度。 本文中所用到的vhdl就能解決上述問題,因為本設(shè)計就是采用vhdl硬件描述語言作為設(shè)計手段,采用自頂向下的設(shè)計思路,得到一種出租車計價系統(tǒng)的硬件結(jié)構(gòu),通過在quartus ii軟件中編譯和下載測試,得到了仿真波形和關(guān)鍵的設(shè)計結(jié)果。經(jīng)過在實驗箱上進行硬件測試,證明出租車計價系統(tǒng)具有出租車計價器的基

11、本功能。文章首先簡述了出租車控制系統(tǒng)的意義和發(fā)展現(xiàn)狀以及vhdl語言的特點,然后介紹了出租車控系統(tǒng)的設(shè)計要求,設(shè)計思路,并給出了總體設(shè)計框圖,通過分析方框圖繪出詳細的模塊電路流程圖并寫出程序源代碼,將代碼在quartus ii軟件上進行編譯仿真,波形基本符合設(shè)計要求。關(guān)鍵字:出租車計費器vhdl語言quartus iiabstractchina began to appear in the 1970s, but then the taxi billing system mostly imported not only accurate, the price also is very expen

12、sive. along with the reform and opening-up, the taxi industry development momentum has a very prominent, the domestic various machinery manufacturers have domestic meter. the meter taxi from the beginning of the function to display only the driver himself away, pricing, and are able to independently

13、 rounding billing, and now can play an invoice and audio, according to time independent functions such as price changes. along with the development of urban tourism industry has become a city, taxi window, a symbol of a citys civilization.in this paper the vhdl can solve the above problem, because o

14、f this design is described by vhdl language as a design method of hardware, using the top-down design ideas, get a taxi pricing system hardware structure, software by quartus ii compiler and download in the simulation results of the design and key waveforms. after the experiment box on hardware test

15、ed prior taxi cab pricing system is the basic function of the meter.this article first introduced the meaning and taxi control system development status and the characteristics of the language of vhdl, then introduces the design of the control system of the taxi, design ideas, and presents the overa

16、ll design, through the analysis of the block diagram of the draw detailed modules circuit chart and write program source code, will in quartus ii compiled on software simulation, waveform basic comply with the design requirements.key words:taxi metervhdlquartus ii目錄第1章緒論11.1設(shè)計研究的相關(guān)背景11.2設(shè)計研究的意義11.3課

17、題研究的主要內(nèi)容2第2章實現(xiàn)工具簡介32.1fpga簡介32.2開發(fā)軟件quartus ii簡介42.3硬件描述語言vhdl簡介4第3章系統(tǒng)軟件設(shè)計73.1設(shè)計任務(wù)73.1.1方案擬定73.1.2模塊的劃分83.2 速度模塊93.2.1速度模塊元件圖設(shè)計93.2.2速度模塊仿真93.3計程模塊93.3.1計程模塊元件圖設(shè)計103.3.2計程模塊仿真103.4計時模塊103.4.1計時模塊元件圖設(shè)計113.4.2計時模塊仿真113.5計費模塊113.5.1計費模塊元件圖設(shè)計123.5.2計費模塊仿真123.6控制電路頂層例化模塊123.6.1控制電路頂層例化模塊元件圖設(shè)計133.6.2控制電路頂

18、層例化模塊仿真133.7分頻模塊143.7.1分頻模塊元件圖設(shè)計143.7.2分頻模塊仿真143.8模8計數(shù)器模塊143.8.1模8計數(shù)器模塊元件圖設(shè)計153.8.2模8計數(shù)器模塊仿真153.98選1選擇器模塊153.9.18選1選擇器模塊元件圖設(shè)計153.9.28選1選擇器模塊仿真163.10七段數(shù)碼管顯示模塊163.10.1七段數(shù)碼管顯示模塊元件圖設(shè)計173.10.2七段數(shù)碼管顯示模塊仿真173.11頂層模塊173.11.1頂層模塊電路圖設(shè)計173.11.2頂層模塊仿真18第4章硬件環(huán)境及調(diào)試過程194.1芯片介紹194.2硬件實現(xiàn)194.2.1選擇芯片194.2.2引腳鎖定204.2.3

19、下載到硬件環(huán)境21第5章總結(jié)及完善235.1總結(jié)235.2完善23參考文獻24致謝25附錄26附錄a 外文資料26附錄b頂層文件電路圖43附錄c源代碼44 第1章緒論1.1設(shè)計研究的相關(guān)背景在我國社會經(jīng)濟發(fā)展的今天,隨著城市化水平的提高和人民生活水平的改善,各大中小城市的出租車營運事業(yè)也迅速發(fā)展,出租車的服務(wù)顯得越來越重要。出租車計價器是出租車營運收費的專用智能化儀表,它安裝在出租車上,指示出載客路程數(shù),以及乘客應(yīng)付費用的總數(shù),是出租車市場規(guī)范化、標準化以及減少司機與乘客之間發(fā)生糾紛的重要設(shè)備。一種功能完備、簡單易用、計量準確的出租車計價器是加強出租車行業(yè)管理、提高服務(wù)質(zhì)量的必備品。當計費系統(tǒng)

20、在各大、中城市出租車中使用越來越廣泛,用戶對計費器的要求也越來越高。以出租車多功能計費器為例,用戶不僅要求計費器性能穩(wěn)定,計費準確,有防作弊功能;同時還要求其具有車票打印、語音報話識別、電腦串行通信及稅控等功能;不同國家和地區(qū)的收費方式存在差異,即使在同一地區(qū),不同車型的出租車其收費方式也有差別,而且出租車還面臨幾年一次的調(diào)價或調(diào)整收費方式等問題。出租車計價系統(tǒng)較多的是利用單片機進行控制,但較易被私自改裝,且故障率相對較高,且不易升級;而fpga具有高密度、可編程及有強大的軟件支持等特點,所以設(shè)計的產(chǎn)品具有功能強、可靠性高、易于修改等特點1。基于現(xiàn)場可編程邏輯陣列(fpga)的出租車多功能計費

21、器,采用硬件描述語言vhdl和邏輯綜合為基礎(chǔ)的自頂向下的電路設(shè)計方法,開發(fā)成本低,周期短,可靠性高,功能升級方便,滿足了用戶的要求。該系統(tǒng)在不改變硬件電路的前提下,具有可以重構(gòu)系統(tǒng)的功能;采用完全相同電路結(jié)構(gòu),只要根據(jù)各地區(qū)的要求在vhdl程序中設(shè)置各參數(shù),就可以適應(yīng)各地區(qū)出租車不同計費標準的需要,還可以根據(jù)各地區(qū)需求增加其他功能。1.2設(shè)計研究的意義隨著我國市場經(jīng)濟的發(fā)展,交通也越來越便利,特別是出租車,以快捷、方便的特點早已盛行各個城市,成為城市交通的重要工具。計程車市場從90年代初的起步階段到現(xiàn)在已經(jīng)進入了高峰期。隨著城市化水平的提高和人民生活水平的改善,計程車的服務(wù)也就顯得越來越重要,

22、因此計程車計價器也就應(yīng)運而生了。由于現(xiàn)場可編程邏輯陣列fpga具有開發(fā)簡單、靜態(tài)可重復(fù)編程和動態(tài)再系統(tǒng)編程等特點,已經(jīng)成為當今應(yīng)用最廣泛的可編程專用集成電路之一。隨著微電子技術(shù)的迅猛發(fā)展,速度更快、集成度更高的fpga不斷出現(xiàn),芯片上包含的資源也越來越豐富,可實現(xiàn)的功能越來越強,這使得fpga在電子電路設(shè)計中扮演的角色越來越重要。1.3課題研究的主要內(nèi)容 我國在70年代開始出現(xiàn)出租車,但那時的計時系統(tǒng)大都是國外進口,不但不夠準確,價格還十分昂貴。隨著改革開放日益深入,出租車行業(yè)的發(fā)展勢頭已十分突出,國內(nèi)各機械廠家紛紛推出國產(chǎn)計價器。出租車計價器的功能從剛開始的只顯示路程,到能夠自主計費,以及現(xiàn)

23、在的能夠打發(fā)票和語音提示、按時間自主變更單價等功能。在國外,現(xiàn)在各大中城市出租車行業(yè)都已普及自動計價器,所以計價器技術(shù)的發(fā)展已成定局,而部分小城市尚未普及,但隨著城市建設(shè)日益加快,計價器的普及也是毫無疑問的。從國內(nèi)外的各種研究方法來看,實現(xiàn)出租車計費系統(tǒng)總共有三種方案。利用大規(guī)模的數(shù)字邏輯器件來實現(xiàn),利用89c51實現(xiàn),利用cpld/fpga來實現(xiàn)。二十世紀后半期,數(shù)字系統(tǒng)得到了飛速發(fā)展,同時為了提高系統(tǒng)的可靠性與通用性,微處理器和專業(yè)集成電路逐漸取代了通用全硬件電路。目前,業(yè)界大量可編程邏輯器件,尤其是現(xiàn)場可編程器件被大量地應(yīng)用在集成電路的制作當中。理想的可編程邏輯開發(fā)系統(tǒng)能符合大量的設(shè)計要

24、求:它能支持不同結(jié)構(gòu)的器件。在多種平臺運行,提供易于使用的界面,并且有廣泛的特征??删幊唐骷倪壿嫻δ苊枋鲆话惴譃樵韴D描述和硬件語言描述,原理圖描述是一種直觀簡便的方法,它可以講現(xiàn)有的小規(guī)模集成電路實現(xiàn)的功能直接用可編程器件來實現(xiàn),而不必去將現(xiàn)有的電路用語言來描述,但電路圖描述方法無法做到簡練。而語言描述可以精確和簡練地表示電路的邏輯功能,現(xiàn)在可編程器件的設(shè)計過程中廣泛使用。常用的硬件描述語言有abel、vhdl語言等,其中vhdl語言是一種行為描述語言,其編程結(jié)構(gòu)類似于計算機中的c語言,在描述復(fù)雜邏輯設(shè)計時,非常簡潔,具有很強的邏輯描述和仿真能力,是未來硬件設(shè)計語言的主流。第2章實現(xiàn)工具簡

25、介2.1fpga簡介fpga是英文field programmable gate array的縮寫,即現(xiàn)場可編程門陣列,它是在pal、gal、epld等可編程器件的基礎(chǔ)上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(asic)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點2。 fpga采用了邏輯單元陣列l(wèi)ca(logic cell array)這樣一個新概念,內(nèi)部包括可配置邏輯模塊clb(configurable logic block)、輸出輸入模塊iob(input output block)和內(nèi)部連線(interconnect)三個部分。fpg

26、a的基本特點主要有: 1、采用fpga設(shè)計asic電路,用戶不需要投片生產(chǎn),就能得到合用的芯片。 2、fpga可做其它全定制或半定制asic電路的中試樣片。 3、fpga內(nèi)部有豐富的觸發(fā)器和i/o引腳。 4、fpga是asic電路中設(shè)計周期最短、開發(fā)費用最低、風(fēng)險最小的器件之一。 5、fpga采用高速chmos工藝,功耗低,可以與cmos、ttl電平兼容。 可以說,fpga芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。 目前fpga的品種很多,有xilinx的xc系列、ti公司的tpc系列、altera公司的fiex系列等3。 fpga是由存放在片內(nèi)ram中的程序來設(shè)置其工作狀態(tài)的,因

27、此,工作時需要對片內(nèi)的ram進行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。 加電時,fpga芯片將eprom中數(shù)據(jù)讀入片內(nèi)編程ram中,配置完成后,fpga進入工作狀態(tài)。掉電后,fpga恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,fpga能夠反復(fù)使用。fpga的編程無須專用的fpga編程器,只須用通用的eprom、prom編程器即可。當需要修改fpga功能時,只需換一片eprom即可。這樣,同一片fpga,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,fpga的使用非常靈活。 fpga有多種配置模式:并行主模式為一片fpga加一片eprom的方式;主從模式可以支持一片prom編程多片fpg

28、a;串行模式可以采用串行prom編程fpga;外設(shè)模式可以將fpga作為微處理器的外設(shè),由微處理器對其編程。2.2開發(fā)軟件quartus ii簡介quartus ii是altera公司推出的cpld/fpga開發(fā)工具,quartus ii提供了完全集成且與電路結(jié)構(gòu)無關(guān)的開發(fā)包環(huán)境,具有數(shù)字邏輯設(shè)計的全部特性。quartus ii設(shè)計流程:1、設(shè)計輸入:完成期間的硬件描述,包括文本編輯器、塊與符號編輯器、megawizard插件管理器、約束編輯器和布局編輯器等工具;2、綜合:包括分析和綜合器以、輔助工具和rtl查看器等工具;3、布局連線:將設(shè)計綜合后的網(wǎng)表文件映射到實體器件的過程,包括fitte

29、r工具、約束編輯器、布局圖編輯器、芯片編輯器和增量布局連線工具;4、仿真:quartus ii提供了功能仿真和時序仿真兩種工具;5、器件編程與配置:包括四種編程模式,即被動串行模式、jtag模式、主動串行模式和插座內(nèi)編程模式。使用new project wizard新建一個工程的過程:1、制定工程的文件存放目錄、工程名以及最頂層的設(shè)計實體名,在默認情況下,工程名與最頂層的設(shè)計實體名是相同的。2、添加文件,包括最頂層的設(shè)計實體文件以及一些額外的電路模塊描述文件或定制的功能庫。3、選擇目標芯片,具體芯片最好讓編譯器根據(jù)工程設(shè)計的實際情況自動選擇。4、第三方eda工具設(shè)定,包括設(shè)計輸入與綜合工具、仿

30、真工具、時序分析工具等,默認為quartus ii自帶的仿真器、綜合器以及時序分析器。5、最后一步系統(tǒng)將整體工程的各項參數(shù)和設(shè)置總結(jié)并顯示出來,這時即可完成工程的創(chuàng)建4。2.3硬件描述語言vhdl簡介vhdl全名very-high-speed integrated circuit hardware description language(超高速集成電路硬件描述語言),誕生于1982年。1987年底,vhdl被ieee和美國國防部確認為標準硬件描述語言。自ieee公布了vhdl的標準版本,ieee-1076(簡稱87版)之后,各eda公司相繼推出了自己的vhdl設(shè)計環(huán)境,或宣布自己的設(shè)計工具可

31、以和vhdl接口。此后vhdl在電子設(shè)計領(lǐng)域得到了廣泛的接受,并逐步取代了原有的非標準的硬件描述語言。1993年,ieee對vhdl進行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴展vhdl的內(nèi)容,公布了新版本的vhdl,即ieee標準的1076-1993版本(簡稱93版)?,F(xiàn)在,vhdl和verilog作為ieee的工業(yè)標準硬件描述語言,又得到眾多eda公司的支持,在電子工程領(lǐng)域,已成為事實上的通用硬件描述語言。有專家認為,在新的世紀中vhdl于verilog語言將承擔起大部分的數(shù)字系統(tǒng)設(shè)計任務(wù)5。vhdl主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口。除了含有許多具有硬件特征的語句外,vhdl

32、的語言形式和描述風(fēng)格與句法是十分類似于一般的計算機高級語言。vhdl的程序結(jié)構(gòu)特點是將一項工程設(shè)計,或稱設(shè)計實體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可視部分及端口)和內(nèi)部(或稱不可視部分),既涉及實體的內(nèi)部功能和算法完成部分。在對一個設(shè)計實體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設(shè)計就可以直接調(diào)用這個實體。這種將設(shè)計實體分成內(nèi)外部分的概念是vhdl系統(tǒng)設(shè)計的基本點。vhdl 語言能夠成為標準化的硬件描述語言并獲得廣泛應(yīng)用,它自身必然具有很多其他硬件描述語言所不具備的優(yōu)點。歸納起來,vhdl 語言主要具有以下優(yōu)點:1、vhdl 語言功能強大,設(shè)計方式多樣 vhdl 語

33、言具有強大的語言結(jié)構(gòu),只需采用簡單明確的vhdl語言程序就可以描述十分復(fù)雜的硬件電路。同時,它還具有多層次的電路設(shè)計描述功能。此外,vhdl 語言能夠同時支持同步電路、異步電路和隨機電路的設(shè)計實現(xiàn),這是其他硬件描述語言所不能比擬的。vhdl 語言設(shè)計方法靈活多樣,既支持自頂向下的設(shè)計方式,也支持自底向上的設(shè)計方法;既支持模塊化設(shè)計方法,也支持層次化設(shè)計方法。 2、vhdl語言具有強大的硬件描述能力 vhdl語言具有多層次的電路設(shè)計描述功能,既可描述系統(tǒng)級電路,也可以描述門級電路;描述方式既可以采用行為描述、寄存器傳輸描述或者結(jié)構(gòu)描述,也可以采用三者的混合描述方式。同時,vhdl語言也支持慣性延

34、遲和傳輸延遲,這樣可以準確地建立硬件電路的模型。vhdl語言的強大描述能力還體現(xiàn)在它具有豐富的數(shù)據(jù)類型。vhdl語言既支持標準定義的數(shù)據(jù)類型,也支持用戶定義的數(shù)據(jù)類型,這樣便會給硬件描述帶來較大的自由度。 3、vhdl語言具有很強的移植能力 vhdl語言很強的移植能力主要體現(xiàn)在:對于同一個硬件電路的vhdl語言描述,它可以從一個模擬器移植到另一個模擬器上、從一個綜合器移植到另一個綜合器上或者從一個工作平臺移植到另一個工作平臺上去執(zhí)行。 4、vhdl 語言的設(shè)計描述與器件無關(guān) 采用vhdl語言描述硬件電路時,設(shè)計人員并不需要首先考慮選擇進行設(shè)計的器件。這樣做的好處是可以使設(shè)計人員集中精力進行電路

35、設(shè)計的優(yōu)化,而不需要考慮其他的問題。當硬件電路的設(shè)計描述完成以后,vhdl語言允許采用多種不同的器件結(jié)構(gòu)來實現(xiàn)。 5、vhdl語言程序易于共享和復(fù)用 vhdl 語言采用基于庫(library)的設(shè)計方法。在設(shè)計過程中,設(shè)計人員可以建立各種可再次利用的模塊,一個大規(guī)模的硬件電路的設(shè)計不可能從門級電路開始一步步地進行設(shè)計,而是一些模塊的累加。這些模塊可以預(yù)先設(shè)計或者使用以前設(shè)計中的存檔模塊,將這些模塊存放在庫中,就可以在以后的設(shè)計中進行復(fù)用6。 由于vhdl語言是一種描述、模擬、綜合、優(yōu)化和布線的標準硬件描述語言,因此它可以使設(shè)計成果在設(shè)計人員之間方便地進行交流和共享,從而減小硬件電路設(shè)計的工作量

36、,縮短開發(fā)周期7。隨著eda技術(shù)的發(fā)展,使用硬件語言設(shè)計fpga成為一種趨勢。借用max+plus ii或quartus ii等軟件用vhdl語言開發(fā)fpga的完整流程為:1、文本編輯:用任何文本編輯器都可以進行,也可以用專用的hdl編輯環(huán)境。通常vhdl文件保存為.vhd文件。2、功能仿真:將文件調(diào)入hdl仿真軟件進行功能仿真,檢查邏輯功能是否正確也叫前仿真,對簡單的設(shè)計可以跳過這一步,只在布線完成以后,進行時序仿真8。3、邏輯綜合:將源文件調(diào)入邏輯綜合軟件進行綜合,即把語言綜合成最簡的布爾表達式和信號的連接關(guān)系。邏輯綜合軟件會生成.edf的eda工業(yè)標準文件。4、布局布線:將edf文件調(diào)入

37、pld廠家提供的軟件中進行布線,即把設(shè)計好的邏輯安放到pld/fpga內(nèi)。5、時序仿真:需要利用在布局布線中獲得的精確參數(shù),用仿真軟件驗證電路的時序(也叫后仿真)。6、編程下載:確認仿真無誤后,將文件下載到芯片中。.sof文件用于直接下載到芯片(掉電后會消失),.pof文件用于rom芯片下載(掉電后不消失)9。第3章系統(tǒng)軟件設(shè)計3.1設(shè)計任務(wù)設(shè)計一個滿足日常生活所需功能的出租車計費器。該項目主要由硬件電路設(shè)計和軟件控制兩部分組成。硬件部分主要完成出租車計費系統(tǒng)設(shè)計需要的fpga芯片及外圍顯示和撥檔開關(guān)控制電路設(shè)計。軟件部分由主控器ep1c12控制完成,通過vhdl語言完成出租車計費系統(tǒng)的整個程

38、序設(shè)計。實現(xiàn)計費器預(yù)置功能,能夠預(yù)置起步價、每公里收費、車行加費里程、計時收費等??梢阅M實際出租汽車的行駛、停止、暫停等狀態(tài),并根據(jù)不同狀態(tài)進行計費。以十進制顯示出租車行駛路程與車費。3.1.1方案擬定1、方案對比方案一:該方案系統(tǒng)設(shè)計框圖,如圖3-1:時鐘信號等待信號公里脈沖計費、復(fù)位分頻器控制器計費計時計程譯碼顯示圖3-1 方案一系統(tǒng)設(shè)計框圖在該方案中,由分頻模塊、控制模塊、計量模塊、譯碼和動態(tài)掃描顯示模塊組成,可以實現(xiàn)出租車計費功能,但其使用公里脈沖信號做為公里計數(shù)的開始信號,由于實驗箱中時鐘信號的限制,不能完全實現(xiàn)計費計程功能。方案二:該方案系統(tǒng)設(shè)計框圖,如圖3-2:速度模塊計時模塊

39、計費模塊計程模塊總費用總里程譯碼顯示 脈沖信號 速度 開始鍵 復(fù)位鍵 時鐘信號圖3-2方案二系統(tǒng)設(shè)計框圖在該方案中,主要包括控制電路模塊、分頻模塊和掃描顯示模塊,其中控制電路模塊包括速度模塊、計程模塊、計時模塊、計費模塊,掃描顯示模塊包括模8計數(shù)器模塊、8選1選擇器模塊、七段數(shù)碼管顯示模塊,最后由數(shù)碼管顯示計費計程結(jié)果。2、方案的確定及功能分析:根據(jù)方案一與方案二的對比,方案一不能實現(xiàn)此次設(shè)計的所有功能,最終選擇方案二作為本次設(shè)計方案。本次設(shè)計要求設(shè)計一個出租車計費系統(tǒng),具體功能設(shè)定如下:(1)車起步開始計費。首先顯示起步價(本次設(shè)計起步價設(shè)為3.00元),車在行駛3km以內(nèi),只收起步價3.0

40、0元。(2)車行駛超過3km后,按每公里2元計費(在3.00元基礎(chǔ)上每行駛1km車費加2元),車費依次累加。(3)當遇到紅燈或遇客戶需要停車等待時,則按時間計費,計費單價為每20s收費1元。(4)當總費用達到或超過40元時,每km收費4元。3.1.2模塊的劃分如圖3-2,設(shè)計上總體分為芯片控制部分和掃描顯示部分。以ep1c12q240c8芯片作為核心控制電路,控制數(shù)碼管的顯示,具體顯示內(nèi)容及方式由軟件來完成。顯示部分由外圍設(shè)備數(shù)碼管實現(xiàn),顯示出租車行駛路程和計費。出租車的開始、暫停狀態(tài)及出租車速度均由撥檔開關(guān)控制。分析系統(tǒng)設(shè)計要求不難得知,整個出租車計費系統(tǒng)大致可以分為控制電路模塊、分頻模塊和

41、掃描顯示模塊,其中控制電路模塊包括速度模塊、計程模塊、計時模塊、計費模塊,掃描顯示模塊包括模8計數(shù)器模塊、8選1選擇器模塊、七段數(shù)碼管顯示模塊。3.2 速度模塊速度模塊首先根據(jù)start信號判斷是否開始計費,然后根據(jù)對輸入的速度檔位sp2.0的判斷,決定變量kinside的值。kinside即是進行100m所需要的時鐘周期數(shù),然后每行進100m,則輸出一個clkout脈沖信號。同時由cnt對clk進行計數(shù),當cnt等于kinside時,把clkout信號置1,cnt清0。3.2.1速度模塊元件圖設(shè)計運行速度模塊,生成速度模塊元件圖,如圖3-3:圖3-3速度模塊元件圖速度模塊元件圖(如圖3-3)

42、分析:clk為時鐘脈沖輸入端;reset為復(fù)位信號輸入端;start為開始計費信號輸入端;stop為停止計費信號輸入端;sp2.0為出租車狀態(tài)輸入端(停止或不同行駛速度);clkout為每行進100m脈沖信號輸出端。3.2.2速度模塊仿真使用quartus ii對速度模塊進行功能仿真,如圖3-4:圖3-4速度模塊仿真仿真圖(如圖3-4)分析:輸入時鐘脈沖,當start開始后,sp2.0設(shè)定出租車狀態(tài),clkout根據(jù)sp2.0輸出脈沖信號,車每行駛100m輸出信號clkout輸出高電平。3.3計程模塊此模塊主要用于記錄行進的距離。通過對clkout信號的計數(shù),可以計算行駛的的距離kmcnt。一

43、個clkout脈沖相當于行進100m,所以只要記錄clkout的脈沖數(shù)目即可確定共行進的距離。3.3.1計程模塊元件圖設(shè)計運行計程模塊,生成計程模塊元件圖,如圖3-5: 圖3-5計程模塊元件圖計程模塊元件圖(如圖3-5)分析: reset為復(fù)位信號輸入端;clkout為每行進100m脈沖信號輸入端;kmcnt13.0為行駛路程的十分位;kmcnt23.0為行駛路程的個位;kmcnt33.0為行駛路程的十位,分別為十進制數(shù)。3.3.2計程模塊仿真使用quartus ii對計程模塊進行功能仿真,如圖3-6: 圖3-6速度模塊仿真仿真圖(如圖3-6)分析:當reset復(fù)位后,系統(tǒng)復(fù)位清零;否則,對輸

44、入信號clkout進行十進制計數(shù),kmcnt1、kmcnt2、kmcnt3分別輸出行駛路程的十分位、個位、十位。3.4計時模塊在汽車啟動后,當遇到顧客等人或紅燈時,出租車采用計時收費的方式。通過對速度信號sp的判斷決定是否開始記錄時間。當sp=0時,開始記錄時間。當時間達到足夠大時則產(chǎn)生timecount脈沖,并重新計時。一個timecount脈沖相當于等待的時間達到了時間計費的長度。這里選擇系統(tǒng)時鐘頻率為1khz,實現(xiàn)千分頻,1hz控制計時模塊,20s即計數(shù)值為20。3.4.1計時模塊元件圖設(shè)計運行計時模塊,生成計時模塊元件圖,如圖3-7: 圖3-7計時模塊元件計時模塊元件圖(如圖3-7)分

45、析:clk為時鐘脈沖輸入端;reset為復(fù)位信號輸入端;start為開始計費信號輸入端;stop為停止計費信號輸入端;sp2.0為出租車狀態(tài)輸入端(停止或不同行駛速度);timecount為計時脈沖輸出端。3.4.2計時模塊仿真使用quartus ii對計時模塊進行功能仿真,如圖3-8:圖 3-8計時模塊仿真計時模塊(如圖3-8)仿真分析:當reset復(fù)位后,系統(tǒng)清零,start開始計費信號高電平有效,sp2.0設(shè)置速度為0,開始記錄時間。預(yù)設(shè)20個時鐘周期為20s,對時鐘周期進行計數(shù),每計20個時鐘周期輸出高電平,指示計時20s。3.5計費模塊由兩個進程組成。其中,一個進程根據(jù)條件對enab

46、le和price賦值:當記錄的距離達到3公里后enable信號變?yōu)?,開始進行每公里計費,當總費用大于40元后,則單價price由原來的每公里2元變?yōu)槊抗?元;第二個進程在每個時鐘周期判斷timecount和clkout的值,當其為1時,則在總費用上加上相應(yīng)的費用。3.5.1計費模塊元件圖設(shè)計運行計費模塊,生成計費模塊元件圖,如圖3-9:圖3-9計費模塊元件圖計費模塊元件圖(如圖3-9)分析:clk為時鐘脈沖輸入端;reset為復(fù)位信號輸入端; timecount為計時脈沖輸出端;clkout為每行進100m脈沖信號輸入端; kmcnt23.0為行駛路程的個位;kmcnt33.0為行駛路程的

47、十位。count13.0為總費費的個位輸出端;count23.0為總費費的十位輸出端;count33.0為總費費的百位輸出端。3.5.2計費模塊仿真使用quartus ii對計費模塊進行功能仿真,如圖3-10:圖3-10計費模塊仿真計費模塊仿真(如圖3-10)分析:當reset信號有效時,系統(tǒng)復(fù)位清零;否則,當計時計費信號timecount和計程計費信號clkout為高電平時,按照一定計費規(guī)則進行計費。3.6控制電路頂層例化模塊控制模塊包括速度模塊、計程模塊、計時模塊和計費模塊四個模塊。通過元件例化語句將以上四個模塊例化,形成一個總的控制模塊,產(chǎn)生需要的設(shè)計電路。3.6.1控制電路頂層例化模塊

48、元件圖設(shè)計運行控制電路頂層例化模塊,生成元件圖,如圖3-11:圖3-11控制電路頂層例化模塊元件圖控制電路頂層例化模塊元件圖(如圖3-11)分析:clk為時鐘脈沖輸入端,上升沿有效;reset為復(fù)位信號輸入端,start為開始計費信號輸入端,stop為停止計費信號輸入端,均為高電平有效;sp2.0為出租車狀態(tài)輸入端(停止或不同行駛速度);kmcnt和count信號分別為出租車行駛的里程和花費的輸出端。3.6.2控制電路頂層例化模塊仿真使用quartus ii對控制電路頂層例化模塊進行功能仿真,如圖3-12:圖3-12控制電路頂層例化模塊仿真控制電路頂層例化模塊仿真(如圖3-12)分析:上圖中,

49、當復(fù)位信號reset為高電平時,系統(tǒng)所有寄存器、計數(shù)器都清零;當開始計費信號start信號有效時,計費器開始計費,根據(jù)出租車行駛的速度sp2.0的取值計算所用花費和行駛里程;當停止計費信號stop有效時,計費器停止工作。3.7分頻模塊本設(shè)計用到1khz和1hz兩種時鐘頻率?;鶞实臅r鐘脈沖是實驗箱上提供的1khz的信號,僅能滿足控制電路模塊所需的頻率。分頻模塊對頻率為1khz的輸入脈沖進行千分頻,得到頻率為1hz的信號。其中1khz用于控制電路模塊,1hz用于模8計數(shù)器模塊。3.7.1分頻模塊元件圖設(shè)計運行分頻模塊,生成分頻模塊元件圖,如圖3-13: 圖3-13分頻模塊元件圖分頻模塊元件圖(如圖

50、3-13)分析:clkin為1khz時鐘信號輸入端;clkout為千分頻后的時鐘信號輸出端。3.7.2分頻模塊仿真使用quartus ii對分頻模塊進行功能仿真,如圖3-14:圖3-14分頻模塊仿真分頻模塊仿真(如圖3-14)分析:輸入時鐘信號后,clkin被千分頻后輸出clkout。由于clkin的頻率比較大,所以顯示為一條黑帶。3.8模8計數(shù)器模塊本設(shè)計采用數(shù)碼管顯示數(shù)據(jù),實驗箱中數(shù)碼管前連有一個74hc138譯碼器,可以用來控制數(shù)碼管位碼選擇。74hc138譯碼器可接受3位二進制加權(quán)地址輸入,模8計數(shù)器通過對輸入信號clk的掃描輸出3位二進制編碼。3.8.1模8計數(shù)器模塊元件圖設(shè)計運行模

51、8計數(shù)器模塊程序,生成元件圖,如圖3-15:圖3-15模8計數(shù)器模塊元件圖模8計數(shù)器模塊元件圖(如圖3-15)分析:clk為時鐘頻率輸入端,a2.0為3位二進制數(shù)輸出端。3.8.2模8計數(shù)器模塊仿真使用quartus ii對模8計數(shù)器模塊進行功能仿真,如圖3-16:圖 3-16模8計數(shù)器模塊仿真模8計數(shù)器模塊仿真(如圖3-16)分析:上圖可以看到,每一個時鐘周期掃描輸出一個3位二進制數(shù)。3.98選1選擇器模塊本設(shè)計需用數(shù)碼管顯示行駛里程及花費。實驗箱上共有八位數(shù)碼管。本次設(shè)計使用其中前三位顯示行駛里程,后三位顯示行駛花費,中間兩位設(shè)為“-”。經(jīng)過8選1選擇器進行數(shù)碼管位選。3.9.18選1選擇

52、器模塊元件圖設(shè)計運行8選1選擇器模塊,生成元件圖,如圖3-17:圖3-178選1選擇器模塊元件圖8選1選擇器模塊元件圖(如圖3-17)分析:c2.0為3位二進制輸入信號,a1a3為出租車行駛里程輸入端,b1b3信號為花費輸入端;d3.0為4位二進制輸出信號,dp為小數(shù)點指示信號。3.9.28選1選擇器模塊仿真使用quartus ii對8選1選擇器模塊進行仿真,如圖3-18:圖3-188選1選擇器模塊仿真8選1選擇器模塊仿真(如圖3-18)分析:上圖可以看出,行駛里程為設(shè)為5km,行駛車費為7元。數(shù)碼管前三位顯示行駛里程,后三位顯示行駛花費,中間兩位設(shè)為“-”,則數(shù)碼管顯示為05.0-007。3

53、.10七段數(shù)碼管顯示模塊本設(shè)計采用七段數(shù)碼管動態(tài)顯示數(shù)據(jù),其中前三位顯示行駛里程,后三位顯示車費,中間兩位設(shè)為“-”。此模塊可以控制數(shù)碼管的段碼選擇,使數(shù)碼管顯示相應(yīng)的數(shù)據(jù)。該模塊頻率需選用1khz,因為頻率低時數(shù)碼管會閃爍,當頻率高到一定程度時給人的直觀感覺是所有數(shù)據(jù)同時顯示。3.10.1七段數(shù)碼管顯示模塊元件圖設(shè)計運行七段數(shù)碼管顯示模塊,生成元件圖,如圖3-19:圖3-19七段數(shù)碼管顯示模塊元件圖七段數(shù)碼管顯示模塊元件圖(如圖3-19)分析:d3.0為二進制數(shù)輸入端,q6.0為七段譯碼輸出端。3.10.2七段數(shù)碼管顯示模塊仿真使用quartus ii對七段數(shù)碼管顯示模塊進行功能仿真,如圖3-20:圖3-20七段數(shù)碼管顯示模塊仿真七段數(shù)碼管顯示模塊仿真(如圖3-20)分析:上圖中可以看出,q6.0根據(jù)輸入信號d3.0的值顯示相應(yīng)的數(shù)字。3.11頂層模塊在此模塊中對前面的控制電路頂層例化模塊、分頻模塊、掃描顯示模塊(模8計數(shù)器模塊、8選1選擇器模塊和七段數(shù)碼管顯示模塊)進行綜合編寫,輸出其綜合功能。3.11.1頂層模塊電路圖設(shè)計頂層電路圖,如圖3-21:圖3-21頂層模塊電路圖頂層模塊電路圖(如圖3-21)分析:將以上各模塊的元件進行連接就完成了整個電路的連接,可以實現(xiàn)出租車計費系統(tǒng)的設(shè)計功

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論