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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  長 沙 學 院 </p><p>  CHANGSHA UNIVERSITY</p><p><b>  畢業(yè)設計資料</b></p><p>  計費系統(tǒng)的設計 </p><p><b>  長沙學院教務處 </b></p><

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

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

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

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

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

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

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

9、><p>  關鍵詞:出租車,計費系統(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 國內外研究狀況1</p><p>  1.3 課題研究方法2</p><p>  1.4 論文構成及研究內容2</p><p>  第2章 設計相關工具簡介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章 設計方案及原理6</p><p>  3.1 方案論證6</p><p>  3.2 設計原理7</p><p>  3.2.1 出租車計費方式

17、7</p><p>  3.2.2 總體框架設計7</p><p>  3.3 各個模塊設計8</p><p>  3.3.1 LCD顯示設計8</p><p>  3.3.2 電機驅動模塊設計12</p><p>  3.3.3 主要功能模塊設計13</p><p>  第4章

18、設計仿真驗證20</p><p>  4.1 LCD驅動程序仿真20</p><p>  4.2 電機調速程序仿真20</p><p>  4.3 系統(tǒng)程序仿真20</p><p><b>  結 論22</b></p><p><b>  參考文獻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)濟的全面發(fā)展過程中,

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

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

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

23、路逐漸取代了通用全硬件電路。目前,業(yè)界大量可編程邏輯器件,尤其是現(xiàn)場可編程器件被大量地應用在集成電路的制作當中[2]。</p><p>  理想的可編程邏輯開發(fā)系統(tǒng)能符合大量的設計要求:它能支持不同結構的器件。在多種平臺運行,提供易于使用的界面,并且有廣泛的特征。可編程器件的邏輯功能描述一般分為原理圖描述和硬件語言描述,原理圖描述是一種直觀簡便的方法,它可以講現(xiàn)有的小規(guī)模集成電路實現(xiàn)的功能直接用可編程器件來實現(xiàn),

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

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

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

27、/p><p><b>  2.1 EDA簡介</b></p><p>  電子設計技術的核心就是EDA技術,EDA是指以計算機為工作臺,融合應用電子技術、計算機技術、智能化技術最新成果而研制成的電子CAD通用軟件包,主要能輔助進行三方面的設計工作,即IC設計、電子電路設計和PCB設計。EDA技術已有30年的發(fā)展歷程,大致可分為三個階段。70年代為計算機輔助設計(CAD)階

28、段,人們開始用計算機輔助進行IC版圖編輯、PCB布局布線,取代了手工操作。80年代為計算機輔助工程(CAE)階段。與CAD相比,CAE除了有純粹的圖形繪制功能外,又增加了電路功能設計和結構設計,并且通過電氣連接網(wǎng)絡表將兩者結合在一起,實現(xiàn)了工程設計。CAE的主要功能是:原理圖輸入,邏輯仿真,電路分析,自動布局布線,PCB后分析。90年代為電子系統(tǒng)設計自動化(EDA)階段[3]。</p><p>  中國EDA市場

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

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

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

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

33、t;p> ?。?)FPGA可做其它全定制或半定制ASIC電路的中試樣片。 </p><p> ?。?)FPGA內部有豐富的觸發(fā)器和I/O引腳。 </p><p> ?。?)FPGA是ASIC電路中設計周期最短、開發(fā)費用最低、風險最小的器件之一。 </p><p> ?。?)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是由存放在片內RAM中的程序來設置其工作狀態(tài)的,因此,工作時需要對片內的RAM進行編程。用戶可以根據(jù)不同的配置模式,采用不同的編

35、程方式。 </p><p>  加電時,F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內編程RAM中,配置完成后,F(xiàn)PGA進入工作狀態(tài)。掉電后,F(xiàn)PGA恢復成白片,內部邏輯關系消失,因此,F(xiàn)PGA能夠反復使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當需要修改FPGA功能時,只需換一片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;外設模式可以將FPGA作為微處理器的外設,由微處理器對其編程[4]。</p><p>  2.3 硬件描述語言VHDL簡介</p><p>  VHDL全名是Very-Hi

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

59、  功能:設置顯示、光標及閃爍開、關。 </p><p>  其中:D表示顯示開關:D=1為開,D=0為關; </p><p>  C表示光標開關:C=1為開,C=0為關;</p><p>  B表示閃爍開關:B=1為開,B=0為關。</p><p><b> ?。?)輸入方式設置</b></p><

60、p>  表3.6 輸入方式設置</p><p>  功能:設置光標、畫面移動方式。 </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>  (5)DDRAM地址設置</p><p>  表3.7 DDRAM地址設置</p><p>  功能:設置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ù)據(jù)寫人DDRAM或CGRAM內。</p><p>  3.3.2 電機驅動模塊設計</p><p&

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

97、大學出版社,2005年,180~290.</p><p><b>  附 錄</b></p><p><b>  1.LCD驅動程序</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"; // 功能設置 // </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"; // 顯示開關控制 // </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、 // 輸入方式設置 // </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)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論