版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、安康學(xué)院FPGA/SOPC:計報告書課題名稱:基于FPGA勺電子表設(shè)計與實(shí)現(xiàn)姓 名:劉玲學(xué) 號:0828024057院 系:電子與信息工程系專 業(yè):電子信息工程指導(dǎo)教師:王慶春崔智軍時 間:2011年6月12日-7月10日設(shè)計項(xiàng)目成績評定表一、設(shè)計任務(wù)及要求:1、設(shè)計任務(wù):利用QuartusII軟件,設(shè)計一個多功能數(shù)字鐘,要求顯示格式為小時一分 鐘一秒鐘,調(diào)整時間的按鍵用按鍵模塊的 k1和k2, k1調(diào)節(jié)小時,每按下一次, 小時增加一個小時,k2調(diào)整分鐘,每按下一次,分鐘增加一分鐘。還要通過按 鍵來控制時鐘與秒表顯示的切換功能,按鍵 k沒按下時為時鐘顯示功能,按下 時為秒表顯示功能。Ret按鍵
2、復(fù)位,復(fù)位后全部顯示 00-00-00。2、要 求:設(shè)計一個多功能數(shù)字鐘,要求顯示格式為小時一分鐘一秒鐘,調(diào)整時間的 按鍵用按鍵模塊的k1和k2, k1調(diào)節(jié)小時,每按下一次,小時增加一個小時, k2調(diào)整分鐘,每按下一次,分鐘增加一分鐘。指導(dǎo)教師簽名:年 月 日二、指導(dǎo)教師評語:指導(dǎo)教師簽名:年 月 日三、成績評定:指導(dǎo)教師簽名:年 月 日四、系部意見:系部蓋章:年 月 日設(shè)計報告書目錄一、設(shè)計目的1.二、設(shè)計原理1.2.1、 時、分、秒計時器1.2.2、 校時電路1.三、設(shè)計過程2.3.1、 整個系統(tǒng)設(shè)計框圖 23.2、 各模塊電路設(shè)計2五、課程設(shè)計體會與收獲 6.六、設(shè)計問題及問題解決 .7
3、.七、參考文獻(xiàn)7.附錄8.、設(shè)計目的1、熟悉數(shù)字集成電路的引腳安排。2、掌握EDAK片的邏輯功能及使用方法。3、了解Quartus軟件的應(yīng)用。4、掌握在Quartus環(huán)境下VHDL弋碼仿真的實(shí)現(xiàn)。5、了解數(shù)字電子表的功能工作模塊及工作原理。二、設(shè)計原理數(shù)字時鐘電路由秒、分、時5個計數(shù)模塊和6個顯示譯碼模塊組成。秒計數(shù) 模塊的計數(shù)時鐘clk為1Hz的標(biāo)準(zhǔn)信號。當(dāng)數(shù)字鐘處于正常計時狀態(tài)時,秒計數(shù) 器的進(jìn)位輸出信號c作為分鐘模塊的計數(shù)信號,分計數(shù)模塊的進(jìn)位輸出c為小時 模塊的計數(shù)信號。數(shù)字鐘除了正常計時外,還能夠調(diào)整時間。在本文中,通過手動 調(diào)節(jié)din的3個輸入量的高低電平而分別實(shí)現(xiàn)對秒、分、時的調(diào)
4、整。2.1、 時、分、秒計時器時計時器為一個24進(jìn)制計數(shù)器,分、秒計時器均為 60進(jìn)制計數(shù)器。當(dāng)秒計時器接受到一個秒脈沖時,秒計數(shù)器開始從1計數(shù)到60,此時秒顯示器將顯示00、01、02、59、00;每當(dāng)秒計數(shù)器數(shù)到00時,就會產(chǎn)生一個 脈沖輸出送至分計時器,此時分計數(shù)器數(shù)值在原有基礎(chǔ)上加1,其顯示器將顯示00、01、02、59、00;每當(dāng)分計數(shù)器數(shù)到 00時,就會產(chǎn)生一個脈沖輸出送 至?xí)r計時器,此時時計數(shù)器數(shù)值在原有基礎(chǔ)上加1,其顯示器將顯示00、01、02、 23、00。即當(dāng)數(shù)字鐘運(yùn)行到23點(diǎn)59分59秒時,當(dāng)秒計時器在接受一個秒脈沖, 數(shù)字鐘將自動顯示00點(diǎn)00分00秒。2.2、 校時電
5、路當(dāng)開關(guān)撥至校時檔時,電子鐘秒計時工作,通過時、分校時開關(guān)分別對時、 分進(jìn)行校對,開關(guān)每按1次,與開關(guān)對應(yīng)的時或分計數(shù)器加1,當(dāng)調(diào)至需要的時 與分時,撥動reset開關(guān),電子鐘從設(shè)置的時間開始往后計時。三、設(shè)計過程3.1、 整個系統(tǒng)設(shè)計框圖a.數(shù)字電子表系統(tǒng)方框圖如圖1所示圖1數(shù)字電子表系統(tǒng)框圖秒計數(shù)器的計數(shù)時鐘信號為1Hz的標(biāo)準(zhǔn)信號,可以由CPLED®上提供的20MHz 的信號通過分頻得到。秒計數(shù)器的進(jìn)位輸出信號作為分鐘計數(shù)器的計數(shù)信號,分鐘計數(shù)器的進(jìn)位輸出信號又作為小時計數(shù)器的計數(shù)信號。設(shè)計一個同時顯示時、 分、秒6個數(shù)字的數(shù)字鐘,則需要6個七段顯示器。VHDL程序代碼見附錄:程
6、序13.2、 各模塊電路設(shè)計3.2.1、 分頻器模塊由于實(shí)驗(yàn)臺僅提供50MHz頻率,所以,需要通過分頻器電路分出所需頻率的信號,對于時鐘來說,最基本的是1HZ信號,而對于數(shù)碼管掃描最基本的是1KHZ,秒表是100HZ,所以先通過分頻器把 50MHZ分頻為1HZ、100Hz和1KHZ。3.2.2、 秒、分、時計數(shù)器模塊a.24進(jìn)制計數(shù)器(1) VHDL程序代碼見附錄:程序2(2)仿真圖:如圖273| X /a0 ©匯能修性論中巴3 后蟲時恬)agtfi.iW書 s.gi 日*fun “m 區(qū)聃四4 | 挈| w»w'iDBi| e 4.四第| 目 uftfW bdt圖
7、2 24進(jìn)制電路結(jié)構(gòu)符號圖b.60進(jìn)制計數(shù)器(2) VHDL程序代碼見附錄程序3(2)仿真圖:如圖3杼 ck_gei vdcock sdi.bdf"' cIkIi皿,TULM峰1f.M值工0CdJ笠 Compializri Feporl - FIm Sunnnrary 韻 Eg 60 hdf111nli 口g oourYter eNuu: l>Cl-JJcni#joLikii;up ssijrtti rr+cJu,fl圖360進(jìn)制電路結(jié)構(gòu)符號圖秒、分計數(shù)模塊都是60進(jìn)制的加法計數(shù)器,時計數(shù)模塊是24進(jìn)制計數(shù)器。與一般的標(biāo)準(zhǔn)計數(shù)器不同的是秒、 分、時計數(shù)模塊中分別添加了調(diào)
8、節(jié)秒、 分和小 時的功能。3.2.3、 動態(tài)顯示輸出模塊為了得到正確的顯示內(nèi)容,需要將秒、分和小時的每一位輸出信號輸入至7段譯碼電路來得到相應(yīng)的顯示信息.通過6進(jìn)制計數(shù)器來控制位譯碼器,以得到 哪一個7段數(shù)碼(共6個)管被點(diǎn)亮,同時用該計數(shù)器選擇6位二進(jìn)制的顯示內(nèi)容 輸入7段譯碼器.可以得到所有的數(shù)碼管同時顯示相應(yīng)數(shù)字的效果.3.2.4、 功能控制模塊系統(tǒng)提供的有4個搖頭開關(guān),我們可以通過這些開關(guān)來達(dá)到清零,暫停以及調(diào) 整時間的功能,每個開關(guān)旁邊對應(yīng)的有三個管腳,中間的管腳是輸出管腳,上下兩 個分別接輸入信號,即高低電平,若上面的管腳接高電平,下面的管腳接低電平, 那么當(dāng)開關(guān)撥到下方時,中間的
9、管腳輸出的就是高電平,若把開關(guān)撥到上方時,輸 出管腳輸出低電平3.2.5、 、調(diào)整時間模塊利用剩下的兩個開關(guān)組件實(shí)現(xiàn)該功能。其思想是通過一個開關(guān)的控制選擇要 調(diào)整的位,加入另外一個頻率較大的時鐘讓其進(jìn)行計數(shù),當(dāng)達(dá)到了要調(diào)整的時間 后,通過另一個開關(guān)的控制保存調(diào)整好的時間。具體實(shí)現(xiàn)為加入調(diào)整時間的模塊 用來控制時鐘、分鐘、秒鐘的計數(shù)。VHD程序代碼見附錄程序4四、系統(tǒng)調(diào)試與下載驗(yàn)證將程序下載到FPG器件中進(jìn)行硬件測試。4.1、在Quartus環(huán)境下仿真結(jié)果見以下圖形I; W I EX"3*" idwi:4 *1,- 工事愛k*1.P3 , *clfc_ 5、U7 *n
10、87;l 士口' ek«<& "Md01 u -4*jTi_i>Mioe baa tkxsi01*t* zi ±*<: - i.tnn i.*: imi-=i51 i*圖4功能仿真圖4.2、下載顯示輸出結(jié)果如下圖所示圖5秒控制顯示圖圖6小時-分控制顯示圖圖7小時控制顯示圖五、課程設(shè)計體會與收獲這次最大的收獲就是學(xué)會了很系統(tǒng)地去解決一個實(shí)際問題,學(xué)會了巧妙運(yùn)用模塊化的思想。在整個電路設(shè)計與實(shí)現(xiàn)中,最成功的地方就是有條理地將功能細(xì) 化,分成一個一個小的功能來實(shí)現(xiàn)。在這個過程中,我更深刻地體會從分立元件到中下規(guī)模集成電路再到大規(guī)模集成電
11、路的組成過程。同時也更加深入地了解了Quarterii這一軟件的更多的功六、設(shè)計問題及問題解決1 .編譯通過后,下載到硬件上之后,發(fā)現(xiàn)程序并沒有預(yù)期的效果。如顯示 亂序而沒有規(guī)律等等,當(dāng)加入適當(dāng)?shù)倪x通信號或者脈沖后發(fā)現(xiàn)問題得到了解決。 所以必須在實(shí)踐中不斷地修改以得到正確的結(jié)論。2 .高電平有效還是低電平有效,這是一個非常容易忽視的問題,有時就知 道這個端口要控制信號但不考慮好什么電平有效,造成錯誤,使得使能端或者清零端的出現(xiàn)錯誤控制信號。并且到底是脈沖控制,還是邊沿控制一定要清楚。在 實(shí)驗(yàn)時候可以避免一些不必要的麻煩。3 .引腳重復(fù)使用也是一個問題,有時候輸出信號必須輸出到一個特定的引 腳。
12、而輸出來自兩路信號,這時候必須加入一個選擇器件選擇輸出信號輸出。在實(shí)際調(diào)試的時候我們必須耐心思考,遇到問題針對問題出現(xiàn)的原因認(rèn)真思考 以解決問題。七、參考文獻(xiàn)1侯伯亨,顧新.VHDL硬件描述語言與數(shù)字電路邏輯設(shè)計M .西安:西安電子科技大學(xué)出版社,2001.2潘松,黃繼業(yè).EDA技術(shù)實(shí)用教程M . 北京:科學(xué)出版社,2002.3李國洪,沈明山.可編程器件EDA技術(shù)與實(shí)踐M .北京:機(jī)械工業(yè)出版社,2004.4張淑驊.基于FPGA勺數(shù)字秒表的 VHDL設(shè)計J .大眾科技,2006 (5)5陳意軍.基于VHDL的FPGAFF發(fā)J .電子與封裝,2006 (3)附錄程序1/ Title:clock_
13、LPM top Module/ Design:eda/ Author:wqc328/ Company:AKU_eie/ File:clk_gen.v/ Generated:Sun Mar 25 11:26:41 2011/ From:interface description file/ By:Itf2Vhdl ver. 1.20/ Description :/ Clock_LPM top module/module clock_LCD(clk_50m,/system input clock;reset,/system reset; low voltage resetadj,/input cl
14、ock adjustmode,/input clock modeSW0,/clock test enableSW1,/led speed contrSW2,/led turn ON/OFFdp01,dp34,dp67,dp25,/SEG dot for mode flag;HEX0,HEX1,HEX2,HEX3,HEX4,HEX5,HEX6,HEX7,/output to 8 SEGLEDG, LEDR,/output to LED 18+8LCD_DA TA, oLCD_ON, oLCD_RW, oLCD_EN, oLCD_RS);input clk_50m,reset,adj,mode,S
15、W0,SW1,SW2;output1:0 dp01,dp34,dp67,dp25;output6:0 HEX0,HEX1,HEX2,HEX3,HEX4,HEX5,HEX6,HEX7;output17:0 LEDR;output7:0 LEDG;output 7:0 LCD_DATA;/ LCD Data bus 8 bitsoutputoLCD_ON;/LCD Power ON/OFFoutputoLCD_RW;/LCD Read/Write Select, 0 = Write, 1ReadoutputoLCD_EN;/LCD EnableoutputoLCD_RS;/LCD Command/
16、Data Select, 0 = Command,1 = Datawire clk_50m, clk_33m,clk_1;wire adj,mode,SW0,SW1;wire 24:0 clk;wire rco_sec,rco_min,rco_hour;wire clk_sec,clk_min,clk_hour;wire1:0 dp01,dp34,dp67,dp25;wire6:0 HEX0,HEX1,HEX2,HEX3,HEX4,HEX5,HEX6,HEX7;wire6:0 HEX00,HEX01,HEX03,HEX04,HEX06,HEX07;wire31:0 iDIG;wire1:0 m
17、odf;wire clk_led1,clk_led;wire17:0 LEDR;wire7:0 LEDG;wire 7:0 LCD_DATA;/ LCD Data bus 8 bitswireoLCD_ON;/LCD Power ON/OFFwireoLCD_RW;/LCD Read/Write Select, 0 = Write, 1 = ReadwireoLCD_EN;/LCD EnablewireoLCD_RS;/LCD Command/Data Select, 0 = Command, 1DataPLL50MU1 (.inclk0(clk_50m),.c0(clk_33m);clk_g
18、enU2(.clk_33m(clk_33m),.rst(reset), .count(clk);assign clk_1= (SW0=1'b1) ?clk20 : clk24;adjust U3 (.clk_1(clk_1),.adj(adj), .sec_co(rco_sec), .min_co(rco_min), .mode(mode), .rst(reset), .clk_sec(clk_sec), .clk_min(clk_min), .clk_hour(clk_hour), .mod(modf);counter_input;/mmode select;/system rese
19、t/output clock clk;/adjust flagassign dp25=2'b11;assign dp01=2'b11;assign dp34=2'b11;assign dp67=2'b11;/31-30-29-28 27-26-25-24 $23-22-21-20/19-18-17-16 15-14-13-12 $11-10-09-08/07-06-05-04 03-02-01-00assign iDIG11:8=4'd10;assign iDIG23:20=4'd10;assign iDIG31:30,iDIG19,iDIG7=
20、4'b0000;.rst(reset), .rco(rco_sec), .q(iDIG6:0);COUNT_60 U4 (.clk(clk_sec),/count input clock;/system reset;/carry output/count input clock;/BCD code output.rst(reset), .rco(rco_min), .q(iDIG18:12);COUNT_60 U5 (.clk(clk_min),/system reset;/carry output/BCD code outputCOUNT_24 U6 (.clk(clk_hour),
21、 .rst(reset), .rco(rco_hour), .q(iDIG29:24);sem_drive U7 (.oSEG0(HEX00), .oSEG1(HEX01), .oSEG2(HEX2), .oSEG3(HEX03), .oSEG4(HEX04), .oSEG5(HEX5), .oSEG6(HEX06), .oSEG7(HEX07), .iDIG(iDIG);assign HEX0,HEX1=(modf!=2'b01)/count input clock;/system reset;/carry output/output to 8 SEG/input 8-BCD cod
22、e (4*8=32bit)? HEX00,HEX01:(!clk23=1'b1) ? HEX00,HEX01 : 7'd1277d127;assign HEX3,HEX4=(modf!=2'b10)? HEX03,HEX04:(!clk23=1'b1) ? HEX03,HEX04 : 7'd1277d127;assign HEX6,HEX7=(modf!=2'b11)? HEX06,HEX07:(!clk23=1'b1) ? HEX06,HEX07 : 7'd1277d127;assign clk_led1=(SW1=1'
23、b1) ? clk21 : clk20;assign clk_led =(SW2=1'b1) ? clk_led1: 1'b0;led_control U8 (.clk(clk_led),/system clock;.rst(reset), .LEDG(LEDG), .LEDR(LEDR);/system reset;/output to LEDG;/output to LEDR;Icd U9 (.iCLK(clk_33m),clk_MHZ.iRST_N(reset), /reset /LCD Side .LCD_DA TA(LCD_DATA), .LCD_RW(oLCD_RW
24、), .LCD_EN(oLCD_EN), .LCD_RS(oLCD_RS), .LCD_ON(oLCD_ON), .in3(iDIG31:24),.in2(iDIG19:12), .in1(iDIG7:0), .clk_4(clk23);endmodule程序2/ Title:COUNTER_24/ Design:eda/ Author:wqc328/ Company:AKU_eie/ File:clk_gen.v/ Generated:Sun Mar 25 11:26:41 2011/ From:interface description file/ By:Itf2Vhdl ver. 1.2
25、0/ Description :/ BCD counter_24 for hour module/module COUNT_24(clk,/count input clock;rst,/system reset;rco,/carry outputq);/BCD code outputinput clk,rst;output reg rco; output 5:0 q;wire clk,rst;reg 5:0 q;*reg en;*always (posedge clk or negedge rst)if (!rst) q3:0<=4'd0;else if (q3:0=4'
26、d8) begin q3:0<=q3:0+1'b1; en<=1'b1; endendelse if (q3:0=4'd9 | q=6'h23) begin q3:0<=4'd0;en<=1'b0;elseendendbegin q3:0<=q3:0+1'b1; en<=1'b0; endalways (posedge clk or negedge rst)if (!rst) q5:4<=2'd0;else if (en) begin q5:4<=q5:4+1'b1;
27、 rco<=1'b0;else if (q=6'h23) begin q5:4<=2'd0; rco<=1'b1;else ;endmodule程序3/ Title : COUNTER_60/ Design : eda/ Author : wqc328/ Company : AKU_eie/ File: clk_gen.v/ Generated : Sun Mar 25 11:26:41 2011/ From: interface description file/ By: Itf2Vhdl ver. 1.20/ Description :/
28、BCD counter_60 for second and minuter module/module COUNT_60(clk,/count input clockrst,/system reset;rco,/carry outputq);/BCD code outputinput clk,rst;output reg rco;output 6:0 q;wire clk,rst; reg 6:0 q; reg en;*always (posedge clk or negedge rst)if (!rst) q3:0<=4'd0;else if(q3:0=4'd8) be
29、gin q3:0<=q3:0+1'b1; en<=1'b1; endelse if (q3:0=4'd9) begin q3:0<=4'd0;en<=1'b0; endelsebegin q3:0<=q3:0+1'b1; en<=1'b0; endalways (posedge clk or negedge rst)if (!rst) q6:4<=3'd0;else if (en)beginif (q6:4=3'd5) begin q6:4<=3'd0; rco<
30、;=1'b1;endelsebegin q6:4<=q6:4+1'b1; rco<=1'b0; endendelse ;endmodule程序4PROCESS(CLK) BEGINIF CLK' EVENT AND CLK = ' 1' THENCASE COUNT ISWHEN" 101" = >COUNT < = " 000"CHOOSEOUT < = S1; LT < = " 111110"WHEN" 000" = >C
31、OUNT < =COUNT +' 1'CHOOSEOUT < = S2; LT < = " 111101"WHEN" 001" = >COUNT < =COUNT +' 1'CHOOSEOUT < = S3; LT < = " 111011"WHEN" 010" = >COUNT < =COUNT +' 1'CHOOSEOUT < = S4; LT < = " 110111"WH EN" 011" = >COUNT < =COUNT +' 1'CHOOS
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度插班生入校學(xué)業(yè)輔導(dǎo)協(xié)議范本4篇
- 2025版城市綠化用地租賃管理協(xié)議書3篇
- 二零二五年度個人信息保護(hù)協(xié)議范本守護(hù)用戶隱私安全2篇
- 2025農(nóng)業(yè)土地承包合同
- 2025年度IT咨詢服務(wù)合同4篇
- 二零二五年度公立學(xué)校食堂運(yùn)營管理合同4篇
- 2025年儲煤場租賃及煤炭倉儲安全風(fēng)險評估協(xié)議4篇
- 二零二五年度瓷磚定制加工服務(wù)合同3篇
- 二零二五年度陶瓷制品表面打磨質(zhì)量保障協(xié)議3篇
- 二零二四年實(shí)習(xí)生實(shí)習(xí)期間保密協(xié)議及知識產(chǎn)權(quán)歸屬合同3篇
- 無人化農(nóng)場項(xiàng)目可行性研究報告
- 《如何存款最合算》課件
- 社區(qū)團(tuán)支部工作計劃
- 拖欠工程款上訪信范文
- 2024屆上海市金山區(qū)高三下學(xué)期二模英語試題(原卷版)
- 學(xué)生春節(jié)安全教育
- 《wifi協(xié)議文庫》課件
- 《好東西》:女作者電影的話語建構(gòu)與烏托邦想象
- 教培行業(yè)研究系列(七):出國考培的再研究供需變化的新趨勢
- GB/T 44895-2024市場和社會調(diào)查調(diào)查問卷編制指南
- 高三日語一輪復(fù)習(xí)助詞「で」的用法課件
評論
0/150
提交評論