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

下載本文檔

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

文檔簡介

1、吉林大學(xué)珠海學(xué)院 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì) 基于基于 fpgafpga 的出租車計(jì)費(fèi)器系統(tǒng)的出租車計(jì)費(fèi)器系統(tǒng) 的設(shè)計(jì)的設(shè)計(jì) 系系 別別: :電子信息系電子信息系 專專 業(yè)業(yè) 名名 稱稱: :電子信息科學(xué)與技術(shù)電子信息科學(xué)與技術(shù) 學(xué)學(xué) 生生 姓姓 名名: : 學(xué)學(xué) 號號: : 指導(dǎo)教師姓名、職稱:指導(dǎo)教師姓名、職稱: 完成日期 2010 年 5 月 1 日 吉林大學(xué)珠海學(xué)院本科畢業(yè)論文(設(shè)計(jì))開題報(bào)告吉林大學(xué)珠海學(xué)院本科畢業(yè)論文(設(shè)計(jì))開題報(bào)告 選 題基于 fpga 的出租車計(jì)費(fèi)器系統(tǒng)的設(shè)計(jì) 院 系電子信息系專 業(yè)電子信息科學(xué)與技術(shù) 學(xué)生姓名指導(dǎo)教師 本選題的意義及國內(nèi)外發(fā)展?fàn)顩r: 由于現(xiàn)場可編程

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

3、能夠 打發(fā)票和語音提示、按時(shí)間自主變動(dòng)單價(jià)等功能。隨著城市旅游業(yè)的發(fā)展,出租車 行業(yè)已成為城市的窗口,象征著一個(gè)城市的文明程度。在國內(nèi)外,現(xiàn)在各大中城市 出租車行業(yè)都已普及自動(dòng)計(jì)價(jià)器,所以計(jì)價(jià)器技術(shù)的發(fā)展已成定局。而部分小城市 尚未普及,但隨著城市建設(shè)日益加快,象征著城市面貌的出租車行業(yè)也將加速發(fā)展, 計(jì)價(jià)器的普及也是毫無疑問的,所以未來汽車計(jì)價(jià)器的市場還是十分有潛力的。 研究內(nèi)容: 一:fpga 的概述。 二:計(jì)費(fèi)器總體結(jié)構(gòu)與基本原理。 三:fpga 的硬件設(shè)計(jì)。 四:計(jì)費(fèi)器系統(tǒng)的軟件設(shè)計(jì)。 五:系統(tǒng)仿真。 研究方法、手段及步驟: 1. 原理圖設(shè)計(jì):針對本設(shè)計(jì)進(jìn)行相關(guān)硬件的原理設(shè)計(jì),配合查閱

4、網(wǎng)上資料 2. 用 protel 軟件繪制原理圖 3. 用 vhdl 語言進(jìn)行軟件設(shè)計(jì) 4. 用 max+plus對出租車計(jì)費(fèi)系統(tǒng)進(jìn)行仿真 參考文獻(xiàn): 1 金西.vhdl 與復(fù)雜數(shù)字系統(tǒng)設(shè)計(jì)m.西安:西安電子科技大學(xué)出版社, 2003:107-150. 2 高有堂.eda 技術(shù)及應(yīng)用實(shí)踐m.北京:清華大學(xué)出版社,2006:96-152. 3 趙曙光,郭萬有,楊頌華等.可編程邏輯器件原理、開發(fā)與應(yīng)用m.西安:西 安科技大學(xué)出版社,2006:56-158. 4 胡振華.vhdl 與 fpga 設(shè)計(jì)m.北京:中國鐵道出版社,2003:127-154 5 劉明業(yè),蔣敬旗,刁嵐松譯.硬件描述語言 ver

5、ilogm.北京:清華大學(xué)出版社, 2001:89-106. 6 王振紅.綜合電子設(shè)計(jì)與實(shí)踐m.北京:清華大學(xué)出版社出版, 2005:124-145. 7 王誠,吳繼華,范麗珍等.aleara fpga/cpld 設(shè)計(jì)(高級篇)m.北京:人民 郵電出版社,2005:54-69. 8 顧斌,趙明忠,姜志鵬等.數(shù)字電路 eda 設(shè)計(jì)m.電子科技大學(xué)出版社, 2004:263-267. 9 周立功.arm 嵌入式系統(tǒng)基礎(chǔ)教程m.北京:航空航天大學(xué)出版社,2005:5- 22. 10 周立功,夏宇聞單片機(jī)與 cpld 綜合應(yīng)用技術(shù)m.北京:航空航天大學(xué)出版 社,2003:79-98. 11 求是科技.

6、cpld/fpga 應(yīng)用開發(fā)技術(shù)與工程實(shí)踐m.北京:人民郵電出版社 2005:129-156. 12 曹昕燕,周鳳臣,捏春燕.eda 技術(shù)實(shí)驗(yàn)與課程設(shè)計(jì)m.北京:清華大學(xué)出版 社,2006:125-145. 13 xilinx. using block ram in spartan-3 generation fpgasm.2005.3. 基于 fpga 的出租車計(jì)費(fèi)器系統(tǒng)的設(shè)計(jì) 摘 要 隨著可編程邏輯器件設(shè)計(jì)技術(shù)的發(fā)展,每個(gè)邏輯器件中門電路的數(shù)量越來越多,一個(gè)邏 輯器件就可以完成本來要由很多分立邏輯器件和存儲(chǔ)芯片完成的功能。這樣做減少了系 統(tǒng)的功耗和成本,提高了性能和可靠性。fpga 就是目前

7、最受歡迎的可編程邏輯器件之一。 該系統(tǒng)利用 vhdl 語言、pld 設(shè)計(jì)出租車計(jì)費(fèi)系統(tǒng),以 max+plus軟件作為開發(fā)平臺, 設(shè)計(jì)了出租車計(jì)費(fèi)器系統(tǒng)程序并進(jìn)行了程序仿真。使其實(shí)現(xiàn)計(jì)費(fèi)以及預(yù)置和模擬汽車啟 動(dòng)、停止、暫停等功能,并動(dòng)態(tài)掃描顯示車費(fèi)數(shù)目 關(guān)鍵詞: fpga, 出租車計(jì)費(fèi)器,max+plus,vhdl 語言 the designs of the rental car costs system on fpga abstract with the development of programmable logic device (pld) design technology, the

8、number of logic gate in every logic device increases dramatically. the logic device can realize the functions which can also be fulfilled by many discrete devices and memory chips. the usage of pld can reduce the power dissipation and cost of the system. it can also improve the performance and relia

9、bility. field programmable gate array (fpga) is one of the most popular programmable logic devices. this system using the vhdl language, pld design rental car costs the system, develops the platform by the max+plussoftware achievement, has designed the rental car fare register system program and has

10、 carried on the procedure simulation. causes its realization to cost as well as the initialization and the simulation automobile starts, stops, function and so on suspension, and dynamic scanning demonstration fare number. keywords:fpga;the rental car costs the system;max+plus;vhdl language 目目 錄錄 前

11、言 .1 第一章 緒 論 .3 1.1 fpga 的概述 .3 1.2 fpga 的優(yōu)越性.3 1.3 eda 發(fā)展概況 .4 1.4 課題設(shè)計(jì)意義.7 第二章 總體結(jié)構(gòu)與工作原理 .9 2.1 fpga 結(jié)構(gòu) .9 2.2 fpga 設(shè)計(jì)流程 .9 2.3 fpga 的硬件結(jié)構(gòu)圖 .10 2.4 出租車計(jì)費(fèi)工作原理.11 2.5 出租車計(jì)費(fèi)器系統(tǒng)軟件結(jié)構(gòu)圖.11 第三章 基于 fpga 的硬件設(shè)計(jì) .12 3.1 電源電路設(shè)計(jì).12 3.2 下載配置的電路設(shè)計(jì).12 3.3 fpga 芯片及其外圍電路設(shè)計(jì) .13 3.3.1 fpga 芯片.13 3.3.2 按鍵和 led.14 3.3.3

12、 復(fù)位 .14 3.3.4 外部時(shí)鐘 .15 3.3.5 濾波電容 .15 3.3.6 用戶擴(kuò)展接口 .15 第四章 出租車計(jì)費(fèi)器系統(tǒng)的軟件設(shè)計(jì) .17 4.1 系統(tǒng)的總體框圖.17 4.2 程序流程圖.18 4.3 系統(tǒng)各功能模塊的實(shí)現(xiàn).18 4.3.1 信號輸入模塊 jifei 的實(shí)現(xiàn) .18 4.3.2 數(shù)據(jù)轉(zhuǎn)換模塊 x 的實(shí)現(xiàn) .19 4.3.3 顯示模塊 xxx1 的實(shí)現(xiàn) .19 4.3.4 數(shù)據(jù)選擇模塊 se 的實(shí)現(xiàn) .20 4.3.5 數(shù)碼管譯碼模塊 di 的實(shí)現(xiàn) .20 第五章 系統(tǒng)仿真 .21 5.1 信號輸入模塊 x 的仿真結(jié)果.21 5.2 數(shù)據(jù)轉(zhuǎn)換模塊 jifei 的仿

13、真結(jié)果.21 5.3 顯示模塊 xxx1 的仿真結(jié)果.22 5.4 數(shù)據(jù)選擇模塊 se 的結(jié)果驗(yàn)證.22 5.5 數(shù)碼管譯碼模塊 di 的結(jié)果驗(yàn)證.22 結(jié) 論 .24 附錄 .25 致 謝 .35 前 言 隨著出租車行業(yè)的發(fā)展,對出租車計(jì)費(fèi)器的要求也越來越高。二十世紀(jì)后半期,隨 著集成電路和計(jì)算機(jī)技術(shù)的飛速發(fā)展,數(shù)字系統(tǒng)也得到了飛速發(fā)展,其實(shí)現(xiàn)方法經(jīng)歷了 由分立元件、ssi、msi到lsi、vlsi以及uvlsi的過程。同時(shí)為了提高系統(tǒng)的可靠性與通 用性,微處理器和專業(yè)集成電路(asic)逐漸取代了通用全硬件lsi電路,而asic以其體積 小、重量輕、功耗低、速度快、成本低、保密性好而脫穎而

14、出。目前,業(yè)界大量可編程 邏輯器件(pld),尤其是現(xiàn)場可編程邏輯器件(fpld)被大量地應(yīng)用在asic的制作當(dāng)中。在 可編程集成電路的開發(fā)過程中,以計(jì)算機(jī)為工作平臺,融合了應(yīng)用電子技術(shù)、計(jì)算機(jī)技 術(shù)、智能化技術(shù)最新成果的電子設(shè)計(jì)自動(dòng)化(eda)技術(shù)主要能輔助進(jìn)行三方面的設(shè)計(jì)工作: ic設(shè)計(jì),電子電路設(shè)計(jì)以及pcb設(shè)計(jì) 理想的可編程邏輯開發(fā)系統(tǒng)能符合大量的設(shè)計(jì)要求:它能夠支持不同結(jié)構(gòu)的器件, 在多種平臺運(yùn)行,提供易于使用的界面,并且有廣泛的特征。此外,一個(gè)設(shè)計(jì)系統(tǒng)應(yīng)該 能給設(shè)計(jì)師提供充分自由的設(shè)計(jì)輸入方法和設(shè)計(jì)工具選擇。altered公司開發(fā)的 max+plus開發(fā)系統(tǒng)能充分滿足可編程邏輯設(shè)計(jì)

15、所有要求。 max+plus設(shè)計(jì)環(huán)境所提供的靈活性和高效性是無可比擬的。其豐富的圖形界面, 輔之以完整的、可及時(shí)訪問的在線文檔,使設(shè)計(jì)人員能夠輕松、愉快地掌握和使用 max+plus軟件。 編程器是一種專門用于對可編程器(如eprom,eeprom,gal,cpld,pal等)進(jìn)行 編程的專業(yè)設(shè)備 pld器件的邏輯功能描述一般分為原理圖描述和硬件描述語言描述,原理圖描述是一 種直觀簡便的方法,它可以將現(xiàn)有的小規(guī)模集成電路實(shí)現(xiàn)的功能直接用pld器件來實(shí)現(xiàn), 而不必去將現(xiàn)有的電路用語言來描述,但電路圖描述方法無法做到簡練;硬件描述語言 描述是可編程器件設(shè)計(jì)的另一種描述方法,語言描述可能精確和簡練地

16、表示電路的邏輯 功能,現(xiàn)在pld的設(shè)計(jì)過程中廣泛使用。常用的硬件描述語言有abel,vhdl語言等,其 中abel是一種簡單的硬件描述語言,其支持布爾方程、真值表、狀態(tài)機(jī)等邏輯描述,適 用于計(jì)數(shù)器、譯碼器、運(yùn)算電路、比較器等邏輯功能的描述;vhdl語言是一種行為描述 語言,其編程結(jié)構(gòu)類似于計(jì)算機(jī)中的c語言,在描述復(fù)雜邏輯設(shè)計(jì)時(shí),非常簡潔,具有很 強(qiáng)的邏輯描述和仿真能力,是未來硬件設(shè)計(jì)語言的主流。 vhdl就是超高速集成電路硬件描述語言。覆蓋面廣,描述能力強(qiáng),是一個(gè)多層次的 硬件描述語言。在vhdl語言中,設(shè)計(jì)的原始描述可以非常簡練,經(jīng)過層層加強(qiáng)后,最終 可成為直接付諸生產(chǎn)的電路或版圖參數(shù)描述。

17、具有良好的可讀性,即容易被計(jì)算機(jī)接受, 也容易被讀者理解。使用期長,不會(huì)因工藝變化而使描述過時(shí)。因?yàn)関hdl的硬件描述與 工藝無關(guān),當(dāng)工藝改變時(shí),只需修改相應(yīng)程序中的屬性參數(shù)即可。支持大規(guī)模設(shè)計(jì)的分 解和已有設(shè)計(jì)的再利用。一個(gè)大規(guī)模的設(shè)計(jì)不可能由一個(gè)人獨(dú)立完成,必須由多人共同 承擔(dān),vhdl為設(shè)計(jì)的分解和設(shè)計(jì)的再利用提供了有力的支持。 第一章 緒 論 1.1 fpga 的概述 fpga(fieldprogrammable gate array),即現(xiàn)場可編程門陣列,它是在 pal、gal、cpld等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路 (asic)領(lǐng)域中的一種半定制電路而出

18、現(xiàn)的,既解決了定制電路的不足,又克服了原有可編 程器件門電路數(shù)有限的缺點(diǎn)。 eda是電子設(shè)計(jì)自動(dòng)化(electronic design automation)的縮寫,在20世紀(jì)60年代中 期從計(jì)算機(jī)輔助設(shè)計(jì)(cad)、計(jì)算機(jī)輔助制造(cam)、計(jì)算機(jī)輔助測試(cat)和計(jì)算機(jī)輔 助工程(cae)的概念發(fā)展而來的。 1.2 fpga 的優(yōu)越性 eda 出現(xiàn)之前,人們用傳統(tǒng)的自下而上的硬件電路設(shè)計(jì)方法來設(shè)計(jì)系統(tǒng)。其主要步 驟是:根據(jù)系統(tǒng)對硬件的要求,詳細(xì)編制技術(shù)規(guī)格書,并畫出系統(tǒng)控制流圖;然后根據(jù) 技術(shù)規(guī)格書和系統(tǒng)控制流圖,對系統(tǒng)的功能進(jìn)行分化,合理地劃分功能模塊,并畫出系 統(tǒng)功能框圖;接著就是進(jìn)

19、行各功能模塊的細(xì)化和電路設(shè)計(jì);各個(gè)模塊的工能調(diào)試完以后, 將各個(gè)模塊的硬件電路連接起來,再進(jìn)行調(diào)試,最后就完成整個(gè)系統(tǒng)的硬件電路設(shè)計(jì)。 這種傳統(tǒng)的電路設(shè)計(jì)方法的系統(tǒng)仿真和調(diào)試要在系統(tǒng)的硬件完成后才能進(jìn)行,因此存在 的問題只有在后期才能發(fā)現(xiàn),一旦考慮不周,就要重新設(shè)計(jì),使得設(shè)計(jì)的費(fèi)用和周期增 大。另外,由于設(shè)計(jì)文件是原理圖,如果設(shè)計(jì)的系統(tǒng)比較復(fù)雜,那么其原理圖就要成千 上萬張,給存檔、閱讀和修改都帶來了不便。 隨著大規(guī)模專用集成電路的開發(fā)和研制,為了提高開發(fā)的效率和增加已有開發(fā)成果 的可繼承性,縮短開發(fā)周期,各種新興的eda 開發(fā)工具開始出現(xiàn),特別是硬件描述語言 hdl 的出現(xiàn),使得傳統(tǒng)的硬件電

20、路設(shè)計(jì)方法發(fā)生了巨大的變革,就是從系統(tǒng)總體的要求 出發(fā),自上而下的逐步將設(shè)計(jì)內(nèi)容細(xì)化,最后完成系統(tǒng)的整體設(shè)計(jì)。這種自上而下的設(shè) 計(jì)方法的主要特點(diǎn)是: (1) 電路設(shè)計(jì)更趨合理 硬件設(shè)計(jì)人員在設(shè)計(jì)硬件電路時(shí)使用pld 器件,自行可以設(shè)計(jì)所需的專用功能模塊, 而不需受通用元器件的限制,從而使電路設(shè)計(jì)更合理,其體積和功耗也大為縮小。 (2) 采用系統(tǒng)早期仿真 在自上而下的設(shè)計(jì)過程中,每級都進(jìn)行仿真,從而可以在早期的系統(tǒng)設(shè)計(jì)中發(fā)現(xiàn)設(shè) 計(jì)存在的問題,這樣就可以大大縮短系統(tǒng)設(shè)計(jì)的周期,降低費(fèi)用。 (3) 降低了硬件電路設(shè)計(jì)難度 使用傳統(tǒng)的硬件電路設(shè)計(jì)方法時(shí),往往要求設(shè)計(jì)人員設(shè)計(jì)電路前寫出該電路的邏輯 表達(dá)

21、式和真值表,然后進(jìn)行化簡等,這使得工作起來相當(dāng)困難和煩雜,特別是在設(shè)計(jì)復(fù) 雜系統(tǒng)時(shí),工作量大而且容易出錯(cuò)。fpga 使用hdl 語言(硬件描述語言) ,避免編寫邏 輯表達(dá)式或真值表,使設(shè)計(jì)難度大大下降,設(shè)計(jì)周期也縮短了。 (4) 主要設(shè)計(jì)文件使用hdl 語言編寫的源程序 eda 設(shè)計(jì)方法中主要使用的是hdl 語言,并可以將hdl 語言編寫的源程序轉(zhuǎn)換成 電路原理圖形式輸出。用hdl 語言編寫的源程序作為歸檔文件有很多好處:一是資料量 小,便于保存;二是可繼承性好;三是閱讀方便。 1.3 eda 發(fā)展概況 電子設(shè)計(jì)技術(shù)的核心就是eda技術(shù),eda是指以計(jì)算機(jī)為工作臺,融合應(yīng)用電子技 術(shù)、計(jì)算機(jī)技

22、術(shù)、智能化技術(shù)最新成果而研制成的電子cad通用軟件包,主要能輔助進(jìn) 行三方面的設(shè)計(jì)工作,即ic設(shè)計(jì)、電子電路設(shè)計(jì)和pcb設(shè)計(jì)。eda技術(shù)已有30年的發(fā)展歷 程,大致可分為三個(gè)階段。70年代為計(jì)算機(jī)輔助設(shè)計(jì)(cad)階段,人們開始用計(jì)算機(jī)輔助 進(jìn)行ic版圖編輯、pcb布局布線,取代了手工操作。80年代為計(jì)算機(jī)輔助工程(cae)階段。 與cad相比,cae除了有純粹的圖形繪制功能外,又增加了電路功能設(shè)計(jì)和結(jié)構(gòu)設(shè)計(jì), 并且通過電氣連接網(wǎng)絡(luò)表將兩者結(jié)合在一起,實(shí)現(xiàn)了工程設(shè)計(jì)。cae的主要功能是:原 理圖輸入,邏輯仿真,電路分析,自動(dòng)布局布線,pcb后分析。90年代為電子系統(tǒng)設(shè)計(jì)自 動(dòng)化(eda)階段。

23、 中國eda市場已漸趨成熟,不過大部分設(shè)計(jì)工程師面向的是pc主板和小型asic領(lǐng)域, 僅有小部分(約11%)的設(shè)計(jì)人員開發(fā)復(fù)雜的片上系統(tǒng)器件。為了與臺灣和美國的設(shè)計(jì)工程 師形成更有力的競爭,中國的設(shè)計(jì)隊(duì)伍有必要購入一些最新的eda技術(shù)。 在信息通信領(lǐng)域,要優(yōu)先發(fā)展高速寬帶信息網(wǎng)、深亞微米集成電路、新型元器件、計(jì)算 機(jī)及軟件技術(shù)、第三代移動(dòng)通信技術(shù)、信息管理、信息安全技術(shù),積極開拓以數(shù)字技術(shù)、 網(wǎng)絡(luò)技術(shù)為基礎(chǔ)的新一代信息產(chǎn)品,發(fā)展新興產(chǎn)業(yè),培育新的經(jīng)濟(jì)增長點(diǎn)。要大力推進(jìn) 制造業(yè)信息化,積極開展計(jì)算機(jī)輔助設(shè)計(jì)(cad)、計(jì)算機(jī)輔助工程(cae)、計(jì)算機(jī)輔助工 藝(capp)、計(jì)算機(jī)機(jī)輔助制造(ca

24、m)、產(chǎn)品數(shù)據(jù)管理(pdm)、制造資源計(jì)劃(mrpii)及企 業(yè)資源管理(erp)等。有條件的企業(yè)可開展“網(wǎng)絡(luò)制造”,便于合作設(shè)計(jì)、合作制造,參與 國內(nèi)和國際競爭。開展“數(shù)控化”工程和“數(shù)字化”工程。自動(dòng)化儀表的技術(shù)發(fā)展趨勢的測試 技術(shù)、控制技術(shù)與計(jì)算機(jī)技術(shù)、通信技術(shù)進(jìn)一步融合,形成測量、控制、通信與計(jì)算機(jī) (m3c)結(jié)構(gòu)。在asic和pld設(shè)計(jì)方面,向超高速、高密度、低功耗、低電壓方向發(fā)展。外 設(shè)技術(shù)與eda工程相結(jié)合的市場前景看好,如組合超大屏幕的相關(guān)連接,多屏幕技術(shù)也 有所發(fā)展。 中國自1995年以來加速開發(fā)半導(dǎo)體產(chǎn)業(yè),先后建立了幾所設(shè)計(jì)中心,推動(dòng)系列設(shè)計(jì) 活動(dòng)以應(yīng)對亞太地區(qū)其它eda市

25、場的競爭。 在eda軟件開發(fā)方面,目前主要集中在美國。但各國也正在努力開發(fā)相應(yīng)的工具。 日本、韓國都有asic設(shè)計(jì)工具,但不對外開放 。中國華大集成電路設(shè)計(jì)中心,也提供ic 設(shè)計(jì)軟件,但性能不是很強(qiáng)。相信在不久的將來會(huì)有更多更好的設(shè)計(jì)工具有各地開花并 結(jié)果。據(jù)最新統(tǒng)計(jì)顯示,中國和印度正在成為電子設(shè)計(jì)自動(dòng)化領(lǐng)域發(fā)展最快的兩個(gè)市場, 年復(fù)合增長率分別達(dá)到了50%和30%。 eda技術(shù)發(fā)展迅猛,完全可以用日新月異來描述。eda技術(shù)的應(yīng)用廣泛,現(xiàn)在已涉 及到各行各業(yè)。eda水平不斷提高,設(shè)計(jì)工具趨于完美的地步。eda市場日趨成熟,但 我國的研發(fā)水平還很有限,需迎頭趕上。(把這一頁中的字母數(shù)字改為tim

26、es new roman格 式) 可編程邏輯器件自70年代以來,經(jīng)歷了pal、galgpld、fpga幾個(gè)發(fā)展階段,其 中cpldfpga高密度可編程邏輯器件,目前集成度已高達(dá)200萬門片,它將各模塊 asic集成度高的優(yōu)點(diǎn)和可編程邏輯器件設(shè)計(jì)生產(chǎn)方便的特點(diǎn)結(jié)合在一起,特別適合于樣 品研制或小批量產(chǎn)品開發(fā),使產(chǎn)品能以最快的速度上市,而當(dāng)市場擴(kuò)大時(shí),它可以很容 易地轉(zhuǎn)換掩模asic實(shí)現(xiàn),因此開發(fā)風(fēng)險(xiǎn)也大為降低。 硬件描述語言(hdl)是一種用于設(shè)計(jì)硬件電子系統(tǒng)的計(jì)算機(jī)語言,它用軟件編程 的方式來描述電子系統(tǒng)的邏輯功能、電路結(jié)構(gòu)和連接形式,與傳統(tǒng)的門級描述方式相比, 它更適合大規(guī)模系統(tǒng)的設(shè)計(jì)。例如

27、一個(gè)32位的加法器,利用圖形輸入軟件需要輸人500至 1000個(gè)門,而利用vhdl語言只需要書寫一行“abc”即可。而且 vhdl語言可讀性 強(qiáng),易于修改和發(fā)現(xiàn)錯(cuò)誤。早期的硬件描述語言,如abel、hdl、ahdl,由不同的 eda廠商開發(fā),互不兼容,而且不支持多層次設(shè)計(jì),層次間翻譯工作要由人工完成。為 了克服以上不足,1985年美國國防部正式推出了高速集成電路硬件描述語言vhdl,1987 年ieee采納vhdl為硬件描述語言標(biāo)準(zhǔn)(ieee std -1076)。 vhdl是一種全方位的硬件描述語言,包括系統(tǒng)行為級。寄存器傳輸級和邏輯門多個(gè) 設(shè)計(jì)層次,支持結(jié)構(gòu)、數(shù)據(jù)流和行為三種描述形式的混合

28、描述,因此vhdl幾乎覆蓋了以 往各種硬件俄語言的功能,整個(gè)自頂向下或由下向上的電路設(shè)計(jì)過程都可以用vhdl來完 成。vhdl還具有以下優(yōu)點(diǎn):(1)vhdl的寬范圍描述能力使它成為高層進(jìn)設(shè)計(jì)的核心,將 設(shè)計(jì)人員的工作重心提高到了系統(tǒng)功能的實(shí)現(xiàn)與調(diào)試,而花較少的精力于物理實(shí)現(xiàn)。(2) vhdl可以用簡潔明確的代碼描述來進(jìn)行復(fù)雜控制邏輯設(shè)計(jì),靈活且方便,而且也便于設(shè) 計(jì)結(jié)果的交流、保存和重用。(3)vhdl的設(shè)計(jì)不依賴于特定的器件,方便了工藝的轉(zhuǎn)換。 (4)vhdl是一個(gè)標(biāo)準(zhǔn)語言,為眾多的eda廠商支持,因此移植性好。傳統(tǒng)的硬件電路設(shè) 計(jì)方法是采用自下而上的設(shè)計(jì)方法,即根據(jù)系統(tǒng)對硬件的要求,詳細(xì)編

29、制技術(shù)規(guī)格書, 并畫出系統(tǒng)控制流圖;然后根據(jù)技術(shù)規(guī)格書和系統(tǒng)控制流圖,對系統(tǒng)的功能進(jìn)行細(xì)化, 合理地劃分功能模塊,并畫出系統(tǒng)的功能框圖;接著就進(jìn)行各功能模塊的細(xì)化和電路設(shè) 計(jì);各功能模塊電路設(shè)計(jì)、調(diào)試完成后,將各功能模塊的硬件電路連接起來再進(jìn)行系統(tǒng) 的調(diào)試,最后完成整個(gè)系統(tǒng)的硬件設(shè)計(jì)。采用傳統(tǒng)方法設(shè)計(jì)數(shù)字系統(tǒng),特別是當(dāng)電路系 統(tǒng)非常龐大時(shí),設(shè)計(jì)者必須具備較好的設(shè)計(jì)經(jīng)驗(yàn),而且繁雜多樣的原理圖的閱讀和修改 也給設(shè)計(jì)者帶來諸多的不便。為了提高開發(fā)的效率,增加已有開發(fā)成果的可繼承性以及 縮短開發(fā)周期,各asic研制和生產(chǎn)廠家相繼開發(fā)了具有自己特色的電路硬件描述語言 (hardware descript

30、ion language,簡稱hdl)。但這些硬件描述語言差異很大,各自只 能在自己的特定設(shè)計(jì)環(huán)境中使用,這給設(shè)計(jì)者之間的相互交流帶來了極大的困難。因此, 開發(fā)一種強(qiáng)大的、標(biāo)準(zhǔn)化的硬件描述語言作為可相互交流的設(shè)計(jì)環(huán)境已勢在必行。于是, 美國于1981年提出了一種新的、標(biāo)準(zhǔn)化的hdl,稱之為vhsic(very high speed integrated circuit) hardware description language,簡稱vhdl。這是一種用形式化方法 來描述數(shù)字電路和設(shè)計(jì)數(shù)字邏輯系統(tǒng)的語言。設(shè)計(jì)者可以利用這種語言來描述自己的設(shè) 計(jì)思想,然后利用電子設(shè)計(jì)自動(dòng)化工具進(jìn)行仿真,再自動(dòng)綜

31、合到門電路,最后用pld實(shí)現(xiàn) 其功能。 覆蓋面廣,描述能力強(qiáng),是一個(gè)多層次的硬件描述語言。在vhdl語言中,設(shè)計(jì)的原 始描述可以非常簡練,經(jīng)過層層加強(qiáng)后,最終可成為直接付諸生產(chǎn)的電路或版圖參數(shù)描 述。 具有良好的可讀性,即容易被計(jì)算機(jī)接受,也容易被讀者理解。 使用期長,不會(huì)因工藝變化而使描述過時(shí)。因?yàn)関hdl的硬件描述與工藝無關(guān),當(dāng)工 藝改變時(shí),只需修改相應(yīng)程序中的屬性參數(shù)即可。 支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用。一個(gè)大規(guī)模的設(shè)計(jì)不可能由一個(gè)人獨(dú) 立完成,必須由多人共同承擔(dān),vhdl為設(shè)計(jì)的分解和設(shè)計(jì)的再利用提供了有力的支持。 當(dāng)電路系統(tǒng)采用vhdl語言設(shè)計(jì)其硬件時(shí),與傳統(tǒng)的電路設(shè)計(jì)方法

32、相比較,具有如下 的特點(diǎn): 即從系統(tǒng)總體要求出發(fā),自上而下地逐步將設(shè)計(jì)的內(nèi)容細(xì)化,最后完成系統(tǒng)硬件的 整體設(shè)計(jì)。在設(shè)計(jì)的過程中,對系統(tǒng)自上而下分成三個(gè)層次進(jìn)行設(shè)計(jì): 第一層次是行為描述。所謂行為描述,實(shí)質(zhì)上就是對整個(gè)系統(tǒng)的數(shù)學(xué)模型的描述。 一般來說,對系統(tǒng)進(jìn)行行為描述的目的是試圖在系統(tǒng)設(shè)計(jì)的初始階段,通過對系統(tǒng)行為 描述的仿真來發(fā)現(xiàn)設(shè)計(jì)中存在的問題。在行為描述階段,并不真正考慮其實(shí)際的操作和 算法用何種方法來實(shí)現(xiàn),而是考慮系統(tǒng)的結(jié)構(gòu)及其工作的過程是否能到達(dá)系統(tǒng)設(shè)計(jì)的要 求。 第二層次是rtl方式描述。這一層次稱為寄存器傳輸描述(又稱數(shù)據(jù)流描述)。如前 所述,用行為方式描述的系統(tǒng)結(jié)構(gòu)的程序,其抽

33、象程度高,是很難直接映射到具體邏輯 元件結(jié)構(gòu)的。要想得到硬件的具體實(shí)現(xiàn),必須將行為方式描述的vhdl語言程序改寫為 rtl方式描述的vhdl語言程序。也就是說,系統(tǒng)采用rtl方式描述,才能導(dǎo)出系統(tǒng)的邏 輯表達(dá)式,才能進(jìn)行邏輯綜合。 第三層次是邏輯綜合。即利用邏輯綜合工具,將rtl方式描述的程序轉(zhuǎn)換成用基本邏 輯元件表示的文件(門級網(wǎng)絡(luò)表)。此時(shí),如果需要,可將邏輯綜合的結(jié)果以邏輯原理 圖的方式輸出。此后可對綜合的結(jié)果在門電路級上進(jìn)行仿真,并檢查其時(shí)序關(guān)系。 應(yīng)用邏輯綜合工具產(chǎn)生的門網(wǎng)絡(luò)表,將其轉(zhuǎn)換成pld的編程碼,即可利用pld實(shí)現(xiàn)硬 件電路的設(shè)計(jì)。 由自上而下的設(shè)計(jì)過程可知,從總體行為設(shè)計(jì)開

34、始到最終的邏輯綜合,每一步都要 進(jìn)行仿真檢查,這樣有利于盡早發(fā)現(xiàn)設(shè)計(jì)中存在的問題,從而可以大大縮短系統(tǒng)的設(shè)計(jì) 周期。 系統(tǒng)可大量采用pld芯片。 由于目前眾多制造pld芯片的廠家,其工具軟件均支持vhdl語言的編程。所以利用 vhdl語言設(shè)計(jì)數(shù)字系統(tǒng)時(shí),可以根據(jù)硬件電路的設(shè)計(jì)需要,自行利用pld設(shè)計(jì)自用的 asic芯片,而無須受通用元器件的限制。 eda系統(tǒng)框架結(jié)構(gòu)(framework)是一套配置和使用eda軟件包的規(guī)范。目前 主要的eda系統(tǒng)都建立了框架結(jié)構(gòu),如 cadence公司的design framework,mentor公司 的falcon framework,而且這些框架結(jié)構(gòu)都遵守

35、國際cfi組織制定的統(tǒng)一技術(shù)標(biāo)準(zhǔn)??蚣?結(jié)構(gòu)能將來自不同eda廠商的工具軟件進(jìn)行優(yōu)化組合,集成在一個(gè)易于管理的統(tǒng)一的環(huán) 境之下,而且還支持任務(wù)之間、設(shè)計(jì)師之間以及整個(gè)產(chǎn)品開發(fā)過程中的信息傳輸與共享, 是并行工程和自頂向下設(shè)計(jì)施的實(shí)現(xiàn)基礎(chǔ)。 eda技術(shù)的每一次進(jìn)步,都引起了設(shè)計(jì)層次上的一次飛躍,從設(shè)計(jì)層次上分,70年 代為物理級設(shè)計(jì)(cad),80年代為電路級設(shè)計(jì)(cae),90年代進(jìn)入到系統(tǒng)級設(shè)計(jì)(eda)。 物理級設(shè)計(jì)主要指ic版圖設(shè)計(jì),一般由半導(dǎo)體廠家完成,對電子工程師沒有太大的意義, 因此本文重點(diǎn)介紹電路級設(shè)計(jì)和系統(tǒng)級設(shè)計(jì)。 仿真通過后,根據(jù)原理圖產(chǎn)生的電氣連接網(wǎng)絡(luò)表進(jìn)行pcb板的自動(dòng)布

36、局布線。在制作 pcb板之前還可以進(jìn)行pcb后分析,其中包括熱分析、噪聲及竄擾分析、電磁兼容分析、 可靠性分析等,并可將分析后的結(jié)果參數(shù)反標(biāo)回電路圖,進(jìn)行第二次仿真,也稱為后仿 真。后仿真主要是檢驗(yàn)pcb板在實(shí)際工作環(huán)境中的可行性。 由此可見,電路級的eda技術(shù)使電子工程師在實(shí)際的電子系統(tǒng)產(chǎn)生前,就可以全面 地了解系統(tǒng)的功能特性和物理特性,從而將開發(fā)風(fēng)險(xiǎn)消滅在設(shè)計(jì)階段,縮短了開發(fā)時(shí)間, 降低了開發(fā)成本。 系統(tǒng)級設(shè)計(jì) 進(jìn)人90年代以來,電子信息類產(chǎn)品的開發(fā)明顯呈現(xiàn)兩個(gè)特點(diǎn):一是產(chǎn)品 復(fù)雜程度提高;二是產(chǎn)品上市時(shí)限緊迫。然而,電路級設(shè)計(jì)本質(zhì)上是基于門級描述的單 層次設(shè)計(jì),設(shè)計(jì)的所有工作(包括設(shè)計(jì)忙

37、人、仿真和分析、設(shè)計(jì)修改等)都是在基本邏 輯門這一層次上進(jìn)行的,顯然這種設(shè)計(jì)方法不能適應(yīng)新的形勢,一種高層次的電子設(shè)計(jì) 方法,也即系統(tǒng)級設(shè)計(jì)方法,應(yīng)運(yùn)而生。 1.4 課題設(shè)計(jì)意義 出租車計(jì)價(jià)器是乘客與司機(jī)雙方的交易準(zhǔn)則,它是出租車行業(yè)發(fā)展的重要標(biāo)志,是 出租車中最重要的工具。它關(guān)系著交易雙方的利益。具有良好性能的計(jì)價(jià)器無論是對廣 大出租車司機(jī)朋友還是乘客來說都是很必要的。因此,汽車計(jì)價(jià)器的研究也是十分有一 個(gè)應(yīng)用價(jià)值的。傳統(tǒng)國內(nèi)外出租車計(jì)費(fèi)器多數(shù)由單片機(jī)實(shí)現(xiàn),升級繁瑣,成本高。以出 租車多功能計(jì)費(fèi)器為例,傳統(tǒng)的計(jì)費(fèi)器常以mcs251系列單片機(jī)為其核心主控部件,如 89c51rc2, lpd78

38、f0034 等,該系列的單片機(jī)工作頻率一般不大于24mhz,而且可擴(kuò) 展的資源有限, 最大能夠擴(kuò)展的程序空間和內(nèi)存空間一般都只有64kb,很難勝任出租車 多功能計(jì)費(fèi)器的不斷升級要求。傳統(tǒng)的計(jì)費(fèi)器通常采用硬件模塊化的設(shè)計(jì)結(jié)構(gòu),主要包 括主控模塊,電源模塊, 按鍵顯示模塊,防作弊及脈沖輸入模塊以及稅控模塊等。在主 控模塊中又包括cpu 子模塊, 語音識別子模塊,串口通信子模塊,復(fù)位、看門狗及電源 監(jiān)控子模塊,打印子模塊等,硬件電路復(fù)雜,不利于系統(tǒng)功能升級,容易在運(yùn)營過程中 產(chǎn)生干擾,影響系統(tǒng)的使用; 并且由于分立器件多,必然造成電源功耗大,芯片易發(fā)熱, 影響芯片的使用壽命。基于fpga的出租車計(jì)費(fèi)

39、器不僅可以解決電子系統(tǒng)小型化、低功耗、 高可靠性等問題,而且其開發(fā)周期短、開發(fā)軟件投入少、芯片價(jià)格不斷降低,特別是對 小批量、多品種的產(chǎn)品需求,基于fpga的出租車計(jì)費(fèi)器已成首選。計(jì)費(fèi)系統(tǒng)在各大、中 城市出租車中使用越來越廣泛。針對現(xiàn)有計(jì)費(fèi)系統(tǒng)通用性差的缺陷,本文采用isp器件和 vhdl語言開發(fā)了一套出租車計(jì)費(fèi)系統(tǒng);該計(jì)費(fèi)系統(tǒng)的可靠性高、成本低、通用性強(qiáng);該 系統(tǒng)在不改變硬件電路的前提下,具有可以重構(gòu)系統(tǒng)的功能,采用完全相同電路結(jié)構(gòu), 只要根據(jù)各地區(qū)的需求在vhdl程序中設(shè)置各參數(shù),就可以適應(yīng)各地區(qū)出租車不同計(jì)費(fèi)標(biāo) 準(zhǔn)的需要,還可根據(jù)各地區(qū)需求增加其他功能。 第二章 總體結(jié)構(gòu)與工作原理 2.

40、1 fpga 結(jié)構(gòu) fpga 一般由三種可編程電路和一個(gè)用于存放編程數(shù)據(jù)的sram 組成,這三種可編 程電路包括可編程邏輯塊(clb) 、輸入/ 輸出模塊( iob) 和互聯(lián)資( ir) 。clb 是fpga 的主要組成部分,是實(shí)現(xiàn)邏輯功能的基本單元。它是由邏輯函數(shù)發(fā)生器、觸發(fā)器、數(shù)據(jù) 選擇器等電路組成。iob提供了器件引腳和內(nèi)部邏輯陣列之間的連接;一般排列在芯片的 四周,主要由輸入觸發(fā)器、輸入緩沖器、輸出觸發(fā)/ 鎖存器和輸出緩沖器組成。每一個(gè) iob 控制一個(gè)引腳,可被配置為輸入、輸出活雙向i/ o 功能??删幊袒ヂ?lián)資源包括各種長 度的金屬連線和一些可編程連接開關(guān),它們將各個(gè)clb 之間和i

41、ob 之間互相連接起來, 構(gòu)成各種復(fù)雜功能的系統(tǒng)。 2.2 fpga 設(shè)計(jì)流程 可編程邏輯器件的設(shè)計(jì)是指利用 eda 開發(fā)軟件和編程工具對器件進(jìn)行開發(fā)的過程。 高密度復(fù)雜可編程邏輯器件的設(shè)計(jì)流程包括設(shè)計(jì)準(zhǔn)備、設(shè)計(jì)輸入、功能仿真、設(shè)計(jì)處理、 時(shí)序仿真和器件編程及測試等七個(gè)步驟。 (1)設(shè)計(jì)準(zhǔn)備 在系統(tǒng)設(shè)計(jì)之前,首先要進(jìn)行方案論證、系統(tǒng)設(shè)計(jì)和器件選擇等準(zhǔn)備工作。設(shè)計(jì)人 員根據(jù)任務(wù)要求,如系統(tǒng)的功能和復(fù)雜度,對工作速度和器件本身的資源、成本及連線 的可布性等方面進(jìn)行權(quán)衡,選擇合適的設(shè)計(jì)方案和合適的器件類型。一般采用自上而下 的設(shè)計(jì)方法,也可采用傳統(tǒng)的自下而上的設(shè)計(jì)方法。 (2)設(shè)計(jì)輸入 設(shè)計(jì)人員將所

42、設(shè)計(jì)的系統(tǒng)或電路以開發(fā)軟件要求的某種形式表示出來,并送入計(jì)算 機(jī)的過程稱為設(shè)計(jì)輸入。設(shè)計(jì)輸入通常有以下幾種形式: 原理圖輸入方式 是一種最直接的設(shè)計(jì)描述方式,要設(shè)計(jì)什么,就從軟件系統(tǒng)提供的元件庫中調(diào)出來, 畫出原理圖。其優(yōu)點(diǎn)是容易實(shí)現(xiàn)仿真,便于信號的觀察和電路的調(diào)整;缺點(diǎn)是效率低。 硬件描述語言 是用文本方式描述設(shè)計(jì)。其突出優(yōu)點(diǎn)有:語言與工藝的無關(guān)性,可以使設(shè)計(jì)人員在 系統(tǒng)設(shè)計(jì)、邏輯驗(yàn)證階段便確立方案的可行性;語言的公開可利用性,便于實(shí)現(xiàn)大規(guī)模 系統(tǒng)的設(shè)計(jì);具有很強(qiáng)的邏輯描述和仿真功能,而且輸入效率高;在不同的設(shè)計(jì)輸入庫 之間的轉(zhuǎn)換非常方便,不需要對底層的電路和 pld 結(jié)構(gòu)的熟悉。 波形輸入

43、方式 波形輸入方式主要是用來建立和編輯波形設(shè)計(jì)文件,以及輸入仿真向量和功能測試 向量。波形設(shè)計(jì)輸入適用于時(shí)序邏輯和有重復(fù)性的邏輯函數(shù)。 (3)功能仿真 功能仿真也叫前仿真。用戶所設(shè)計(jì)的電路必須在編譯之前進(jìn)行邏輯功能驗(yàn)證,此 時(shí)的仿真沒有延時(shí)信息,對于初步的功能檢測十分方便。 (4)設(shè)計(jì)處理 設(shè)計(jì)處理是器件設(shè)計(jì)中的核心環(huán)節(jié)。在設(shè)計(jì)處理過程中,編譯軟件將對設(shè)計(jì)輸入 文件進(jìn)行邏輯化簡、綜合優(yōu)化和適配,最后產(chǎn)生編程用的編程文件。主要包括:語法檢 查和設(shè)計(jì)規(guī)則檢查,邏輯優(yōu)化和綜合,適配和分割,布局和布線。 (5)時(shí)序仿真 時(shí)序仿真又稱后仿真或延時(shí)仿真。由于不同器件的內(nèi)部延時(shí)不一樣,不同的布局 布線方案也

44、給延時(shí)造成不同的影響。因此在設(shè)計(jì)處理以后,對系統(tǒng)和各模塊進(jìn)行時(shí)序仿 真,分析其時(shí)序關(guān)系,估計(jì)設(shè)計(jì)的性能,以及檢查和消除競爭冒險(xiǎn)等是非常有必要的。 實(shí)際上這也是與實(shí)際器件工作情況基本相同的仿真。 (6)器件編程測試 時(shí)序仿真完成后,軟件就可產(chǎn)生供器件編程使用的數(shù)據(jù)文件。器件在編程完畢后, 可以用編譯時(shí)產(chǎn)生的文件對器件進(jìn)行校驗(yàn)、加密等工作。 2.3 fpga 的硬件結(jié)構(gòu)圖 本論文基于ep1c3t144 的fpga設(shè)計(jì),結(jié)構(gòu)框圖如圖2-1所示,原理圖見附錄1,包括 電源部分、按鍵和led、下載配置部分、復(fù)位部分、外部時(shí)鐘、濾波電容、用戶擴(kuò)展接口、 5 1 單片機(jī)接口、fpga芯片,共9個(gè)部分。 le

45、d 外部時(shí)鐘外部時(shí)鐘 fpga 復(fù)位復(fù)位 開關(guān)開關(guān) 擴(kuò)展接口擴(kuò)展接口濾波電容濾波電容mcu 接口接口 接口接口 用戶接口用戶接口jtag電源電源 圖 2-1 fpga 硬件結(jié)構(gòu)框圖 2.4 出租車計(jì)費(fèi)工作原理 實(shí)際中出租車的計(jì)費(fèi)工作原理一般分成 3 個(gè)階段: (1)車起步開始計(jì)費(fèi)。首先顯示起步價(jià)(本次設(shè)計(jì)起步費(fèi)為 7.00 元),車在行駛 3 km 以內(nèi),只收起步價(jià) 7.00 元。 (2)車行駛超過 3 km 后,按每公里 2.2 元計(jì)費(fèi)(在 7.00 元基礎(chǔ)上每行駛 1 km 車費(fèi)加 2.2 元),車費(fèi)依次累加。 (3)行駛路程達(dá)到或超過 9 km 后(車費(fèi)達(dá)到 20 元),每公里加收 50

46、%的車費(fèi),車費(fèi)變成 按每公里 3.3 元開始計(jì)費(fèi)。車暫時(shí)停止(行駛中遇紅燈或中途暫時(shí)停車)不計(jì)費(fèi),車費(fèi)保 持不變。若停止則車費(fèi)清零,等待下一次計(jì)費(fèi)的開始 2.5 出租車計(jì)費(fèi)器系統(tǒng)軟件結(jié)構(gòu)圖 (1) 根據(jù)出租車計(jì)費(fèi)原理,將出租車計(jì)費(fèi)部分由 5 個(gè)計(jì)數(shù)器來完成分別為 countera,counterb,counterc,counterd,countere。計(jì)數(shù)器 a 完成車費(fèi)百位。計(jì)數(shù) 器 b 完成車費(fèi)十位和個(gè)位。計(jì)數(shù)器 c 完成車費(fèi)角和分。計(jì)數(shù)器 d 完成計(jì)數(shù)到 30(完 成車費(fèi)的起步價(jià)) 。計(jì)數(shù)器 e 完成模擬實(shí)現(xiàn)車行駛 100 m 的功能。 (2)行駛過程中車費(fèi)附加 50%的功能:由比較器實(shí)

47、現(xiàn)。 (3)車費(fèi)的顯示:由動(dòng)態(tài)掃描電路來完成。用專用模塊來實(shí)現(xiàn),完成數(shù)據(jù)的輸入即動(dòng)態(tài) 數(shù)據(jù)的顯示。 (4)通過分析可以設(shè)計(jì)出系統(tǒng)的頂層框圖如圖 2-2 所示: 圖 2-2 系統(tǒng)的頂層框圖 第三章 基于 fpga 的硬件設(shè)計(jì) 3.1 電源電路設(shè)計(jì) 板子由外部提供5v 電源,使用的圓頭插座的封裝,可以直接用5v 的電源適配器插 上使用,不需要直流穩(wěn)壓電源,fpga 的io 的電源是3.3v,內(nèi)核的電壓是1.5v,所以用 上兩個(gè)leo,一個(gè)將5v 轉(zhuǎn)到3.3v,另一個(gè)將3.3v 轉(zhuǎn)到1.5v,加上一些濾波電容,板上 的其他外設(shè)的電源均是3.3v,另外有3.3v 的電源指示燈,表示電源是否正常,還有防

48、反 插二極管,防止電源反插,對器件造成損壞電路圖如圖3-1所示。 圖 3-1 電源電路圖 3.2 下載配置的電路設(shè)計(jì) 大家都知道fpga是sram 型的可編程邏輯器件,不像rom型可編程器件cpld那樣, 通過jtag就可以直接把代碼固化片子里面。fpga 隨便也可以通過jtag 下載代碼到片 子里面運(yùn)行。fpga下載到片子里面代碼是存放在ram里,所以斷電后這些代碼馬上就沒 有了。這樣,fpga就需要非易失性存儲(chǔ)器用來存放代碼,每次上點(diǎn)后把代碼從配置芯片 讀掃fpga然后運(yùn)行。我們選用altera 公司配套的as 模式的配置存儲(chǔ)器epcs1,成本 比較低,并且很容易配置。 調(diào)試的時(shí)候流程是:

49、修改設(shè)計(jì),編譯然后通過jtag下載到fpga 內(nèi)部運(yùn)行,一直這 樣進(jìn)行直到設(shè)置成功,最后才把代碼固化到配置存儲(chǔ)器里面。 這樣需要對jtag下載和epcs 下載,老的方案需要兩種下載電路,現(xiàn)在我們根據(jù)新 的設(shè)計(jì)方案制了一塊fpga 的下載板,既可以下載ftag,也可以下載epcs,另外對 altera 系列的所有的可編程器件都支持。下載配置部分電路圖如圖3-2所示。 圖 3-2 下載配置電路原理圖 3.3 fpga 芯片及其外圍電路設(shè)計(jì) 3.3.1 fpga 芯片 fpga 一共144 個(gè)引腳就是和以上8 個(gè)部分連接,如圖3-3所示。 這塊板子既可以單獨(dú)使用,也可以配合51 的板子一起使用。單獨(dú)

50、使用時(shí),通過用戶 接口和其他的電路連接,不同電路之間通信等。如果全局時(shí)鐘不夠,需要將預(yù)留給51 的 全局時(shí)鐘資源拿來用。和51 配合使用的時(shí)候,51 和fpga之間是總線的接口,fpga相 當(dāng)于是51 的一個(gè)存儲(chǔ)器映射外設(shè),操作的時(shí)候注意讀寫,另外不使用的時(shí)候要把數(shù)據(jù)線 變?yōu)槿龖B(tài)。 圖 3-3 fpga 芯片 3.3.2 按鍵和 led 板上提供4 個(gè)撥碼按鍵和4 個(gè)led,分別接到fpga的8 個(gè)io 引腳上,具體的引腳 可以參看電路圖或者絲印。按鍵和led 可以用外當(dāng)成最簡單的外設(shè),用和來控制這些外 設(shè)。對于用該板作開發(fā)的用戶來說,可以把按鍵當(dāng)成鍵盤控制,而把led 當(dāng)成提示來用。 3.3

51、.3 復(fù)位 開發(fā)板上有兩個(gè)復(fù)位按鍵,一個(gè)叫做硬件復(fù)位,按下此鍵,所有fpga的代碼重新從 epcs1里面讀到fpga,程序從新開始運(yùn)行,該引腳接到fpga 的nconfig 引腳,該引 腳為低電平是代碼重新開始配置。另外一個(gè)復(fù)位按鍵連接到fpga 的另外一個(gè)全局時(shí)鐘 上,用來表示在設(shè)計(jì)的過程中的reset 引腳。復(fù)位電路圖如圖3-4所示。 圖 3-4 復(fù)位電路原理圖 3.3.4 外部時(shí)鐘 該板上接一個(gè)外部晶振,晶振的頻率自己可以任選,我們提供的是10m 的晶振,用 來做全局時(shí)鐘。 當(dāng)然用戶要是想用其他的全局時(shí)鐘,就必須要把51 擴(kuò)展部分的兩個(gè)全局時(shí)鐘連接其 他的時(shí)鐘源。 3.3.5 濾波電容

52、濾波電容用來對fpga 電源濾波。 3.3.6 用戶擴(kuò)展接口 用戶擴(kuò)展接口一共有三組:分別是20 x2、10 x2、10 x2 的三組,用戶根據(jù)自己的需要 擴(kuò)展外部電路。 用這塊板子作進(jìn)一步的開發(fā),一定要這些接口。比喻:用該板子作邏輯分析儀或者 波形發(fā)生器等,像被分析信號,da 信號等都要從該接口輸入或者輸出。如果需要和51 以外的單片機(jī)接口或者擴(kuò)展也要通過這個(gè)端口。 圖 3-5 mcu 接口電路圖 第四章 出租車計(jì)費(fèi)器系統(tǒng)的軟件設(shè)計(jì) 4.1 系統(tǒng)的總體框圖 各部分主要功能包括:信號輸入模塊對車輪傳感器傳送的脈沖信號進(jìn)行計(jì)數(shù)(每轉(zhuǎn)一 圈送一個(gè)脈沖),并以高低脈沖模擬出租汽車啟動(dòng)、停止、暫停、加

53、速按鈕,具有輸入信 號作用;數(shù)據(jù)轉(zhuǎn)換模塊將計(jì)費(fèi)模塊輸出的車費(fèi)和路程轉(zhuǎn)換成4位的十進(jìn)制數(shù)據(jù);譯碼動(dòng) 態(tài)掃描模塊將路程與費(fèi)用的數(shù)值譯碼后用動(dòng)態(tài)掃描的方式驅(qū)動(dòng)數(shù)碼管;數(shù)碼管顯示模塊 將公里數(shù)和計(jì)費(fèi)金額均用4位led數(shù)碼管顯示(2位整數(shù),2位小數(shù))。 圖 4-1 系統(tǒng)總體框圖 4.2 程序流程圖 圖 4-2 程序流程圖 4.3 系統(tǒng)各功能模塊的實(shí)現(xiàn) 4.3.1 信號輸入模塊 jifei 的實(shí)現(xiàn) 圖 4-3 信號輸入模塊 jifei 信號輸入模塊jifei見圖4-3。輸入端口start、stop、pause、js分別為汽車起動(dòng)、 停止、暫停、加速按鍵;輸出端口chefei12.0和luc12.0分別是輸

54、出車費(fèi)和路程。該 模塊主要實(shí)現(xiàn)計(jì)費(fèi)功能和現(xiàn)場模擬功能。計(jì)費(fèi)標(biāo)準(zhǔn)為:對車輪傳感器傳送的脈沖信號進(jìn) 行計(jì)數(shù)(每轉(zhuǎn)一圈傳送一個(gè)脈沖),按行駛里程計(jì)費(fèi),起步價(jià)為7.00元,并在車行3 km后按 車開始啟動(dòng) 里程不計(jì)數(shù) 里程計(jì)數(shù)里程顯示 計(jì)費(fèi)器計(jì)數(shù)車費(fèi)顯示 車跑完成一次后 車費(fèi)、里程清零 yes yes yes no no 2.40元km計(jì)費(fèi),當(dāng)計(jì)費(fèi)器達(dá)到或超過20元時(shí),每公里加收50的車費(fèi),車停止不計(jì)費(fèi)。 并以高低脈沖模擬出租汽車啟動(dòng)、停止、暫停、加速按鈕,具有輸入信號的作用。 4.3.2 數(shù)據(jù)轉(zhuǎn)換模塊 x 的實(shí)現(xiàn) 數(shù)據(jù)轉(zhuǎn)換模塊x見圖4-4。該模塊把車費(fèi)和路程轉(zhuǎn)化為4位十進(jìn)制數(shù),daclk的頻率要比

55、clk快得多。數(shù)據(jù)轉(zhuǎn)換模塊是一個(gè)模為10、步長可變的加法計(jì)數(shù)器,可將計(jì)費(fèi)模塊輸出的 車費(fèi)和路程轉(zhuǎn)換成4位的十進(jìn)制數(shù)。該模塊通過開關(guān)量預(yù)置步長,當(dāng)超過一定預(yù)置參數(shù)時(shí) 改變步長。計(jì)費(fèi)模塊也采用非壓縮bcd碼,但因步長不為1,所以在做非壓縮bcd加法時(shí) 必須調(diào)整,否則可能導(dǎo)致在超過或未超過預(yù)置參數(shù)時(shí)出現(xiàn)超程錯(cuò)誤。這里采用模仿微機(jī) 的af標(biāo)志位,在其設(shè)立一個(gè)半進(jìn)位標(biāo)志,當(dāng)累加和大于9或半進(jìn)位標(biāo)志為“1”時(shí),對其累 加和調(diào)整。 圖 4-4 數(shù)據(jù)轉(zhuǎn)換模塊 x 4.3.3 顯示模塊 xxx1 的實(shí)現(xiàn) 顯示模塊xxx1見圖4-5。經(jīng)過該八進(jìn)制模塊將車費(fèi)和路程顯示出來。顯示模塊是由 七段led數(shù)碼管譯碼和動(dòng)態(tài)掃

56、描顯示兩部分組成。采用的是共陰極七段數(shù)碼管,根據(jù)十六 進(jìn)制數(shù)和七段顯示段碼表的對應(yīng)關(guān)系,其中要求路程和車費(fèi)都要用2位小數(shù)點(diǎn)來表示,所 以須設(shè)置一個(gè)控制小數(shù)點(diǎn)的變量,即程序中的dp。這段程序所示的是在數(shù)碼管的第二、 第六個(gè)后面顯示小數(shù)點(diǎn),實(shí)現(xiàn)了路程和車費(fèi)都用2位小數(shù)點(diǎn)表示的功能。要注意的是如果 選擇的掃描頻率不合適,可能會(huì)出現(xiàn)小數(shù)點(diǎn)閃動(dòng)的情況。但只要掃描頻率不小于24 hz, 人眼就感覺不到顯示器的閃爍。本系統(tǒng)采用36 hz的掃描頻率,掃描脈沖由相應(yīng)的外圍電 路提供。 圖 4-5 顯示模塊 xxx1 4.3.4 數(shù)據(jù)選擇模塊 se 的實(shí)現(xiàn) 數(shù)據(jù)選擇模塊se見圖4-6。該模塊輸入端為時(shí)鐘輸入,輸出

57、端為分頻后數(shù)據(jù)選擇輸出, 實(shí)現(xiàn)數(shù)碼管的位選。 圖 4-6 數(shù)據(jù)選擇模塊 se 4.3.5 數(shù)碼管譯碼模塊 di 的實(shí)現(xiàn) 數(shù)碼管譯碼模塊di見圖4-7,實(shí)現(xiàn)七段譯碼顯示。 圖 4-7 數(shù)碼管譯碼模塊 de 第五章 系統(tǒng)仿真 5.1 信號輸入模塊 x 的仿真結(jié)果 將車費(fèi)和路程轉(zhuǎn)換成4位的十進(jìn)制如圖5-1所示: 輸入端為:daclk, ascore, bscore 輸出端為:age, ashi, aqian, abai, bge, bshi, bqian, bbai; 圖 5-1 信號輸入模塊 x 仿真波形圖 5.2 數(shù)據(jù)轉(zhuǎn)換模塊 jifei 的仿真結(jié)果 該模塊是模擬汽車的啟動(dòng)、停止、暫停、加速按鍵

58、,如圖5-2所示: 輸入端口為:stop, start, pause, js; 輸出端口為:clk, b; 圖 5-2 數(shù)據(jù)轉(zhuǎn)換模塊 jifei 仿真波形圖 5.3 顯示模塊 xxx1 的仿真結(jié)果 該模塊是將車費(fèi)和路程顯示出來如圖5-3所示 輸入端為:c, a1,a2,a3,a4,b1,b2,b3,b4; 輸出端為:dp,d; 圖 5-3 顯示模塊 xxx1 仿真波形圖 5.4 數(shù)據(jù)選擇模塊 se 的結(jié)果驗(yàn)證 數(shù)據(jù)選擇模塊se仿真如圖5-4所示: 輸入端為:clk 輸出端為:a 圖 5-4 數(shù)據(jù)選擇模塊 se 仿真波形圖 5.5 數(shù)碼管譯碼模塊 di 的結(jié)果驗(yàn)證 數(shù)碼管譯碼模塊di仿真的結(jié)果如

59、圖5-5所示 輸入端為:d 輸出端為:q 圖 5-5 數(shù)碼管譯碼模塊 di 仿真波形圖 結(jié) 論 本文介紹了基于fpga的出租車計(jì)費(fèi)器系統(tǒng)的設(shè)計(jì)方法,出租車計(jì)費(fèi)器系統(tǒng)的設(shè)計(jì)能 按預(yù)期的效果進(jìn)行模擬汽車啟動(dòng)、停止、暫停等功能,并設(shè)計(jì)動(dòng)態(tài)掃描電路顯示車費(fèi)數(shù) 目,由動(dòng)態(tài)掃描電路來完成。車暫時(shí)停止不計(jì)費(fèi),車費(fèi)保持不變。若停止則車費(fèi)清零, 等待下一次計(jì)費(fèi)的開始。在出租車計(jì)費(fèi)系統(tǒng)的5個(gè)模塊中 ,重點(diǎn)在于jifei模塊,x模塊、 xxx1模塊。jifei模塊主要有汽車的啟動(dòng)、停止、暫停、加速按鍵;x模塊主要是把車費(fèi) 和路程轉(zhuǎn)化為4位十進(jìn)制;x模塊是將車費(fèi)和路程顯示出來。各模塊完成后,在將它們組 合成完整的出租

60、車系統(tǒng),在設(shè)計(jì)過程中還需要改進(jìn)的是控制系統(tǒng)的糾錯(cuò)功能。出租車計(jì) 費(fèi)系統(tǒng)的設(shè)計(jì)中體現(xiàn)了vhdl覆蓋面廣,描述能力強(qiáng),是一個(gè)多層次的硬件描述語言及 pld器件速度快,使用方便,便于修改等特點(diǎn),本設(shè)計(jì)在實(shí)用方面具有一定的價(jià)值。 附錄 附錄附錄 1: ep1c3t144 開發(fā)板的原理圖 附錄附錄 2: ep1c3t144 開發(fā)板 pc 附錄附錄 3 1、信號輸入模塊 jifei 的程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity jifei is port (clk,start,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論