裝配圖出租車計費系統的設計,裝配,出租車,計費,系統,設計
桂 林 工 學 院
本 科 學 生 畢 業(yè) 設 計(論文)任 務 書
系( 院 ): 電子與計算機系
課題名稱: 出租車計費器系統設計
專 業(yè): 電子信息工程
班 級: 電子信息2002-4班
學生姓名: 楊有甜
指導教師: 沈卓君、劉耀明
下發(fā)日期: 2006年2月24日
課題名稱
出租車計費器系統設計
學生姓名
楊有甜
專 業(yè)
電子信息工程
班 級
電子信息2002-4班
指導教師姓名
沈卓君、劉耀明
主要內容(包括設計參數)與要求
一、 設計任務及要求
設計出租車計費器系統由計費電路、顯示電路以及現場模擬電路組成。本設計的主要任務:
1. 實現計費功能,計費標準為:按行駛里程計費,起步價為7.00元,并在車行3km后按2.20/km計費,當計費器達到或者超過20元時,每公里加收50%的車費,車停止時不計費;
2. 現場模擬功能:能模擬汽車起動、停止、以及加速等狀態(tài);
3. 設計動態(tài)掃描電路,將車費和路程顯示出來,各有兩位小數;
4. 使用VHDL進行電路系統設計,利用PLD來實現控制器的硬件電路。
工 作 進 程 及 工 作 量
2月20日~3月1日:收集和閱讀相關文獻資料,編寫開題報告;
3月1日~4月 5日:熟悉開發(fā)工具和開發(fā)環(huán)境,系統分析;
4月6日~5月5日:按照任務書的要求進行系統設計,并形成可行的設計方案;
5月6日~5月15日:系統調試,修改,完善;
5月16日~5月25日:論文的最后修訂。
應 遵 守 的 法 規(guī)
遵守國家法規(guī)和學院的有關規(guī)章制度
畢業(yè)設計(論文)完成日期: 2006 年 5 月 31 日
指導教師: (簽字)
教研室主任: (簽字)
系(院)主任: (簽字)
摘? 要
該系統利用VHDL語言、PLD設計出租車計費系統,以MAX+PLUSⅡ軟件作為開發(fā)平臺,設計了出租車計費器系統程序并進行了程序仿真。使其實現計費以及預置和模擬汽車啟動、停止、暫停等功能,并動態(tài)掃描顯示車費數目。
關鍵詞: 出租車計費器;計數器;VHDL語言;MAX+PLUSⅡ;
Rental car fare register system design
Student: YANG Youtian Teacher: LIU Yaoming
Abstract:This system using the VHDL language, PLD design rental car costs the system, develops the platform by the MAX+PLUSⅡsoftware achievement, has designed the rental car fare register system program and has 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.
Key words: The rental car costs the system; the counter; the VHDL language; MAX+PLUS II;
目 次
摘要……………………………………………………………………………………Ⅰ
Abstract………………………………………………………………………………Ⅱ
1 引言…………………………………………………………………………………1
1.1 設計背景………………………………………………………………………1
1.2 EDA發(fā)展概況…………………………………………………………………2
2 出租車計費系統的設計……………………………………………………………7
2.1 出租車計費設計………………………………………………………………7
2.2 基本設計思想…………………………………………………………………7
3 出租車計費系統的實現……………………………………………………………8
3.1 系統的總體框圖………………………………………………………………8
3.2 程序流程圖………………………………………………………………………9
3.3 系統各功能模塊的實現………………………………………………………10
3.3.1 模塊JIFEI的實現……………………………………………………10
3.3.2 模塊X的實現………………………………………………………12
3.3.3 模塊XXX1的實現……………………………………………………15
3.3.4 模塊SE的實現………………………………………………………16
3.3.5 模塊DI的實現………………………………………………………17
4 系統仿真……………………………………………………………………………19
4.1 模塊X的仿真結果…………………………………………………………19
4.2 模塊JIFEI的仿真結果……………………………………………………19
4.3 模塊XXX1的仿真結果………………………………………………………19
4.4 模塊SE的結果驗證…………………………………………………………20
4.5 模塊DI的結果驗證…………………………………………………………20
5 結論…………………………………………………………………………………21
致謝……………………………………………………………………………………22
參考文獻………………………………………………………………………………23
III
1
1 引 言
1.1 設計背景
隨著出租車行業(yè)的發(fā)展,對出租車計費器的要求也越來越高。二十世紀后半期,隨著集成電路和計算機技術的飛速發(fā)展,數字系統也得到了飛速發(fā)展,其實現方法經歷了由分立元件、SSI、MSI到LSI、VLSI以及UVLSI的過程。同時為了提高系統的可靠性與通用性,微處理器和專業(yè)集成電路(ASIC)逐漸取代了通用全硬件LSI電路,而ASIC以其體積小、重量輕、功耗低、速度快、成本低、保密性好而脫穎而出。目前,業(yè)界大量可編程邏輯器件(PLD),尤其是現場可編程邏輯器件(FPLD)被大量地應用在ASIC的制作當中。在可編程集成電路的開發(fā)過程中,以計算機為工作平臺,融合了應用電子技術、計算機技術、智能化技術最新成果的電子設計自動化(EDA)技術主要能輔助進行三方面的設計工作:IC設計,電子電路設計以及PCB設計
理想的可編程邏輯開發(fā)系統能符合大量的設計要求:它能夠支持不同結構的器件,在多種平臺運行,提供易于使用的界面,并且有廣泛的特征。此外,一個設計系統應該能給設計師提供充分自由的設計輸入方法和設計工具選擇。Altered公司開發(fā)的MAX+PLUSⅡ開發(fā)系統能充分滿足可編程邏輯設計所有要求。
MAX+PLUSⅡ設計環(huán)境所提供的靈活性和高效性是無可比擬的。其豐富的圖形界面,輔之以完整的、可及時訪問的在線文檔,使設計人員能夠輕松、愉快地掌握和使用MAX+PLUSⅡ軟件。
編程器是一種專門用于對可編程器(如EPROM,EEPROM,GAL,CPLD,PAL等)進行編程的專業(yè)設備
PLD器件的邏輯功能描述一般分為原理圖描述和硬件描述語言描述,原理圖描述是一種直觀簡便的方法,它可以將現有的小規(guī)模集成電路實現的功能直接用PLD器件來實現,而不必去將現有的電路用語言來描述,但電路圖描述方法無法做到簡練;硬件描述語言描述是可編程器件設計的另一種描述方法,語言描述可能精確和簡練地表示電路的邏輯功能,現在PLD的設計過程中廣泛使用。常用的硬件描述語言有ABEL,VHDL語言等,其中ABEL是一種簡單的硬件描述語言,其支持布爾方程、真值表、狀態(tài)機等邏輯描述,適用于計數器、譯碼器、運算電路、比較器等邏輯功能的描述;VHDL語言是一種行為描述語言,其編程結構類似于計算機中的C語言,在描述復雜邏輯設計時,非常簡潔,具有很強的邏輯描述和仿真能力,是未來硬件設計語言的主流。
VHDL就是超高速集成電路硬件描述語言。覆蓋面廣,描述能力強,是一個多層次的硬件描述語言。在VHDL語言中,設計的原始描述可以非常簡練,經過層層加強后,最終可成為直接付諸生產的電路或版圖參數描述。具有良好的可讀性,即容易被計算機接受,也容易被讀者理解。使用期長,不會因工藝變化而使描述過時。因為VHDL的硬件描述與工藝無關,當工藝改變時,只需修改相應程序中的屬性參數即可。支持大規(guī)模設計的分解和已有設計的再利用。一個大規(guī)模的設計不可能由一個人獨立完成,必須由多人共同承擔,VHDL為設計的分解和設計的再利用提供了有力的支持。
1.2 EDA發(fā)展概況
電子設計技術的核心就是EDA技術,EDA是指以計算機為工作臺,融合應用電子技術、計算機技術、智能化技術最新成果而研制成的電子CAD通用軟件包,主要能輔助進行三方面的設計工作,即IC設計、電子電路設計和PCB設計。EDA技術已有30年的發(fā)展歷程,大致可分為三個階段。70年代為計算機輔助設計(CAD)階段,人們開始用計算機輔助進行IC版圖編輯、PCB布局布線,取代了手工操作。80年代為計算機輔助工程(CAE)階段。與CAD相比,CAE除了有純粹的圖形繪制功能外,又增加了電路功能設計和結構設計,并且通過電氣連接網絡表將兩者結合在一起,實現了工程設計。CAE的主要功能是:原理圖輸入,邏輯仿真,電路分析,自動布局布線,PCB后分析。90年代為電子系統設計自動化(EDA)階段。
中國EDA市場已漸趨成熟,不過大部分設計工程師面向的是PC主板和小型ASIC領域,僅有小部分(約11%)的設計人員開發(fā)復雜的片上系統器件。為了與臺灣和美國的設計工程師形成更有力的競爭,中國的設計隊伍有必要購入一些最新的EDA技術。
在信息通信領域,要優(yōu)先發(fā)展高速寬帶信息網、深亞微米集成電路、新型元器件、計算機及軟件技術、第三代移動通信技術、信息管理、信息安全技術,積極開拓以數字技術、網絡技術為基礎的新一代信息產品,發(fā)展新興產業(yè),培育新的經濟增長點。要大力推進制造業(yè)信息化,積極開展計算機輔助設計(CAD)、計算機輔助工程(CAE)、計算機輔助工藝(CAPP)、計算機機輔助制造(CAM)、產品數據管理(PDM)、制造資源計劃(MRPII)及企業(yè)資源管理(ERP)等。有條件的企業(yè)可開展“網絡制造”,便于合作設計、合作制造,參與國內和國際競爭。開展“數控化”工程和“數字化”工程。自動化儀表的技術發(fā)展趨勢的測試技術、控制技術與計算機技術、通信技術進一步融合,形成測量、控制、通信與計算機(M3C)結構。在ASIC和PLD設計方面,向超高速、高密度、低功耗、低電壓方向發(fā)展。外設技術與EDA工程相結合的市場前景看好,如組合超大屏幕的相關連接,多屏幕技術也有所發(fā)展。
中國自1995年以來加速開發(fā)半導體產業(yè),先后建立了幾所設計中心,推動系列設計活動以應對亞太地區(qū)其它EDA市場的競爭。
在EDA軟件開發(fā)方面,目前主要集中在美國。但各國也正在努力開發(fā)相應的工具。日本、韓國都有ASIC設計工具,但不對外開放 。中國華大集成電路設計中心,也提供IC設計軟件,但性能不是很強。相信在不久的將來會有更多更好的設計工具有各地開花并結果。據最新統計顯示,中國和印度正在成為電子設計自動化領域發(fā)展最快的兩個市場,年復合增長率分別達到了50%和30%。
EDA技術發(fā)展迅猛,完全可以用日新月異來描述。EDA技術的應用廣泛,現在已涉及到各行各業(yè)。EDA水平不斷提高,設計工具趨于完美的地步。EDA市場日趨成熟,但我國的研發(fā)水平還很有限,需迎頭趕上。
可編程邏輯器件自70年代以來,經歷了PAL、GALGPLD、FPGA幾個發(fā)展階段,其中CPLD/FPGA高密度可編程邏輯器件,目前集成度已高達200萬門/片,它將各模塊ASC集成度高的優(yōu)點和可編程邏輯器件設計生產方便的特點結合在一起,特別適合于樣品研制或小批量產品開發(fā),使產品能以最快的速度上市,而當市場擴大時,它可以很容易地轉換掩模ASIC實現,因此開發(fā)風險也大為降低。
硬件描述語言(HDL)是一種用于設計硬件電子系統的計算機語言,它用軟件編程的方式來描述電子系統的邏輯功能、電路結構和連接形式,與傳統的門級描述方式相比,它更適合大規(guī)模系統的設計。例如一個32位的加法器,利用圖形輸入軟件需要輸人500至1000個門,而利用VHDL語言只需要書寫一行“A=B+C”即可。而且 VHDL語言可讀性強,易于修改和發(fā)現錯誤。早期的硬件描述語言,如ABEL、HDL、AHDL,由不同的EDA廠商開發(fā),互不兼容,而且不支持多層次設計,層次間翻譯工作要由人工完成。為了克服以上不足,1985年美國國防部正式推出了高速集成電路硬件描述語言VHDL,1987年IEEE采納VHDL為硬件描述語言標準(IEEE STD-1076)。
VHDL是一種全方位的硬件描述語言,包括系統行為級。寄存器傳輸級和邏輯門多個設計層次,支持結構、數據流和行為三種描述形式的混合描述,因此VHDL幾乎覆蓋了以往各種硬件俄語言的功能,整個自頂向下或由下向上的電路設計過程都可以用VHDL來完成。VHDL還具有以下優(yōu)點:(1)VHDL的寬范圍描述能力使它成為高層進設計的核心,將設計人員的工作重心提高到了系統功能的實現與調試,而花較少的精力于物理實現。VHDL可以用簡潔明確的代碼描述來進行復雜控制邏輯設計,靈活且方便,而且也便于設計結果的交流、保存和重用。(3)VHDL的設計不依賴于特定的器件,方便了工藝的轉換。(4)VHDL是一個標準語言,為眾多的EDA廠商支持,因此移植性好。傳統的硬件電路設計方法是采用自下而上的設計方法,即根據系統對硬件的要求,詳細編制技術規(guī)格書,并畫出系統控制流圖;然后根據技術規(guī)格書和系統控制流圖,對系統的功能進行細化,合理地劃分功能模塊,并畫出系統的功能框圖;接著就進行各功能模塊的細化和電路設計;各功能模塊電路設計、調試完成后,將各功能模塊的硬件電路連接起來再進行系統的調試,最后完成整個系統的硬件設計。采用傳統方法設計數字系統,特別是當電路系統非常龐大時,設計者必須具備較好的設計經驗,而且繁雜多樣的原理圖的閱讀和修改也給設計者帶來諸多的不便。為了提高開發(fā)的效率,增加已有開發(fā)成果的可繼承性以及縮短開發(fā)周期,各ASIC研制和生產廠家相繼開發(fā)了具有自己特色的電路硬件描述語言(Hardware Description Language,簡稱HDL)。但這些硬件描述語言差異很大,各自只能在自己的特定設計環(huán)境中使用,這給設計者之間的相互交流帶來了極大的困難。因此,開發(fā)一種強大的、標準化的硬件描述語言作為可相互交流的設計環(huán)境已勢在必行。于是,美國于1981年提出了一種新的、標準化的HDL,稱之為VHSIC(Very High Speed Integrated Circuit) Hardware Description Language,簡稱VHDL。這是一種用形式化方法來描述數字電路和設計數字邏輯系統的語言。設計者可以利用這種語言來描述自己的設計思想,然后利用電子設計自動化工具進行仿真,再自動綜合到門電路,最后用PLD實現其功能。
覆蓋面廣,描述能力強,是一個多層次的硬件描述語言。在VHDL語言中,設計的原始描述可以非常簡練,經過層層加強后,最終可成為直接付諸生產的電路或版圖參數描述。
具有良好的可讀性,即容易被計算機接受,也容易被讀者理解。
使用期長,不會因工藝變化而使描述過時。因為VHDL的硬件描述與工藝無關,當工藝改變時,只需修改相應程序中的屬性參數即可。
支持大規(guī)模設計的分解和已有設計的再利用。一個大規(guī)模的設計不可能由一個人獨立完成,必須由多人共同承擔,VHDL為設計的分解和設計的再利用提供了有力的支持。
當電路系統采用VHDL語言設計其硬件時,與傳統的電路設計方法相比較,具有如下的特點:
即從系統總體要求出發(fā),自上而下地逐步將設計的內容細化,最后完成系統硬件的整體設計。在設計的過程中,對系統自上而下分成三個層次進行設計:
第一層次是行為描述。所謂行為描述,實質上就是對整個系統的數學模型的描述。一般來說,對系統進行行為描述的目的是試圖在系統設計的初始階段,通過對系統行為描述的仿真來發(fā)現設計中存在的問題。在行為描述階段,并不真正考慮其實際的操作和算法用何種方法來實現,而是考慮系統的結構及其工作的過程是否能到達系統設計的要求。
第二層次是RTL方式描述。這一層次稱為寄存器傳輸描述(又稱數據流描述)。如前所述,用行為方式描述的系統結構的程序,其抽象程度高,是很難直接映射到具體邏輯元件結構的。要想得到硬件的具體實現,必須將行為方式描述的VHDL語言程序改寫為RTL方式描述的VHDL語言程序。也就是說,系統采用RTL方式描述,才能導出系統的邏輯表達式,才能進行邏輯綜合。
第三層次是邏輯綜合。即利用邏輯綜合工具,將RTL方式描述的程序轉換成用基本邏輯元件表示的文件(門級網絡表)。此時,如果需要,可將邏輯綜合的結果以邏輯原理圖的方式輸出。此后可對綜合的結果在門電路級上進行仿真,并檢查其時序關系。
應用邏輯綜合工具產生的門網絡表,將其轉換成PLD的編程碼,即可利用PLD實現硬件電路的設計。
由自上而下的設計過程可知,從總體行為設計開始到最終的邏輯綜合,每一步都要進行仿真檢查,這樣有利于盡早發(fā)現設計中存在的問題,從而可以大大縮短系統的設計周期。
系統可大量采用PLD芯片。
由于目前眾多制造PLD芯片的廠家,其工具軟件均支持VHDL語言的編程。所以利用VHDL語言設計數字系統時,可以根據硬件電路的設計需要,自行利用PLD設計自用的ASIC芯片,而無須受通用元器件的限制。
EDA系統框架結構 EDA系統框架結構(FRAMEWORK)是一套配置和使用EDA軟件包的規(guī)范。目前主要的EDA系統都建立了框架結構,如 CADENCE公司的Design Framework,Mentor公司的Falcon Framework,而且這些框架結構都遵守國際CFI組織制定的統一技術標準??蚣芙Y構能將來自不同EDA廠商的工具軟件進行優(yōu)化組合,集成在一個易于管理的統一的環(huán)境之下,而且還支持任務之間、設計師之間以及整個產品開發(fā)過程中的信息傳輸與共享,是并行工程和自頂向下設計施的實現基礎。
EDA技術的每一次進步,都引起了設計層次上的一次飛躍,從設計層次上分,70年代為物理級設計(CAD),80年代為電路級設計(CAE),90年代進入到系統級設計(EDA)。物理級設計主要指IC版圖設計,一般由半導體廠家完成,對電子工程師沒有太大的意義,因此本文重點介紹電路級設計和系統級設計。
仿真通過后,根據原理圖產生的電氣連接網絡表進行PCB板的自動布局布線。在制作PCB板之前還可以進行PCB后分析,其中包括熱分析、噪聲及竄擾分析、電磁兼容分析、可靠性分析等,并可將分析后的結果參數反標回電路圖,進行第二次仿真,也稱為后仿真。后仿真主要是檢驗PCB板在實際工作環(huán)境中的可行性。
由此可見,電路級的EDA技術使電子工程師在實際的電子系統產生前,就可以全面地了解系統的功能特性和物理特性,從而將開發(fā)風險消滅在設計階段,縮短了開發(fā)時間,降低了開發(fā)成本。
系統級設計 進人90年代以來,電子信息類產品的開發(fā)明顯呈現兩個特點:一是產品復雜程度提高;二是產品上市時限緊迫。然而,電路級設計本質上是基于門級描述的單層次設計,設計的所有工作(包括設計忙人、仿真和分析、設計修改等)都是在基本邏輯門這一層次上進行的,顯然這種設計方法不能適應新的形勢,一種高層次的電子設計方法,也即系統級設計方法,應運而生。
高層次設計是一種“概念驅動式”設計,設計人員無須通過原理圖描述電路,而是針對設計目標進行功能描述。由于擺脫了電路細節(jié)的束縛,設計人員可以把精力集中于創(chuàng)造性的方案與概念的構思上,而且這些概念構思以高層次描述的形式輸人計算機,EDA系統就能以規(guī)則驅動的方式自動完成整個設計。這樣,新的概念就能迅速有效地成為產品,大大縮短了,產品的研制周期。不僅如此,高層次設計只是定義系統的行為特性,可以不涉及實現工藝,因此還可以在廠家綜合庫的支持下,利用綜合優(yōu)化工。
2 出租車計費系統的設計
2.1 出租車計費設計
實際中出租車的計費工作原理一般分成3個階段:
(1)車起步開始計費。首先顯示起步價(本次設計起步費為7.00元),車在行駛3 km以內,只收起步價7.00元。
(2)車行駛超過3 km后,按每公里2.2元計費(在7.00元基礎上每行駛1 km車費加2.2元),車費依次累加。
(3)行駛路程達到或超過9 km后(車費達到20元),每公里加收50%的車費,車費變成按每公里3.3元開始計費。車暫時停止(行駛中遇紅燈或中途暫時停車)不計費,車費保持不變。若停止則車費清零,等待下一次計費的開始
2.2 基本設計思想
(1) 根據出租車計費原理,將出租車計費部分由5個計數器來完成分別為counterA,counterB,counterC,counterD,counterE。①計數器A完成車費百位。②計數器B完成車費十位和個位。③計數器C完成車費角和分。④計數器D完成計數到30(完成車費的起步價)。⑤計數器E完成模擬實現車行駛100 m的功能。
(2)行駛過程中車費附加50%的功能:由比較器實現。
(3)車費的顯示:由動態(tài)掃描電路來完成。用專用模塊來實現,完成數據的輸入即動態(tài)數據的顯示。
(4)通過分析可以設計出系統的頂層框圖如圖2.1所示:
圖2.1 系統的頂層框圖
3 出租車計費系統的實現
3.1 系統的總體框圖
圖3.1 系統總體框圖
3.2 程序流程圖
車開始啟動
里程不計數
里程計數
里程顯示
計費器計數
車費顯示
車跑完成一次后
車費、里程清零
YES
YES
YES
NO
NO
圖3.2程序流程圖
3.3 系統各功能模塊的實現
3.3.1 模塊JIFEI的實現
圖3.3 模塊JIFEI
模塊JIFEI見圖3.2。輸入端口START、STOP、PAUSE、JS分別為汽車起動、停止、暫停、加速按鍵。
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity jifei is
port (clk,start,stop,pause,js:in std_logic;
chefei,luc:out integer range 0 to 8000);
end jifei;
architecture rtl of jifei is
begin
process(clk,start,stop,pause,js)
variable a,b:std_logic;
variable aa:integer range 0 to 100;
variable chf,lc:integer range 0 to 8000;
variable num:integer range 0 to 9;
begin
if(clk'event and clk='1')then
if(stop='0')then
chf:=0;
num:=0;
b:='1';
aa:=0;
lc:=0;
elsif(start='0')then
b:='0';
chf:=700;
lc:=0;
elsif(start='1' and js='1'and pause='1')then
if(b='0')then
num:=num+1;
end if;
if(num=9)then
lc:=lc+5;
num:=0;
aa:=aa+5;
end if;
elsif(start='1'and js='0'and pause='1')then
lc:=lc+1;
aa:=aa+1;
end if;
if(aa>=100)then
a:='1';
aa:=0;
else
a:='0';
end if;
if(lc<300)then
null;
elsif(chf<2000 and a='1')then
chf:=chf+220;
elsif(chf>=2000 and a='1')then
chf:=chf+330;
end if;
end if;
chefei<=chf;
luc<=lc;
end process;
end rtl;
3.3.2 模塊X的實現
模塊X見圖3.3。該模塊把車費和路程轉化為4位十進制數,daclk的頻率要比clk快得多
圖3.4 模塊X
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity x is
port(daclk:in std_logic;
ascore,bscore:in integer range 0 to 8000;
age,ashi,abai,aqian,bge,bshi,bbai,dqian:out std_logic_vector(3 downto 0));
end x ;
architecture rtl of x is
begin
process(daclk,ascore)
variable comb1:integer range 0 to 8000;
variable comb1a,comb1b,comb1c,comb1d:std_logic_vector(3 downto 0);
begin
if(daclk'event and daclk='1')then
if(comb1
d<=a1;
dp<=’0’;
when”001”=>d<=a2;
dp<=’0’;
when”010”=>d<=a3;
dp<=’1’;
when”011”=>d<=a4;
dp<=’0’;
when”100”=>d<=b1;
dp<=’0’;
when”101”=>d<=b2;
dp<=’0’;
when”110”=>d<=b3;
dp<=’1’;
when”111”=>d<=b4;
dp<=’0’;
when others=>null;
end case;
end process;
end rtl;
3.3.4 模塊SE的實現
模塊SE見圖3.6
圖3.6 模塊SE
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity se is
port(clk:in std_logic;
a:out std_logic_vector(2 down to 0));
end se;
architecture rtl of se is
begin
process(clk)
variable b:std_logic_bector(2 downto 0);
begin
if(clk’event and clk=’1’)then
if(b=”111”)then
b:=”000”;
else
b:=b+1;
end if;
end if;
a<=b;
end process;
end rtl;
3.3.5 模塊DI的實現
模塊DI見圖3.7
圖3.7 模塊DE
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity di is
port(d:in std_logic_vector(3 downto 0);
q:out std_logic_vector(6 downto 0));
end di;
architecture rtl of di is
begin
process(d)
begin
case d is
when”0000”=>q<=”0111111”;
when”0001”=>q<=”0000110”;
when”0010”=>q<=”1011011”;
when”0011”=>q<=”1001111”;
when”0100”=>q<=”1100110”;
when”0101”=>q<=”1101101”;
when”0110”=>q<=”1111101”;
when”0111”=>q<=”0100111”;
when”1000”=>q<=”1101111”;
when others=>q<=”1101111”
end case;
end process;
end rtl;
4 系統仿真
4.1 模塊X的仿真結果
將車費和路程轉換成4位的十進制如圖4.1所示:
輸入端為:Daclk, ascore, bscore
輸出端為:Age, ashi, aqian, abai, bge, bshi, bqian, bbai;
圖4.1 模塊X仿真波形圖
4.2 模塊JIFEI的仿真結果
該模塊是模擬汽車的啟動、停止、暫停、加速按鍵,如圖4.2所示:
輸入端口為:stop, start, pause, js;
輸出端口為:clk, b;
圖4.2 模塊JIFEI仿真波形圖
4.3 模塊XXX1的仿真結果
該模塊是將車費和路程顯示出來如圖4.3所示
輸入端為:c, a1,a2,a3,a4,b1,b2,b3,b4;
輸出端為:dp,d;
圖4.3 模塊XXX1仿真波形圖
4.4模塊SE的結果驗證
模塊SE仿真如圖4.4所示:
輸入端為:clk
輸出端為:a
圖4.4 模塊SE仿真波形圖
4.5模塊DI的結果驗證
模塊DI仿真的結果如圖4.5所示
輸入端為:d
輸出端為:q
圖4.5 模塊DI仿真波形圖
5 結論
出租車計費器系統的設計已全部完成,能按預期的效果進行模擬汽車啟動、停止、暫停等功能,并設計動態(tài)掃描電路顯示車費數目,由動態(tài)掃描電路來完成。車暫時停止不計費,車費保持不變。若停止則車費清零,等待下一次計費的開始。出租車計費器系統的設計已全部完成,能按預期的效果進行模擬汽車啟動、停止、暫停等功能,并設計動態(tài)掃描電路顯示車費數目,由動態(tài)掃描電路來完成。車暫時停止不計費,車費保持不變。若停止則車費清零,等待下一次計費的開始。在出租車計費系統的5個模塊中 ,重點在于JIFEI模塊,X模塊、XXX1模塊。JIFEI模塊主要有汽車的啟動、停止、暫停、加速按鍵;X模塊主要是把車費和路程轉化為4位十進制;X模塊是將車費和路程顯示出來。各模塊完成后,在將它們組合成完整的出租車系統,在設計過程中還需要改進的是控制系統的糾錯功能。出租車計費系統的設計中體現了VHDL覆蓋面廣,描述能力強,是一個多層次的硬件描述語言及PLD器件速度快,使用方便,便于修改等特點,本設計在實用方面具有一定的價值。
致 謝
本文是在指導老師劉耀明老師的悉心指導下完成的,劉老師在學術上嚴格要求,在生活上給予關懷,劉老師的教誨和鼓勵,及在學術上一絲不茍的精神,作者受益匪淺,在此向劉老師表示衷心的感謝和敬意!
至此,畢業(yè)設計就快接近尾聲了,在這里我再一次誠摯的感謝劉老師和在大學期間對我諄諄教導的老師和領導們。
最后,向在設計中給予我關心、支持和幫助的同學表示謝意!
參考文獻
[1] 候伯亨,顧新.VHDL硬件描述語言與數字邏輯電路設計.修訂版電子工程師必備知識[M].西安:西安電子科技大學出版社,1999
[2] 張昌凡,等.可編程邏輯器件及VHDL設計技術[M].廣州:華南理工大學出版社,2001
[3] 曾繁泰,陳美金.VHDL程序設計[M].北京:清華大學出版社,2001
[4] 潘松,等.VHDL實用教程[M].成都:電子科技大學出版社,2000
[5] 高健, 沈慶宏, 高敦堂. ITS 中車輛檢測器設備的研究與實現[J ].
交通與計算機, 2002. 20 (5):15218
[6] 王小平, 王彥芳, 等. 基于EDA 技術的出租車費計價單片系統
[7] 盧慶利. 將VHDL 硬件描述語言引入數字電路教學的探索[J ]. 實
驗室研究與探索, 2000, 19 (5) : 67270
[8] 劉艷. EDA 技術在數字系統電路設計實驗中的應用[J ]. 實驗室研
究與探索, 2002, 21 (3) : 63264
[9] 潭會生,張昌凡. EDA技術及應用.西安:電子科技大學出版社.2001
[10] 徐穎.Protel 99 SE EDA技術及應用.西安:機械工業(yè)出版社.2005?
23