2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩74頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  長 沙 學(xué) 院 </p><p>  CHANGSHA UNIVERSITY</p><p><b>  畢業(yè)設(shè)計(jì)資料</b></p><p>  計(jì)費(fèi)系統(tǒng)的設(shè)計(jì) </p><p><b>  長沙學(xué)院教務(wù)處 </b></p><

2、p><b>  二○○九年五月制</b></p><p><b>  目 錄</b></p><p>  第一部分 設(shè)計(jì)說明書</p><p><b>  一、設(shè)計(jì)說明書</b></p><p>  第二部分 外文資料翻譯</p><p>

3、;<b>  一、外文資料原文</b></p><p><b>  二、外文資料翻譯</b></p><p>  第三部分 過程管理資料</p><p><b>  畢業(yè)設(shè)計(jì)課題任務(wù)書</b></p><p>  本科畢業(yè)設(shè)計(jì)開題報(bào)告</p><p>

4、  本科畢業(yè)設(shè)計(jì)中期報(bào)告</p><p>  畢業(yè)設(shè)計(jì)指導(dǎo)教師評閱表</p><p>  畢業(yè)設(shè)計(jì)評閱教師評閱表</p><p><b>  畢業(yè)設(shè)計(jì)答辯評審表</b></p><p><b>  20 09 屆</b></p><p><b>  本科生畢業(yè)設(shè)

5、計(jì)資料</b></p><p>  第一部分 設(shè)計(jì)說明書</p><p><b> ?。?0 09 屆)</b></p><p>  本科生畢業(yè)設(shè)計(jì)說明書</p><p>  基于FPGA的出租車計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)</p><p>  2009 年 6 月</p><

6、p>  長沙學(xué)院本科生畢業(yè)設(shè)計(jì)</p><p>  基于FPGA的出租車計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)</p><p>  系 (部):電子與通信工程系</p><p>  專 業(yè): 通信工程 </p><p>  學(xué) 號: </p><p>  學(xué)生姓名: &

7、lt;/p><p>  指導(dǎo)教師: 副教授</p><p>  2009 年 6 月</p><p><b>  摘 要</b></p><p>  隨著EDA技術(shù)的高速發(fā)展,電子系統(tǒng)的設(shè)計(jì)技術(shù)和工具發(fā)生了深刻的變化,大規(guī)??删幊踢壿嬈骷﨏PLD/FPGA的出現(xiàn),給設(shè)計(jì)人員帶來了諸多方便。利用它進(jìn)行產(chǎn)品開發(fā),不僅成本

8、低、周期短、可靠性高,而且具有完全的知識產(chǎn)權(quán)。</p><p>  本文介紹了一個(gè)以可編程邏輯芯片為控制核心的出租車計(jì)費(fèi)器系統(tǒng)。簡述了出租車計(jì)費(fèi)器系統(tǒng)的組成及工作原理,以及在EDA平臺上用單片CPLD器件構(gòu)成該數(shù)字系統(tǒng)的設(shè)計(jì)思想和實(shí)現(xiàn)過程。論述了計(jì)程模塊、計(jì)費(fèi)模塊、譯碼動態(tài)掃描模塊等的設(shè)計(jì)方法。實(shí)踐表明,這種方案不僅能解決傳統(tǒng)計(jì)費(fèi)器集成度不高,功能升級不方便,易受干擾的問題而且能大大增強(qiáng)系統(tǒng)的可靠性。</p

9、><p>  關(guān)鍵詞:出租車,計(jì)費(fèi)系統(tǒng),硬件描述語言,數(shù)字系統(tǒng),F(xiàn)PGA</p><p><b>  ABSTRACT</b></p><p>  With the rapid development of EDA technology, electronic system design techniques and tools have been

10、 profound changes in large-scale programmable logic device CPLD / FPGA emergence of designers to bring a lot of convenience. Use it for product development, not only low cost, short cycle, high reliability and full intel

11、lectual property rights.</p><p>  In this paper, a programmable logic chip for the control of the core billing system of a taxi. Taxis on the billing system and working principle of the composition, as well

12、as EDA platform with a single CPLD device forming part of the digital system design and realization of the process of thinking. On the meter module, billing module, decoding module, such as dynamic scanning design method

13、. Practice shows that such programs can not only solve the traditional billing device integration is not hi</p><p>  Keywords:The rental car costs the system,the counter,the VHDL language,the digital system,

14、FPGA</p><p><b>  目 錄</b></p><p><b>  摘 要I</b></p><p>  ABSTRACTII</p><p><b>  第1章 緒論1</b></p><p>  1.1 課題背景及目的1&

15、lt;/p><p>  1.2 國內(nèi)外研究狀況1</p><p>  1.3 課題研究方法2</p><p>  1.4 論文構(gòu)成及研究內(nèi)容2</p><p>  第2章 設(shè)計(jì)相關(guān)工具簡介3</p><p>  2.1 EDA簡介3</p><p>  2.2 FPGA簡介3</

16、p><p>  2.3 硬件描述語言VHDL簡介4</p><p>  2.4 開發(fā)軟件QuartusII簡介5</p><p>  第3章 設(shè)計(jì)方案及原理6</p><p>  3.1 方案論證6</p><p>  3.2 設(shè)計(jì)原理7</p><p>  3.2.1 出租車計(jì)費(fèi)方式

17、7</p><p>  3.2.2 總體框架設(shè)計(jì)7</p><p>  3.3 各個(gè)模塊設(shè)計(jì)8</p><p>  3.3.1 LCD顯示設(shè)計(jì)8</p><p>  3.3.2 電機(jī)驅(qū)動模塊設(shè)計(jì)12</p><p>  3.3.3 主要功能模塊設(shè)計(jì)13</p><p>  第4章

18、設(shè)計(jì)仿真驗(yàn)證20</p><p>  4.1 LCD驅(qū)動程序仿真20</p><p>  4.2 電機(jī)調(diào)速程序仿真20</p><p>  4.3 系統(tǒng)程序仿真20</p><p><b>  結(jié) 論22</b></p><p><b>  參考文獻(xiàn)23</b>

19、</p><p><b>  附 錄24</b></p><p><b>  致 謝34</b></p><p><b>  第1章 緒論</b></p><p>  1.1 課題背景及目的</p><p>  在我國社會經(jīng)濟(jì)的全面發(fā)展過程中,

20、各大中小城市的出租車營運(yùn)事業(yè)也迅速發(fā)展,出租車已經(jīng)成為人們?nèi)粘3鲂羞x擇較為普遍的交通工具。出租車計(jì)價(jià)器是出租車營運(yùn)收費(fèi)的專用智能化儀表,是出租車市場規(guī)范化 、標(biāo)準(zhǔn)化以及減少司機(jī)與乘客之間發(fā)生糾紛的重要設(shè)備。一種功能完備、簡單易用、計(jì)量準(zhǔn)確的出租車計(jì)價(jià)器是加強(qiáng)出租車行業(yè)管理、提高服務(wù)質(zhì)量的必備品。當(dāng)計(jì)費(fèi)系統(tǒng)在各大、中城市出租車中使用越來越廣泛,用戶對計(jì)費(fèi)器的要求也越來越高。以出租車多功能計(jì)費(fèi)器為例,用戶不僅要求計(jì)費(fèi)器性能穩(wěn)定,計(jì)費(fèi)準(zhǔn)確,有

21、防作弊功能;同時(shí)還要求其具有車票打印、語音報(bào)話識別、電腦串行通信及稅控等功能;不同國家和地區(qū)的收費(fèi)方式存在差異,即使在同一地區(qū),不同車型的出租車其收費(fèi)方式也有差別,而且出租車還面臨幾年一次的調(diào)價(jià)或調(diào)整收費(fèi)方式等問題。傳統(tǒng)的基于單片機(jī)設(shè)計(jì)的出租車多功能計(jì)費(fèi)器已遠(yuǎn)遠(yuǎn)跟不上這種變化,功能升級很繁瑣,需要硬件重組和軟件更新同步進(jìn)行,成本高,并且每次升級都可能出現(xiàn)新的不穩(wěn)定因素;而基于現(xiàn)場可編程邏輯陣列(FPGA)的出租車多功能計(jì)費(fèi)器,采用硬件描

22、述語言VerilogHDL和邏輯綜合為基礎(chǔ)的自頂向下的電路設(shè)計(jì)方法,開發(fā)成本低,周期短,</p><p>  1.2 國內(nèi)外研究狀況</p><p>  從國內(nèi)外的各種研究方法來看,實(shí)現(xiàn)出租車計(jì)費(fèi)系統(tǒng)總共有三種方案。利用大規(guī)模的數(shù)字邏輯器件來實(shí)現(xiàn),利用89C51實(shí)現(xiàn),利用CPLD/FPGA來實(shí)現(xiàn)。二十世紀(jì)后半期,數(shù)字系統(tǒng)得到了飛速發(fā)展,同時(shí)為了提高系統(tǒng)的可靠性與通用性,微處理器和專業(yè)集成電

23、路逐漸取代了通用全硬件電路。目前,業(yè)界大量可編程邏輯器件,尤其是現(xiàn)場可編程器件被大量地應(yīng)用在集成電路的制作當(dāng)中[2]。</p><p>  理想的可編程邏輯開發(fā)系統(tǒng)能符合大量的設(shè)計(jì)要求:它能支持不同結(jié)構(gòu)的器件。在多種平臺運(yùn)行,提供易于使用的界面,并且有廣泛的特征??删幊唐骷倪壿嫻δ苊枋鲆话惴譃樵韴D描述和硬件語言描述,原理圖描述是一種直觀簡便的方法,它可以講現(xiàn)有的小規(guī)模集成電路實(shí)現(xiàn)的功能直接用可編程器件來實(shí)現(xiàn),

24、而不必去將現(xiàn)有的電路用語言來描述,但電路圖描述方法無法做到簡練。而語言描述可以精確和簡練地表示電路的邏輯功能,現(xiàn)在可編程器件的設(shè)計(jì)過程中廣泛使用。常用的硬件描述語言有ABEL、VHDL語言等,其中VHDL語言是一種行為描述語言,其編程結(jié)構(gòu)類似于計(jì)算機(jī)中的C語言,在描述復(fù)雜邏輯設(shè)計(jì)時(shí),非常簡潔,具有很強(qiáng)的邏輯描述和仿真能力,是未來硬件設(shè)計(jì)語言的主流。</p><p>  1.3 課題研究方法</p>

25、<p>  在分析了相關(guān)資料的基礎(chǔ)上,首先了解了出租車計(jì)費(fèi)系統(tǒng)的重要性,國內(nèi)外實(shí)現(xiàn)該系統(tǒng)的不同方法。在方案的選擇上,對比了各個(gè)方案的優(yōu)缺點(diǎn),并對現(xiàn)有的計(jì)費(fèi)系統(tǒng)進(jìn)行了更新,使它能夠更好的滿足不同的要求。</p><p>  采用軟件仿真方法對計(jì)費(fèi)系統(tǒng)進(jìn)行仿真,模擬電動機(jī)輸出信號,設(shè)置初始值,得出仿真波形并進(jìn)行觀察。</p><p>  1.4 論文構(gòu)成及研究內(nèi)容</p>

26、<p>  論文包括緒論、出租車計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)、關(guān)外圍電路、結(jié)論等四大部分組成。核心部分是設(shè)計(jì)說明部分和FPGA程序設(shè)計(jì)部分。</p><p>  本文的的基本框架為:在方案的論證和設(shè)計(jì)說明部分一章中,同時(shí)介紹了總體設(shè)計(jì)框架,并對各個(gè)部分進(jìn)行了詳細(xì)說明。在計(jì)費(fèi)系統(tǒng)的實(shí)現(xiàn)一章中,介紹了計(jì)費(fèi)系統(tǒng)的相關(guān)外圍電路,使系統(tǒng)更完善。</p><p>  第2章 設(shè)計(jì)相關(guān)工具簡介<

27、/p><p><b>  2.1 EDA簡介</b></p><p>  電子設(shè)計(jì)技術(shù)的核心就是EDA技術(shù),EDA是指以計(jì)算機(jī)為工作臺,融合應(yīng)用電子技術(shù)、計(jì)算機(jī)技術(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)階

28、段,人們開始用計(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的主要功能是:原理圖輸入,邏輯仿真,電路分析,自動布局布線,PCB后分析。90年代為電子系統(tǒng)設(shè)計(jì)自動化(EDA)階段[3]。</p><p>  中國EDA市場

29、已漸趨成熟,不過大部分設(shè)計(jì)工程師面向的是PC主板和小型ASIC領(lǐng)域,僅有小部分(約11%)的設(shè)計(jì)人員開發(fā)復(fù)雜的片上系統(tǒng)器件。為了與臺灣和美國的設(shè)計(jì)工程師形成更有力的競爭,中國的設(shè)計(jì)隊(duì)伍有必要購入一些最新的EDA技術(shù)。</p><p>  在EDA軟件開發(fā)方面,目前主要集中在美國。但各國也正在努力開發(fā)相應(yīng)的工具。日本、韓國都有ASIC設(shè)計(jì)工具,但不對外開放 。中國華大集成電路設(shè)計(jì)中心,也提供IC設(shè)計(jì)軟件,但性能不是

30、很強(qiáng)。相信在不久的將來會有更多更好的設(shè)計(jì)工具有各地開花并結(jié)果。據(jù)最新統(tǒng)計(jì)顯示,中國和印度正在成為電子設(shè)計(jì)自動化領(lǐng)域發(fā)展最快的兩個(gè)市場,年復(fù)合增長率分別達(dá)到了50%和30%。</p><p>  EDA技術(shù)發(fā)展迅猛,完全可以用日新月異來描述。EDA技術(shù)的應(yīng)用廣泛,現(xiàn)在已涉及到各行各業(yè)。EDA水平不斷提高,設(shè)計(jì)工具趨于完美的地步。EDA市場日趨成熟,但我國的研發(fā)水平還很有限,需迎頭趕上。</p><

31、;p>  2.2 FPGA簡介</p><p>  FPGA是英文Field Programmable Gate Array的縮寫,即現(xiàn)場可編程門陣列,它是在PAL、GAL、EPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。 </p><p>  FPGA采用

32、了邏輯單元陣列LCA(Logic Cell Array)這樣一個(gè)新概念,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個(gè)部分。FPGA的基本特點(diǎn)主要有: </p><p>  (1)采用FPGA設(shè)計(jì)ASIC電路,用戶不需要投片生產(chǎn),就能得到合用的芯片。 </p>&l

33、t;p> ?。?)FPGA可做其它全定制或半定制ASIC電路的中試樣片。 </p><p>  (3)FPGA內(nèi)部有豐富的觸發(fā)器和I/O引腳。 </p><p> ?。?)FPGA是ASIC電路中設(shè)計(jì)周期最短、開發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器件之一。 </p><p>  (5)FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。 </p&

34、gt;<p>  可以說,F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。 </p><p>  目前FPGA的品種很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。 </p><p>  FPGA是由存放在片內(nèi)RAM中的程序來設(shè)置其工作狀態(tài)的,因此,工作時(shí)需要對片內(nèi)的RAM進(jìn)行編程。用戶可以根據(jù)不同的配置模式,采用不同的編

35、程方式。 </p><p>  加電時(shí),F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進(jìn)入工作狀態(tài)。掉電后,F(xiàn)PGA恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,F(xiàn)PGA能夠反復(fù)使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當(dāng)需要修改FPGA功能時(shí),只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使

36、用非常靈活。 </p><p>  FPGA有多種配置模式:并行主模式為一片F(xiàn)PGA加一片EPROM的方式;主從模式可以支持一片PROM編程多片F(xiàn)PGA;串行模式可以采用串行PROM編程FPGA;外設(shè)模式可以將FPGA作為微處理器的外設(shè),由微處理器對其編程[4]。</p><p>  2.3 硬件描述語言VHDL簡介</p><p>  VHDL全名是Very-Hi

37、gh-Speed Integrated Circuit Hardware Description Language(超高速集成電路硬件描述語言),誕生于1982年。1987年底,VHDL被IEEE和美國國防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語言。自IEEE公布了VHDL的標(biāo)準(zhǔn)版本,IEEE-1076(簡稱87版)之后,各EDA公司相繼推出了自己的VHDL設(shè)計(jì)環(huán)境,或宣布自己的設(shè)計(jì)工具可以和VHDL接口。此后VHDL在電子設(shè)計(jì)領(lǐng)域得到了廣泛的接受,并逐

38、步取代了原有的非標(biāo)準(zhǔn)的硬件描述語言。1993年,IEEE對VHDL進(jìn)行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴(kuò)展VHDL的內(nèi)容,公布了新版本的VHDL,即IEEE標(biāo)準(zhǔn)的1076-1993版本,(簡稱93版)?,F(xiàn)在,VHDL和Verilog作為IEEE的工業(yè)標(biāo)準(zhǔn)硬件描述語言,又得到眾多EDA公司的支持,在電子工程領(lǐng)域,已成為事實(shí)上的通用硬件描述語言。有專家認(rèn)為,在新的世紀(jì)中,VHDL于Verilog語言將承擔(dān)起大部分的數(shù)字系統(tǒng)設(shè)計(jì)任務(wù)。

39、</p><p>  VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風(fēng)格與句法是十分類似于一般的計(jì)算機(jī)高級語言。VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可以是一個(gè)元件,一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱可是部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實(shí)體的內(nèi)部功能和算法完成部分。在對一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,一旦其內(nèi)部開發(fā)完

40、成后,其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計(jì)的基本點(diǎn)[5]。</p><p>  2.4 開發(fā)軟件QuartusII簡介</p><p>  Quartus II是Altera公司推出的CPLD/F[GA開發(fā)工具,Quartus II提供了完全集成且與電路結(jié)構(gòu)無關(guān)的開發(fā)包環(huán)境,具有數(shù)字邏輯設(shè)計(jì)的全部特性。</p><p>

41、;  Quartus II設(shè)計(jì)流程:   (1) 設(shè)計(jì)輸入:完成期間的硬件描述,包括文本編輯器、塊與符號編輯器、MegaWizard插件管理器、約束編輯器和布局編輯器等工具;  (2)綜合:包括分析和綜合器以、輔助工具和RTL查看器等工具;  (3)布局連線:將設(shè)計(jì)綜合后的網(wǎng)表文件映射到實(shí)體器件的過程,包括Fitter工具、約束編輯器、布局圖編輯器、芯片編輯器和

42、增量布局連線工具;</p><p> ?。?)仿真:Quartus II提供了功能仿真和時(shí)序仿真兩種工具;  (5)器件編程與配置:包括四種編程模式,即被動串行模式、JTAG模式、主動串行模式和插座內(nèi)編程模式[6]。</p><p>  使用New Project Wizard新建一個(gè)工程的過程:  (1)制定工程的文件存放目錄、工程名以及最頂層

43、的設(shè)計(jì)實(shí)體名,在默認(rèn)情況下,工程名與最頂層的設(shè)計(jì)實(shí)體名是相同的。  (2)添加文件,包括最頂層的設(shè)計(jì)實(shí)體文件以及一些額外的電路模塊描述文件或定制的功能庫。  (3)選擇目標(biāo)芯片,具體芯片最好讓編譯器根據(jù)工程設(shè)計(jì)的實(shí)際情況自動選擇。  (4)第三方EDA工具設(shè)定,包括設(shè)計(jì)輸入與綜合工具、仿真工具、時(shí)序分析工具等,默認(rèn)為Quartus II自帶的仿真器、綜合器以及時(shí)序分析器。

44、  (5)最后一步系統(tǒng)將整體工程的各項(xiàng)參數(shù)和設(shè)置總結(jié)并顯示出來,這時(shí)即可完成工程的創(chuàng)建[7]。</p><p>  第3章 設(shè)計(jì)方案及原理</p><p><b>  3.1 方案論證</b></p><p>  最近幾年出租車行業(yè)發(fā)展迅速,在全國有幾千家出租車公司,出租車計(jì)費(fèi)器的市場非常龐大。目前市場上使用的出租車計(jì)費(fèi)

45、器主要采用的都是利用MCU 如89C51單片機(jī)實(shí)現(xiàn)的計(jì)費(fèi)器設(shè)計(jì),顯示方式上主要采用的是固定顯示內(nèi)容的LED顯示。如圖 3.1所示。</p><p>  圖3.1 傳統(tǒng)LED顯示的計(jì)費(fèi)器</p><p>  傳統(tǒng)的出租車計(jì)費(fèi)器由于發(fā)展使用了十幾年,在穩(wěn)定性、成本、以及使用習(xí)慣上都具有一些優(yōu)勢,但是隨著出租車價(jià)格市場化,我國加入 WTO以來主導(dǎo)出租車行業(yè)成本的許多因素主要包括油價(jià)的波動,都對

46、傳統(tǒng)的出租車計(jì)費(fèi)器提出了更高的要求。近一年來,各大城市都在對出租車價(jià)格進(jìn)行調(diào)整,由于數(shù)量太多,很多城市的調(diào)價(jià)甚至需要一個(gè)月的時(shí)間才能完成,經(jīng)常會同一時(shí)間出現(xiàn)幾個(gè)價(jià)格,有的城市的出租車上還會出現(xiàn)司機(jī)人工計(jì)價(jià)的尷尬情形。這些都暴露了傳統(tǒng)計(jì)費(fèi)器在靈活性和升級換代能力的天生不足[8]。 </p><p>  傳統(tǒng)計(jì)費(fèi)器的不足可以體現(xiàn)在以下幾點(diǎn):</p><p>  (1)產(chǎn)品更新周期長</p

47、><p> ?。?)計(jì)價(jià)方式的不靈活</p><p> ?。?)顯示方式的不靈活</p><p>  考慮到目前出租車行業(yè)迅猛發(fā)展的趨勢以及對計(jì)費(fèi)器更高的靈活性要求,本設(shè)計(jì)希望嘗試一些新的方法來予以解決。</p><p> ?。?)利用FPGA取代 MCU</p><p>  (2)利用LCD取代LED</p>

48、<p> ?。?)增加計(jì)價(jià)標(biāo)準(zhǔn)設(shè)定功能</p><p><b>  3.2 設(shè)計(jì)原理</b></p><p>  3.2.1 出租車計(jì)費(fèi)方式</p><p>  由于各地出租車計(jì)價(jià)情況的不同,本設(shè)計(jì)主要依據(jù)上海市出租車計(jì)價(jià)情況作為參考依據(jù)。先來了解一下某市出租車是如何計(jì)費(fèi)的:</p><p>  表3.1

49、某市計(jì)費(fèi)標(biāo)準(zhǔn)</p><p>  從上面表中可以看出,目前出租車行業(yè)由于調(diào)價(jià)、路橋、夏季電調(diào)、燃油費(fèi)波動等諸多因素要求出租車計(jì)費(fèi)器在價(jià)格調(diào)節(jié)方面做到靈活可靠,易于操作等特點(diǎn)。 </p><p>  3.2.2 總體框架設(shè)計(jì)</p><p>  系統(tǒng)流程介紹:系統(tǒng)主要由電動機(jī)驅(qū)動模塊、LCD 顯示模塊、計(jì)費(fèi)標(biāo)準(zhǔn)設(shè)定模塊、</p><p>

50、  自動計(jì)費(fèi)模塊、統(tǒng)計(jì)模塊等組成。</p><p>  首先由電動機(jī)驅(qū)動模塊控制步進(jìn)電機(jī)運(yùn)轉(zhuǎn)來模擬出租車車輪,速度值通過車速比較</p><p>  器判斷是否低于12km/h,如低于12 km/h則進(jìn)入計(jì)時(shí)狀態(tài)(依照預(yù)設(shè)值每5分鐘計(jì)為1km),如果高于180km/h則發(fā)出車速過高的聲光報(bào)警,車速在12到180km/h之間的則進(jìn)入計(jì)程狀態(tài),根據(jù)車輪的大小不同每 km 計(jì)的次數(shù)也不同,計(jì)程和

51、計(jì)時(shí)通過選通模塊自動選擇輸出到自動計(jì)費(fèi)模塊,計(jì)程和計(jì)時(shí)同一時(shí)刻只會有一個(gè)處于運(yùn)行狀態(tài)。自動計(jì)費(fèi)模塊會按照不同的計(jì)費(fèi)標(biāo)準(zhǔn)自動調(diào)節(jié)計(jì)費(fèi)。計(jì)費(fèi)標(biāo)準(zhǔn)設(shè)定模塊將設(shè)定好的數(shù)值分別送到自動計(jì)費(fèi)模塊、計(jì)時(shí)模塊和計(jì)程模塊。按下計(jì)費(fèi)啟動鍵后利用電容的瞬間充電過程來清零上一次的計(jì)費(fèi)數(shù)值,此后開始自動計(jì)費(fèi),按下計(jì)費(fèi)停止鍵后計(jì)費(fèi)終止,統(tǒng)計(jì)模塊自動執(zhí)行保存記錄。LCD 顯示模塊包括 LCD 驅(qū)動部分、LCD 選通部分、LCD 譯碼部分、二進(jìn)制轉(zhuǎn) BCD碼部分,最終

52、界面上會顯示時(shí)鐘、車速、等待時(shí)間、行駛路程、橋路費(fèi)或電調(diào)費(fèi)、總費(fèi)用、開始計(jì)費(fèi)和停止、參數(shù)設(shè)定菜單以及營運(yùn)額統(tǒng)計(jì)等。</p><p>  下面是基于FPGA的出租車計(jì)費(fèi)器的系統(tǒng)設(shè)計(jì)框圖和系統(tǒng)模塊框圖:</p><p>  圖3.2 出租車計(jì)費(fèi)系統(tǒng)設(shè)計(jì)框圖</p><p>  圖3.3 出租車計(jì)費(fèi)系統(tǒng)模塊框圖</p><p>  3.3 各個(gè)

53、模塊設(shè)計(jì)</p><p>  3.3.1 LCD顯示設(shè)計(jì)</p><p>  LCD的模塊框圖如下圖3.4所示。</p><p>  圖3.4 LCD模塊框圖</p><p>  3.3.1.1 字符型液晶介紹</p><p>  本設(shè)計(jì)采用 20 列 x4 行的字符型液晶,能同時(shí)顯示 80 個(gè)字符。LCM 由字符型

54、液晶顯示屏(LCD)、控制驅(qū)動電路 HD44780 及其擴(kuò)展驅(qū)動電路 HD44100 等組成,具有若干個(gè) 5x7 或 5x10 點(diǎn)陣組成的字符集,可顯示 192 種字符,還具有 64 個(gè)字節(jié)的自定義字符RAM。</p><p>  HD44780 是字符型 LCM 的控制器,分為控制部分和驅(qū)動部分??刂撇糠之a(chǎn)生內(nèi)部工作時(shí)鐘,控制著各個(gè)功能電路的工作,管理著字符發(fā)生器 CGRAM 和 CGROM,顯示存儲器DDRA

55、M。其中CGROM 為已固化好的字符庫,CGRAM 為可隨時(shí)定義的字符庫,根據(jù)用戶的不同的定義可調(diào)出所需要的字符。MDLS 系列字符型 LCM 電路框圖如圖 3.5所示。</p><p>  圖3.5 MDLS系列字符型LCM電路框圖</p><p>  此液晶模塊有16個(gè)引腳,各引腳功能說明如表3.2所示:</p><p>  表3.2 MDLS系列字符型液晶引

56、腳說明</p><p>  3.3.1.2 指令集控制</p><p>  HD44780 共有11條控制指令,我們只要對其中的6條指令進(jìn)行控制就可以成功的顯示字符。這6條控制指令為:</p><p><b> ?。?)功能設(shè)置</b></p><p><b>  表3.3 功能設(shè)置</b><

57、/p><p>  功能:工作方式設(shè)置(初始化指令)。</p><p>  其中:DL=1,8位數(shù)據(jù)接口; DL=0,4位數(shù)據(jù)接口;</p><p>  N=1, 兩行顯示; N=0, 一行顯示;</p><p>  F=1, 5×10點(diǎn)陣字符; F=0, 5×7點(diǎn)陣字符。</p><p>

58、;<b> ?。?)清屏</b></p><p><b>  表3.4 清屏</b></p><p>  功能:清DDRAM和AC值。 </p><p><b> ?。?)顯示開關(guān)控制</b></p><p>  表3.5 顯示開關(guān)控制</p><p>

59、  功能:設(shè)置顯示、光標(biāo)及閃爍開、關(guān)。 </p><p>  其中:D表示顯示開關(guān):D=1為開,D=0為關(guān); </p><p>  C表示光標(biāo)開關(guān):C=1為開,C=0為關(guān);</p><p>  B表示閃爍開關(guān):B=1為開,B=0為關(guān)。</p><p><b>  (4)輸入方式設(shè)置</b></p><

60、p>  表3.6 輸入方式設(shè)置</p><p>  功能:設(shè)置光標(biāo)、畫面移動方式。 </p><p>  其中:1/D =1;數(shù)據(jù)讀、寫操作后,AC自動增一;</p><p>  1/D =0;數(shù)據(jù)讀、寫操作后,AC自動減一;</p><p>  S =1;數(shù)據(jù)讀、寫操作后,畫面平移;</p><p>  S =

61、1;數(shù)據(jù)讀、寫操作后,畫面不動。</p><p> ?。?)DDRAM地址設(shè)置</p><p>  表3.7 DDRAM地址設(shè)置</p><p>  功能:設(shè)置DDRAM地址。 </p><p>  N=0,一行顯示A6~A0=0~4FH;</p><p>  N=1,兩行顯示,首行A6~A0=00H~2FH,次行A6

62、~A0=40H~67H。</p><p><b>  (6)寫數(shù)據(jù)</b></p><p><b>  表3.8 寫數(shù)據(jù)</b></p><p>  功能:根據(jù)最近設(shè)置的地址性質(zhì),數(shù)據(jù)寫人DDRAM或CGRAM內(nèi)。</p><p>  3.3.2 電機(jī)驅(qū)動模塊設(shè)計(jì)</p><p&

63、gt;  為了演示更為直觀,可以用步進(jìn)電機(jī)來模擬出租車的車輪運(yùn)動,其硬件部分主要由步進(jìn)電機(jī)驅(qū)動器和步進(jìn)電機(jī)組成,如圖3.6所示。</p><p>  圖3.6 步進(jìn)電機(jī)驅(qū)動器和步進(jìn)電機(jī)</p><p>  驅(qū)動器型號為 BY-2HB02M,驅(qū)動兩相步進(jìn)電機(jī),輸入端依次為 CP(信號脈沖)、U/D(正反轉(zhuǎn))、DIV(每脈沖所轉(zhuǎn)角度調(diào)節(jié),高電平為9度,低電平為2.25度)、SGND(信號地)

64、、VH(電機(jī)驅(qū)動電源,現(xiàn)使用+12V)、GND(電機(jī)驅(qū)動電源地)。</p><p>  360度/ 9度= 400 ,即每 400個(gè)脈沖步進(jìn)電機(jī)轉(zhuǎn)一圈?,F(xiàn)在設(shè)車輪周長為1米,則只要給驅(qū)動器一個(gè)22.222KHz的頻率,于是得出22.222KHz/400x3600秒x1米=199.998km/h,約為200km/h?,F(xiàn)在將22.222KHz分成每200個(gè)方波為1份,然后對其調(diào)頻,比如說30km/h則讓200個(gè)方波當(dāng)

65、中的30個(gè)方波通過,其余都為高電平,采用這種方法就可以輕松實(shí)現(xiàn)調(diào)頻,控制電動機(jī)的轉(zhuǎn)速。下面是VHDL 編寫的模塊框圖,如圖3.7 所示。</p><p>  圖3.7 電動機(jī)調(diào)速模塊</p><p>  由于此步進(jìn)電機(jī)在12V供電時(shí)最高只能識別2.3KHz 的方波,無法等同實(shí)際汽車的車輪轉(zhuǎn)速,所以給電機(jī)一個(gè)基準(zhǔn)頻率2.222KHz,這樣步進(jìn)電機(jī)轉(zhuǎn)速為實(shí)際車輪轉(zhuǎn)速的1/10,用來模擬出租車

66、車輪。速度還是按照原來的200等分,即從0km/h到200km/h進(jìn)行調(diào)速,每次步進(jìn) 1km/h。上面 up 和 down 用來增加和減少速度,輸出兩個(gè),一個(gè)給電動機(jī)驅(qū)動器,另一個(gè)給計(jì)程模塊。</p><p>  3.3.3 主要功能模塊設(shè)計(jì)</p><p>  3.3.3.1 車速比較模塊</p><p>  車速比較模塊如下圖所示。其中p為速度值輸入端,其值大于

67、180km/h時(shí)汽車超速,high端為高電平,發(fā)出聲光報(bào)警。當(dāng)車速低于12km/h時(shí)low端為高電平,此時(shí)將進(jìn)入計(jì)時(shí)狀態(tài),車速大于12km/h小于180km/h時(shí)low端為低電平,high端也為低電平,進(jìn)入計(jì)程狀態(tài)。</p><p>  圖3.8 車速比較模塊</p><p>  3.3.3.2 計(jì)時(shí)模塊</p><p>  圖3.9 計(jì)時(shí)模塊</p>

68、;<p>  計(jì)時(shí)模塊如上圖3.9所示。當(dāng)速度低于12km/h 時(shí)計(jì)時(shí)模塊啟動。輸入端clk為1Hz,clr 為清零端(計(jì)費(fèi)停止后自動清零),time 為時(shí)間設(shè)定輸入端(默認(rèn)為每 5 分鐘計(jì)為 1km,可設(shè)為其它值)。輸出端 js60 送到顯示部分計(jì)數(shù),每 1 分鐘一個(gè)上升沿,js 端送到計(jì)程計(jì)時(shí)選通模塊,默認(rèn)為每5分鐘計(jì)為1km送出一個(gè)高電平。</p><p>  3.3.3.3 計(jì)程模塊<

69、/p><p>  計(jì)程模塊如圖3.10所示,計(jì)算出租車行駛路程,每行駛一公里輸出端 jc 就發(fā)出一個(gè)上升沿給計(jì)程計(jì)時(shí)選通模塊。輸入端 P 為車輪大小的設(shè)定值,根據(jù)車輪直徑的不同,每轉(zhuǎn)一圈行進(jìn)路程也不同,因此每公里計(jì)的CLK 次數(shù)也會不同,車輪越大計(jì)的CLK數(shù)越少。clr 是 清零端,每次計(jì)費(fèi)結(jié)束后自動清零,保證下次計(jì)費(fèi)的準(zhǔn)確性。</p><p>  圖3.10 計(jì)程模塊</p>

70、<p>  3.3.3.4 計(jì)程計(jì)時(shí)選通模塊</p><p>  計(jì)程計(jì)時(shí)選通模塊如下圖3.11所示,通過速度比較器的輸出信號給計(jì)程計(jì)時(shí)選通模塊的選通端sel就可以識別現(xiàn)在是應(yīng)該要把計(jì)程的信號輸出給自動計(jì)費(fèi)模塊還是把計(jì)時(shí)的信號輸出給自動計(jì)費(fèi)模塊。輸出端 p的每個(gè)上升沿都代表計(jì)了1km。</p><p>  圖3.11 計(jì)程計(jì)時(shí)選通模塊</p><p> 

71、 3.3.3.5 計(jì)程計(jì)時(shí)顯示輸出模塊</p><p>  圖3.12 計(jì)程計(jì)時(shí)顯示輸出模塊</p><p>  圖3.12為計(jì)程計(jì)時(shí)顯示輸出模塊,LCD顯示屏上會顯示 0到999km的路程和0到99min的時(shí)間。計(jì)程端有三位數(shù)字的BCD碼輸出,通過譯碼器成為 LCD模塊可以識別的 8位數(shù)字編碼。計(jì)時(shí)端則有兩位數(shù)字的BCD碼輸出,最大計(jì)時(shí) 99分鐘。清零端clr 則通過下次按下計(jì)費(fèi)啟動鍵

72、的瞬間清零,因?yàn)橛?jì)費(fèi)停止后還要保持顯示輸出,讓顧客和司機(jī)可以清楚地看到所有計(jì)費(fèi)信息。</p><p>  3.3.3.6 車輪大小設(shè)定模塊</p><p>  圖3.13 車輪大小設(shè)定模塊</p><p>  圖3.13為車輪大小設(shè)定模塊,根據(jù)調(diào)查現(xiàn)在的車租車車輪大小主要有以下幾種規(guī)格:</p><p>  表3.9 車輪直徑規(guī)格與每km轉(zhuǎn)

73、的圈數(shù)對應(yīng)表 </p><p>  當(dāng)密碼正確后,pass端為1,setout把設(shè)定的車輪大小數(shù)值送到計(jì)程模塊,計(jì)程模塊根據(jù)輪徑大小的不同,每km所轉(zhuǎn)圈數(shù)不同,自行調(diào)節(jié)計(jì)算。輸出端shi、ge、c、m分別給顯示部分,只有當(dāng)要設(shè)定此項(xiàng)數(shù)值時(shí)才會在屏幕上顯示。</p><p>  3.3.3.7 計(jì)費(fèi)標(biāo)準(zhǔn)設(shè)定系統(tǒng)</p><p>  由于受到油價(jià)影響,很多城市都推出了油

74、價(jià)運(yùn)價(jià)聯(lián)動機(jī)制。所以說將來的計(jì)費(fèi)器應(yīng)當(dāng)具備靈活的計(jì)價(jià)標(biāo)準(zhǔn)設(shè)定功能。我設(shè)計(jì)的計(jì)費(fèi)標(biāo)準(zhǔn)設(shè)定系統(tǒng)包括了:白天的起步費(fèi)設(shè)定、每公里價(jià)格設(shè)定、超出10公里后的加收設(shè)定,以及深夜的對應(yīng)與上面三項(xiàng)的加收設(shè)定、低速時(shí)的時(shí)間設(shè)定,車輪大小設(shè)定、密碼保護(hù)設(shè)定,總共9項(xiàng)參數(shù)可以設(shè)定,可以說相當(dāng)全面和靈活。</p><p>  首先通過設(shè)定選擇按鍵,初始化時(shí)停留在密碼設(shè)定選項(xiàng),只有當(dāng)密碼輸入正確后,按下選擇按鍵才能進(jìn)行下面選項(xiàng)的設(shè)定。密

75、碼輸入正確后 passout 會變?yōu)?1 送到 set 模塊和chelun模塊,否則為0,禁止設(shè)定。Setmux 是設(shè)定選通模塊用于選通加減鍵給需要設(shè)定的模塊(U 為加,D 為減)。通過自動加速模塊可以讓加減一開始加的慢,過了 4 秒后自動變快,一方面使得快速調(diào)到某個(gè)數(shù)值,另一方面又可以精確定位到某個(gè)數(shù)值,比較人性化。 </p><p>  圖3.14 計(jì)費(fèi)標(biāo)準(zhǔn)設(shè)定系統(tǒng)</p><p>

76、  圖3.14所示為計(jì)費(fèi)標(biāo)準(zhǔn)設(shè)定系統(tǒng),其中相關(guān)模塊說明如下:</p><p>  (1)AJSM:為去除按鍵抖動模塊,我采用的是數(shù)字去抖動方法,即對按鍵進(jìn)行掃描,去除抖動不確定狀態(tài),提高按鍵的可靠性。</p><p> ?。?)CHELUN:車輪大小設(shè)定模塊,在2.3.3.6小節(jié)中有詳細(xì)說明。</p><p>  (3)SET:設(shè)置選擇模塊,當(dāng) Pass 端為 1

77、時(shí)才可以進(jìn)行選擇操作,an 為按鍵輸入端,setout 為輸出端從 000 到111給選通模塊分別代表不同設(shè)置選項(xiàng)。</p><p>  (4)SETMUX:設(shè)置按鍵選通模塊,為了減少出租車計(jì)費(fèi)器上的按鍵,為它做了一個(gè)按鍵選通模塊。U為加鍵,D為減鍵當(dāng)sel 為000時(shí)把U給u0、D給d0,以此類推,sel 為111則把 U給u7、D給 d7。</p><p> ?。?)ZDJS:按鍵自動

78、加速模塊,按鍵自動加速模塊是一個(gè)非常人性化的功能設(shè)定,通過自動加速模塊可以讓加減一開始變化的慢,過了長按4秒后自動變快,一方面使得快速調(diào)到某個(gè)數(shù)值,另一方面又可以精確定位到某個(gè)數(shù)值。當(dāng)按下鍵后起初以 1Hz 進(jìn)行加,按住 4 秒后變?yōu)?4Hz 的速度進(jìn)行加減。clk 輸出自動變化的頻率給加減模塊,k 是累積端,累積 4 秒后不再發(fā)生變化,通過XOR(異或)端,當(dāng)加鍵或減鍵停止后則自動使k累積的值清零,這樣下次按下加鍵時(shí)就又從1Hz 開始

79、加了。</p><p> ?。?)PASSWORD:密碼設(shè)定模塊,為了防止司機(jī)或者別人隨意改動計(jì)費(fèi)標(biāo)準(zhǔn)的參數(shù)設(shè)定,設(shè)置了一個(gè)密碼保護(hù)模塊。up和down 為加減鍵,clk為加減的快慢頻率,只要按住加鍵后就會自動加了,word是顯示輸出端,經(jīng)過二進(jìn)制轉(zhuǎn)BCD碼后就可以在界面上顯示。passout 為密碼是否正確的輸出端,正確時(shí)輸出1到選擇端,進(jìn)行參數(shù)設(shè)置。</p><p>  (7)SETM

80、IN:計(jì)時(shí)時(shí)間設(shè)定模塊,根據(jù)標(biāo)準(zhǔn)當(dāng)車速低于12km/h時(shí),不計(jì)路程,計(jì)時(shí)間?,F(xiàn)在上海的計(jì)費(fèi)標(biāo)準(zhǔn)是每 5分鐘計(jì)為1km。所以預(yù)設(shè)值為5分鐘??梢栽?到7分鐘內(nèi)每次加減1分鐘進(jìn)行設(shè)定。</p><p>  (8)DSAN:白天每公里費(fèi)用設(shè)定模塊,up和down 為加減鍵,clk為加減的快慢頻率,ds 為每公里價(jià)格輸出端給自動計(jì)費(fèi)模塊,它的初始值設(shè)為2.0元/km,每次可以加減 0.1元進(jìn)行設(shè)定,最大值為99.9元/k

81、m。</p><p>  (9)DSTART:白天起步費(fèi)設(shè)定模塊,up和down 為加減鍵,clk為加減的快慢頻率,ds 為起步費(fèi)輸出端給自動計(jì)費(fèi)模塊,它的初始值設(shè)為10.0元,每次可以加減0.1元進(jìn)行設(shè)定,最大值為99.9元。</p><p> ?。?0)DSHI:白天過10公里后加收費(fèi)設(shè)定模塊,up和down 為加減鍵,clk為加減的快慢頻率,ds 為加收50%后的每公里價(jià)格輸出端給自

82、動計(jì)費(fèi)模塊,它的初始值設(shè)為 3.0 元/km,每次可以加減 0.1 元進(jìn)行設(shè)定,最大值為99.9元/km。</p><p> ?。?1)NSAN:深夜每公里費(fèi)用設(shè)定模塊,根據(jù)計(jì)費(fèi)標(biāo)準(zhǔn)深夜23:00到凌晨5:00之間要加收30%的費(fèi)用。up和down 為加減鍵,clk為加減的快慢頻率,ds 為每公里價(jià)格輸出端給自動計(jì)費(fèi)模塊,它的初始值設(shè)為2.6元/km,每次可以加減 0.1元進(jìn)行設(shè)定,最大值為99.9元/km。 &

83、lt;/p><p> ?。?2)NSTART:深夜起步費(fèi)設(shè)定模塊,根據(jù)計(jì)費(fèi)標(biāo)準(zhǔn)深夜23:00到凌晨5:00之間要加收30%的費(fèi)用。up和down 為加減鍵,clk 為加減的快慢頻率,ds 為起步費(fèi)輸出端給自動計(jì)費(fèi)模塊,它的初始值設(shè)為10.0+10.0x30%=13元,每次可以加減0.1元進(jìn)行設(shè)定,最大值為99.9元。</p><p> ?。?3)NSHI:深夜過10公里后加收費(fèi)設(shè)定模塊,根據(jù)上

84、海標(biāo)準(zhǔn)深夜23:00到凌晨5:00之間要加收30%的費(fèi)用。up和down 為加減鍵,clk 為加減的快慢頻率,ds 為過 10 公里后加收 50%費(fèi)用的每公里價(jià)格輸出端給自動計(jì)費(fèi)模塊,它的初始值設(shè)為 3.9 元/km,每次可以加減 0.1 元進(jìn)行設(shè)定,最大值為 99.9 元/km。</p><p>  3.3.3.8 自動計(jì)費(fèi)模塊</p><p>  由于起步費(fèi)要求在開始計(jì)費(fèi)時(shí)屏幕上就要顯

85、示,受到 VHDL 語言的限制,不能在一個(gè)結(jié)構(gòu)模塊里給某個(gè)變量賦兩種初始值的選擇,所以要給它一個(gè)初始化模塊。D_N 是白天和深夜的判別信號,D1、D2、D3 、N1、N2、N3 分別代表白天起步費(fèi)、單位公里費(fèi)、10公里后的單位公里費(fèi)、深夜起步費(fèi)、單位公里費(fèi)、10公里后的單位公里費(fèi)。每走完一公里就給clk端一個(gè)信號,自動計(jì)費(fèi)模塊根據(jù)不同狀態(tài)自動計(jì)費(fèi)一次,S_P是啟動和停止的輸入端,它一方面控制計(jì)費(fèi)的開始和停止,另一方面起到清零作用,且只

86、當(dāng)啟動的瞬間才清零,為了保持住在屏幕上的數(shù)值。jfout 把計(jì)算值輸出給總額計(jì)算端。</p><p>  圖3.15 自動計(jì)費(fèi)模塊</p><p>  3.3.3.9 總額計(jì)算模塊</p><p>  圖3.16 總額計(jì)算模塊</p><p>  總額計(jì)算模塊的輸入端CF和LF代表車費(fèi)和橋路費(fèi),ST為計(jì)算信號輸入端,當(dāng)按下停止計(jì)費(fèi)鍵時(shí)就自

87、動計(jì)算結(jié)帳,ZE把計(jì)算數(shù)值輸出到同級模塊和顯示模塊,clr 清零端只當(dāng)啟動的瞬間清零。</p><p>  3.3.3.10 統(tǒng)計(jì)模塊</p><p>  圖3.17 統(tǒng)計(jì)模塊</p><p>  為讓司機(jī)更好的了解一天的營運(yùn)額狀況,所以做了一個(gè)統(tǒng)計(jì)模塊,用來統(tǒng)計(jì)所接乘客總數(shù)和營運(yùn)額總數(shù)。CF 為總費(fèi)用的輸入端,當(dāng) STOP 端接到停止計(jì)費(fèi)的信號后就自動累計(jì)一次乘

88、客總數(shù)和營運(yùn)額總數(shù),輸出給顯示模塊。SUM 為乘客數(shù),ZE為營運(yùn)額總數(shù)。 </p><p>  3.3.3.11 分頻模塊</p><p>  圖3.18 分頻模塊</p><p>  分頻模塊為出租車計(jì)費(fèi)系統(tǒng)的各個(gè)模塊提供時(shí)鐘頻率。根據(jù)不同的需求輸出有 1Hz(給時(shí)鐘和加減等)、2 Hz、4 Hz、15 Hz(按鍵掃描)、61 Hz(再返回用來輸出標(biāo)準(zhǔn)的1Hz)

89、、2k Hz( 給BCD碼轉(zhuǎn)換模塊)、2.222k Hz(給步進(jìn)電機(jī)驅(qū)動模塊)。</p><p>  第4章 設(shè)計(jì)仿真驗(yàn)證</p><p>  4.1 LCD驅(qū)動程序仿真</p><p>  圖4.1 LCD驅(qū)動模塊仿真圖</p><p>  從圖中可以看出,我已經(jīng)對使能信號端e做了優(yōu)化,使其只有當(dāng)數(shù)據(jù)端信號穩(wěn)定不發(fā)生跳變時(shí)才對數(shù)據(jù)進(jìn)行讀

90、寫操作,以此來防止寫入不可靠的數(shù)據(jù),造成錯(cuò)誤。當(dāng)rs為高電平,e為下降沿時(shí)開始寫數(shù)據(jù)給DDRAM。</p><p>  4.2 電機(jī)調(diào)速程序仿真</p><p>  圖4.2 電機(jī)調(diào)速模塊仿真圖</p><p>  圖中所示為一個(gè)200等份的周期,現(xiàn)在速度為30km/h。</p><p>  4.3 系統(tǒng)程序仿真</p>&l

91、t;p>  如下圖所示為系統(tǒng)的時(shí)序仿真圖,其中當(dāng)start=’1’時(shí)進(jìn)行計(jì)費(fèi),fin為公里脈沖,stop為等待信號。秒跟分的關(guān)系為3進(jìn)制,即W為2時(shí)就歸0。</p><p>  圖4.3 計(jì)費(fèi)系統(tǒng)時(shí)序仿真圖</p><p><b>  結(jié) 論</b></p><p>  FPGA器件的成本越來越低,Actel 公司發(fā)布第三代的基于Fl

92、ash的可編程邏輯方案。這些新的FPGA芯片最低價(jià)將達(dá)到 1.5美元,代表了全球最低成本的FPGA,并且相對于基于SRAM的FPGA來說具有保密的優(yōu)勢?;贔lash的FPGA 可以提供加密、低功耗、上電工作、可重復(fù)編程的方案。這些都說明可編程器件已成為現(xiàn)在及未來很長一段時(shí)間的主流,用它來實(shí)現(xiàn)出租車計(jì)費(fèi)系統(tǒng)可以省去很多外圍電路,穩(wěn)定,簡單有效,可以設(shè)計(jì)出更多強(qiáng)大的功能,提高產(chǎn)品競爭力。未來基于 FPGA 平臺的出租車計(jì)費(fèi)器會有更低的成本

93、、更小的體積、更安全、更精確和多功能。</p><p>  本文論述了基于FPGA 的出租車計(jì)費(fèi)器設(shè)計(jì),分別介紹了整個(gè)系統(tǒng)和各模塊的設(shè)計(jì)。使用VHDL語言、Quartus 軟件,實(shí)現(xiàn)了軟件的設(shè)計(jì)制作。本文設(shè)計(jì)的出租車計(jì)費(fèi)器具備了LCD顯示、計(jì)價(jià)標(biāo)準(zhǔn)設(shè)定、按不同計(jì)價(jià)標(biāo)準(zhǔn)自動計(jì)費(fèi)、統(tǒng)計(jì)功能、模擬車輪驅(qū)動等功能。通過驗(yàn)證證明了預(yù)期方案的可行性。由于本人在經(jīng)驗(yàn)水平上的欠缺,設(shè)計(jì)中可能存在很多不足,請各位老師予以指正!&l

94、t;/p><p><b>  參考文獻(xiàn)</b></p><p>  [1] [英]Jone Wulenskl .VHDL Digtal System Design[D],北京:電子工業(yè)出版社,2004 ,10~105 .</p><p>  [2] 億特科技. CPLD/FPGA應(yīng)用系統(tǒng)設(shè)計(jì)與基礎(chǔ)篇[M],北京:人民郵電出版社,2005,

95、93~102.</p><p>  [3] 求是科技. FPGA 數(shù)字電子系統(tǒng)設(shè)計(jì)與開發(fā)實(shí)例導(dǎo)航[J],北京:人民郵電出版社,2005,115~126 . </p><p>  [4] EDA先鋒工作室. Altera FPGA/CPLD設(shè)計(jì)(高級篇)[C],北京:人民郵電出版社,2005,27~58 .</p><p>  [5] 郭強(qiáng). 液晶顯示應(yīng)用技術(shù)[M],

96、北京:電子工業(yè)出版社,2003 ,2~116 .</p><p>  [6] 黃智偉. FPGA系統(tǒng)設(shè)計(jì)與實(shí)踐[J],北京:電子工業(yè)出版社,2005,200~217 .</p><p>  [7] 譚會生等. EDA技術(shù)綜合應(yīng)用實(shí)例與分析[M],西安電子科技大學(xué)出版社,2004年,250~368.</p><p>  [8] 朱正偉. EDA技術(shù)及應(yīng)用[M],清華

97、大學(xué)出版社,2005年,180~290.</p><p><b>  附 錄</b></p><p><b>  1.LCD驅(qū)動程序</b></p><p>  LIBRARY ieee; </p><p>  USE ieee.std_logic_1164.all; </p>&l

98、t;p>  USE ieee.std_logic_unsigned.all; </p><p>  ENTITY lcd IS </p><p>  PORT ( clk : IN STD_LOGIC; </p><p>  a0,a1,a2,a3,a4,a5,a6,a7,

99、a8,a9,aa,ab,ac,ad,ae,af,ag,ah,ai,aj : IN STD_LOGIC_vector(7 downto 0); </p><p>  b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,ba,bb,bc,bd,be,bf,bg,bh,bi,bj : IN STD_LOGIC_vector(7downto0); </p><p>  c0,c1,c2,c

100、3,c4,c5,c6,c7,c8,c9,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj : IN STD_LOGIC_vector(7 downto 0); </p><p>  f0,f1,f2,f3,f4,f5,f6,f7,f8,f9,fa,fb,fc,fd,fe,ff,fg,fh,fi,fj : IN STD_LOGIC_vector(7 downto 0)</p><p&g

101、t;  rs,rw,e : OUT STD_LOGIC; </p><p>  D : OUT STD_LOGIC_vector(7 downto 0) ); </p><p><b>  END lcd; </b></p><p>

102、  ARCHITECTURE a OF lcd IS </p><p>  SIGNAL t : STD_LOGIC_vector(1 downto 0); </p><p>  SIGNAL q : STD_LOGIC_vector(4 downto 0); </p><p>  SIGNAL p : STD_LOGIC_vector(1 downto 0);&l

103、t;/p><p><b>  BEGIN </b></p><p>  PROCESS (clk) </p><p><b>  BEGIN </b></p><p>  IF (clk'EVENT AND clk='1') THEN </p><p> 

104、 IF p=2 then </p><p><b>  p<="00"; </b></p><p><b>  else </b></p><p><b>  p<=p+1; </b></p><p><b>  end if; &l

105、t;/b></p><p>  IF p=0 then </p><p><b>  e<='1'; </b></p><p>  elsif p=1 then </p><p>  if q=25 then </p><p>  q<="00011&q

106、uot;; // 循環(huán)到下一行顯示的指令操作 // </p><p><b>  else </b></p><p><b>  q<=q+1; </b></p><p><b>  end if; </b></p><p><b>  e<=&

107、#39;0'; </b></p><p><b>  end if; </b></p><p>  if q=1 then </p><p><b>  rs<='0'; </b></p><p><b>  rw<='0'

108、; </b></p><p>  D<="00111000"; // 功能設(shè)置 // </p><p><b>  end if; </b></p><p>  if q=2 then </p><p><b>  rs<='0'; </b&

109、gt;</p><p><b>  rw<='0'; </b></p><p>  D<="00000001"; // 清屏 // </p><p><b>  end if; </b></p><p>  if q=3 then </p&g

110、t;<p><b>  rs<='0'; </b></p><p><b>  rw<='0';</b></p><p>  D<="00001110"; // 顯示開關(guān)控制 // </p><p><b>  end if;

111、</b></p><p>  if q=4 then </p><p><b>  rs<='0'; </b></p><p><b>  rw<='0'; </b></p><p>  D<="00000110";

112、 // 輸入方式設(shè)置 // </p><p><b>  end if; </b></p><p>  if q=5 then </p><p><b>  rs<='0'; </b></p><p><b>  rw<='0'; </b

113、></p><p>  if p=1 then </p><p><b>  t<=t+1; </b></p><p><b>  end if; </b></p><p>  case t is </p><p>  when "00"=&g

114、t;D<="10000000"; // 第一行首地址 // </p><p>  when "01"=>D<="11000000"; // 第二行首地址 // </p><p>  when "10"=>D<="10010100"; // 第三行首地

115、址 // </p><p>  when others=>D<="11010100"; // 第四行首地址 // </p><p>  end case; </p><p><b>  end if; </b></p><p>  if q>5 then

116、 // 寫數(shù)據(jù) // </p><p><b>  rs<='1'; </b></p><p><b>  rw<='0'; </b></p><p>  if t=1 then // 寫第一行 // </p>

117、<p>  case q is </p><p>  when "00110"=>D<=a0; </p><p>  when "00111"=>D<=a1; </p><p>  when "01000"=>D<=a2; </p><p

118、>  when "01001"=>D<=a3; </p><p>  when "01010"=>D<=a4; </p><p>  when "01011"=>D<=a5; </p><p>  when "01100"=>D<=a

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論