EDA設(shè)計籃球倒計時VHDL探素_第1頁
EDA設(shè)計籃球倒計時VHDL探素_第2頁
EDA設(shè)計籃球倒計時VHDL探素_第3頁
EDA設(shè)計籃球倒計時VHDL探素_第4頁
EDA設(shè)計籃球倒計時VHDL探素_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、- -題目:籃球競賽30s計時器設(shè)計一、設(shè)計目的隨著電子技術(shù)的高速發(fā)展和計算機(jī)技術(shù)的普遍應(yīng)用,電子設(shè)計也越來越普遍地應(yīng)用于整個電子行業(yè)中。電子設(shè)計是人們進(jìn)行電子產(chǎn)品設(shè)計、開發(fā)和制造過程中十分關(guān)鍵的一步,其核心就是電子電路的設(shè)計。電子設(shè)計自動化(EDA)是在電子產(chǎn)品向更復(fù)雜、更高級,向數(shù)字化、集成化、微型化和低耗能方向發(fā)展過程中逐漸產(chǎn)生并日趨完善的電子設(shè)計方法,在這種方法中,設(shè)計過程的大部分工作(特別是底層工作)均由計算機(jī)自動完成,是電子技術(shù)發(fā)展歷程中產(chǎn)生的一種先進(jìn)的設(shè)計方法,是當(dāng)今電子設(shè)計的主流。在籃球比賽中,規(guī)定了球員的持球時間不能超過30秒,否則就犯規(guī)了。本課程設(shè)計的“籃球競賽30秒計時器

2、”,可用于籃球比賽中,用于對球員持球時間30秒限制。一旦球員的持球時間超過了30秒,它自動的報警從而判定此球員的犯規(guī)。本課程設(shè)計是籃球競賽30秒計時器。此計時器功能齊全,顯示30秒倒計時功能,系統(tǒng)設(shè)置外部操作開關(guān)可以直接清零、啟動、暫停,同時應(yīng)用了七段數(shù)碼管來顯示數(shù)值,可以方便地實現(xiàn)斷點計時功能,當(dāng)計時器遞減到零時,還會發(fā)出光電報警信號。本設(shè)計完成的中途計時功能,實現(xiàn)了在許多的特定場合進(jìn)行時間追蹤的功能,在社會生活中也具有廣泛的應(yīng)用價值.二、設(shè)計要求用EDA技術(shù)設(shè)計一個30s計時器,具體技術(shù)要求如下:1、具有30s計時功能,并且能夠?qū)崟r顯示計數(shù)結(jié)果。2、設(shè)有外部操作開關(guān),控制計數(shù)器實現(xiàn)直接清零

3、、啟動以及暫停/連續(xù)工作等操作。3、計時器為30s遞減計時,計時間隔為1s。4、計時器遞減計時到零時,數(shù)碼顯示器不能滅燈,同時發(fā)出光電報警信號。三、總體設(shè)計原理與內(nèi)容1、設(shè)計的總體原理本設(shè)計為30秒計數(shù)器,它主要由外部開關(guān),控制電路,秒脈沖發(fā)生器,計數(shù)器,譯碼器和報警電路組成。各部分相互聯(lián)系,共同協(xié)作,實現(xiàn)電路功能。各部分關(guān)系框圖如圖3-1所示:圖3-1總體框圖2、設(shè)計內(nèi)容本設(shè)計為30秒計數(shù)器,它主要分為三個部分:計數(shù)部分,顯示部分和控制部分。其中計數(shù)器和控制電路是系統(tǒng)的主要部分。計數(shù)器完成30s計時功能,而控制電路具有直接控制計數(shù)器的啟動計數(shù)、暫停/連續(xù)計數(shù)、譯碼顯示電路的顯示功能。為了滿足

4、系統(tǒng)的設(shè)計要求,在設(shè)計控制電路時,應(yīng)正確處理各個信號之間的時序關(guān)系。在操作直接清零開關(guān)CLR時,要求計數(shù)器清零,數(shù)碼顯示器不滅燈。清零開關(guān)不工作時置數(shù)鍵才有效,置數(shù)鍵PLD為1時,同時計數(shù)器完成置數(shù)功能,譯碼顯示電路顯示“30字樣;當(dāng)啟動開關(guān)為高電平時,計數(shù)器開始計數(shù);為了簡單起見,我們將暫停與連續(xù)的控制與開始用一個鍵控制。當(dāng)計數(shù)器減到0時,啟動報警系統(tǒng),報警指示燈亮進(jìn)行報警。通過控制脈沖信號的傳送來達(dá)到相應(yīng)的目的。3、設(shè)計方案本設(shè)計主要能完成:顯示30秒倒計時功能;系統(tǒng)設(shè)置外部操作開關(guān),控制計時器的直接清零、啟動和暫停/連續(xù)功能;在直接清零時,數(shù)碼管顯示器滅燈;計時器為30秒遞減計時其計時間

5、隔為1秒;計時器遞減計時到零時,數(shù)碼顯示器不滅燈,同時發(fā)出光電報警信號等。經(jīng)分析我們可以用兩種方案進(jìn)行實現(xiàn):方案一:用VHDL編碼進(jìn)行實現(xiàn)。VHDL是一門硬件描述語言,可以實現(xiàn)各種組合電路及邏輯電路。使用VHDL編碼實現(xiàn),可讀性強,易于理解,可以在軟仿,硬仿時,依次進(jìn)行查看其正確性,還能提高自己的編碼水平,利于EDA課程的學(xué)習(xí)與應(yīng)用。采用靜態(tài)編碼,先設(shè)計計數(shù)器進(jìn)行計數(shù),數(shù)值通過數(shù)碼管顯示電路進(jìn)行顯示。設(shè)置CLOCK為1HZ,數(shù)值變化周期為1秒。方案二:也是采用VHDL編碼進(jìn)行實現(xiàn),但采用的是動態(tài)掃描法,設(shè)置一個片選信號,分時復(fù)用掃描兩個數(shù)碼管。這時就要設(shè)置兩個時鐘,因為1HZ的時鐘頻率太小了,

6、會使得看到的效果不連續(xù),十位與個位產(chǎn)生分離,效果不好??梢粤磉x一個頻率1000HZ左右的時鐘信號作為掃描時鐘。這種設(shè)計節(jié)約了能量,延長了數(shù)碼管的壽命,但引入了片選信號,又增加了一個時鐘,所以較第一種方案復(fù)雜。方案三:用原理圖輸入法進(jìn)行實現(xiàn)。用原理圖書輸入法也能實現(xiàn),電路的仿真。但原理圖輸入法只適合中小型電路,而且需要良好的數(shù)字電路基礎(chǔ)與電路功底。另外,原理圖輸入法,比較繁瑣,不易于操作。綜合比較,選擇第一種方案。四、EDA設(shè)計及仿真1、30S倒計時器源程序1計數(shù)模塊計數(shù)模塊,采用和三十秒減計數(shù)。計數(shù)間隔為1秒。其程序如下所示:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164

7、.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT30ISPORT(CLK,EN:INSTD_LOGIC;C0,C10:OUTSTD_LOGIC_VECTOR(5DOWNTO0);C0,C10表示十位和個位ENDCNT30;ARCHITECTUREbehavOFCNT30ISBEGINPROCESS(CLK,EN)VARIABLETMPA:STD_LOGIC_VECTOR(3DOWNTO0);VARIABLETMPB:STD_LOGIC_VECTOR(3DOWNTO0);BEGINIFCLKEVENTANDCLK=TTHEN檢測時鐘上升沿TMPB:=00

8、11;TMPA:=0000;IFEN=1THENIFTMPA=0000THENIFTMPB/=OOOOTHENTMPA:=1001;TMPB:=TMPB-1;ENDPROCESS;C0v=TMPA;C10v=TMPB;ENDbehav;檢測是否允許計數(shù)(同步使能)2、顯示模塊源程序顯示部分采用七段數(shù)碼管進(jìn)行實現(xiàn)。LED數(shù)碼管及引腳圖資料:7段LED數(shù)碼管是利用7個LED(發(fā)光二極管)外加一個小數(shù)點的LED組合而成的顯示設(shè)備,可以顯示09等10個數(shù)字和小數(shù)點,使用非常廣泛。這類數(shù)碼管可以分為共陽極與共陰極兩種,共陽極就是把所有LED的陽極連接到共同接點com,而每個LED的陰極分別為a、b、c、

9、d、e、f、g及dp;共陰極則是把所有LED的陰極連接到共同接點com,而每個LED的陽極分別為a、b、c、d、e、f、g及dp,圖中的8個LED分別與上面那個圖中的ADP各段相對應(yīng),通過控制各個LED的亮滅來顯示數(shù)字。我們采用共陰極接法,其圖如下:3,8共陰輸入相應(yīng)的數(shù)值,對應(yīng)驅(qū)動相關(guān)二極管點亮,顯示相應(yīng)的數(shù)值。顯示部分功能表如表4-1所示:表4-1功能表輸入輸.出.JCR3aDcderg小XXXX11111i13XXxl0000000消隱000111111000101100u0iU01u11u11u12001111110打301000110010r1i;11111011;01I000111

10、1111110:jnJ100011111&1001111001i10I000Cl00打0消隱101110uu0uuJ消黠111i;010()0:jn消隱11010000000消隱1110()0:jn消隱11I100Cl000消隱用數(shù)碼管進(jìn)行顯示,需把各個數(shù)值譯碼后傳輸?shù)綌?shù)碼管,分十位與個位分別進(jìn)行顯示,其程序如下:PR02:PROCESS(DD)BEGINCASEDDISDD表示十位WHEN0000=S1S1S1S1S1S1S1S1S1S1Slv=0000000;ENDCASE;ENDPROCESS;PROCESS(SS)BEGINCASESSISWHEN0000=S0S0S0S0S0S0S0

11、S0S0S0S0S1S1S1S1S1S1S1S1S1S1S1S0S0S0S0S0S0S0S0S0SOS0v=0000000;ENDCASE;ENDPROCESS;ENDA;2、源程序仿真結(jié)果及數(shù)據(jù)分析(1)仿真結(jié)果圖4-2仿真結(jié)果部分波形圖圖4-3仿真結(jié)果總體波形圖(2)數(shù)據(jù)分析由仿真結(jié)果圖可以看出:先清零,再置數(shù),置初始值為30,置數(shù)后,保持30,直至使能端ENB為高電平,等到上升沿的到來,開始計數(shù),計數(shù)器減計數(shù)至零時,報警信號WARM變?yōu)楦唠娖?,發(fā)出報警信號。但信號在FPGA器件內(nèi)部通過連線和邏輯門時,都有一定的延時。延時的大小與連線的長短和門單元的數(shù)目有關(guān),同時還受器件的制造工藝、工作電

12、壓、溫度等的影響。此外,信號的高低電平轉(zhuǎn)換也需要一定的過度時間。由于存在這些因素的影響,多路信號的電平值發(fā)生變化時,在信號變化的瞬間,組合邏輯的輸出有先后順序,并不是同時變化,往往會出現(xiàn)一些不正確的“毛刺”,稱為“冒險”現(xiàn)象。可以通過改變設(shè)計來破壞毛刺的產(chǎn)生的條件,從而減少毛刺的發(fā)生。例如,在數(shù)字電路設(shè)計中,常采用格雷碼。還可以利用D觸發(fā)器消除毛刺。但由于時間和條件的限制沒有進(jìn)行時延現(xiàn)象的消除,在本次設(shè)計中沒有太大影響,但在以后的工作中是一定要避免的。五、硬件實現(xiàn)1、打開Quartusii軟件,建立一個工程,將編寫好的源代碼加載進(jìn)去進(jìn)行仿真。2、代碼編譯成功之后,進(jìn)行功能仿真,首先建立波形文件

13、,設(shè)置時鐘參數(shù);將波形文件保存好,進(jìn)行軟件仿真;3、軟仿真實現(xiàn)之后,要進(jìn)行硬仿,即硬件實現(xiàn)。硬件實現(xiàn)簡單明了,可以清楚的看到實驗的成功與否,而且真實可靠。為了實現(xiàn)硬仿,我們先進(jìn)行管腳綁定。CLR,ENB,PLD分別由鍵8,鍵7及鍵6來執(zhí)行,S1,SO分別由數(shù)碼管8和數(shù)碼管7來顯示。綁定情況如圖4-4所示:HEdit:X|ToLei匚ationI/OBankI/OStandardGeneralFunction5pe匚ialFunctionReservedEnabled21CLRPINF1443.3-VLVTTLColumnI/OLVDS82nYes31ENBPINF15斗3.3-VLVTTLCo

14、lumnI/OLVD587pYes斗畛PLDPING16斗3.3-VLVTTL匚olurnnI/OLVD595nYes5assoPIND833.3-VLVTTLColumnI/OLVD559nYes650lPIND733.3-VLVTTL匚olurnnI/OLVD558pYes7=S02PINC933.3-VLVTTLColumnI/OLVDS59pYes8i503PINH733.3-VLVTTLColumnI/OLVD555pYes9E504PINY783.3-VLVTTL匚olurnnI/OVREFB8N1Yes10=505PINY1373.3-VLVTTLColumnI/OVREFB7N

15、1Yes11j506PINU2063.3-VLVTTLRowI/OVREFB6N1Yes12Sl0PINC13斗3.3-VLVTTLColumnI/OVREFB4N1Yes13PINC733.3-VLVTTLColumnI/OVREFB3N1Yes14PINH323.3-VLVTTLRowI/OVREFB2N1Yes15513PINU313.3-VLVTTLRowI/OVREFB1N1Yes16PINP313.3-VLVTTLRowI/OVREFEilNOYes17妙515PINF423.3-VLVTTLRowI/OVREFB2N0Yes18PINC1033.3-VLVTTLColumnI/O

16、VREFB3N0Yes19WARNPINJ2053.3-VLVTTLRowI/OLVD5120nYes20wwriew圖4-4管腳綁定圖4、管腳綁定好之后,進(jìn)行編譯。5、編譯無誤后,進(jìn)行下載硬仿。硬件電路選擇模式6,數(shù)碼管8和數(shù)碼管7分別顯示計數(shù)值的十位與個位。鍵8,鍵7與鍵6分別代表清零,啟動/暫停/連續(xù)與復(fù)位鍵。加載結(jié)果如圖4-5所示:圖4-5加載成功圖實驗箱選擇模式6按下清零鍵,數(shù)碼管清零,顯示00,并且報警燈不亮。圖4-7復(fù)位效果顯示圖釋放清零鍵,按下復(fù)位鍵,顯示預(yù)置數(shù)30,上圖為顯示效果。圖4-8硬件運行效果剪影釋放復(fù)位鍵,19時的效果。按下啟動按鈕,計數(shù)器開始減計數(shù),計數(shù)周期為1秒

17、。圖為計數(shù)器減至圖4-9光電報警示意圖計數(shù)器繼續(xù)進(jìn)行減計數(shù),當(dāng)減至0時出發(fā)光電報警信號進(jìn)行報警。并保持?jǐn)?shù)碼管不滅,保持0狀態(tài)。直至清零。重復(fù)上述過程。六、設(shè)計總結(jié)1、設(shè)計過程中遇到的問題及解決方法在此次設(shè)計中,我自己的動手能力有了顯著的提高。在軟仿的時候一切都比較順利,但硬仿的時候,卻發(fā)現(xiàn)有一個不該報警的地方報警了,看程序也沒錯誤,波形也沒錯誤,剛開始怎么也找不出問題,后來我們感覺應(yīng)該還是程序的問題,便從程序入手,在程序中又強調(diào)了一下,報警條件,結(jié)果硬仿正確了。所以說,實驗就要不斷的嘗試,VHDL是一門語言,語言有些時候不僅僅是語法這么簡單,只有在不斷地調(diào)試中才能取得成功。在本次設(shè)計中,其實我

18、們做了兩種方案。第二種方案沒有詳細(xì)提及,該方案采用的時動態(tài)掃描。做完第一種方案之后,我們又進(jìn)行了第二種方案的仿真,在硬仿時發(fā)現(xiàn)數(shù)碼管不能正確顯示,出現(xiàn)了亂碼現(xiàn)象。這讓我們很是費解,軟仿沒有錯誤,試驗箱也不可能有問題,這是什么原因呢?我們思索了很久,也做了許多嘗試,都沒有成功。后來忽然間看到模式指示數(shù)碼管旁邊有一個短路帽,這讓我哦聯(lián)想到電路實驗中短路帽的轉(zhuǎn)換,所以,我把短路帽從上方拿到了下方,結(jié)果就正確顯示了。還有一次,同學(xué)的顯示怎么都成功不了,按了開始就變?yōu)?,完全看不到變化現(xiàn)象,我看了程序感覺沒錯,就覺得是不是時鐘設(shè)置的問題,我把它的時鐘頻率調(diào)小之后,發(fā)現(xiàn)果真正確顯示了。設(shè)計體會為期一周的EDA課程設(shè)計就要結(jié)束了,在這一周的實訓(xùn)中,我收獲頗豐。在此次課程設(shè)計之前我對QUARTUS軟件已經(jīng)有了接觸,但卻沒有很深的了解。在此次課程設(shè)計時我將梁老師上課的內(nèi)容在復(fù)習(xí)理解的基礎(chǔ)上有了深刻的理解,對VHDL語言也有了更加熟悉的認(rèn)知。更重要的是對實驗箱的功能及應(yīng)用更熟練了。本次課程設(shè)計是運用VHDL語言將模擬電子技術(shù)基礎(chǔ)和數(shù)字電子技術(shù)基礎(chǔ)以及電工電子技術(shù)的內(nèi)容相結(jié)合,在此次設(shè)計的過程中發(fā)現(xiàn)了自己對理論知識認(rèn)識的不足還有在動手操作方面還欠缺鍛煉,因此我在此次課程設(shè)計的時候加深對老師所教的內(nèi)容進(jìn)一步復(fù)習(xí),

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論