![EDA課程設計自動飲料售賣機_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-9/2/c37e53a4-8aaf-4b18-94e8-02738f661d8a/c37e53a4-8aaf-4b18-94e8-02738f661d8a1.gif)
![EDA課程設計自動飲料售賣機_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-9/2/c37e53a4-8aaf-4b18-94e8-02738f661d8a/c37e53a4-8aaf-4b18-94e8-02738f661d8a2.gif)
![EDA課程設計自動飲料售賣機_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-9/2/c37e53a4-8aaf-4b18-94e8-02738f661d8a/c37e53a4-8aaf-4b18-94e8-02738f661d8a3.gif)
![EDA課程設計自動飲料售賣機_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-9/2/c37e53a4-8aaf-4b18-94e8-02738f661d8a/c37e53a4-8aaf-4b18-94e8-02738f661d8a4.gif)
![EDA課程設計自動飲料售賣機_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-9/2/c37e53a4-8aaf-4b18-94e8-02738f661d8a/c37e53a4-8aaf-4b18-94e8-02738f661d8a5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、摘要:本設計通過運用eda技術,選擇fpga芯片實現(xiàn)關于自動飲料售賣機控制電路的設計與仿真,其fpga設計為采用verilog hdl 硬件描述語言描述自動飲料售賣機控制電路,完成對電路功能的仿真以及實現(xiàn)。本系統(tǒng)由對外部投入硬幣的檢測來產(chǎn)生脈沖,并對產(chǎn)生的脈沖進行計數(shù)和計算,將投入的總金額用兩位數(shù)碼管顯示出來,當達到了交易金額時,閘門打開,汽水掉出來,當超出了交易金額時,則飲料售賣機自動找錢,輸出部分通過組合邏輯電路實現(xiàn)。由于本設計是采用fpga芯片實現(xiàn)相應功能,所以與傳統(tǒng)的設計方式相比,fpga芯片將大量的電路功能集成到一個芯片中,并且可以由用戶自行設計邏輯功能,進而提高了該系統(tǒng)的集成度和可
2、靠性。關鍵詞:eda技術、fpga芯片、硬件描述語言astract: the design by using eda, choose the fpga realizing automatic drinks sold chip control circuit design and simulation, the fpga design for using verilog hdl hardware description language describes automatic control circuit, selling drinks to the simulation and realiz
3、ation circuit function. this system consists of external investment coins to produce pulse detecting and the pulse count and calculation, the total amount of investment will be displayed with two digital tube, when the transaction amount, to open gate, soda drop out, when beyond the transaction amou
4、nt, beverage sales machine, automatic change by the assembly logic circuit output part. because of this design is adopted fpga realizing the function, so the chip with the traditional design methods, the fpga chips will be integrated into a circuit function in a chip, and can be designed by the user
5、, and then improve the logic function of this system integration and reliability.keywords: eda, fpga chips, hardware description language前言21世紀人類將全面進入信息化社會,對微電子信息技術和微電子vlsi基礎技術將不斷提出更高的發(fā)展要求,微電子技術仍將繼續(xù)是21世紀若干年代中最為重要的和最有活力的高科技領域之一。而集成電路(ic)技術在微電子領域占有重要的地位。伴隨著ic技術的發(fā)展,電子設計自動化(electronic design automation
6、eda)己經(jīng)逐漸成為重要設計手段,其廣泛應用于模擬與數(shù)字電路系統(tǒng)等許多領域。 vhdl是廣泛使用的設計輸人硬件語言,可用于數(shù)字電路與系統(tǒng)的描述、模擬和自動設計.cpld/fpga(復雜可編程邏輯器件/現(xiàn)場可編程門陣列)為數(shù)字系統(tǒng)的設計帶靈活性,兼有串/并行工作方式和高集成度、高速、高可靠性等明顯的特點,cpld/fpga的時鐘延遲可達納秒級,結合其并行工作方式,在超高速領域和實時測控方面有非常廣泛的應用。 本次設計的目的是使用可編程邏輯器件設計一個自動飲料售賣機,取代傳統(tǒng)人工售賣的方式。設計要求通過用一片cpld/fpga進行設計一個自動飲料售賣機,自動飲料售賣機應具有如下的特點:首先能識別投
7、入的不同面值的貨幣(如0.5元,1元的硬幣)并能對所投的不同幣值的貨幣進行計數(shù),當達到了購買商品的數(shù)量時,可以將控制飲料的閘門打開,投放出飲料,這種自動飲料售賣機具有退還多出的貨幣的功能。這種售賣機要有較高的可靠性,能給人們的日常生活帶事極大的方便。整個系統(tǒng)采用 verilog hdl程序編寫,并能進行硬件仿真。課題除了學習相應的硬件知識外,還要學習如何使用vhdl語言設計可編程邏輯器件。 目 錄1、eda技術及設計背景51.1 eda技術的介紹51.2 eda技術的應用51.3 eda技術的發(fā)展51.4 eda技術的發(fā)展趨勢61.5 fpga工作原理及其基本特點71.6 cpld與fpga的
8、關系71.7 自動飲料售賣機的特點81.8 quartus ii 簡介82、整體設計方案的論證92.1 設計內(nèi)容92.2 設計方案比較92.3 方案論證102.4 方案選擇103、單元模塊設計與實現(xiàn)103.1有源晶振電路113.2供電電路113.3 復位電路123.4 數(shù)碼管顯示電路143.5 最小系統(tǒng)原理154、系統(tǒng)軟件實現(xiàn)及仿真154.1 verilog結構圖154.2 鍵盤去抖電路164.3 脈沖展寬電路174.4 穆爾型狀態(tài)選擇電路184.5 編譯結果194.6仿真結果:204.7 rtl描述215、總結215.1、設計小結215.2、設計優(yōu)化226、致謝227、參考文獻221、eda
9、技術及設計背景1.1 eda技術的介紹eda是電子設計自動化(electronic design automation)的縮寫,在20世紀60年代中期從計算機輔助設計(cad)、計算機輔助制造(cam)、計算機輔助測試(cat)和計算機輔助工程(cae)的概念發(fā)展而來的計算機軟件系統(tǒng)。eda技術是指以計算機為工作平臺,融合了應用電子技術、計算機技術、信息處理及智能化技術的最新成果,進行電子產(chǎn)品的自動設計。利用eda工具,電子設計師可以從概念、算法、協(xié)議等開始設計電子系統(tǒng),大量工作可以通過計算機完成,并可以將電子產(chǎn)品從電路設計、性能分析到設計出ic版圖或pcb版圖的整個過程的計算機上自動處理完成
10、。現(xiàn)在對eda的概念或范疇用得很寬。包括在機械、電子、通信、航空航天、化工、礦產(chǎn)、生物、醫(yī)學、軍事等各個領域,都有eda的應用。目前eda技術已在各大公司、企事業(yè)單位和科研教學部門廣泛使用。例如在飛機制造過程中,從設計、性能測試及特性分析直到飛行模擬,都可能涉及到eda技術。本文所指的eda技術,主要針對電子電路設計、pcb設計和ic設計。eda設計可分為系統(tǒng)級、電路級和物理實現(xiàn)級。 1.2 eda技術的應用eda在教學、科研、產(chǎn)品設計與制造等各方面都發(fā)揮著巨大的作用。在教學方面,幾乎所有理工科(特別是電子信息)類的高校都開設了eda課程。主要是讓學生了解eda的基本概念和基本原理、掌握用hd
11、l語言編寫規(guī)范、掌握邏輯綜合的理論和算法、使用eda工具進行電子電路課程的實驗驗證并從事簡單系統(tǒng)的設計。一般學習電路仿真工具(如multisim、pspice)和pld開發(fā)工具(如altera/xilinx的器件結構及開發(fā)系統(tǒng)),為今后工作打下基礎。科研方面主要利用電路仿真工具(multisim或pspice)進行電路設計與仿真;利用虛擬儀器進行產(chǎn)品測試;將cpld/fpga器件實際應用到儀器設備中;從事pcb設計和asic設計等。在產(chǎn)品設計與制造方面,包括計算機仿真,產(chǎn)品開發(fā)中的eda工具應用、系統(tǒng)級模擬及測試環(huán)境的仿真,生產(chǎn)流水線的eda技術應用、產(chǎn)品測試等各個環(huán)節(jié)。如pcb的制作、電子設
12、備的研制與生產(chǎn)、電路板的焊接、asic的制作過程等。從應用領域來看,eda技術已經(jīng)滲透到各行各業(yè),如上文所說,包括在機械、電子、通信、航空航航天、化工、礦產(chǎn)、生物、醫(yī)學、軍事等各個領域,都有eda應用。另外,eda軟件的功能日益強大,原來功能比較單一的軟件,現(xiàn)在增加了很多新用途。如autocad軟件可用于機械及建筑設計,也擴展到建筑裝璜及各類效果圖、汽車和飛機的模型、電影特技等領域。1.3 eda技術的發(fā)展eda技術的發(fā)展始于70年代,至今經(jīng)歷了三個階段。電子線路的cad(計算機輔助設計)是eda發(fā)展的初級階段,是高級eda系統(tǒng)的重要組成部分。它利用計算機的圖形編輯、分析和存儲等能力,協(xié)助工程
13、師設計電子系統(tǒng)的電路圖、印制電路板和集成電路板圖;采用二維圖形編輯與分析,主要解決電子線路設計后期的大量重復性工作,可以減少設計人員的繁瑣重復勞動,但自動化程度低,需要人工干預整個設計過程。這類專用軟件大多以微機為工作平臺,易于學用,設計中小規(guī)模電子系統(tǒng)可靠有效,現(xiàn)仍有很多這類專用軟件被廣泛應用于工程設計。80年代初期,eda技術開始技術設計過程的分析,推出了以仿真(邏輯模擬、定時分析和故障仿真)和自動布局與布線為核心的eda產(chǎn)品,這一階段的eda已把三維圖形技術、窗口技術、計算機操作系統(tǒng)、網(wǎng)絡數(shù)據(jù)交換、數(shù)據(jù)庫與進程管理等一系列計算機學科的最新成果引入電子設計,形成了cae計算機輔助工程。也就
14、是所謂的eda技術中級階段。其主要特征是具備了自動布局布線和電路的計算機仿真、分析和驗證功能。其作用已不僅僅是輔助設計,而且可以代替人進行某種思維。cae這種以原理圖為基礎的eda系統(tǒng),雖然直觀,且易于理解,但對復雜的電子設計很難達到要求,也不宜于設計的優(yōu)化。 所以,90年代出現(xiàn)了以自動綜合器和硬件描述語言為基礎,全面支持電子設計自動化的esda(電子系統(tǒng)設計自動化),即eda階段、也就是目前常說的eda.過去傳統(tǒng)的電子系統(tǒng)電子產(chǎn)品的設計方法是采用自底而上(bottom_ up)的程式,設計者先對系統(tǒng)結構分塊,直接進行電路級的設計。這種設計方式使設計者不能預測下一階段的問題,而且每一階段是否存
15、在問題,往往在系統(tǒng)整機調(diào)試時才確定,也很難通過局部電路的調(diào)整使整個系統(tǒng)達到既定的功能和指標,不能保證設計一舉成功。eda技術高級階段采用一種新的設計概念:自頂而下(top_ down)的設計程式和并行工程(concurrent engineering)的設計方法,設計者的精力主要集中在所要電子產(chǎn)品的準確定義上,eda系統(tǒng)去完成電子產(chǎn)品的系統(tǒng)級至物理級的設計。此階段eda技術的主要特征是支持高級語言對系統(tǒng)進行描述,高層次綜合(high level synthesis)理論得到了巨大的發(fā)展,可進行系統(tǒng)級的仿真和綜合。1.4 eda技術的發(fā)展趨勢從目前的eda技術來看,其發(fā)展趨勢是政府重視、使用普及
16、、應用廣泛、工具多樣、軟件功能強大。中國eda市場已漸趨成熟,不過大部分設計工程師面向的是pcb制板和小型asic領域,僅有小部分(約11%)的設計人員開發(fā)復雜的片上系統(tǒng)器件。為了與臺灣和美國的設計工程師形成更有力的競爭,中國的設計隊伍有必要引進和學習一些最新的eda技術。在信息通信領域,要優(yōu)先發(fā)展高速寬帶信息網(wǎng)、深亞微米集成電路、新型元器件、計算機及軟件技術、第三代移動通信技術、信息管理、信息安全技術,積極開拓以數(shù)字技術、網(wǎng)絡技術為基礎的新一代信息產(chǎn)品,發(fā)展新興產(chǎn)業(yè),培育新的經(jīng)濟增長點。要大力推進制造業(yè)信息化,積極開展計算機輔助設計(cad)、計算機輔助工程(cae)、計算機輔助工藝(cap
17、p)、計算機機輔助制造(cam)、產(chǎn)品數(shù)據(jù)管理(pdm)、制造資源計劃(mrpii)及企業(yè)資源管理(erp)等。有條件的企業(yè)可開展“網(wǎng)絡制造”,便于合作設計、合作制造,參與國內(nèi)和國際競爭。開展“數(shù)控化”工程和“數(shù)字化”工程。自動化儀表的技術發(fā)展趨勢的測試技術、控制技術與計算機技術、通信技術進一步融合,形成測量、控制、通信與計算機(m3c)結構。在asic和pld設計方面,向超高速、高密度、低功耗、低電壓方面發(fā)展。外設技術與eda工程相結合的市場前景看好,如組合超大屏幕的相關連接,多屏幕技術也有所發(fā)展。中國自1995年以來加速開發(fā)半導體產(chǎn)業(yè),先后建立了幾所設計中心,推動系列設計活動以應對亞太地區(qū)
18、其它eda市場的競爭。在eda軟件開發(fā)方面,目前主要集中在美國。但各國也正在努力開發(fā)相應的工具。日本、韓國都有asic設計工具,但不對外開放。中國華大集成電路設計中心,也提供ic設計軟件,但性能不是很強。相信在不久的將來會有更多更好的設計工具在各地開花并結果。據(jù)最新統(tǒng)計顯示,中國和印度正在成為電子設計自動化領域發(fā)展最快的兩個市場,年夏合增長率分別達到了50%和30%。eda技術發(fā)展迅猛,完全可以用日新月異來描述。eda技術的應用廣泛,現(xiàn)在已涉及到各行各業(yè)。eda水平不斷提高,設計工具趨于完美的地步。eda市場日趨成熟,但我國的研發(fā)水平仍很有限,尚需迎頭趕上。1.5 fpga工作原理及其基本特點
19、fpga的工作原理:fpga采用了邏輯單元陣列l(wèi)ca(logic cell array)這樣一個概念,內(nèi)部包括可配置邏輯模塊clb(configurable logic block)、輸出輸入模塊iob(input output block)和內(nèi)部連線(interconnect)三個部分。fpga的基本特點:1)采用fpga設計asic電路,用戶不需要投片生產(chǎn),就能得到合用的芯片。 2)fpga可做其它全定制或半定制asic電路的中試樣片。 3)fpga內(nèi)部有豐富的觸發(fā)器和io引腳。 4)fpga是asic電路中設計周期最短、開發(fā)費用最低、風險最小的器件之一。 5) fpga采用高速chmos
20、工藝,功耗低,可以與cmos、ttl電平兼容。 可以說,fpga芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。 fpga是由存放在片內(nèi)ram中的程序來設置其工作狀態(tài)的,因此,工作時需要對片內(nèi)的ram進行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。 加電時,fpga芯片將eprom中數(shù)據(jù)讀入片內(nèi)編程ram中,配置完成后,fpga進入工作狀態(tài)。掉電后,fpga恢復成白片,內(nèi)部邏輯關系消失,因此,fpga能夠反復使用。fpga的編程無須專用的fpga編程器,只須用通用的eprom、prom編程器即可。當需要修改fpga功能時,只需換一片eprom即可。這樣,同一片fpga,不同的編
21、程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,fpga的使用非常靈活。1.6 cpld與fpga的關系早在1980年代中期,fpga已經(jīng)在pld設備中扎根。cpld和fpga包括了一些相對大數(shù)量的可以編輯邏輯單元。cpld邏輯門的密度在幾千到幾萬個邏輯單元之間,而fpga通常是在幾萬到幾百萬。 cpld和fpga的主要區(qū)別是他們的系統(tǒng)結構。cpld是一個有點限制性的結構。這個結構由一個或者多個可編輯的結果之和的邏輯組列和一些相對少量的鎖定的寄存器。這樣的結果是缺乏編輯靈活性,但是卻有可以預計的延遲時間和邏輯單元對連接單元高比率的優(yōu)點。而fpga卻是有很多的連接單元,這樣雖然讓它可以更加靈活的編輯,但是
22、結構卻復雜的多。 cpld和fpga另外一個區(qū)別是大多數(shù)的fpga含有高層次的內(nèi)置模塊(比如加法器和乘法器)和內(nèi)置的記憶體。一個因此有關的重要區(qū)別是很多新的fpga支持完全的或者部分的系統(tǒng)內(nèi)重新配置。允許他們的設計隨著系統(tǒng)升級或者動態(tài)重新配置而改變。一些fpga可以讓設備的一部分重新編輯而其他部分繼續(xù)正常運行。1.7 自動飲料售賣機的特點自動飲料售賣機是集光、機、電、機械加工、制冷、加溫、防偽識別及電子軟件技術于一體的高新技術產(chǎn)品,具有以下特點: 晝夜服務、方便自如 全天24小時提供自助消費服務,可隨時隨地滿足消費需求,方便市民。 自動找零、兌零方便 使用10元、5元紙幣及1元、0.5元硬幣,
23、且自動找零(1元、0.5元硬幣),方便 乘車、搭地鐵。 操作簡單、快捷新穎 放入紙幣或硬幣,按下相應按鈕,所選商品即到眼前,倍添購物樂趣。1.8 quartus ii 簡介quartus ii 是altera公司的綜合性pld開發(fā)軟件,支持原理圖、vhdl、veriloghdl以及ahdl(altera hardware description language)等多種設計輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設計輸入到硬件配置的完整pld設計流程。 quartus ii可以在xp、linux以及unix上使用,除了可以使用tcl腳本完成設計流程外,提供了完善的用戶圖形界面設計方式。
24、具有運行速度快,界面統(tǒng)一,功能集中,易學易用等特點。 quartus ii支持altera的ip核,包含了lpm/megafunction宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡化了設計的復雜性、加快了設計速度。對第三方eda工具的良好支持也使用戶可以在設計流程的各個階段使用熟悉的第三方eda工具。 此外,quartus ii 通過和dsp builder工具與matlab/simulink相結合,可以方便地實現(xiàn)各種dsp應用系統(tǒng);支持altera的片上可編程系統(tǒng)(sopc)開發(fā),集系統(tǒng)級設計、嵌入式軟件開發(fā)、可編程邏輯設計于一體,是一種綜合性的開發(fā)平臺。 maxplus ii 作為al
25、tera的上一代pld設計軟件,由于其出色的易用性而得到了廣泛的應用。目前altera已經(jīng)停止了對maxplus ii 的更新支持,quartus ii 與之相比不僅僅是支持器件類型的豐富和圖形界面的改變。altera在quartus ii 中包含了許多諸如signaltap ii、chip editor和rtl viewer的設計輔助工具,集成了sopc和hardcopy設計流程,并且繼承了maxplus ii 友好的圖形界面及簡便的使用方法。 altera quartus ii 作為一種可編程邏輯的設計環(huán)境, 由于其強大的設計能力和直觀易用的接口,越來越受到數(shù)字系統(tǒng)設計者的歡迎。2、整體設
26、計方案的論證2.1 設計內(nèi)容要求設計一種通用自動飲料售賣機的控制電路,這種控制電路應具有以下的功能:1、首先能識別投入的不同面值的貨幣(如0.5元,1元的硬幣)。2、并能對所投的不同幣值的貨幣進行計數(shù)。3、當達到了購買商品的數(shù)量時,可以將控制飲料的閘門打開,投放出飲料。4、這種自動飲料售賣機具有退還多出的貨幣的功能。2.2 設計方案比較方案一:通過運用以at89s52單片機為核心,加以外部電源供電、12mhz的晶振時鐘電路、復位電路,來實現(xiàn)基于單片機的自動飲料售賣機控制電路的系統(tǒng)設計。由于這種方案具有結構簡單、單片機技術比較成熟和硬件部分成本低等特點,所以該方案的各部分電路都比較容易實現(xiàn),而且
27、其系統(tǒng)的可靠性也比較高。其原理框圖如圖2-1:電源電路時鐘電路復位電路控制飲料閘門打開控制零錢找補閘門打開at89s52單片機 圖2-1單片原理框圖圖2-2 軟件流程方案二:通過運用eda技術,基于現(xiàn)場可編程邏輯門陣列fpga芯片,采用veriloghdl硬件描述語言實現(xiàn)自動飲料售賣機控制電路的設計。較單片機而言fpga有以下優(yōu)點:1、fpga有豐富的io資源,可以很容易用不同ip連接各種外設。2、fpga不同邏輯可以并行執(zhí)行,可以同時處理不同任務從而fpga的工作效率更高。3、fpga內(nèi)部集成鎖相環(huán),可以把外部時鐘倍頻,核心頻率可以達到幾百m,比單片機運行速度快很多。其系統(tǒng)原理框圖如圖2-3
28、所示:shoumaijiclkout1 outa weixhuanbduanxuan7:0圖2-3系統(tǒng)原理框圖 2.3 方案論證通過方案一二的比較,可以看出方案一的設計使用分立元件電路較為多,因此會增加電路調(diào)試難度,且電路的不穩(wěn)定性也會隨之增加,而采用fpga芯片實現(xiàn)的電路,由于在整體性上較好,在信號的處理和整個系統(tǒng)的控制中,fpga的方案能大大縮減電路的體積,提高電路的穩(wěn)定性。此外其先進的開發(fā)工具使整個系統(tǒng)的設計調(diào)試周期大大縮短,一般來講,同樣的邏輯,基于fpga要比基于單片機要快很多,因為它們工作的原理是完全不同的。單片機是基于指令工作的,同樣的激勵到達單片機后,單片機首先要判斷,然后讀取
29、相應的指令,最后作出相應,這每一步都是需要在單片機的時鐘驅(qū)動下一步步的進行。而基于fpga則是把相應的邏輯“暫時”固化為硬件電路了,它對激勵作出的響應速度就是電信號從fpga的一個管腳傳播另一個管腳的傳播速度,當然這指的是異步邏輯,同時電信號也要在芯片內(nèi)進行一些柵電容的充放電動作,但這些動作都是非常非??斓?。 2.4 方案選擇結合自動售賣機的整體性能以及要求的提升,也對其各個部件的性能提出了更高的要求,尤其在現(xiàn)代soc技術的引領下,人們對低故障、高實時、高可靠、高穩(wěn)定的性能更加青睞。結合本設計的要求及綜合以上比較的情況,我們選擇了基于fpga的自動飲料售賣機的電路方案。3、單元模塊設計與實現(xiàn)3
30、.1有源晶振電路圖3-1有源晶振電路石英晶片之所以能當為振蕩器使用,是基于它的壓電效應:在晶片的兩個極上加一電場,會使晶體產(chǎn)生機械變形;在石英晶片上加上交變電壓,晶體就會產(chǎn)生機械振動,同時機械變形振動又會產(chǎn)生交變電場,雖然這種交變電場的電壓極其微弱,但其振動頻率是十分穩(wěn)定的。當外加交變電壓的頻率與晶片的固有頻率(由晶片的尺寸和形狀決定)相等時,機械振動的幅度將急劇增加,這種現(xiàn)象稱為“壓電諧振”。 壓電諧振狀態(tài)的建立和維持都必須借助于振蕩器電路才能實現(xiàn)。圖3-1所示,采用有源晶振作為時鐘信號源,它是一個完整的振蕩器,其內(nèi)部除了石英晶體外還有阻容軟件和晶體管,有源晶振信號質(zhì)量好,比較穩(wěn)定,而且連接
31、方式比較簡單。為了使有源晶振能輸出較好的波形,必須保證供電的穩(wěn)定。所以在晶振電路的前端加了個小電容對電源進行濾波,在時鐘輸出端加了個小電阻,能有效抑制高次諧波和實現(xiàn)阻抗匹配。 3.2供電電路圖3-2 5v電源電路圖圖3-3 2.5v電源電路圖圖3-4 3.3v電源電路圖本設計中使用到了三個電源,第一是+5v的電源,用于為上拉電阻以及數(shù)碼管顯示電路提供電壓;第二是+3.3v電源,用于為fpga芯片提供工作電壓;第三是+2.5v電源,用于為fpga芯片內(nèi)核工作提供電壓。在fpga芯片管腳上,+2.5v電源必須接在內(nèi)核電源輸入端(vccint)上,而vccio是芯片輸入輸出引腳工作電源,根據(jù)輸入輸出
32、的設備不同,可以接2.5 v、3.3 v或5.0 v。3.3 復位電路在上電或復位過程中,控制cpu的復位狀態(tài):這段時間內(nèi)讓cpu保持復位狀態(tài),而不是一上電或剛復位完畢就工作,防止cpu發(fā)出錯誤的指令、執(zhí)行錯誤操作,也可以提高電磁兼容性能。無論用戶使用哪種類型的fpga芯片,總要涉及到復位電路的設計。而復位電路設計的好壞,直接影響到整個系統(tǒng)工作的可靠性。許多用戶在設計完系統(tǒng),并在實驗室調(diào)試成功后,在現(xiàn)場卻出現(xiàn)了“死機”、“程序走飛”等現(xiàn)象,這主要是復位電路設計不可靠引起的。本次設計的復位電路在系統(tǒng)接電后由3.3v經(jīng)r1給c1充電,此時reset上得到低電平.經(jīng)過一段時間后,c1被充滿,rese
33、t點電平升高.最后穩(wěn)定在高電平.這是接電后的情況,即上電復位. 另一個情況是當按下快關時,c77經(jīng)過r1放電到地,reset被瞬間拉到低電平,當按鍵放開后,c1再次通過r2充電,經(jīng)過一段時間后穩(wěn)定到高電平.完成手動復位.復位電路如圖3-3所示。圖3-5 復位電路3.4 數(shù)碼管顯示電路圖 3-6 led顯示電路led顯示有靜態(tài)顯示和動態(tài)方式兩種工作方式。led顯示器工作于靜態(tài)顯示方式時,各位的共陽極連接在一起并接+5v,每位的段碼線分別與一個8位的鎖存器輸出相連。之所以為靜態(tài)顯示,是因為各個led的顯示字符的字符一經(jīng)確定,相應的鎖存器的段碼輸出將維持不變,直到送入另外一個字符的段碼為止。但是靜態(tài)
34、顯示方式下,各位led的段碼線都是獨立的,因此一個4位的led顯示器需要占用4*8+4=36個i/o口,在這種情況下為了簡化接線,因此本設計中采用的是動態(tài)掃描方式來顯示距離。在動態(tài)顯示方式下,通常將所有位的段碼線相應并聯(lián)在一起,由一個8位的i/o口控制,形成段碼線的多路復用,而各位的共陽極或共陰極分別由相應的i/o口控制,形成段碼線的多路復用,而各位的分時選通。圖3-4所示的電路時一個四位的led顯示電路。其中段碼線占用一個8位的i/o口,而位選線占用四位i/o口。由于各段碼線并聯(lián),8位i/o口輸出的段碼對各個顯示位來說都是相同的。因此,在同一時刻,如果各位位選線都處于選通狀態(tài)的話,四位led
35、將顯示相同的字符。若要各位led能同時顯示出與本位相應的顯示字符,就必須采用動態(tài)顯示方式,即在某一時刻,只讓某一位的位選線處于選能狀態(tài),而其他各位的位選處于關閉狀態(tài),同時,段碼線輸出相應的要顯示的字符段碼。這樣,在同一時刻,四位的led中只有選通的那一位顯示出字而其他三位則是熄滅的。同樣在下一時刻,只讓下一位的位選處于選通狀態(tài),而其他各位的位選線處于關閉狀態(tài),在段碼線上將要顯示出字符的段碼,則同一時刻,只有選通位顯示相應的字符。如此循環(huán)下去,就可以使各位顯示出將要顯示的字符。3.5 最小系統(tǒng)原理圖3-7最小系統(tǒng)電路原理圖本設計的電路實現(xiàn)是基于fpga最小系統(tǒng)原理圖,再配以所需的外設。最小系統(tǒng)設
36、計包含了時鐘產(chǎn)生電路模塊、程序下載配置電路模塊、電源電路模塊,通過連線將各個模塊進行連接成最小系統(tǒng)。由于本設計電路比較簡單,外設比較少,四位的led數(shù)碼管 動態(tài)掃描顯示前面計數(shù)器的計數(shù)值即頻率值。將外設與最小系統(tǒng)進行合理正確連接,即可實現(xiàn)本設計的電路原理要求。4、系統(tǒng)軟件實現(xiàn)及仿真4.1 verilog結構圖verilog結構圖由三部分組成:鍵盤去抖電路,脈沖展寬電路,穆爾型狀態(tài)選擇電路。 其電路原理圖如圖4-1所示:圖4-1 電路原理圖每一路的輸入都經(jīng)過鍵盤去抖電路和脈沖展寬電路之后再送給售賣機狀態(tài)判斷電路。ck_coin是鍵盤去抖電路的時鐘,用這個時鐘去檢測按鍵狀態(tài);clk_vender是
37、脈沖展寬電路和售賣機狀態(tài)判斷電路的時鐘,脈沖展寬電路利用產(chǎn)生脈寬2倍于此時鐘的脈沖信號作為售賣機判斷電路的輸入。ck_coin和clk_vender可以用一個分頻器電路從ck_coin中產(chǎn)生clk_vender,這樣系統(tǒng)就只有一個時鐘,在此代碼中沒有加分頻電路。 4.2 鍵盤去抖電路鍵盤去抖電路功能:對按鍵設定時鐘判斷,按鍵高電平至少維持三個時鐘周期才產(chǎn)生按鍵信號,其他小于3個時鐘周期的電平認為是抖動,予以消除。同時每次按下一個鍵,產(chǎn)生一個與鍵盤檢測電路時鐘相同脈寬的脈沖信號表示有按鍵,如果按鍵高電平持續(xù)維持很多時鐘周期,只判定按鍵一次。鍵盤去抖電路源代碼:module coins(coin,
38、 clk, res);input coin, clk;output res;reg 1:0 status;reg res_con, res_in;always (posedge clk or negedge coin)begin if(!coin) status=0; else begin if(clk & (status=0) status=1; else if(clk & (status=1) begin res_in=1;status=2; end else if(clk & (status=2) res_in=0; endendalways (negedge clk)begin if(
39、res) res_con=0; else res_con=1;endassign res=res_in&res_con;endmodule4.3 脈沖展寬電路脈沖展寬電路功能:因為去抖電路產(chǎn)生的按鍵脈沖位于按鍵高電平的中間,與clk_coin的脈寬一樣,而clk_vender的脈寬遠遠大于clk_coin,所以這樣直接用clk_vender去檢測按鍵脈沖,很顯然無法正確判斷。同時還會出現(xiàn)按鍵沒有完全結束,但是結果已經(jīng)產(chǎn)生,這樣不合乎邏輯。用脈沖展寬電路把原來的按鍵窄脈沖展寬成clk_vender脈寬的兩倍,便于正確檢測輸入信號。脈沖展寬電路源代碼:module smith(clk, data_
40、in, data_out,rst);input clk, data_in,rst;output data_out;reg data_out,data_temp;reg1:0 count;always (posedge data_in or posedge clk or negedge rst )begin if(!rst) data_temp=0; else if(data_in) data_temp=1; else if(count=2b01)data_temp=0; endalways (posedge clk or negedge rst)begin if(!rst) count=0;
41、else if(data_out)count=count+1; else count=0; endalways(negedge clk or negedge rst)begin if(!rst) data_out=0; else if(count=2b01)data_out=0; else if(!clk & data_temp)data_out =1; endendmodule4.4 穆爾型狀態(tài)選擇電路穆爾型狀態(tài)選擇電路功能:根據(jù)輸入決定輸出狀態(tài),利用狀態(tài)機來實現(xiàn)。先對各種輸入產(chǎn)生一個輸出狀態(tài),然后根據(jù)這些狀態(tài)來賦值最后的輸出。穆爾型狀態(tài)電路的輸出僅僅取決于狀態(tài)state,米利型狀態(tài)電路的輸
42、出不僅取決于狀態(tài),還取決于當前的輸入,這在程序中能夠體現(xiàn)。(此部分代碼來源于introductory digital systems laboratory 的 l6: fsms and synchroniizatiion部分,其中詳細講述了兩種狀態(tài)選擇方式的優(yōu)缺點和狀態(tài)流程圖。)穆爾型狀態(tài)選擇電路源代碼:module moorevender (n, d, q, dc, dn, dd, clk, reset, state); input n, d, q, clk, reset;output dc, dn, dd;output 3:0 state;reg 3:0 state, next;reg d
43、c,dd,dn;parameter idle = 0;parameter got_5c = 1;parameter got_10c = 2;parameter got_15c = 3;parameter got_20c = 4;parameter got_25c = 5;parameter got_30c = 6;parameter got_35c = 7;parameter got_40c = 8;parameter got_45c = 9;parameter got_50c = 10;parameter return_20c = 11;parameter return_15c = 12;p
44、arameter return_10c = 13;parameter return_5c = 14;always (posedge clk or negedge reset)if (!reset) state = idle;else state = next;always (state or n or d or q) begincase (state)idle: if (q) next = got_25c;else if (d) next = got_10c;else if (n) next = got_5c;else next = idle;got_5c: if (q) next = got
45、_30c;else if (d) next = got_15c;else if (n) next = got_10c;else next = got_5c;got_10c: if (q) next = got_35c;else if (d) next = got_20c;else if (n) next = got_15c;else next = got_10c;got_15c: if (q) next = got_40c;else if (d) next = got_25c;else if (n) next = got_20c;else next = got_15c;got_20c: if
46、(q) next = got_45c;else if (d) next = got_30c;else if (n) next = got_25c;else next = got_20c;got_25c: if (q) next = got_50c;else if (d) next = got_35c;else if (n) next = got_30c;else next = got_25c;got_30c: next = idle;got_35c: next = return_5c;got_40c: next = return_10c;got_45c: next = return_15c;g
47、ot_50c: next = return_20c;return_20c: next = return_10c;return_15c: next = return_5c;return_10c: next = idle;return_5c: next = idle;default: next = idle;endcaseendalways (posedge clk)begindc = (state = got_30c | state = got_35c |state = got_40c | state = got_45c |state = got_50c);dn = (state = retur
48、n_5c);dd = (state = return_20c | state = return_15c |state = return_10c);endendmodule4.5 編譯結果設定 sell.bdf文件為頂層文件,進行編譯,編譯成功。編譯結果如圖4-2所示:圖4-2 編譯結果4.6 仿真結果:圖4-3 仿真波形圖d,n,q是按鍵輸入,帶有抖動過程。d1,n1,q1是去抖電路輸出,可以看到只產(chǎn)生一個按鍵脈沖,此脈沖脈寬為clk_coin的脈寬(2微秒)。d2,n2,q2是展寬電路輸出,產(chǎn)生2倍于clk_vender脈寬的脈沖(20微秒),并且在此脈沖對應的clk_vender只有一個時
49、鐘上升沿,這樣防止錯誤檢測??梢钥吹捷敵鼋Y果正確。輸入5+10+25=40。輸出一瓶飲料,找零10。在微秒級別設定仿真,可以消除不必要的毛刺。對輸入信號做兩次處理變換的目的在于:讓輸入獨立于售賣機的檢測時鐘,任何狀態(tài)下,只要只有一次按鍵,無論按鍵發(fā)生在時鐘的哪個階段,無論按鍵持續(xù)了多少個時鐘周期,都認為投幣一次,這樣更符合實際情況。4.7 rtl描述系統(tǒng)級設計的下一個層次是rtl設計,一般來說,系統(tǒng)級設計只用于仿真,驗證系統(tǒng)功能,筒倉不支持綜合,因此需要進行rtl設計。rtl:寄存器級的基本部件是寄存器、計數(shù)器、多路復用器和算術邏輯單元(alu),這些基本部件有時也稱為功能塊。寄存級的基本部件通常采用真值表和狀態(tài)來表示。本設計
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 旋轉(zhuǎn)接頭虹吸器項目可行性研究報告
- N.O一雙三甲硅基乙酰胺項目可行性研究報告
- 2025年中國沉積設備行業(yè)市場深度研究及發(fā)展趨勢預測報告
- 2025年中國大米蛋白行業(yè)市場發(fā)展現(xiàn)狀及投資規(guī)劃建議報告
- 省級三甲綜合醫(yī)院醫(yī)療設備購置項目可行性研究報告
- 中國生物質(zhì)氣化爐行業(yè)市場調(diào)查研究及投資前景預測報告
- 氣動注液泵專項風險評估報告
- 2025年中國圣誕經(jīng)濟市場行情動態(tài)分析及發(fā)展前景趨勢預測報告
- 鈦種板行業(yè)深度研究報告
- 2025年鍋爐點火裝置項目可行性研究報告
- 花城版音樂四下-第四課-認知音樂節(jié)奏(教案)
- 寵物醫(yī)院員工手冊
- 2024年高考英語讀后續(xù)寫高分寶典專題08讀后續(xù)寫肢體動作描寫積累1(詞-句-文)講義
- 商業(yè)與公積金貸款政策
- 年獸的故事之The Legend of Nian
- 初中美術教學策略與方法
- 甲流護理查房病例
- 2024屆高考作文主題訓練:時評類(含解析)
- 260噸汽車吊地基承載力驗算
- 譯林版英語小學四年級下冊-課文翻譯(英漢對照)
- Vue.js前端開發(fā)實戰(zhàn)(第2版)全套完整教學課件
評論
0/150
提交評論