EDA課程設(shè)計(jì)出租車計(jì)價(jià)器_第1頁
EDA課程設(shè)計(jì)出租車計(jì)價(jià)器_第2頁
EDA課程設(shè)計(jì)出租車計(jì)價(jià)器_第3頁
EDA課程設(shè)計(jì)出租車計(jì)價(jià)器_第4頁
EDA課程設(shè)計(jì)出租車計(jì)價(jià)器_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 . JIANGSU TEACHERS UNIVERSITY OF TECHNOLOGY 數(shù)字電路課程設(shè)計(jì)報(bào)告出租車計(jì)費(fèi)器學(xué)院名稱: 電氣信息工程學(xué)院 專 業(yè): 通信工程 班 級(jí):姓 名:學(xué) 號(hào): 指導(dǎo)教師: 2009 年 12 月摘 要隨著EDA技術(shù)的高速發(fā)展,電子系統(tǒng)的設(shè)計(jì)技術(shù)和工具發(fā)生了深刻的變化,大規(guī)??删幊踢壿嬈骷﨏PLDFPGA的出現(xiàn),給設(shè)計(jì)人員帶來了諸多方便。利用它進(jìn)行產(chǎn)品開發(fā),不僅成本低、周期短、可靠性高,而且具有完全的知識(shí)產(chǎn)權(quán)。利用VHDL語言設(shè)計(jì)出租車計(jì)費(fèi)系統(tǒng),使其實(shí)現(xiàn)計(jì)費(fèi)以與預(yù)置和模擬汽車啟動(dòng)、停止、暫停等功能,并設(shè)計(jì)動(dòng)態(tài)掃描電路顯示車費(fèi)數(shù)目,突出了其作為硬件描述語言的良

2、好的可讀性、可移植性和易讀性等優(yōu)點(diǎn)。此程序通過下載到特定芯片后,可應(yīng)用于實(shí)際的出租車計(jì)費(fèi)系統(tǒng)中。本文基于FPGA開發(fā)系統(tǒng),在Quartus II 9.0軟件平臺(tái)上,完成了出租車自動(dòng)計(jì)費(fèi)電路的設(shè)計(jì)和硬件實(shí)現(xiàn)。首先,論文介紹了Quartus II 9.0軟件的基本使用方法和FPGA硬件描述語言的特點(diǎn),采用VHDL 硬件描述語言描述出租車自動(dòng)計(jì)費(fèi)電路,完成對(duì)電路的功能仿真。在設(shè)計(jì)過程中,重點(diǎn)探討了出租車自動(dòng)計(jì)費(fèi)電路的設(shè)計(jì)思路和功能模塊劃分。然后,初步探討了電路邏輯綜合的原理,該軟件對(duì)出租車自動(dòng)計(jì)費(fèi)電路進(jìn)行了邏輯綜合。最后,使用EDA實(shí)驗(yàn)開發(fā)系統(tǒng)進(jìn)行電路的下載和驗(yàn)證。驗(yàn)證結(jié)果表明設(shè)計(jì)的出租車自動(dòng)計(jì)費(fèi)電

3、路完成了預(yù)期的功能。 關(guān)鍵詞 超高速集成電路硬件描述語言,計(jì)數(shù)器,Quartus II 9.0,高速集成電路 Abstract With the rapid development of EDA technology, electronic system design techniques and tools have been profound changes in large-scale programmable logic device CPLD / FPGA emergence of designers to bring a lot of convenie

4、nce. Use it for product development, not only low cost, short cycle, high reliability and full intellectual property rights. Design using VHDL language taxi billing system, billing, as well as to achieve the preset and simulated vehicle to start, stop, pause and other functions, and circuit design o

5、f dynamic scan showed that the number of fare, highlighted as a hardware description language can be a good Reading, the portability and readability advantages. By downloading the program to a specific chip, the taxi can be applied to the actual billing system. Based on FPGA development system, in t

6、he Quartus II 9.0 software platform, automatic billing taxi completed the circuit design and hardware implementation. First of all, the paper introduced the Quartus II 9.0 the basic use of software and hardware description language FPGA features, the use of VHDL hardware description language descrip

7、tion of the taxi circuit automatic billing, complete function simulation of the circuit. In the design process, focus on the taxi automatic billing and circuit design divided into functional modules. Then, a preliminary study of the principles of integrated circuit logic, the software automatically

8、billing for a taxi to the logic integrated circuit. Finally, the use of experimental development of EDA system to download and verify the circuit. Validation results show that the automatic billing taxi designed to complete the desired circuit function.  Key words ultra-high-speed integrated ci

9、rcuit hardware description language, counters, Quartus II 9.0, high-speed integrated circuits 目錄摘要2序言5第一章EDA與QuartusII開發(fā)系統(tǒng)介61.1 EDA發(fā)展況61.2 硬件描述語VHDL.71.2.1 VHDL的簡(jiǎn)介.7 1.2.2 VHDL的流程設(shè)計(jì).71.3 QuartusII 軟件操作流程8第二章 課題概述102.1 出租車計(jì)費(fèi)系統(tǒng)的實(shí)驗(yàn)任務(wù)與求10 2.2、出租車計(jì)費(fèi)系統(tǒng)的原理和方案計(jì)10 2.3、具體的方案計(jì)112.3.1硬件電路方案設(shè)計(jì).112.3.2軟件方案方計(jì)12第三章

10、 硬件路133.1 時(shí)鐘電路13555電路133.2下載路143.3按鈕電路153.4動(dòng)態(tài)顯示路15第四章 計(jì)費(fèi)系統(tǒng)的VHDL計(jì)154.1 分頻器164.2 標(biāo)志模塊174.3 等待模塊194.4 計(jì)程模塊214.5 計(jì)費(fèi)模塊244.6 譯碼模塊28第五章 總程序的設(shè)計(jì)與其實(shí)現(xiàn)的結(jié)果305.1 實(shí)物圖285.2 輸入、輸出信號(hào)說明305.3 波形仿真315.4 設(shè)計(jì)中需要注意的問題32總結(jié)32致33參考文獻(xiàn)33附錄一34附錄二35出租車計(jì)費(fèi)器序 言隨著當(dāng)代電子信息技術(shù)的發(fā)展,自動(dòng)計(jì)費(fèi)器被廣泛的用于各個(gè)系統(tǒng),例如上網(wǎng)自動(dòng)計(jì)費(fèi)系統(tǒng)、計(jì)費(fèi)器、出租車計(jì)費(fèi)器等等??梢娮詣?dòng)計(jì)費(fèi)系統(tǒng)在我們的生活中是越來越重

11、要,本次課程設(shè)計(jì)是圍繞出租車計(jì)費(fèi)器來深入了解計(jì)費(fèi)器是怎樣實(shí)現(xiàn)計(jì)費(fèi)的。本課題是利用VHDL語言來實(shí)現(xiàn)計(jì)費(fèi)功能的,VHDL具有與具體硬件電路無關(guān)和與設(shè)計(jì)平臺(tái)無關(guān)的特性,并且具有良好的電路行為描述和系統(tǒng)描述的能力,并在語言易讀性和層次化、結(jié)構(gòu)化設(shè)計(jì)方面,表現(xiàn)了強(qiáng)大的生命力和應(yīng)用潛力,因此選用VHDL語言進(jìn)行編程。本次課程設(shè)計(jì)鞏固和運(yùn)用了所學(xué)課程,通過理論聯(lián)系實(shí)際,提高了分析、解決計(jì)算機(jī)技術(shù)實(shí)際問題的獨(dú)立工作能力,通過對(duì)一個(gè)出租車計(jì)費(fèi)器的設(shè)計(jì),進(jìn)一步加深了對(duì)計(jì)算機(jī)原理以與數(shù)字電路應(yīng)用技術(shù)方面的了解與認(rèn)識(shí),進(jìn)一步熟悉了數(shù)字電路系統(tǒng)設(shè)計(jì)、制作與調(diào)試的方法和步驟。進(jìn)一步了解了計(jì)算機(jī)組成原理與系統(tǒng)結(jié)構(gòu),使自己

12、對(duì)EDA技術(shù)的學(xué)習(xí)更深入,學(xué)會(huì)用VHDL語言去控制將會(huì)使我們對(duì)本專業(yè)知識(shí)可以更好地掌握。出租車計(jì)費(fèi)器就是對(duì)車輪傳感器送來的脈沖進(jìn)行計(jì)數(shù)(每轉(zhuǎn)一圈送一個(gè)脈沖),本課程設(shè)計(jì)利用555觸發(fā)電路產(chǎn)生的脈沖代替車輪傳感器送來的脈沖。當(dāng)計(jì)費(fèi)系統(tǒng)接收到一個(gè)脈沖信號(hào), 它將會(huì)實(shí)現(xiàn)計(jì)數(shù)的功能,并且通過外圍的電路把所實(shí)現(xiàn)的功能實(shí)現(xiàn)出來。本論文共分5章和2個(gè)附錄,第1章介紹了EDA與QuartusII開發(fā)系統(tǒng)。第2章介紹出租車計(jì)費(fèi)系統(tǒng)的原理和方案設(shè)計(jì)第3章介紹了軟件設(shè)計(jì)。第4章介紹了硬件設(shè)計(jì)。第5章介紹了總的設(shè)計(jì)以與其結(jié)果。本課題的主要設(shè)計(jì)工作容是能夠顯示出租車的車費(fèi)和里程并完成安裝與調(diào)試。第一章 EDA與Quar

13、tusII開發(fā)系統(tǒng)簡(jiǎn)介1.1 EDA發(fā)展概況電子設(shè)計(jì)技術(shù)的核心就是EDA技術(shù),EDA是指以計(jì)算機(jī)為工作臺(tái),融合應(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)階段,人們開始用計(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

14、的主要功能是:原理圖輸入,邏輯仿真,電路分析,自動(dòng)布局布線,PCB后分析。90年代為電子系統(tǒng)設(shè)計(jì)自動(dòng)化(EDA)階段。中國(guó)EDA市場(chǎng)已漸趨成熟,不過大部分設(shè)計(jì)工程師面向的是PC主板和小型ASIC領(lǐng)域,僅有小部分(約11%)的設(shè)計(jì)人員開發(fā)復(fù)雜的片上系統(tǒng)器件。為了與和美國(guó)的設(shè)計(jì)工程師形成更有力的競(jìng)爭(zhēng),中國(guó)的設(shè)計(jì)隊(duì)伍有必要購入一些最新的EDA技術(shù)。在EDA軟件開發(fā)方面,目前主要集中在美國(guó)。但各國(guó)也正在努力開發(fā)相應(yīng)的工具。日本、國(guó)都有ASIC設(shè)計(jì)工具,但不對(duì)外開放 。集成電路設(shè)計(jì)中心,也提供IC設(shè)計(jì)軟件,但性能不是很強(qiáng)。相信在不久的將來會(huì)有更多更好的設(shè)計(jì)工具有各地開花并結(jié)果。據(jù)最新統(tǒng)計(jì)顯示,中國(guó)和印度

15、正在成為電子設(shè)計(jì)自動(dòng)化領(lǐng)域發(fā)展最快的兩個(gè)市場(chǎng),年復(fù)合增長(zhǎng)率分別達(dá)到了50%和30%。EDA技術(shù)發(fā)展迅猛,完全可以用日新月異來描述。EDA技術(shù)的應(yīng)用廣泛,現(xiàn)在已涉與到各行各業(yè)。EDA水平不斷提高,設(shè)計(jì)工具趨于完美的地步。EDA市場(chǎng)日趨成熟,但我國(guó)的研發(fā)水平還很有限,需迎頭趕上。1.2 硬件描述語言VHDL1.2.1 VHDL簡(jiǎn)介是一種全方位的硬件描述語言,包括系統(tǒng)行為級(jí)。寄存器傳輸級(jí)和邏輯門多個(gè)設(shè)計(jì)層次,支持結(jié)構(gòu)、數(shù)據(jù)流和行為三種描述形式的混合描述,因此幾乎覆蓋了以往各種硬件俄語言的功能,整個(gè)自頂向下或由下向上的電路設(shè)計(jì)過程都可以用來完成。還具有以下優(yōu)點(diǎn):()的寬圍描述能力使它成為高層進(jìn)設(shè)計(jì)的核

16、心,將設(shè)計(jì)人員的工作重心提高到了系統(tǒng)功能的實(shí)現(xiàn)與調(diào)試,而花較少的精力于物理實(shí)現(xiàn)??梢杂煤?jiǎn)潔明確的代碼描述來進(jìn)行復(fù)雜控制邏輯設(shè)計(jì),靈活且方便,而且也便于設(shè)計(jì)結(jié)果的交流、保存和重用。()的設(shè)計(jì)不依賴于特定的器件,方便了工藝的轉(zhuǎn)換。()是一個(gè)標(biāo)準(zhǔn)語言,為眾多的廠商支持,因此移植性好。1.2.2 VHDL的設(shè)計(jì)流程從系統(tǒng)總體要求出發(fā),自上而下地逐步將設(shè)計(jì)的容細(xì)化,最后完成系統(tǒng)硬件的整體設(shè)計(jì)。在設(shè)計(jì)的過程中,對(duì)系統(tǒng)自上而下分成三個(gè)層次進(jìn)行設(shè)計(jì):第一層次是行為描述。所謂行為描述,實(shí)質(zhì)上就是對(duì)整個(gè)系統(tǒng)的數(shù)學(xué)模型的描述。一般來說,對(duì)系統(tǒng)進(jìn)行行為描述的目的是試圖在系統(tǒng)設(shè)計(jì)的初始階段,通過對(duì)系統(tǒng)行為描述的仿真來發(fā)

17、現(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)的程序,其抽象程度高,是很難直接映射到具體邏輯元件結(jié)構(gòu)的。要想得到硬件的具體實(shí)現(xiàn),必須將行為方式描述的VHDL語言程序改寫為RTL方式描述的VHDL語言程序。也就是說,系統(tǒng)采用RTL方式描述,才能導(dǎo)出系統(tǒng)的邏輯表達(dá)式,才能進(jìn)行邏輯綜合。第三層次是邏輯綜合。即利用邏輯綜合工具,將RTL方式描述的程序轉(zhuǎn)換成用基本邏輯元件表示的文件(門級(jí)網(wǎng)絡(luò)表)。此時(shí),如

18、果需要,可將邏輯綜合的結(jié)果以邏輯原理圖的方式輸出。此后可對(duì)綜合的結(jié)果在門電路級(jí)上進(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ì)開始到最終的邏輯綜合,每一步都要進(jìn)行仿真檢查,這樣有利于盡早發(fā)現(xiàn)設(shè)計(jì)中存在的問題,從而可以大大縮短系統(tǒng)的設(shè)計(jì)周期。 1.3 Quartus 的軟件操作流程雙擊桌面上,打開Quartus軟件。(1) 新建VHDL文件 ,開始編寫VHDL程序。(2) 保存VHDL文件,文件取名要與程序?qū)嶓w名要一致。(3) 創(chuàng)建新工程按下“保存”按紐后會(huì)出現(xiàn)如下提示。提示是否為此

19、文件建立一個(gè)工程,這很重要。然后點(diǎn)擊“是”,出現(xiàn)以下窗口,點(diǎn)“Next >”。(4) 器件的選擇繼續(xù)點(diǎn)“Next >”。然后選擇FPGA或CPLD的有關(guān)參數(shù),這些參數(shù)都是根據(jù)目標(biāo)芯片來選擇的。一直到“Finish”完成器件選擇(5) 編譯編譯:選擇processing菜單中的start compilation命令。編譯完成的提示如下,點(diǎn)擊確定即可。(6) 仿真這時(shí)可以進(jìn)行仿真,首先要建立波形文件,點(diǎn)“File-New-”,出現(xiàn)如下窗口:選擇“Other Files”最下面的“Vector waveform File”點(diǎn)“OK”。出現(xiàn)以下窗口。雙擊左邊的空白處,設(shè)定輸入輸出信號(hào)。設(shè)定

20、好波形后,保存波形。之后點(diǎn)進(jìn)行仿真。(7) 鎖定引腳引腳鎖定,如下圖操作:引腳的鎖定是根據(jù)不同的電路和不同功能來確定的,不是一層不變的。選擇Assignments菜單下的Pins命令,出現(xiàn)以下窗口,如果是下載到實(shí)驗(yàn)箱上則需連續(xù)按“模式選擇”按鈕選擇模式5,再按“系統(tǒng)復(fù)位”按鈕。進(jìn)行引腳鎖定,查閱附表,分別點(diǎn)“l(fā)ocation”選擇引腳號(hào)。引腳鎖定后再編譯。如同此前進(jìn)行過的。編譯成功后點(diǎn)確定。(8) 下載選擇Tools菜單下的Programmer命令,然后在Program/Configure下打上鉤選中,點(diǎn)“start”按鈕開始下載,“Progress”進(jìn)度條顯示下載進(jìn)度。成功下載后如圖所示:下

21、載完后就可以在實(shí)驗(yàn)箱查看結(jié)果。 通過上面的步驟分別下載到實(shí)驗(yàn)箱中和FPGA中,驗(yàn)證了在仿真中的結(jié)果是正確的。第二章 課題概述2.1 出租車計(jì)費(fèi)系統(tǒng)的實(shí)驗(yàn)任務(wù)與要求1. 能實(shí)現(xiàn)計(jì)費(fèi)功能,計(jì)費(fèi)標(biāo)準(zhǔn)為:按行駛里程收費(fèi),分為白天和黑夜。白天收費(fèi)標(biāo)準(zhǔn):起步費(fèi)為9.00元,超過3公里按3元/公里,車暫停超過三分鐘按2元/分鐘計(jì)算。黑夜收費(fèi)標(biāo)準(zhǔn):起步費(fèi)為12.00元,超過3公里按4元/公里,車暫停超過三分鐘按1元/分鐘計(jì)算。2. 實(shí)現(xiàn)預(yù)置功能:能預(yù)置起步費(fèi)、每公里收費(fèi)、車行加費(fèi)里程、等待加費(fèi)時(shí)間。3. 實(shí)現(xiàn)模擬功能:能模擬汽車啟動(dòng)、停止/白天、黑夜/等待、行駛狀態(tài)。4. 設(shè)計(jì)動(dòng)態(tài)掃描電路:將車費(fèi)、里程、等待

22、時(shí)間動(dòng)態(tài)的顯示出來。5. 用VHDL語言設(shè)計(jì)符合上述功能要求的出租車計(jì)費(fèi)器,并用層次化設(shè)計(jì)方法設(shè)計(jì)該電路。6. 各計(jì)數(shù)器的計(jì)數(shù)狀態(tài)用功能仿真的方法驗(yàn)證,并通過有關(guān)波形確認(rèn)電路設(shè)計(jì)是否正確。2.2、出租車計(jì)費(fèi)系統(tǒng)的原理和方案設(shè)計(jì)系統(tǒng)的頂層框圖:動(dòng)態(tài)顯示模塊控制芯片信號(hào)輸入信號(hào)輸入:各種控制信號(hào)經(jīng)輸入端給控制芯片??刂菩酒翰捎玫挠蠧PLD或者FPGA等。動(dòng)態(tài)顯示電路:采用的是數(shù)碼管來實(shí)現(xiàn)功能的輸出。2.3、具體的方案設(shè)計(jì)2.3.1、硬件電路方案設(shè)計(jì)以下為硬件電路的結(jié)構(gòu)簡(jiǎn)圖: CPLD 模塊動(dòng)態(tài)顯示電路時(shí)鐘控制模塊PC機(jī)開關(guān)電路下載電路各模塊的組成和原理:(1)時(shí)鐘控制模塊此模塊是555電路所構(gòu)成

23、的。(2)下載電路模塊此模塊主要由下載線組成。作用:使PC機(jī)中編寫的VHDL語言的程序下載到CPLD芯片中,使電路實(shí)現(xiàn)所需的功能。(3)開關(guān)模塊:該模塊的作用是用于電路的輸入的信號(hào)。主要有三個(gè)開關(guān)以與三個(gè)限流電阻,電源構(gòu)成。(4)動(dòng)態(tài)顯示模塊: 此模塊由六個(gè)數(shù)碼管和三個(gè)二極管所構(gòu)成,三個(gè)二極管起到限制電流的作用,使得流到數(shù)碼管的電流適當(dāng),防止數(shù)碼管中的電流過大,而使得數(shù)碼管損壞。數(shù)碼管將計(jì)費(fèi)、等待時(shí)間和里程動(dòng)態(tài)的顯示出來。2.3.2 軟件方案設(shè)計(jì)以下為軟件結(jié)構(gòu)簡(jiǎn)圖:輸入信號(hào)分頻器里程計(jì)數(shù)模塊車費(fèi)計(jì)數(shù)模塊車行駛狀態(tài) 譯碼模塊各模塊的功能:1)由555觸發(fā)電路產(chǎn)生時(shí)鐘信號(hào)并輸入。2)分頻器:將時(shí)鐘

24、信號(hào)進(jìn)行分頻。3)標(biāo)志模塊:將按鈕產(chǎn)生的脈沖轉(zhuǎn)化為一種標(biāo)志信號(hào)。4)計(jì)程模塊:在等待信號(hào)未作用時(shí),來一個(gè)時(shí)鐘脈沖信號(hào),里程值加1。該模塊還包含一個(gè)路程計(jì)費(fèi)標(biāo)志的小模塊,輸出一個(gè)路程計(jì)費(fèi)的信號(hào)。5)等待狀態(tài)模塊:等待信號(hào)作用時(shí),該模塊可以記錄等待的時(shí)間,并產(chǎn)生等待計(jì)費(fèi)的信號(hào)。6)車費(fèi)計(jì)數(shù)模塊:按行駛里程收費(fèi),分為白天和黑夜。白天收費(fèi)標(biāo)準(zhǔn):起步費(fèi)為9.00元,超過3公里按3元/公里,車暫停超過三分鐘按2元/分鐘計(jì)算。黑夜收費(fèi)標(biāo)準(zhǔn):起步費(fèi)為12.00元,超過3公里按4元/公里,車暫停超過三分鐘按1元/分鐘計(jì)算。7)譯碼模塊:實(shí)現(xiàn)將車費(fèi)計(jì)數(shù)模塊、等待狀態(tài)模塊和里程計(jì)數(shù)模塊輸出的BCD碼轉(zhuǎn)換成七段碼輸出

25、。第三章 硬件電路根據(jù)前面第一章所提到的硬件電路的方案設(shè)計(jì),這章介紹各模塊的具體設(shè)計(jì)。3.1時(shí)鐘電路555電路在數(shù)字系統(tǒng)中,為了使各部分在時(shí)間上協(xié)調(diào)動(dòng)作,需要有一個(gè)統(tǒng)一的時(shí)間基準(zhǔn)。用來產(chǎn)生時(shí)間基準(zhǔn)信號(hào)的電路稱為時(shí)基電路。時(shí)基集成電路555就是其中的一種。它是一種由模擬電路與數(shù)字電路組合而成的多功能的中規(guī)模集成組件,只要配少量的外部器件,便可很方便的組成觸發(fā)器、振蕩器等多種功能電路。因此其獲得迅速發(fā)展和廣泛應(yīng)用。下圖為由555定時(shí)器所構(gòu)成的多諧振蕩器,該電路可以用于脈沖輸出、音響告警、家電控制、電子玩具、檢測(cè)儀器、電源變換、定時(shí)器等。圖3.1.2 555電路的接法該電路的特點(diǎn)是“RA7RB6.2

26、C”,RA與VCC相連。公式是:T1=0.693(RA+RB)*C, T2=0.693RB*C,F(xiàn)=1.443/(RA+2RB)*C 為了滿足我的設(shè)計(jì)要求,因此取RA=RB其阻值為10K,取電容C的取值為10uf,電容C1的取值0.01uF。3.2下載電路PC機(jī)和CPLD之間采用的是并行接口的通信方法,如圖3-2所示。ByteBlaster與PC機(jī)并口相連的一端是25針插座頭, 與CPLD板插座相連的是10針插座頭。圖3-2 電纜3.3按鈕電路它的作用是提供輸入信號(hào)。撥碼開關(guān)的3個(gè)引腳CPLD芯片的引腳上。根據(jù)撥碼開關(guān)的高低電平來實(shí)現(xiàn)模擬汽車的相應(yīng)的轉(zhuǎn)態(tài),如清零、停止。SS:開始、停止開關(guān)。當(dāng)

27、按下SS按鈕時(shí),計(jì)費(fèi)器開始工作,再次按下后清零等待時(shí)間、路程和費(fèi)用。DN:白天、黑夜開關(guān)。初始狀態(tài)為白天的計(jì)費(fèi)規(guī)則,當(dāng)按下DN后變?yōu)楹谝沟挠?jì)費(fèi)規(guī)則,再次按下重復(fù)以上規(guī)則。 WR:等待、行駛開關(guān)。當(dāng)按下WR按鈕后,進(jìn)入等待狀態(tài),再次按下,計(jì)費(fèi)器又恢復(fù)行駛狀態(tài),重復(fù)按此按鈕,重復(fù)以上功能。3.4動(dòng)態(tài)顯示電路 該電路用六個(gè)數(shù)碼管所組成,其中兩個(gè)數(shù)碼管實(shí)現(xiàn)將車費(fèi)動(dòng)態(tài)的顯示出來。其動(dòng)態(tài)的顯示圍為0到99元;還有兩個(gè)數(shù)碼管實(shí)現(xiàn)將汽車行駛的里程動(dòng)態(tài)的顯示出來,其動(dòng)態(tài)的顯示圍為0到99公里;最后兩個(gè)數(shù)碼管講汽車的等待時(shí)間顯示出來,其動(dòng)態(tài)顯示圍為0到99公里。第四章 計(jì)費(fèi)系統(tǒng)的VHDL設(shè)計(jì)在本設(shè)計(jì)中采用的是自頂

28、向下的設(shè)計(jì)方法,首先從系統(tǒng)功能設(shè)計(jì)開始,對(duì)系統(tǒng)高層模塊進(jìn)行行為描述和功能仿真.系統(tǒng)的功能驗(yàn)證完成后,將抽象的高層設(shè)計(jì)自頂向下逐級(jí)細(xì)化,直到與所用可編程邏輯器件相對(duì)應(yīng)的邏輯描述。在本設(shè)計(jì)中,具有5個(gè)模塊:1)分頻器:將時(shí)鐘信號(hào)進(jìn)行分頻。2)標(biāo)志模塊:將按鈕產(chǎn)生的脈沖轉(zhuǎn)化為一種標(biāo)志信號(hào)。3)計(jì)程模塊:在等待信號(hào)未作用時(shí),來一個(gè)時(shí)鐘脈沖信號(hào),里程值加1。該模塊還包含一個(gè)路程計(jì)費(fèi)標(biāo)志的小模塊,輸出一個(gè)路程計(jì)費(fèi)的信號(hào)。4)等待狀態(tài)模塊:等待信號(hào)作用時(shí),該模塊可以記錄等待的時(shí)間,并產(chǎn)生等待計(jì)費(fèi)的信號(hào)。5)車費(fèi)計(jì)數(shù)模塊:按行駛里程收費(fèi),分為白天和黑夜。白天收費(fèi)標(biāo)準(zhǔn):起步費(fèi)為9.00元,超過3公里按3元/公里

29、,車暫停超過三分鐘按2元/分鐘計(jì)算。黑夜收費(fèi)標(biāo)準(zhǔn):起步費(fèi)為12.00元,超過3公里按4元/公里,車暫停超過三分鐘按1元/分鐘計(jì)算。6)譯碼模塊:實(shí)現(xiàn)將車費(fèi)計(jì)數(shù)模塊、等待狀態(tài)模塊和里程計(jì)數(shù)模塊輸出的BCD碼轉(zhuǎn)換成七段碼輸出。下面具體介紹各個(gè)部分的設(shè)計(jì)。4.1分頻器(1)實(shí)物圖圖4.1分頻器的實(shí)體圖CLK0:輸入555脈沖信號(hào)FOUT:輸出脈沖(2)分頻器的VHDL設(shè)計(jì)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY PULSE IS PORT(CLK0:IN STD_LOGIC; FOU

30、T:OUT STD_LOGIC);END PULSE;ARCHITECTURE ONE OF PULSE ISBEGIN PROCESS(CLK0) VARIABLE CNT:STD_LOGIC_VECTOR(2 DOWNTO 0); VARIABLE FULL :STD_LOGIC; BEGIN IF CLK0'EVENT AND CLK0='1' THEN IF CNT="100" THEN CNT:="000" ; FULL:='1' ELSE CNT:=CNT+1; FULL:='0' EN

31、D IF; END IF;FOUT<=FULL;END PROCESS;END ONE;(3)波形仿真從該波形圖可以看出輸入脈沖的頻率是輸出脈沖的頻率的五倍。4.2標(biāo)志模塊(1)實(shí)物圖圖4.2標(biāo)志模塊的實(shí)體圖AJ:輸入的按鍵信號(hào)BZ:輸出的標(biāo)志信號(hào)(2)標(biāo)志模塊的VHDL設(shè)計(jì)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY BZ IS PORT(AJ:IN STD_LOGIC; BZ:OUT STD_LOGIC);END BZ;ARCHITECTURE TWO OF BZ IS

32、BEGIN PROCESS(AJ) VARIABLE CNT:STD_LOGIC_VECTOR(9 DOWNTO 0); BEGIN IF AJ='0' AND AJ'EVENT THEN IF CNT="1111111111" THEN CNT:="0000000000" ELSE CNT:=CNT+'1' END IF; END IF; BZ<=CNT(0); END PROCESS;END TWO;(3)波形仿真從該波形圖可以看出在輸入的按鍵信號(hào)下降沿來臨時(shí)輸出的標(biāo)志信號(hào)取反,且剛開始為低電平。4.3等

33、待狀態(tài)模塊(1)實(shí)物圖圖4.3等待狀態(tài)模塊的實(shí)體圖(2)等待狀態(tài)模塊的VHDL設(shè)計(jì)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DDZT IS PORT(CLK,SS:IN STD_LOGIC; DDBZ:IN STD_LOGIC; DDJFBZ:OUT STD_LOGIC; DDSJ:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY DDZT;ARCHITECTURE ONE OF DDZT ISBEGIN PROCESS(CLK,SS,DD

34、BZ) VARIABLE Q1,Q0: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF SS='0' THEN Q1:="0000"Q0:="0000"DDJFBZ<='0' ELSIF DDBZ='1' THEN IF CLK='1' AND CLK'EVENT THEN IF Q1=9 AND Q0=9 THEN Q1:="0000"Q0:="0000" ELSIF Q0=9 THEN Q1:=Q1+1;

35、Q0:="0000" ELSE Q1:=Q1;Q0:=Q0+1; END IF; IF(Q1>0 OR Q0>3) THEN DDJFBZ<='1' END IF; END IF; END IF; DDSJ(7 DOWNTO 4)<=Q1;DDSJ(3 DOWNTO 0)<=Q0;END PROCESS;END ONE;(3)波形仿真等待標(biāo)志有效時(shí),等待時(shí)間開始計(jì)數(shù)。等待時(shí)間超過3時(shí)等待計(jì)費(fèi)標(biāo)志置高電平。由于設(shè)計(jì)時(shí)只用兩個(gè)數(shù)碼管顯示,所以只能顯示到99,在程序中設(shè)置了讓等待時(shí)間到達(dá)99后變?yōu)?。從上面的說明可以看出程序達(dá)到了所設(shè)

36、計(jì)的功能。4.4計(jì)程模塊(1)實(shí)物圖圖4.4.1計(jì)程模塊的實(shí)體圖圖4.4.2路程計(jì)費(fèi)標(biāo)志的實(shí)物圖(2)計(jì)程模塊的VHDL設(shè)計(jì)library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity JC is port(clks,SS,WR:in std_logic; LC:BUFFER std_logic_vector(7 downto 0); end entity JC;architecture one of JC is SIGNAL Q1,Q0:std_logic_vector(3 downto 0);

37、beginprocess(clks,SS,WR,LC) VARIABLE SW:STD_LOGIC_VECTOR(1 DOWNTO 0); begin SW:=SS&WR; IF SW="00" OR SW="01" THEN Q1<="0000"Q0<="0000" ELSIF SW="11" THEN Q1<=Q1;Q0<=Q0; ELSIF CLKS'EVENT AND CLKS='1' THEN IF Q1=9 AND Q0=9 T

38、HEN Q1<="0000"Q0<="0000" ELSIF Q0=9 THEN Q1<=Q1+1;Q0<="0000" ELSE Q1<=Q1;Q0<=Q0+1; END IF; END IF;END PROCESS;LC(7 DOWNTO 4)<=Q1;LC(3 DOWNTO 0)<=Q0;END one;路程計(jì)費(fèi)標(biāo)志模塊的VHDL設(shè)計(jì)library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;en

39、tity LCJFBZ is port(SS:in std_logic; LC:IN STD_LOGIC_VECTOR(7 DOWNTO 0); LCJFBZ:OUT std_logic); end entity LCJFBZ;architecture TWO of LCJFBZ is BEGIN PROCESS(SS,LC) BEGIN IF SS='0' OR (LC(7 DOWNTO 4)="0000" AND LC(3 DOWNTO 0)<4) THEN LCJFBZ<='0' ELSE LCJFBZ<='1

40、' END IF; END PROCESS;END TWO;(3)波形仿真可以看出在SS有效時(shí),LC開始計(jì)數(shù),在WR高電平時(shí)LC等待計(jì)數(shù),直至WR為低電平時(shí)再次計(jì)數(shù)。從下圖可以看出LC大于3時(shí),LCJFBZ置高電平。綜合以上兩副仿真圖可以看出本程序滿足設(shè)計(jì)要求。4.5計(jì)費(fèi)模塊(1)實(shí)物圖圖4.5計(jì)費(fèi)模塊的實(shí)物圖(2)計(jì)費(fèi)模塊的VHDL設(shè)計(jì)Library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;PACKAGE PACKEXP1 IS FUNCTION bcd_add8(AIN,BIN : in st

41、d_logic_vector) RETURN std_logic_vector;END;PACKAGE BODY PACKEXP1 IS FUNCTION bcd_add8(AIN,BIN : std_logic_vector) RETURN std_logic_vector IS type type_bcdx4 is array(3 downto 0) of std_logic_vector(4 downto 0); VARIABLE SA,SB : type_bcdx4; VARIABLE CI : std_logic_vector(4 downto 0); VARIABLE SOUT :

42、 std_logic_vector(11 downto 0); BEGIN CI:=(others=>'0'); SOUT:=(others=>'0'); for i in 0 to 1 loop SA(i) := ('0' & AIN(i*4+3 downto i*4)+('0' & BIN(i*4+3 downto i*4)+("0000" & CI(i); if (SA(i)(4)='1') or (SA(i)(3 downto 0)>9) the

43、n SB(i) := SA(i) + "00110" else SB(i) := SA(i); end if; CI(i+1) := SB(i)(4); SOUT(i*4+4 downto i*4):=SB(i); end loop; RETURN SOUT;END FUNCTION bcd_add8;END;library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;USE WORK.PACKEXP1.ALL;ENTITY JF is PORT( SS:IN STD_LOGIC; DN:

44、IN STD_LOGIC; LC:IN std_logic_vector(7 downto 0); DDSJ:IN STD_LOGIC_VECTOR(7 DOWNTO 0); LCJFBZ:IN STD_LOGIC; DDJFBZ:IN STD_LOGIC; FY:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); END ENTITY JF;architecture ONE of JF is BEGINPROCESS(SS,DN,LC,DDSJ,DDJFBZ,LCJFBZ) VARIABLE FY1 :STD_LOGIC_VECTOR(11 DOWNTO 0); BEGIN

45、IF SS='0' THEN FY1:="0" ELSIF DN='0' THEN IF LCJFBZ='0' THEN FY1(11 DOWNTO 4):=(OTHERS=>'0'); FY1(3 DOWNTO 0):="1001" ELSE FY1:=bcd_add8(LC,LC); FY1:=bcd_add8(FY1,LC); END IF; ELSIF LCJFBZ='0' THEN FY1(11 DOWNTO 5):=(OTHERS=>'0

46、9;); FY1(4 DOWNTO 0):="10010" ELSE FY1:=bcd_add8(LC,LC); FY1:=bcd_add8(FY1,LC); FY1:=bcd_add8(FY1,LC); END IF; IF DN='0' THEN IF DDJFBZ='0' THEN FY1:=FY1; ELSE FY1:=bcd_add8(FY1,DDSJ); FY1:=bcd_add8(FY1,DDSJ); END IF; ELSIF DDJFBZ='0' THEN FY1:=FY1; ELSE FY1:=bcd_ad

47、d8(FY1,DDSJ); END IF; FY<=FY1(7 DOWNTO 0); END PROCESS;END ONE;(3)波形仿真黑夜時(shí)候的仿真白天時(shí)的仿真符合設(shè)計(jì)要求。4.6譯碼模塊(1)實(shí)體圖圖4.6譯碼模塊的實(shí)體圖(2)譯碼模塊的VHDL設(shè)計(jì)library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity YMQ isport(din:in std_logic_vector(7 downto 0); dout1:out s

48、td_logic_vector(6 downto 0); dout0:out std_logic_vector(6 downto 0);end entity YMQ;architecture one of YMQ isbeginprocess(din)begin case din(7 downto 4) is when "0000" =>dout1<="0000001" when "0001" =>dout1<="1001111" when "0010" =>dou

49、t1<="0010010" when "0011" =>dout1<="0000110" when "0100" =>dout1<="1001100" when "0101" =>dout1<="0100100" when "0110" =>dout1<="0100000" when "0111" =>dout1<="00

50、01111" when "1000" =>dout1<="0000000" when "1001" =>dout1<="0000100" when others =>dout1<="ZZZZZZZ"end case; case din(3 downto 0) is when "0000" =>dout0<="0000001" when "0001" =>dout0<=

51、"1001111" when "0010" =>dout0<="0010010" when "0011" =>dout0<="0000110" when "0100" =>dout0<="1001100" when "0101" =>dout0<="0100100" when "0110" =>dout0<="0100000&q

52、uot; when "0111" =>dout0<="0001111" when "1000" =>dout0<="0000000" when "1001" =>dout0<="0000100" when others =>dout0<="ZZZZZZZ"end case;end process;end one;(3)波形仿真符合七段顯示。第五章 總程序的設(shè)計(jì)與其實(shí)現(xiàn)的結(jié)果5.1實(shí)體圖上圖為帶譯碼器的電路,下圖為不帶譯碼器的電路。5.2輸入、輸出信號(hào)說明輸入:DN:day OR night控制;SS:Start

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論