


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
EDA技術(shù)設(shè)計報告題目:(作品名稱)學院:光電與信息工程學院專業(yè):電子信息工程年級:2013級學姓號:名:20159月一、 作品介紹(描寫:作品功能、應用場合、使用說明等)作品功能:可在開發(fā)板上以顯示分鐘——秒的形式顯示,每隔1s鐘,秒鐘加一,當秒鐘數(shù)達到60式,分鐘數(shù)自動加一,秒鐘數(shù)變?yōu)?0,故秒鐘數(shù)最大只會顯示59,當分鐘數(shù)達到60時,分00,59,1h,S1應用場合:(<1h時間的計時、考試等等。使用說明:計時器能顯示1s的時間,故提供給計時器內(nèi)部定時的時鐘脈沖頻率應大于10Hz。計時器計時長度為36004LED3600~001。清0,并作好清0準備。復位開關(guān)可以在任何情況下使用,在計時過程中,只要按一下復位開關(guān),計時進程就終止,并對計時器清零。二、 硬件設(shè)計(描寫:硬件總框圖,工作原理,工作過程等)硬件總框圖:USBUSBBLASTERUSBDEVICEUSBHOSTFT245ISP1362EP2C35MAX3128EPCS16SDRAMSRAMFLASHFLASHHEX7HEX6HEX5HEX4HEX7HEX6HEX7HEX6SW1SW0-1-時鐘基準時鐘時鐘基準時鐘動態(tài)顯示譯碼顯示復位計數(shù)器工作原理:本設(shè)計可分為六個主要模塊:鍵輸入消抖模塊時鐘分頻電路模塊控制電路模塊計時電路模塊存儲器模塊動態(tài)掃描譯碼顯示模塊各個輸入/輸出端口的作用如下:CLK為復位信號。SW0為終端按鍵,按下此按鍵可停止計數(shù)SW1為復位鍵,用于復位以及從觀看記錄模式切換回計時模式用。led0,led1,led2,led3,led4,led5,led6,led7消抖模塊秒表面板上有2個按鍵:復位)啟停)5-10ms。抖動會引起被誤讀多次。為確保FPGA對鍵的閉合僅作一次處理,必須去除按鍵抖動。通常在按鍵較少時可用硬件方法消除抖動,一般采用RS觸發(fā)器作為常用的消抖電路,EDARS觸發(fā)器進行消抖,也可通過檢測按鍵按下的時間進行消抖。本模塊描述的防抖動電路屬于計數(shù)器型防抖動電路。其工作原理是,輸入一個50MHZ的時鐘信號,設(shè)置一個模值為4的控制計數(shù)器,在人工按鍵KEY=‘0’時,執(zhí)行加1計數(shù),如連續(xù)4次檢測到低電平則JSQ=3,即當JSQ=3時輸出低電平,4次以上檢測到低電平,JSQ依然等于3,也一直輸出低電平,這就確保了當按鍵信號持續(xù)低電平6MS以上按鍵信號才有效,抖動期間的低電平持續(xù)時間不足以輸出低電平。如沒有連續(xù)4次以上檢測到低電平,則JSQ清零。如檢測到高電平,JSQ也清零,這就導致了在抖動期間不可能輸出低電平,唯有在穩(wěn)定期間才可能輸出低電平,因此防抖動得以實現(xiàn)。-2-因為消抖電路后接的是同步設(shè)計的控制模塊控制模塊同步時鐘的長度,因此在輸出電路后,再接入一個20MHZ的CLK2信號,當輸出從1變?yōu)?時,在時鐘跳變沿,輸出低電平,在下一個時鐘跳變沿則變?yōu)槌鰹?時,則一直輸出會輸出兩個周期CLK2的低電平輸出,以供控制模塊使用。時鐘分頻電路模塊在基于EDA技術(shù)的數(shù)字電路系統(tǒng)設(shè)計中,分頻電路應用十分廣泛。常常使用分頻電輸入頻率輸出頻率)出不是一般計數(shù)器的計數(shù)結(jié)果,而是根據(jù)分頻常數(shù)對輸出信號的高,低電平控制。本設(shè)計需要一個計時范圍為0——3600秒的秒表,首先需要獲得一個比較精確的計時1/100s50MHZ經(jīng)50萬倍分頻后獲得一個精確的100HZ的脈沖來作為計數(shù)器的時鐘信號CLK100hz率采用經(jīng)2000倍分頻后的10000HZ的脈沖CLK_OUT2,按鍵消抖電路部分需要采用經(jīng)4萬倍分頻后產(chǎn)生的500HZ的脈沖CLK_OUT3作為檢測信號??刂齐娐纺K讀取控制,控制模塊為同步電路設(shè)計,在時鐘上升沿才變化,主控電路的功能:實現(xiàn)系統(tǒng)復位:當SW1鍵按下時,輸出CLR=’0’以及Q=’0’信號,實現(xiàn)計時清零并停止功能,當系統(tǒng)/??刂疲寒敯聪翶2QQ=’0’時,計數(shù)器暫停計時。計數(shù)模塊計數(shù)器是由基本的計數(shù)單元和一些控制門所組成,計數(shù)單元則由一系列具有存儲信息功能的各類觸發(fā)器構(gòu)成,這些觸發(fā)器有RS觸發(fā)器、T觸發(fā)器、D觸發(fā)器及JK觸發(fā)器等。計數(shù)器在數(shù)字系統(tǒng)中應用廣泛,如在電子計算機的控制器中對指令地址進行計數(shù),以便順序取出LCD或LED屏才能顯示。計數(shù)器的種類:如果按照計數(shù)器中的觸發(fā)器是否同時翻轉(zhuǎn)分類器兩種。-3-常見的同步計數(shù)器有74160系列,74LS190系列,常見的異步計數(shù)器有74LS290系列。如果按照技術(shù)過程中數(shù)字增減分類,又可將計數(shù)器分為加法計數(shù)器、減法計數(shù)器和可逆可逆計數(shù)器。一目了然,知道這個計數(shù)器到底是什么觸發(fā)方式,以便于設(shè)計者進行電路的設(shè)計。計數(shù)器的原理是將幾個觸發(fā)器按照一定的順序連接起來定的規(guī)律隨時鐘的變化來記憶時鐘的個數(shù)VHDL語言來對計數(shù)器進行描述了。采用了同步計數(shù)器設(shè)計以及格雷碼計數(shù)器設(shè)計,來最大限度的消除毛刺,系統(tǒng)需要3個模10格雷碼計數(shù)器以及一個模60.01S位計時器由100HZ脈沖作為輸入時鐘,1S0.1S計時器的時鐘由1S的進位輸4位格雷碼是到15回09回0的,所以要在原有格雷碼的基礎(chǔ)上做些修改,對應的0到9數(shù)字。在設(shè)計格雷碼計數(shù)器的時候可以使用狀態(tài)機有64計時電路模塊輸入端有使能端E100HZ時鐘輸入CLCL0.1S位1S位10S位和CO進位端,在10HZ時鐘輸入給0.1S位并在控制模塊輸出Q=’1’時暫停計時,控制端按下清零鍵則止計時并全部清零。動態(tài)掃描譯碼顯示模塊一個發(fā)光二極管單元多一個小數(shù)點顯示。七段數(shù)碼管的的基本原理是將所要顯示的數(shù)字翻譯成構(gòu)成該電路中可發(fā)光二極管的驅(qū)動信號,分別用AB、、D、、、G來表示不同位置的二極管,驅(qū)動信號會驅(qū)動不同位置的的發(fā)光二極管發(fā)光來顯示出0到9數(shù)字的驅(qū)動信號需要特定的譯碼電路。-4-極(COM)的數(shù)碼管,在應用時應將公共極COM接到+5V,當某一字段發(fā)光二極管的陰極為電COM的數(shù)碼管,在應用時應將公共極COM接到地線GND上,當某一字段發(fā)光二極管的陽極為高電平時,相應字段就點亮。當某一字段的陽極為低電平時,相應字段就不亮,本次設(shè)計使用共陽數(shù)碼管。字,因此根據(jù)數(shù)碼管的驅(qū)動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每個數(shù)碼管的每一個段碼都由一個I/O端口進行驅(qū)動,或者使用如BCDI/O5個數(shù)碼管靜態(tài)顯示則需要5×8=40根I/O端口來驅(qū)動,實際應用時必須增加譯碼驅(qū)動器進行驅(qū)動,增加了硬件電路的復雜性。數(shù)碼管動態(tài)顯示接口是應用最為廣泛的一種顯示方式之一8個顯示筆劃"a,b,c,d,e,f,g,d,p"的同名端連在一起,另外為每個數(shù)碼管的公共極增加位選通控制電路,位選通由各自獨立的I/O線控制,當系統(tǒng)輸出顯示碼時,所有數(shù)碼管都接收1~2ms,由于人的視覺暫留現(xiàn)象及I/O端口,而且功功耗更低。在本次設(shè)計中將采用七段共陽型數(shù)碼管動態(tài)顯示電路的來設(shè)計。三、 軟件設(shè)計(描寫:軟件總框圖,各模塊流程圖并加以詳細說明)程序采用自頂向下分層設(shè)計,軟件總框圖如下:存儲器存儲器計時程序動態(tài)掃描譯碼程序主控程序按鍵消抖處理程序分頻電路程序八段數(shù)碼管按鍵掃描程序CLK50M-5-七段共陽型數(shù)碼管譯碼表:各模塊流程圖Led七段共陽型數(shù)碼管顯示模塊:流程圖:開始開始定義輸入變量datain定義輸出變量ledout、dataoutledout[OUTWIDTH-1:1]=dataout顯示譯碼結(jié)束程序:moduleled(datain,ledout);parameterINWIDTH=4;parameterOUTWIDTH=8;input[INWIDTH-1:0]datain;output[OUTWIDTH-1:0]ledout;reg[OUTWIDTH-2:0]dataout;assignledout[OUTWIDTH-1:1]=dataout;alwaysbegincase(datain)0:dataout<=7'b1000000;1:dataout<=7'b1111001;2:dataout<=7'b0100100;3:dataout<=7'b0110000;4:dataout<=7'b0011001;5:dataout<=7'b0010010;6:dataout<=7'b0000010;7:dataout<=7'b1111000;8:dataout<=7'b0000000;9:dataout<=7'b0010000;10:dataout<=7'b0001000;11:dataout<=7'b0000011;12:dataout<=7'b1000110;13:dataout<=7'b0100001;14:dataout<=7'b0000110;15:dataout<=7'b0001110;-6-default:dataout<=7'b1000000;endcaseendendmodule分析:符。按鍵掃描程序:流程圖開始開始定義計時器的counter位數(shù)為8定義使用時鐘信號并賦值為輸入信號的最高位如果輸入信號 clk上升沿到來時Ycounter自加一N如果使用時鐘信號clk_use上升沿到來,即為了消去按鍵抖動YN輸出信號keyout=keyin模塊結(jié)束程序:moduleswitch(clk,keyin,keyout);parameterCOUNTWIDTH=8;inputclk,keyin;outputregkeyout;reg[COUNTWIDTH-1:0]counter;wireclk_use; //assignclk_use=counter[COUNTWIDTH-1];always@(posedgeclk)counter<=counter+1'b1;always@(posedgeclk_use)keyout<=keyin;endmodule-7-分析此功能程序包含兩個輸入變量clk、keyin,一個輸出變量keyout,clk供給程序時鐘脈沖,keyin提供程序按鍵的操作實現(xiàn)的功能(實現(xiàn)復位或者暫停),輸出變量keyout實現(xiàn)對提供的輸入信號keyin的處理。本程序較為簡單,主要是用來實現(xiàn)按鍵的消抖:即由counter和clk_use構(gòu)成的延時實現(xiàn)消抖,當輸入信號clk上升沿(即時鐘信號上升沿到來時),counter自加一,若counter的最高位發(fā)生變化時,即發(fā)生從0到1的跳變,clk_use會產(chǎn)生一個上升沿的變化,通過時間的延遲從而實現(xiàn)消抖,消抖時間為128*輸入時間脈沖clk的時間??赏ㄟ^程序仿真觀察此模塊實現(xiàn)的功能:當keyin為復位時,即clr=1,led4=led5=led6=led7=1000000(數(shù)碼管最低位即小數(shù)點位沒用到故只看前7位,查看ledled=10000000當keyin為暫停時,即pause=1,可看到led4、led5、led6、led7保持狀態(tài)不變主程序模塊:流程圖:-8-開始開始定義輸入輸出口調(diào)用按鍵掃描模塊程序led1=led2=led3=led0=8'b11111111,即低四位數(shù)碼管消隱Nif(!isstop)即未按下暫停/Y分頻得到100hz時間脈沖if(zero)即按下復位按鈕Y實現(xiàn)1s計時N計時器清零if(s0==9)Ys0<=0,s1<=s1+1Ns0<=s0+1if(s1==5YNs1<=0,minu0<=minu0+1s1<=s1+1if(minu0==9)YNminu0<=0,minu1<=minu1+1minu0<=minu0+1if(minu1==5)Yminu1<=0Nminu1<=minu1+1調(diào)用顯示模塊結(jié)束程序:modulepaobiao(clk50m,pause,clr,led0,led1,led2,led3,led4,led5,led6,led7);parameterWIDTH=8;(*chip_pin="N2"*)(*chip_pin="N25"
inputclk50m;inputpause;-9-(*chip_pin="N26"*) inputclr;(*chip_pin="N9,P9,L7,L6,L9,L2,L3,Y18"*)output[7:0]led7;(*chip_pin="M4,M5,M3,M2,P3,P4,R2,AA20"*) output[7:0](*chip_pin="R3,R4,R5,T9,P7,P6,T2,U17"*)output[7:0]led5;(*chip_pin="T3,R6,R7,T4,U2,U1,U9,U18"*)output[7:0]led4;(*chip_pin="W24,U22,Y25,Y26,AA26,AA25,Y23,W19"*) output[7:0]led3;(*chip_pin="Y24,AB25,AB26,AC26,AC25,V22,AB23,V18"*) output[7:0](*chip_pin="AB24,AA23,AA24,Y22,W21,V21,V20,AF22"*)output[7:0]led1;(*chip_pin="V13,V14,AE11,AD11,AC12,AB12,AF10,AE22"*) output[7:0]led0;//=====================暫停標志=====================wireisstop;wirezero;
//標識跑表當前是否處于停止狀態(tài)switch#(8)switchstop(clk50m,pause,isstop);switch#(8)switchzero(clk50m,clr,zero);regcounter_100hz;//從50Mhz分頻到100hz的計數(shù)器wireclk100;//=================分頻得到100hz的時鐘=================//assignclk100=counter_100hz[18];assignclk100=counter_100hz;assignled0=8'b11111111;assignled1=8'b11111111;assignled2=8'b11111111;assignled3=8'b11111111;always@(posedgeclk50m)beginif(!isstop)beginif(counter_100hz==1)counter_100hz<=0;elsecounter_100hz=counter_100hz+1;endendreg[3:0]regfs0;//百分秒十位fscarry0; //百分秒十位的進位reg[3:0]fs1;//百分秒十位regfscarry1; //百分秒十位的進位reg[3:0]s0;//秒的個位regscarry0; //秒個位的進位reg[3:0]s1;//秒的十位regscarry1; //秒十位的進位-10-reg[3:0] minu0; //分的個位reg
miucarry0;
//分個位的進位reg[3:0] minu1; //分的十位always@(posedgeclk100orposedgezero)beginif(zero)beginfs0<=0;fscarry0<=0; elseif(clk100==1)beginif(fs0==9)beginfs0<=0;fscarry0<=1;endelsebeginfs0<=fs0+1;fscarry0<=0;endendendalways@(posedgefscarry0orposedgezero)beginif(zero)beginfs1<=0;fscarry1<=0;endelseif(fscarry0==1)beginif(fs1==9)beginfs1<=0;fscarry1<=1;endelsebeginfs1<=fs1+1;fscarry1<=0;endendendalways@(posedgefscarry1orposedgezero)beginif(zero)begins0<=0;scarry0<=0;endelseif(fscarry1==1)beginif(s0==9)begins0<=0;scarry0<=1;endelsebegins0<=s0+1;scarry0<=0;endendendalways@(posedgescarry0orposedgezero)beginif(zero)begins1<=0;scarry1<=0;endelseif(scarry0==1)beginif(s1==5)
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)銀行面試試題及答案
- 寧夏銀行考試試題及答案
- 煤礦高層面試題及答案
- 醫(yī)博士科護理培訓考試試題及答案
- 垃圾治理面試題及答案
- 2025年便攜溫度校驗儀項目建議書
- 2025年真空設(shè)備項目建議書
- 名著《昆蟲記》課件
- 2025年設(shè)施環(huán)境計算機自動控制設(shè)備項目合作計劃書
- 2025年動力調(diào)諧陀螺平臺合作協(xié)議書
- 稅務政策培訓課件
- 循環(huán)水培訓課件
- 大型喪事活動方案
- 2025秋人教版(2024)八年級上冊地理 【教學課件】1.1.1 《疆域》
- 《數(shù)據(jù)中心鋰離子電池消防安全白皮書》
- 餐廳迎賓禮儀培訓
- 公司EHS管理制度
- 消防法案例課件
- 2025銀川市輔警考試試卷真題
- 動物診療單位管理制度
- 手術(shù)室電刀試題及答案
評論
0/150
提交評論