• /  25
  • 下載費用: 27.9積分  

基于FPGA的數字時鐘的設計.doc

'基于FPGA的數字時鐘的設計.doc'
?基于FPGA的數字時鐘的設計課 題: 基于FPGA的數字時鐘的設計 綜 述近年來隨著數字技術的迅速發展,各種中、大規模集成電路在數字系統、控制系統、信號處理等方面都得到了廣泛的應用。這就迫切要求理工科大學生熟悉和掌握常用中、大規模集成電路功能及其在實際中的應用方法,除通過實驗教學培養數字電路的基本實驗方法、分析問題和故障檢查方法以及雙蹤示波器等常用儀器使用方法等基本電路的基本實驗技能外,還必須培養大學生工程設計和組織實驗能力。本次課程設計的目的在于培養學生對基本電路的應用和掌握,使學生在實驗原理的指導下,初步具備基本電路的分析和設計能力,并掌握其應用方法;自行擬定實驗步驟,檢查和排除故障 、分析和處理實驗結果及撰寫實驗報告的能力。綜合實驗的設計目的是培養學生初步掌握小型數字系統的設計能力,包括選擇設計方案,進行電路設計、安裝、調試等環節,運用所學知識進行工程設計、提高實驗技能的實踐。數字電子鐘是一種計時裝置,它具有時、分、秒計時功能和顯示時間功能;具有整點報時功能。本次設計我查閱了大量的文獻資料,學到了很多關于數字電路方面的知識,并且更加鞏固和掌握了課堂上所學的課本知識,使自己對數字電子技術有了更進一步的認識和了解。1、 課題要求1.1課程設計的性質與任務本課程是電子與信息類專業的專業的專業基礎必修課——“數字電路”的配套實驗課程。目的在于培養學生的理論聯系實際,分析和解決問題的能力。通過本課程設計,使學生在理論設計、計算機仿真、指標調測、故障排除等方面得到進一步的訓練,加強學生的實踐能力。學生通過設計、仿真、調試、撰寫設計報告等過程,培養學生的動手能力和嚴謹的工作作風。1.2課程設計的基本技術要求1)根據課題要求,復習鞏固數字電路有關專業基礎知識;2)掌握數字電路的設計方法,特別是熟悉模塊化的設計思想;3) 掌握QUARTUS-2軟件的使用方法;4) 熟練掌握EDA工具的使用,特別是原理圖輸入,波形仿真,能對仿真波形進行分析;5) 具備EDA技術基礎,能夠熟練使用VHDL語言進行編程,掌握層次化設計方法;6) 掌握多功能數字鐘的工作原理,學會不同進制計數器及時鐘控制電路的設計方法;7) 能根據設計要求對設計電路進行仿真和測試;8) 掌握將所設計軟件下載到FPGA芯片的下載步驟等等。9) 將硬件與軟件連接起來,調試電路的功能。1.3課程設計的功能要求基本功能:能進行正常的時、分、秒計時功能,分別由6個數碼管顯示24小時,60分鐘,60秒鐘的計數器顯示。附加功能:1)能利用硬件部分按鍵實現“校時”“校分”“清零”功能; 2)能利用蜂鳴器做整點報時:當計時到達59’59’’時開始報時,鳴叫時間1秒鐘; 3)定時鬧鈴:本設計中設置的是在七點時進行鬧鐘功能,鳴叫過程中,能夠進行中斷鬧鈴工作。本人工作:負責軟件的編程與波形的仿真分析。2、 方案設計與分析1.1設計方案 1、時鐘功能,具有顯示時、分、秒的功能; 2、具有整點報時功能,在整點時使用蜂鳴器進行報時,具有鬧鐘功能,鳴叫過程中,具有中斷鬧鈴功能。1.2設計要點數字鐘一般是由振蕩器、分頻器、計數器、譯碼器、顯示器等幾部分組成。這些都是數字電路中應用最廣泛的基本電路,本設計分模塊設計實現各部分功能,采用軟件編程控制FPGA芯片部產生振動周期為1s的脈沖。并將信號送入計數器進行計算,并把累加的結果以“時”、“分”、“秒”的數字顯示出來?!懊搿钡娘@示由兩級計數器和譯碼器組成的六十進制計數電路實現;“分”的顯示電路“秒”相同,“時”的顯示由兩級計數器和譯碼器組成的二十四進制電路來實現。所有計時結果由六位數碼管顯示。1.3工作原理數字電子鐘由振蕩器、分頻器 計數器、譯碼顯示、報時等電路組成。振蕩器產生穩定的高頻脈沖信號,作為數字鐘的時間基準,然后經過分頻器輸出標準秒脈沖。秒計數器滿60后向分計數器進位,分計數器滿60后向小時計數器進位,小時計數器按照“24翻1”規律計數。計滿后各計數器清零,重新計數。計數器的輸出分別經譯碼器送數碼管顯示,計時出現誤差時,可以用校時電路“校時”“校分”“清零”。秒脈沖可以通過分頻電路得到。通過報時設計模塊可以實現整點報時及定時鬧鈴,譯碼顯示由七段譯碼器完成,顯示由數碼管構成,采用的是動態顯示方式。數碼管動態顯示:動態掃描電路將計數器輸出的8421BGD碼轉換為數碼管需要的邏輯狀態,并且輸出數碼管的片選信號和為選信號。所謂動態掃描顯示方式是在顯示某一位LED 顯示塊的數據的時候,讓其它位不顯示,然后再顯示下一位的數據。只要保證每一位顯示的時間間隔不要太大,利用人眼的視覺暫留的現象,就可以造成各位數據同時顯示的假象。一般每一位的顯示時間為1~10ms。3、 單元電路的設計,仿真與分析(1)分頻模塊(fenpin)1)程序:library ieee;use ieee.std_logic_1164.all;entity fenpin is port(clk6:in std_logic; q1000,q5,q1:out std_logic);end fenpin;architecture ccc_arc of fenpin issignal x:std_logic;begin process(clk6) variablet:integer range 0 to 24999; begin if clk6'event and clk6='1' then ift<24999 then t:=cnt+1; else t:=0; x<=not x; end if; end if;end process;q1000<=x;process(x)variablet2:integer range 0 to 999;variable y:std_logic;begin if x'event and x='1' then ift2<999 then t2:=cnt2+1; q1<='0'; else t2:=0; q1<='1'; end if; end if;if x'event and x='1' theny:=not y;end if;q5clk,q1=>h,q1000=>z);u2:second port map(clk1=>h,en1=>sc,qa=>k,qb=>l,co1=>I);u0:or_1 port map(a1=>i,b1=>sb,y=>a);u3:minute port map(clk2=>h,en2=>a,qc=>e,qd=>f,co2=>j);u30:anda port map(a1=>i,b1=>j,y=>b);u31:or_1 port map(a1=>b,b1=>sa,y=>c);u4:hour port map(clk3=>h,en3=>c,qe=>u,qf=>v);u5:sst port map(h1=>u,h0=>v,m1=>e,m0=>f,s1=>k,s0=>l,clk4=>h,q500=>q1);u6:hhh port map(n1=>k,n2=>l,n3=>e,n4=>f,n5=>u,n6=>v,qqq=>t,a=>s);u7:ggg port map(b=>r,m=>s);u8:cnt6 port map(n=>s,clk5=>z);u9:decoder port map(x=>t,y=>q0);end architecture main;2) 仿真波形:3)仿真結果分析:本次試驗給出的頻率是50MHZ,用QUARTUS-2軟件把數字鐘的全部工作過程記錄下來不容易,故這幅圖只是其工作的一小部分。將程序下載到FPGA芯片中,并與硬件部分對應連接好,可以驗證到我們所預期的所有功能,故可知該頂層文件是正確的,每一個模塊的功能也都是正確的,模塊之間的連接也都是正確的。在軟件調試仿真過程中,我們以參考資料上的程序為模板,依據個人的需要添加修改各個功能模塊,盡管有模板作為參考,仿真過程中還是出了很多的問題,例如在做數碼管動態顯示中,我們采用了NPN型9013晶體三極管作為數碼管的接地驅動,這里的片選信號應該是高電平有效,我們原程序是低電平,經過多次的和其他組的學習交流中,找到了這個錯誤。解決分頻問題中,我們也在分頻模塊中做了修改,得到我們所需要的頻率。5、 硬件電路設計與安裝電路(1) 按照電路功能設計好硬件部分安裝圖(電路安裝圖詳見末頁圖b);(2) 焊接前應先排好線,再焊接電路,注意不能飛線,可正反穿線焊接;(3) 焊接過程中注意各引腳的功能,不能接錯;(4) 焊接完后需要仔細檢查后方能通電,電源電壓為5V。所需元器件清單元器件規格數量元器件規格數量電阻1KΩ11開關單刀雙置4電阻200Ω18杜邦線若干三極管90136插針50數碼管共陰6導線若干萬能板1蜂鳴器16、 硬件電路安裝與調試1)借助杜邦線將芯片與所焊接硬件電路根據之前鎖定好的引腳一 一連接好,在本設計中,各引腳鎖定情況是:clk:17,q0[0]~q0[6] 分別對應芯片引腳:65,63,59,57,53,51,47 ;r[0]~r[5]分別對應芯片引腳:42,40,31,28,26,24,;sa,sb,sc分別對應芯片引腳: 80,86,92; q1對應芯片引腳: 44,q0[0]~ q0[6]對應數碼管的a,b,c,d,e,f,g;r指片選信號的六個輸出;sa、sb、sc對應校時電路的“校時”“校分”“清零”三個按鍵;q1指報時電路輸出,當其為高電平時,蜂鳴器鳴叫;增加一個插針用來與蜂鳴器相連,用來實現中斷鬧鈴的功能。2)硬件與軟件兩部分正確連接之后,接上5伏的電源,仔細觀看數碼管的顯示情況,在驗證功能的過程中,并不是一帆風順的,經過很多次的修改和改進,最后才獲得滿意的成果。7、 調試結果調試結果:芯片與硬件電路連接好通電后,六個數碼管可以正常顯示時、分、秒;硬件部分電路板上的3個按鍵也分別能實現“清零”“校分”“校時”功能;將時間調至59分59秒時蜂鳴器開始鳴叫,鳴叫時間為1秒鐘,即實現了整點報時功能;將時間調至七點時蜂鳴器開始鳴叫,鳴叫時,我們也可以進行中斷鬧鈴動作。8、 收獲與體會經過這次的數字電路課程設計,我個人得到了不少的收獲,一方面加深了我對課本理論的認識,另一方面也提高了實驗操作能力?,F在我總結了以下的體會和經驗。這次的課程設計跟我們以前做的不同,因為我覺得這次我是真真正正的自己親自去完成。所以是我覺得這次實驗最寶貴,最深刻的。就是設計的過程全是我們學生自己動手來完成的,這樣,我們就必須要弄懂一個電路的原理。在這里我深深體會到哲學上理論對實踐的指導作用:弄懂實驗原理,而且體會到了實驗的操作能力是靠自己親自動手,親自開動腦筋,親自去請教別人才能得到提高的。我們做實驗絕對不能人云亦云,要有自己的看法,這樣我們就要有充分的準備,若是做了也不知道是個什么實驗,那么做了也是白做。實驗總是與課本知識相關的,有了課本的知識,我們才能編寫出自己需要的程序,實現自己預期的功能。我們做實驗不要一成不變和墨守成規,應該有改良創新的精神。實際上,在弄懂了實驗原理的基礎上,我們的時間是充分的,做實驗應該是游刃有余的,如果說創新對于我們來說是件難事,那改良總是有可能的。數字時鐘大體看上去很簡單,但其中的可變的地方還是有很多的,譬如說整點報時功能,報時持續的時間長短就是一個可變的地方。在實驗的過程中我們要培養自己的獨立分析問題,和解決問題的能力。在編程過程中,我們也遇到了很多的問題,就之前提到的動態掃描驅動問題,如果一味的去遵循資料上的程序的話,那整個設計將會失敗,只有不斷的學習研究,才能解決問題。這次的課程設計,我的收獲很多,就我本身來說,不但對理論知識有了更加深的理解,對于實際的操作和也有了質的飛躍。經過這次的實驗,我們整體對各個方面都得到了不少的提高,團隊的合作意識也增強了很多。9、 課題擴展對于數字時鐘的設計,在定時鬧鐘的環節,我們可以摻入睡眠延時功能,利用N進制計數器,在鬧鈴鳴叫時,通過按鍵給計數器一個脈沖,使計數器進入計時狀態,具體的延時時長由計數器的進制決定。參考資料:付家才 .《 EDA工程實踐技術 》.化學工業.2004年12月忠平 .《 基于Quartus II的FPGA/CPLD設計與實踐 》.電子工業.2010年4月
關 鍵 詞:
數字時鐘 設計 fpga 基于
 天天文庫所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:基于FPGA的數字時鐘的設計.doc
鏈接地址: http://www.094347.live/p-55568557.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服點擊這里,給天天文庫發消息,QQ:1290478887 - 聯系我們

本站為“文檔C2C交易模式”,即用戶上傳的文檔直接賣給(下載)用戶,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有【成交的100%(原創)】。本站是網絡服務平臺方,若您的權利被侵害,侵權客服QQ:1290478887 歡迎舉報。

[email protected] 2017-2027 http://www.094347.live 網站版權所有

粵ICP備19057495號 

收起
展開
有没有苹果软件赚钱的 重庆福利彩票幸运农场预测 山西体彩11选5下载 理财专家 5分赛车开奖结果记录 平特尾数公式算法 广西11选5开奖结果一定牛 赛车pk10计划 加拿大快乐8官网 河南快三走势图近200 山西11选五走势图