數(shù)字跑表課程設(shè)計_第1頁
數(shù)字跑表課程設(shè)計_第2頁
數(shù)字跑表課程設(shè)計_第3頁
數(shù)字跑表課程設(shè)計_第4頁
數(shù)字跑表課程設(shè)計_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目 錄一:設(shè)計目的2二:設(shè)計方案21.方案論證22.模塊電路設(shè)計23.計時電路34.計數(shù)器模塊35.數(shù)字跑表的流程圖36. 控制信號的作用4三:設(shè)計總體框圖5四:硬件電路設(shè)計與程序設(shè)計61. 設(shè)計思路62.控制模塊63.十進制計數(shù)模塊74.六進制計數(shù)模塊75.數(shù)碼管掃描模塊76.七段譯碼顯示模塊8五:程序設(shè)計如下9六:編譯仿真及硬件測試15 1.編譯仿真152.頂層設(shè)計圖153.仿真后得到如下仿真波形圖16七. 硬件實驗調(diào)試171.開始計時172.暫停173.清零18八實驗心得及體會19九.參考文獻20一:設(shè)計目的(1)學會利用Quartus和所學的數(shù)字電路知識,搭建復雜一點的數(shù)字電路或系統(tǒng)。

2、(2)學會使用EDA的程序語言FPGA/CPLD設(shè)計數(shù)字跑表,設(shè)計主要包括功能分析、方案設(shè)計和電路測試幾個步驟。二:設(shè)計方案1.方案論證 數(shù)字跑表設(shè)三個輸入端,分別為時鐘輸入(CLK),復位(CLR),啟動、暫停按鍵(PUSE)。復位信號高電平有效,可對跑表異步清零;當啟動、暫停鍵為低電平時跑表開始計時,為高電平時暫停,變低后在原來的數(shù)值基礎(chǔ)上繼續(xù)計數(shù)。數(shù)字跑表的結(jié)構(gòu)示意圖如下:圖1跑表示意圖 2.模塊電路設(shè)計數(shù)字跑表實際上為計數(shù)器,數(shù)據(jù)選擇器,七段數(shù)碼管譯碼器等模塊構(gòu)成,核心模塊應為計數(shù)器,其次為暫??刂坪颓辶憧刂啤?.計時電路計時電路又分為百分秒計時電路、秒計時電路和分計時電路三個模塊。百

3、分秒計時電路是一個100進制的計數(shù)器,以100Hz輸入信號作為計數(shù)時鐘,其進位信號作為秒計數(shù)電路的計數(shù)時鐘,當秒計數(shù)器計滿時,產(chǎn)生的進位信號又作為分計數(shù)電路的計數(shù)時鐘。電路的暫停和復位信號用于控制計時的開始、停止和清零。4.計數(shù)器模塊數(shù)字跑表的計時器功能是,當PAUSE為低電平時開始計數(shù),百分秒低位自加一,加到九時歸零,百分秒高位自加一,加到九時歸零,且向秒位發(fā)出一個高電平,秒低位自加一,加到九時歸零,秒高位自加一,加到五時歸零,且向分位發(fā)出一個高電平,分低位自加一,加到六時系統(tǒng)清零。5.數(shù)字跑表的流程圖數(shù)字跑表主要由計時器,七段數(shù)碼管譯碼器組成。流程框圖如圖所示。數(shù)碼管譯碼器百分秒計數(shù)器 C

4、LKmsl pause秒計數(shù)器 clr分計數(shù)器 圖2程序流程圖6. 控制信號的作用 表1 控制信號的作用復位clr異步復位信號,高電平有效pause同步暫停信號,低電平有效計數(shù)。sel共陰數(shù)碼管的位選信號seg共陰數(shù)碼管的段選信號 三:設(shè)計總體框圖圖3設(shè)計總體框圖四:硬件電路設(shè)計與程序設(shè)計1. 設(shè)計思路 數(shù)字秒表電路計時范圍的要求為0.011小時,即59分59.99秒,所以這就需要獲得一個比較精確的計時基準信號,此基準信號可以由CPLD/FPGA試驗箱提供的頻率具體設(shè)定分頻器。分頻器在實驗中顯得很重要,因為如果分頻的要求達不到,便會出現(xiàn)諸如缺少數(shù)字位、計時不精確等實驗現(xiàn)象。六進制計數(shù)器針對10

5、秒和10分位,十進制針對0.01秒、0.1秒、1秒和1分位,這是根據(jù)不同的計數(shù)進位而設(shè)定的。電路還需要一個掃描電路,對每一位的計時結(jié)果進行不斷的掃描,掃描的速度要大于輸入信號的頻率,避免出現(xiàn)掃描滯后、顯示的結(jié)果不是當前結(jié)果的現(xiàn)象。掃描的同時還需要一個位碼電路。位碼電路的作用是將數(shù)字秒表的各位選中,以便七段數(shù)碼管的顯示。2.控制模塊為了方便控制所有計數(shù)模塊清零和使能功能需要設(shè)計一個控制模塊,所以該模塊的功能就是控制什么時候發(fā)出置零信號和使能信號來控制計數(shù)器工作。其模塊圖如下圖所示: Clk為開始/暫停功能按鈕(下降沿有效),初次按下它clc(控制計數(shù)器清零)為低電平,en(使計數(shù)器計數(shù))為高電平

6、;再次按下它時,clc保持為低電平,en跳變?yōu)榈碗娖?,如此重復循環(huán)。Reset為清零按鈕(下降沿有效),無論何時按下它時,clc跳變?yōu)楦唠娖?,en變?yōu)榈碗娖?,以達到使計數(shù)器清零的目的。3.十進制計數(shù)模塊此模塊的功能就是完成十進制的計數(shù)功能,同時輸出進位信號。其模塊圖如下圖所示:Clk為時鐘信號輸入端,rst為計數(shù)器清零端(高電平有效),en為計數(shù)器使能端(高電平有效);daout為數(shù)據(jù)輸出端,cout為進位信號輸出端。4.六進制計數(shù)模塊 此模塊的功能就是完成六進制的計數(shù)功能,同時輸出進位信號。其端口功能同十進制計數(shù)模塊,在次不再重復訴說。5.數(shù)碼管掃描模塊該模塊的功能是選擇各個計數(shù)端口來的數(shù)據(jù)

7、,當相應的數(shù)據(jù)到來時,數(shù)據(jù)選擇器選擇數(shù)據(jù)后輸出給七段譯碼器,同時輸出位選信號,再接入到實驗箱上的8字數(shù)碼顯示電路上就可顯示了。 其模塊圖如下圖所示:Clk為時鐘信號輸入端,msec1.minute2是各個計數(shù)端口來的數(shù)據(jù)的輸入端,deout為數(shù)據(jù)選擇器選擇數(shù)據(jù)后輸出端,sel為位選信號輸出端。6.七段譯碼顯示模塊 該模塊的功能就是把輸入的四位二進制數(shù)據(jù)轉(zhuǎn)換為七段數(shù)碼管的顯示編碼,再輸入到七段數(shù)碼管中顯示出數(shù)據(jù)。其模塊圖如下圖所示:五:程序設(shè)計如下分頻計的源程序代碼LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY FP ISPORT(CLK: IN

8、STD_LOGIC;NEWCLK: OUT STD_LOGIC);END FP;ARCHITECTURE ART OF FP IS SIGNAL CNTER: INTEGER RANGE 0 TO 10#29999#; BEGIN PROCESS(CLK) IS BEGIN IF CLKEVENT AND CLK=1 THEN IF CNTER=10#29999# THEN CNTER=0; ELSE CNTER=CNTER + 1; END IF; END IF;END PROCESS;PROCESS(CNTER) ISBEGIN IF CNTER=10#29999# THEN NEWCLK

9、=1; ELSE NEWCLK=0; END IF;END PROCESS;END ART;六進制計數(shù)器的源程序代碼LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY TN6 ISPORT(CLK: IN STD_LOGIC;CLR: IN STD_LOGIC;ENA: IN STD_LOGIC;CQ: OUT INTEGER RANGE 0 TO 15;CARRY_OUT: OUT STD_LOGIC);END TN6;ARCHITECTURE ART OF TN6 ISSIGNAL CQI: INTEGER RANGE 0 TO 15;BEGIN

10、PROCESS(CLK,CLR,ENA) ISBEGINIF CLR=1 THEN CQI=0;ELSIF CLKEVENT AND CLK=1 THENIF ENA=1 THENIF CQI5 THEN CQI=CQI+1;ELSE CQI=0;END IF;END IF;END IF;END PROCESS;PROCESS(CQI) ISBEGINIF CQI=5 THEN CARRY_OUT=1;ELSE CARRY_OUT=0; END IF;END PROCESS;CQ=CQI;END ART;十進制計數(shù)器源程序代碼LIBRARY IEEE;USE IEEE.STD_LOGIC_11

11、64.ALL;ENTITY TN10 ISPORT(CLK: IN STD_LOGIC;CLR: IN STD_LOGIC;ENA: IN STD_LOGIC;CQ: OUT INTEGER RANGE 0 TO 15;CARRY_OUT: OUT STD_LOGIC);END TN10;ARCHITECTURE ART OF TN10 ISSIGNAL CQI: INTEGER RANGE 0 TO 15;BEGINPROCESS(CLK,CLR,ENA) ISBEGINIF CLR=1 THEN CQI=0;ELSIF CLKEVENT AND CLK=1 THENIF ENA=1 THE

12、NIF CQI9 THEN CQI=CQI+1;ELSE CQI=0;END IF;END IF;END IF;END PROCESS;PROCESS(CQI) ISBEGINIF CQI=9 THEN CARRY_OUT=1;ELSE CARRY_OUT=0; END IF;END PROCESS;CQ=CQI;END ART;掃描電路的源程序代碼LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SCAN ISPORT(scanclk:in std_logic;count1,Coun

13、t2,count3,count4,count5,count6:in std_logic_VECTOR(3 DOWNTO 0);S:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);DOUT:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END ENTITY SCAN;ARCHITECTURE DATAFLOW OF SCAN ISSIGNAL SS:STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINPROCESS(scanclk)beginIF(scanclkEVENT AND scanclk=1)THENIF(SS=101)THENSS=

14、000;ELSESS=SS+1;END IF;END IF;END PROCESS;S=SS;DOUT=COUNT1 WHEN SS=000 ELSE COUNT2 WHEN SS=001 ELSE COUNT3 WHEN SS=010 ELSE COUNT4 WHEN SS=011 ELSE COUNT5 WHEN SS=100 ELSE COUNT6;END DATAFLOW;位碼選擇電路的源程序代碼LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY YIMA ISPORT(INP:

15、 IN STD_LOGIC_VECTOR(2 DOWNTO 0);OUTP: OUT BIT_VECTOR(7 DOWNTO 0);END YIMA;ARCHITECTURE ART OF YIMA ISBEGINOUTP(0)=1 WHEN INP=000 ELSE 0;OUTP(1)=1 WHEN INP=001 ELSE 0;OUTP(2)=1 WHEN INP=010 ELSE 0;OUTP(3)=1 WHEN INP=011 ELSE 0;OUTP(4)=1 WHEN INP=100 ELSE 0;OUTP(5)=1 WHEN INP=101 ELSE 0;OUTP(6)=1 WHE

16、N INP=110 ELSE 0;OUTP(7) LED LED LED LED LED LED LED LED LED LED LED LED LED LED LED LED = ;END CASE;END PROCESS;A=LED(6);B=LED(5);C=LED(4);D=LED(3);E=LED(2);F=LED(1);G=LED(0);END ART;六:編譯仿真及硬件測試1.編譯仿真當完成了以上秒表系統(tǒng)各個模塊的VHDL設(shè)計,就可以使用Quartus對本設(shè)計進行編譯和仿真。首先使用文本編輯器輸入本設(shè)計的所有模塊的源程序,先對各個模塊進行編譯和仿真,當所有模塊全部編譯通過和仿真功

17、能正確后,就可以利用圖形編輯工具完成頂層設(shè)計,其設(shè)計圖如頂層設(shè)計圖所示。然后再對圖形編輯器編輯出的頂層設(shè)計圖進行全程編譯,通過之后就可以進行系統(tǒng)的整體仿了。其中各個模塊的仿真已在模塊設(shè)計中完成,在此從略,下面只說明系統(tǒng)的整體仿真。2.頂層設(shè)計圖 在仿真中,合理選取start和reset信號,就可以進行系統(tǒng)的整體仿真了。3.仿真后得到如下仿真波形圖7. 硬件實驗調(diào)試1.開始計時2.暫停圖為運行至5.42秒暫停3.清零八實驗心得及體會從實驗中,我對整個流程有了初步了解;對實驗進行了深入學習,讓我掌握硬件描述語言Verilog HDL語言的語言規(guī)則,數(shù)據(jù)類型,語句結(jié)構(gòu)和模塊設(shè)計;接著是最關(guān)鍵的編程,

18、需要根據(jù)任務(wù)書分析需要的模塊,編程并仿真。兩周的課程設(shè)計已經(jīng)結(jié)束,雖然時間很短,但是增強了我的實踐動手能力,使我深刻地認識到僅僅學習課本上的知識是遠遠不夠的,必須要多多動手,多多實踐,才能真正理解并掌握所學的知識,達到學以致用的目的,為以后的工作積累了寶貴的經(jīng)驗,同時我也深深地感受到嚴謹?shù)膽B(tài)度對于科學研究的重要性。由于在設(shè)計的過程中,一點點的失誤都可能造成整個系統(tǒng)的癱瘓,所以每一個細節(jié)都要認真思考,認真操作,不能有絲百分的大意。這使我認識到要想做一個科研工作者是多么的不易!自己身上的缺點還有很多,要靠以后艱苦的努力來克服! 這次的課程設(shè)計給了我一次非常重要也非常難得的實踐機會,使我可以將平時課本上學習的理論知識應用于實際操作。設(shè)計的過程是十分艱苦的,由于從未接觸過類似的領(lǐng)域,所以剛開始的時候一片茫然,不知道該干些什么。隨著研究的逐漸深入,自己漸漸的摸出頭緒,掌握了一些規(guī)律和方法,設(shè)計的成果也逐步成型,最終按照要求完成了設(shè)計。在實際操作的過程中,碰

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論