FPGA數(shù)字秒表設(shè)計(jì)_第1頁
FPGA數(shù)字秒表設(shè)計(jì)_第2頁
FPGA數(shù)字秒表設(shè)計(jì)_第3頁
FPGA數(shù)字秒表設(shè)計(jì)_第4頁
FPGA數(shù)字秒表設(shè)計(jì)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、基于EDA勺數(shù)字秒表設(shè)計(jì)論文班級(jí): 11 電信二班20111060223張忠義 20111060240基于EDA的數(shù)字秒表設(shè)計(jì)摘要:該設(shè)計(jì)是用于體育比賽的數(shù)字秒表,基于EDAft Quartus II 9.0sp2軟件下應(yīng)用VHD印言編寫程序,采用ALTR慫司Cyclonell系列的EP2C8Q208芯片進(jìn)行了計(jì)算機(jī)仿真,并給出了相應(yīng)的仿真結(jié)果。本設(shè)計(jì)有效的克服了傳統(tǒng)的數(shù)字秒表的缺點(diǎn)采用EDA支術(shù)采取自上而下的設(shè)計(jì)思路。繪制出了具體的邏輯電路,最后又通過硬件上對(duì)其進(jìn)行調(diào)試和驗(yàn)證。該電路能夠?qū)崿F(xiàn)很好的計(jì)時(shí)功能,計(jì)時(shí)精度高,最長計(jì)時(shí)時(shí)間可達(dá)一個(gè)小時(shí)。關(guān)鍵字 :數(shù)字秒表;EDA; FPGA; VHD

2、L; Quartus II1 引言在科技高度發(fā)展的今天,集成電路和計(jì)算機(jī)應(yīng)用得到了高速發(fā)展。尤其是計(jì)算機(jī)應(yīng)用的發(fā)展。它在人們?nèi)粘I钜阎饾u嶄露頭角。大多數(shù)電子產(chǎn)品多是由計(jì)算機(jī)電路組成,如:手機(jī)、mp30而且將來的不久他們的身影將會(huì)更頻繁的出現(xiàn)在我們身邊。各種家用電器多會(huì)實(shí)現(xiàn)微電腦技術(shù)。電腦各部分在工作時(shí)多是一時(shí)間為基準(zhǔn)的。本文就是基于計(jì)算機(jī)電路的時(shí)鐘脈沖信號(hào)、狀態(tài)控制等原理設(shè)計(jì)出的數(shù)字秒表1。秒表在很多領(lǐng)域充當(dāng)一個(gè)重要的角色。在各種比賽中對(duì)秒表的精確度要求很高,尤其是一些科學(xué)實(shí)驗(yàn)。他們對(duì)時(shí)間精確度達(dá)到了幾納秒級(jí)別。2 設(shè)計(jì)要求(1)能對(duì)0秒59分59.99秒范圍進(jìn)行計(jì)時(shí),顯示最長時(shí)間是 59分

3、59秒;(2) 計(jì)時(shí)精度達(dá)到0.01s;(3) 設(shè)計(jì)復(fù)位開關(guān)和啟停開關(guān),復(fù)位開關(guān)可以在任何情況下使用,使用以后計(jì)時(shí)器清零,并做好下一次計(jì)時(shí)的準(zhǔn)備。設(shè)計(jì)由控制模塊、時(shí)基分頻模塊,計(jì)時(shí)模塊和顯示模塊四部分組成。各模塊實(shí)現(xiàn)秒表不同的功能3 數(shù)字秒表設(shè)計(jì)的目的本次設(shè)計(jì)的目的就是在掌握EDA 實(shí)驗(yàn)開發(fā)系統(tǒng)的初步使用基礎(chǔ)上,了解EDA 技術(shù),對(duì)計(jì)算機(jī)系統(tǒng)中時(shí)鐘控制系統(tǒng)進(jìn)一步了解,掌握狀態(tài)機(jī)工作原理,同時(shí)了解計(jì)算機(jī)時(shí)鐘脈沖是怎么產(chǎn)生和工作的。在掌握所學(xué)的計(jì)算機(jī)組成與結(jié)構(gòu)課程理論知識(shí)時(shí)。通過對(duì) 數(shù)字秒表的設(shè)計(jì), 進(jìn)行理論與實(shí)際的結(jié)合,提高與計(jì)算 機(jī)有關(guān)設(shè)計(jì)能力,提高分析、解決計(jì)算機(jī)技術(shù)實(shí)際問題的能力。通過課程

4、設(shè)計(jì)深 入理解計(jì)算機(jī)結(jié)構(gòu)與控制實(shí)現(xiàn)的技術(shù),達(dá)到課程設(shè)計(jì)的目標(biāo)。如上圖所示,計(jì)時(shí)控制器的作用是控制計(jì)時(shí)。計(jì)時(shí)控制器的輸入信號(hào)是啟動(dòng), 暫停和清零。為符合慣例,將啟動(dòng)和暫停功能設(shè)置在同一個(gè)按鍵上, 按一次是啟 動(dòng),按第二次是暫停,按第三次是清零。所以計(jì)時(shí)控制器共有2個(gè)開關(guān)輸入信號(hào), 即啟動(dòng)/暫停和清零信號(hào)。計(jì)時(shí)電路的輸入信號(hào)、計(jì)數(shù)允許,保持和清零信號(hào),輸出為 100ms 1s和 min的計(jì)時(shí)數(shù)據(jù)。時(shí)基分頻器是一個(gè)分頻器,產(chǎn)生 100ms周期的脈沖.用于計(jì)時(shí) 電路時(shí)鐘信號(hào)。顯示電路為動(dòng)態(tài)掃描電路。用以顯示 min、1s, 100ms信號(hào)。5各模塊實(shí)現(xiàn)計(jì)時(shí)模塊的作用是針對(duì)計(jì)時(shí)過程進(jìn)行控制。 計(jì)時(shí)控制模

5、塊可用倆個(gè)按鈕來完 成秒表的啟動(dòng)、停止和復(fù)位。時(shí)鐘分頻模塊的作用把輸入時(shí)鐘信號(hào)變?yōu)榉诸l輸出信號(hào)。計(jì)時(shí)模塊執(zhí)行計(jì)時(shí)功能,計(jì)時(shí)方法和計(jì)算機(jī)一樣是對(duì)標(biāo)準(zhǔn)時(shí)鐘脈沖計(jì)數(shù)。它 是由十進(jìn)制計(jì)數(shù)器和六進(jìn)制計(jì)數(shù)器構(gòu)成, 其中毫秒位、十毫秒位、秒位和分位采 用十進(jìn)制計(jì)數(shù)器,十秒位和十分位采用六進(jìn)制計(jì)數(shù)器。計(jì)時(shí)顯示電路的作用是將計(jì)時(shí)值在 LED數(shù)碼管上顯示出來。計(jì)時(shí)電路產(chǎn)生的 值經(jīng)過BCDt段譯碼后,驅(qū)動(dòng)LED數(shù)碼管。計(jì)時(shí)顯示電路的實(shí)現(xiàn)方案采用掃描顯 示。6仿真演示7實(shí)驗(yàn)結(jié)果演示/wnaaB /590S50W5B05、程序(1)分頻模塊:module fengpin(CLK,CLK1,CLK2); / 輸入 50M

6、Hz 輸出分頻到 1Hz input CLK;output CLK1,CLK2;reg CLK1,CLK2;reg24:0 counted; / 中間變量counter定義為寄存器型reg24:0 counter2;parameter N1=500000;/50_000_000;parameter N2=2500;always(posedge CLK)begincounter1<=counter1+1'b1;/if(counter1= N1/2-1)beginCLK1 <= CLK1;counter1<=0;endcounter2<=counter2+1'

7、;b1;/if(counter2=N2/2-1)beginCLK2<=CLK2;counter2<=0;endendendmodule( 2)六進(jìn)制計(jì)數(shù)器:module CNT6(CLK,RST,EN,CQ,DOUT);input CLK,EN,RST;output 3:0 DOUT;output CQ;reg 3:0 Q1;reg CQ;assign DOUT=Q1;always(posedge CLK or negedge RST)beginif(!RST) Q1<=0;beginif(Q1<5) Q1<=Q1+1'b1;else Q1<=3&#

8、39;b0000;endendalways(Q1)if(Q1=4'h5) CQ=1'b0;else CQ=1'b1;endmodule( 3)十進(jìn)制計(jì)數(shù)器:module CNT10(CLK,RST,EN,CQ,DOUT);input CLK,EN,RST;output 3:0 DOUT;output CQ;reg 3:0 Q1;reg CQ;assign DOUT=Q1;always(posedge CLK or negedge RST)beginif(!RST) Q1<=0;else if(EN)beginif(Q1<9) Q1<=Q1+1'

9、b1;else Q1<=4'b0000;endendalways(Q1)if(Q1=4'h9) CQ=1'b0;else CQ=1'b1;endmodule( 4)二十四進(jìn)制計(jì)數(shù)器:moduleCNT24(CLK,RST,EN,COUT);input CLK,EN,RST;output7:0 COUT;reg 7:0 COUT;always(posedge CLK)beginif(COUT7:4!=2)beginif(COUT3:0=4'b1001)beginCOUT7:4<=COUT7:4+4'b0001;COUT3:0<=4

10、'b0000;endelsebeginCOUT7:4<=COUT7:4;COUT3:0<=COUT3:0+4'b0001; endendelseif(COUT3:0=4'b0011)beginCOUT7:4<=4'b0000;COUT3:0<=4'b0000;elsebeginCOUT7:4<=COUT7:4;COUT3:0<=COUT3:0+4'b0001;end endendmodule( 5)數(shù)碼管掃描顯示模塊:module scan_led(clk_1k,d,dig,seg); / input clk_

11、1k;input31:0 d;output7:0output7:0 seg;reg7:0 seg_r;reg7:0 dig_r;reg3:0 disp_dat;reg2:0count;模塊名 scan_led/ 輸入時(shí)鐘/ 輸入要顯示的數(shù)據(jù)dig;/數(shù)碼管選擇輸出引腳/ 數(shù)碼管段輸出引腳/ 定義數(shù)碼管輸出寄存器/ 定義數(shù)碼管選擇輸出寄存器/ 定義顯示數(shù)據(jù)寄存器/ 定義計(jì)數(shù)寄存器/ 輸出數(shù)碼管assign dig = dig_r;選擇/ 輸出數(shù)碼管assign seg = seg_r;endcase譯碼結(jié)果/ 定義上升沿觸發(fā)進(jìn)程always (posedge clk_1k)count <=

12、 count + 1'b1;beginendalways (posedge clk_1k)begincase(count)/ 選擇掃描顯示數(shù)據(jù)3'd0:disp_dat = d31:28;/ 第一個(gè)數(shù)碼管3'd1:disp_dat = d27:24;/ 第二個(gè)數(shù)碼管3'd2:disp_dat = 4'ha;/ 第三個(gè)數(shù)碼管3'd3:disp_dat = d19:16;/ 第四個(gè)數(shù)碼管3'd4:disp_dat = d15:12;/ 第五個(gè)數(shù)碼管3'd5:disp_dat = 4'hb;/ 第六個(gè)數(shù)碼管3'd6:di

13、sp_dat = d7:4;/ 第七個(gè)數(shù)碼管3'd7:disp_dat = d3:0;/ 第八個(gè)數(shù)碼管endalways (disp_dat)begincase(count)/ 選擇數(shù)碼管顯示位3'd0:dig_r = 8'b01111111;/ 選擇第一個(gè)數(shù)碼管顯示3'd1:dig_r = 8'b10111111;/ 選擇第二個(gè)數(shù)碼管顯示3'd2:dig_r = 8'b11011111;/ 選擇第三個(gè)數(shù)碼管顯示3'd3:dig_r = 8'b11101111;/ 選擇第四個(gè)數(shù)碼管顯示3'd4:dig_r = 8&

14、#39;b11110111;/ 選擇第五個(gè)數(shù)碼管顯示3'd5:dig_r = 8'b11111011;/ 選擇第六個(gè)數(shù)碼管顯示3'd6:dig_r = 8'b11111101;/ 選擇第七個(gè)數(shù)碼管顯示3'd7:dig_r = 8'b11111110;/ 選擇第八個(gè)數(shù)碼管顯示endcasecase(disp_dat)/ 七段譯碼4'h0:seg_r = 8'hc0;/ 顯示04'h1:seg_r = 8'hf9;/ 顯示1endcaseend4'h2:seg_r = 8'ha4;/ 顯示24'

15、h3:seg_r = 8'hb0;/ 顯示34'h4:seg_r = 8'h99;/ 顯示44'h5:seg_r = 8'h92;/ 顯示54'h6:seg_r = 8'h82;/ 顯示64'h7:seg_r = 8'hf8;/ 顯示74'h8:seg_r = 8'h80;/ 顯示84'h9:seg_r = 8'h90;/ 顯示94'ha:seg_r = 8'hbf;/ 顯示a4'hb:seg_r = 8'hbf;/ 顯示b/*4'hc:seg_r =

16、 8'hc6;/ 顯示 c4'hd:seg_r = 8'ha1;/ 顯示 d4'he:seg_r = 8'h86;/ 顯示e4'hf:seg_r = 8'h8e;/ 顯示f*/endmodule6、原理圖:年口。 *.:13*v Q* Q中Q:OTop Vifrwx QK Ac 1Z*0 Q:gMAXIo"oEPM570T1MC5 ,143i心OOO 0 0£Q 0 0 0 VO AO O 0 © ©iVO ooo r B4 1 * * * «0UtpLOutpL7、引腳定義:Earned

17、 |QModeN-m-2囤EG,?!棵芴飐egp.,0<<new node>> | <k» Editx(yFilter:因Node NameDrectionLocationI/O BankI/O StandarddkInputPIN_1213.>VLtfTTL (defadt)digOutputPJNJB73.3TLEL (defkilt3Output燈心q23,3-VLmi. (default)led 6OulputF>IN_55j3.37 LVTTL (default)led 5Outputpm_563.3中 LVTTL (defedt)

18、led 4Outputpm_5723.3-VLmi (defadt)led3OutputPIN_5823.3-V LEL (defadt)l«l2OutputPIN_M23.>v lvttl (defkJt)lsdllOutputP1N.6623.3-v LVTTL (de fault JledOOutputPIN_673,3-V LEL (default)seg7Outputpm_7723.3-VLVTTL (default)g叵OutputpmjBZ23.37 LVTTL (defadt)seg國OutputPIN_7B23.3-V Lmi (defadt)seg4|OuitputPJNJ423.3-V IEL (default)seg3OutputPIN 一抬23.3-V LEI. (defsUt)s«g2OutputP1NJ31z3,3 L<TTL (default)seglOutputPDMJ833.3-VLVTTL (default)segO:Outputpm_7623.37 LVTTL (defadt*,CZutnL.8、實(shí)驗(yàn)總結(jié)本系統(tǒng)設(shè)計(jì)用了現(xiàn)在ED股計(jì)手段,基于FPG配用VHD語言編程實(shí)現(xiàn)數(shù)字秒表的設(shè)計(jì)。運(yùn)用層次化設(shè)計(jì)方法,完成各電路模塊

溫馨提示

  • 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)論