版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、基于基于 fpgafpga 的嵌入式的嵌入式 5151 核的數(shù)字鐘設(shè)計(jì)核的數(shù)字鐘設(shè)計(jì)摘要摘要此次設(shè)計(jì)的數(shù)字鐘具有年、月、日、時(shí)、分、秒計(jì)數(shù)顯示功能,以 24 小時(shí)循環(huán)計(jì)時(shí)顯示;具有清零,調(diào)節(jié)小時(shí)、分鐘功能;具有整點(diǎn)提示、定時(shí)報(bào)警功能,使用蜂鳴器報(bào)警;由鍵盤輸入進(jìn)行數(shù)字鐘設(shè)計(jì)的校時(shí)、清零、啟停功能。數(shù)字鐘在日常生活中經(jīng)常用到,可利用現(xiàn)在所學(xué)知識(shí)自行設(shè)計(jì)一個(gè)數(shù)字鐘。我們在本次實(shí)驗(yàn)中采用了基于 fpga 的嵌入 51 軟核的設(shè)計(jì)方法?;?eda 技術(shù),在 quartus ii 工具軟件環(huán)境下,采用自頂向下的設(shè)計(jì)方法,在 fpga 中嵌入 51 軟核。在 fpga 中嵌入 51 軟核后,fpga 就
2、有了 51 單片機(jī)所有的功能,就相當(dāng)于在 51 單片機(jī)上進(jìn)行數(shù)字鐘的設(shè)計(jì)。系統(tǒng)主芯片采用 ep2c5t144c8,由時(shí)鐘模塊、控制模塊、顯示以及報(bào)時(shí)模塊組成。經(jīng)編譯和仿真所設(shè)計(jì)的程序,在可編程邏輯器件上下載驗(yàn)證。 關(guān)鍵字:關(guān)鍵字:fpga;51 軟核;整點(diǎn)提示;定時(shí)報(bào)警;對時(shí)目錄目錄第一章第一章 題目分析題目分析 .31.1、功能要求及指標(biāo).31.2、設(shè)計(jì)思路.3第二章第二章 方案比較與選擇方案比較與選擇 .42.1 方案一.42.2 方案二.42.3 方案三.5第三章第三章 系統(tǒng)各模塊設(shè)計(jì)系統(tǒng)各模塊設(shè)計(jì) .63.1、8051 ip 軟核的嵌入.63.1.1 基本結(jié)構(gòu)和功能.63.1.2 80
3、51 軟核系統(tǒng)構(gòu)建和軟件測試.73.2 系統(tǒng)軟件設(shè)計(jì).8第四章第四章 系統(tǒng)測試系統(tǒng)測試 .9第五章第五章 結(jié)論結(jié)論 .10參考文獻(xiàn)參考文獻(xiàn) .10第一章第一章 題目分析題目分析1.11.1、功能要求及指標(biāo)、功能要求及指標(biāo)本設(shè)計(jì)是基于 fpga 嵌入式 51 軟核的設(shè)計(jì)性實(shí)驗(yàn)。在 fpga 中嵌入 51 軟核后,fpga 就有了 51 單片機(jī)所有的功能,就相當(dāng)于在 51 單片機(jī)上進(jìn)行數(shù)字鐘的設(shè)計(jì)。此次設(shè)計(jì)的數(shù)字鐘具有年、月、日、時(shí)、分、秒計(jì)數(shù)顯示功能,以 24 小時(shí)循環(huán)計(jì)時(shí)顯示;具有清零,調(diào)節(jié)小時(shí)、分鐘功能;具有整點(diǎn)提示、定時(shí)報(bào)警功能,使用蜂鳴器報(bào)警。1.21.2、設(shè)計(jì)思路、設(shè)計(jì)思路 本設(shè)計(jì)首先
4、要解決的就是嵌入 51 軟核的問題。現(xiàn)在網(wǎng)絡(luò)上有很多現(xiàn)成的 51軟核的 vqm 程序,可以直接拿來使用。把 cpu、鎖相環(huán)、數(shù)據(jù) ram、程序rom,都放在同一片 fpga 內(nèi),從而構(gòu)成 soc 系統(tǒng),這將使系統(tǒng)的設(shè)計(jì)效率和系統(tǒng)性能獲得極大的提高,這也是現(xiàn)代電子設(shè)計(jì)技術(shù)的發(fā)展方向。其次就是單片機(jī)程序編寫的問題。在了解數(shù)字鐘所要實(shí)現(xiàn)的功能之后就可以用 c 來編寫程序,只要有一定的單片機(jī)編程基礎(chǔ)就可以很快寫出。圖 1 是總體設(shè)計(jì)思路框圖。圖 1 總體設(shè)計(jì)思路框圖第二章第二章 方案比較與選擇方案比較與選擇2.12.1 方案一方案一利用 eda 技術(shù)自頂向下的設(shè)計(jì)方法,完全由 vhdl/verilog
5、 hdl 硬件描述語言,在 quartus ii 開發(fā)平臺(tái)下進(jìn)行編譯、仿真、下載,實(shí)現(xiàn)基本計(jì)時(shí)顯示和設(shè)置、調(diào)整時(shí)間、鬧鐘和秒表功能。系統(tǒng)主要由計(jì)數(shù)器組成,再加上控制及顯示電路實(shí)現(xiàn)數(shù)字鐘的設(shè)計(jì)。系統(tǒng)框圖如圖 2 所示。圖 2 基于 fpga 控制的系統(tǒng)框圖采用硬件描述語言和 pld 器件相結(jié)合進(jìn)行數(shù)字集成電路的設(shè)計(jì)簡單方便,eda 技術(shù)的發(fā)展在一定程度上實(shí)現(xiàn)了硬件設(shè)計(jì)的軟件化。但是此方法很難實(shí)現(xiàn)整點(diǎn)提示這一功能,不能完全實(shí)現(xiàn)題目的要求,在定時(shí)和對時(shí)時(shí)也很麻煩,顯示界面太單一,不夠直觀。2.22.2 方案二方案二采用 at89c51 為控制核心,使用單片機(jī)的 t0 定時(shí)器來實(shí)現(xiàn)秒的計(jì)數(shù),t1產(chǎn)生
6、1khz 的報(bào)警頻率。結(jié)合相關(guān)的元器件(lcd1602 液晶顯示器、4*4 鍵盤等) ,再通過編寫單片機(jī)程序語言,達(dá)到制作數(shù)字鐘的目的。使用此方法價(jià)格便宜,但與使用 fpga 相比,前者系統(tǒng)集成度低,外圍電路復(fù)雜,功耗高。系統(tǒng)框圖如圖 3 所示。圖 3 基于單片機(jī)控制的系統(tǒng)框圖2.32.3 方案三方案三在 fpga 中嵌入 51 軟核,軟核在接上 rom、ram 和 pll 等外圍電路之后就成為一個(gè)完整的 8051 單片機(jī)。此單片機(jī) cpu 核與傳統(tǒng) mcs-51 單片機(jī)完全兼容,但速度約為傳統(tǒng)單片機(jī)的 20 倍,優(yōu)化良好的條件下,主頻最高可達(dá)250mhz;同樣用 c 或匯編語言完成軟件設(shè)計(jì),
7、而且系統(tǒng)集成度高,穩(wěn)定。使用 lcd1602 作顯示器,可以使顯示界面更加的直觀,多樣化。系統(tǒng)框圖如圖 4所示。圖 4 基于 51 ip 軟核控制的系統(tǒng)框圖 綜合以上分析、比較,此處選擇方案三進(jìn)行設(shè)計(jì)。第三章第三章 系統(tǒng)各模塊設(shè)計(jì)系統(tǒng)各模塊設(shè)計(jì)3.13.1、80518051 ipip 軟核的嵌入軟核的嵌入3.1.1 基本結(jié)構(gòu)和功能alui/o/uartram圖 5 8051 結(jié)構(gòu)模塊框圖 圖 6 8051 原理圖元件8051 的指令系統(tǒng)與 8051/2、8031/2 等完全兼容,硬件部分也基本相同,例如可接 64kb 外部存儲(chǔ)器,可接 256 字節(jié)內(nèi)部數(shù)據(jù) ram,含兩個(gè) 16 位定時(shí)/計(jì)數(shù)器
8、,全雙工串口,含節(jié)省功耗工作模式,中斷響應(yīng)結(jié)構(gòu)等等。結(jié)構(gòu)模塊框圖和原理圖元件分別如圖 5 和 6 所示。與普通 8051 不同之處主要有:1、8051 是以網(wǎng)表文件的方式存在的,只有通過編譯綜合,并載入 fpga 中才以硬件的方式工作,而普通 8051 總是以硬件方式存在的;2、8051 無內(nèi)部 rom 和 ram,所有程序 rom 和內(nèi)部 ram 都必須外接。3、以軟核方式存在能進(jìn)行硬件修改和編輯;能對其進(jìn)行仿真和嵌入式邏輯分析儀實(shí)現(xiàn)實(shí)時(shí)時(shí)序測試;能根據(jù)設(shè)計(jì)者的意愿將 cpu、ram、rom、硬件功能模塊和接口模塊等實(shí)現(xiàn)于同一片 fpga 中(即 soc) 。4、與普通 8051 不同,80
9、51 的 4 個(gè) i/o 口是分開的。例如 p1 口,其輸入端p1i 和輸出端 p1o 是分開的,如果需要使用 p1 口的雙向口功能,必須外接一些電路才能實(shí)現(xiàn)。圖 7 所示的是單片機(jī)中的一個(gè)端口構(gòu)成的雙向口(p1 口)電路連接方法。圖 7 8051 單片機(jī) i/o 口設(shè)置成雙向口的電路3.1.2 8051 軟核系統(tǒng)構(gòu)建和軟件測試圖 8 是 8051 核實(shí)用系統(tǒng)的最基本構(gòu)建頂層原理圖,主要由 4 個(gè)部件構(gòu)成:1、8051 核。由 vqm 原碼表述:cpu_core.vqm,可以直接調(diào)用。該元件可以與其他不同語言表述的元件一同綜合與編譯。2、嵌入式鎖相環(huán) pll50。本實(shí)驗(yàn)鎖相環(huán)的頻率設(shè)置為 24
10、mhz。3、程序 rom,lpm_rom。圖 8 中設(shè)置的 rom 容量是 4k 字節(jié),對于一般的應(yīng)用足夠了。此 rom 可以加載 hex 格式文件作為單片機(jī)的程序代碼。這里 hex 程序代碼由 keil 程序編譯器生成(圖中已加載了 1.hex) 。4、數(shù)據(jù) ram,lpm_ram。圖 8 中設(shè)置的 lpm_ram 容量是 256 字節(jié)。高 128字節(jié)須用間接尋址方式訪問。圖 8 8051 核實(shí)用系統(tǒng)的最基本構(gòu)建頂層原理圖向軟核中下載程序代碼有兩種方法,如下:1、quartus ii 打開的工程,在工程管理窗,雙擊圖左側(cè) rom4kb,在右側(cè)出現(xiàn)該元件文件,其初始化文件路徑指示在 1.hex
11、 上(圖 9) 。下載 sof 文件后可以測試數(shù)字鐘的功能了。圖 9 rom 初始化文件路徑2、利用 in-system memory content editor 下載。在單片機(jī)程序編譯環(huán)境keil 中修改程序 text1.c,編譯,并用“tools”菜單中的工具:in-system memory content editor(圖 10)下載編譯代碼:1.hex,再觀察軟硬件的工作情況。8051 的軟件調(diào)試也可以使用 in-system memory content editor 來完成。圖 10 利用 in-system memory content editor 下載程序 hex 代碼3
12、.23.2 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì)本程序是在 keil 中,使用 c 語言編寫。以 lcd1602 為顯示器,4*4 鍵盤為輸入設(shè)備,很好的完成了數(shù)字鐘的所有功能。軟件流程圖如下所示:鍵盤掃描有鍵按下?判斷鍵值指令對時(shí)定時(shí)切換顯示否是圖 11 系統(tǒng)軟件流程圖第四章第四章 系統(tǒng)測試系統(tǒng)測試 本次設(shè)計(jì)完全實(shí)現(xiàn)了題目的所有要求,系統(tǒng)的實(shí)物圖見附錄 1。系統(tǒng)測試方法及結(jié)果如下所述:1、系統(tǒng)上電后,開機(jī)界面顯示“welcome to use!”5s。5s 之后清屏,并顯示軟件初始化時(shí)的年、月、日、時(shí)、分、秒。系統(tǒng)自動(dòng)走時(shí)。實(shí)物圖見附錄2 所示。2、當(dāng)按下 4*4 鍵盤上的“定時(shí)”鍵后,lcd 上出現(xiàn)提
13、示“set time:” ,然后在鍵盤上輸入要定時(shí)的時(shí)間,按下確定鍵 lcd 上顯示“set time:”+輸入的時(shí)間。如果輸入錯(cuò)誤,可以按下“刪除”鍵刪除當(dāng)前輸入值。實(shí)物圖見附錄 2所示。3、當(dāng)按下鍵盤上的“對時(shí)”鍵后,lcd 上出現(xiàn)提示“adjust time:” ,初始化開始然后輸入要對時(shí)的時(shí)間,按下確定鍵 lcd 上顯示當(dāng)前輸入的時(shí)間, “adjust time:”消失。如果輸入錯(cuò)誤,可以按下“刪除”鍵刪除當(dāng)前輸入值。實(shí)物圖見附錄 2 所示。4、按下鍵盤上的“取消”鍵可以取消任意時(shí)刻的對時(shí)或定時(shí)操作。5、按下鍵盤上的“切換”鍵可以切換年、月、日和定時(shí)時(shí)間的顯示。6、當(dāng)時(shí)間到達(dá)之前定時(shí)時(shí)
14、間后,開始報(bào)警。由蜂鳴器發(fā)出 1khz 的報(bào)警聲音,只有按下取消鍵報(bào)警才會(huì)停止。7、具有整點(diǎn)報(bào)時(shí)功能。整點(diǎn)報(bào)時(shí)時(shí)間如果同報(bào)警時(shí)間一致,則只報(bào)警,不會(huì)整點(diǎn)報(bào)時(shí)。整點(diǎn)報(bào)時(shí)時(shí)間持續(xù) 1s,也是由蜂鳴器發(fā)出 1khz 的報(bào)警聲音。第五章第五章 結(jié)論結(jié)論經(jīng)過兩個(gè)禮拜的努力,設(shè)計(jì)出了完全符合此次題目要求的數(shù)字鐘。此數(shù)字鐘操作簡單、方便、穩(wěn)定,顯示界面也很清晰、明了。把 cpu、鎖相環(huán)、數(shù)據(jù)ram、程序 rom、接口模塊、通信模塊、顯示控制模塊、數(shù)據(jù)采樣和信號(hào)發(fā)生模塊等等,都放在同一片 fpga 內(nèi),從而構(gòu)成 soc 系統(tǒng),這將使系統(tǒng)的設(shè)計(jì)效率和系統(tǒng)性能獲得極大的提高,這也是現(xiàn)代電子設(shè)計(jì)技術(shù)的發(fā)展方向。參考
15、文獻(xiàn)參考文獻(xiàn)1 康華光 電子技術(shù)基礎(chǔ) 數(shù)字部分m 北京.高教出版社 2006.12 潘 松 eda 技術(shù)實(shí)用教程m.北京.科學(xué)出版社2002.103 潘 松. eda 技術(shù)與 vhdlm.北京.清華大學(xué)出版社,2005.7附錄 1:實(shí)物總體圖附錄 2:功能演示圖 附錄 3:源程序#include #include #include #include void set_time();void adjust_time();void display_day();void display_time();void display_settime();void main(void) unsigned ch
16、ar temp1=0; init(); lcd_init(); displaystring(0,0,welcome to use!); display_time();/調(diào)用顯示時(shí)間函數(shù) delay(65535);delay(65535);delay(65535);delay(65535); clear_lcd(15,0); display_day();/調(diào)用顯示日期 while(1) temp1=keyscan(); switch(temp1) case 10:temp1=0;if(flag=0) display_day();flag=1;else if(flag=1) display_set
17、time();flag=0; break;/切換定時(shí)和日期顯示 case 11:temp1=0;flag2=0;clear_lcd(15,0);display_day();tr1=0;ts=0;break;/取消報(bào)警時(shí)間 case 14:temp1=0;clear_lcd(15,0);set_time();break;/14 為定時(shí)鍵,只清屏一次 case 15:temp1=0;clear_lcd(15,0);adjust_time();break;/15 為對時(shí)鍵 default:break; void set_time(void)/時(shí)間設(shè)定子函數(shù) unsigned char i=0,tem
18、p; unsigned char l_hour,l_minite; unsigned char s_temp=0,0,0,0;/定時(shí) displaystring(0,0,set: 00:00 ); while(1) temp=keyscan(); if(temp10&i4) s_tempi=temp; l_hour=s_temp0*10+s_temp1; l_minite=s_temp2*10+s_temp3; if(i=0) displayonechar(5,0,l_hour/10+0 x30);/將時(shí)間顯示出來 else if(i=1) displayonechar(6,0,l_hour%
19、10+0 x30); else if(i=2) displayonechar(8,0,l_minite/10+0 x30); else if(i=3) displayonechar(9,0,l_minite%10+0 x30); i+; else if(temp=13) /有確認(rèn)鍵,確認(rèn)輸入 displaystring(0,0,time:);flag=0; s_hour=l_hour;s_minite=l_minite; break; else if(temp=11)/輸入過程中有取消鍵,退出輸入 clear_lcd(15,0);display_day();flag=1; break; void adjust_t
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度醫(yī)療健康產(chǎn)業(yè)債務(wù)擔(dān)保合同范本3篇
- 2025年度信息安全產(chǎn)品采購與安全評估協(xié)議3篇
- 2024年物業(yè)管理服務(wù)合同(含智能化系統(tǒng)維護(hù))
- 小學(xué)生心理健康教育的科技新趨勢-游戲干預(yù)
- 家屬和睦下的醫(yī)療革新家醫(yī)服務(wù)的持續(xù)進(jìn)步與拓展
- 2024版房屋銷售代理勞務(wù)合同3篇
- 2025年度智能設(shè)備銷售代理與技術(shù)服務(wù)合同范本2篇
- 2024年高標(biāo)準(zhǔn)弱電項(xiàng)目施工協(xié)議范例
- 2024年食品生產(chǎn)委托合同3篇
- 二零二五年度電力工程安全生產(chǎn)風(fēng)險(xiǎn)評估與預(yù)案合同3篇
- 《肝衰竭診治指南(2024版)》解讀
- 2025年集體經(jīng)濟(jì)發(fā)展計(jì)劃
- 房地產(chǎn)銷售主管崗位招聘筆試題及解答(某大型央企)2024年
- 足球D級教練員培訓(xùn)匯報(bào)
- 巖溶區(qū)水文地質(zhì)參數(shù)研究-洞察分析
- 大學(xué)體育與健康 教案全套 體育舞蹈 第1-16周
- 一年級數(shù)學(xué)練習(xí)題-20以內(nèi)加減法口算題(4000道)直接打印版
- 施工作業(yè)安全管理規(guī)定(4篇)
- 浙江省金華市(2024年-2025年小學(xué)五年級語文)人教版質(zhì)量測試((上下)學(xué)期)試卷及答案
- 傳媒行業(yè)突發(fā)事件應(yīng)急預(yù)案
- 2024年《工會(huì)法》知識(shí)競賽題庫及答案
評論
0/150
提交評論