課程設計報告---實時時鐘電路設計_第1頁
已閱讀1頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  課程設計報告</b></p><p>  題 目 實時時鐘電路設計 </p><p>  專業(yè)、學號 </p><p>  授課班號 </p><p> 

2、 學生姓名 </p><p>  指導教師 </p><p>  完成時間 </p><p>  課程設計(報告)任務書</p><p><b>  (理 工 科 類

3、)</b></p><p>  Ⅰ、課程設計(報告)題目:</p><p>  實時時鐘電路設計 </p><p> ?、?、課程設計(論文)工作內容</p><p>  課程設計目標

4、 </p><p>  《硬件描述語言》是一門技術性、應用性很強的學科,實驗課教學是它的一個極為重要的環(huán)節(jié)。不論理論學習還是實際應用,都離不開實驗課教學。如果不在切實認真地抓好學生的實踐技能的鍛煉上下功夫,單憑課堂理論課學習,勢必出現(xiàn)理論與實踐脫節(jié)、學習與應用脫節(jié)的局面?!禜DL項目設計》的目的就是讓同學們在理論學習的基礎上,通過完成一個涉及時序邏輯、組合邏輯、聲光輸出的,具有實用性、趣味性的小系統(tǒng)設計,使學生不

5、但能夠將課堂上學到的理論知識與實際應用結合起來,而且能夠對分析、解決實際的數(shù)字電路問題進一步加深認識,為今后能夠獨立進行某些數(shù)字應用系統(tǒng)的開發(fā)設計工作打下一定的基礎。</p><p>  二、任務要求及研究方法</p><p><b>  1.任務及要求</b></p><p>  題目:實時時鐘電路設計</p><p>

6、;<b>  要求:</b></p><p>  (1)設計一個數(shù)碼管實時顯示時、分、秒的數(shù)字時鐘(24小時顯示模式);</p><p> ?。?)為了演示方便,應具有分鐘、小時快進功能;</p><p>  (3)時、分、秒設置功能(選作)。</p><p><b>  2.研究方法</b><

7、;/p><p> ?。?)首先得查看試驗箱的硬件結構和已有的硬件設備,在試驗箱上,用到的配件有2排數(shù)碼管,2個LED燈,和四個按鍵。</p><p> ?。?)軟件部分大概有分頻,計數(shù),調速,設置,和動態(tài)顯示部分。</p><p>  這里需要了解晶振后在編分頻程序。整個部分會有一些算法需要查找相關的文件和理解課本上的語法。</p><p>  

8、(3)分部調試,分頻是整個程序的基礎,首先計數(shù)要一秒計數(shù)一次,顯示掃描時是1KHZ左右掃描一次,還有就是去抖也是需要不同的頻率的。接下來在按照編的步驟一步一步的調試。</p><p>  三、課程設計預期效果</p><p>  1、一個按鍵控制復位。</p><p>  2、一個按鍵控制“設置”或“時鐘”功能。</p><p>  3、一個

9、按鍵控制加速。</p><p>  4、一個按鍵在設置“時”與“分”間切換。</p><p>  5、數(shù)碼管能夠顯示預期的結果。</p><p>  學生姓名: 專業(yè)年級: 自動化 </p><p><b>  摘 要</b></p><

10、p>  實時時鐘(RTC)作為系統(tǒng)同步或時間標志已被廣泛應用于各種電子產(chǎn)品,利用Dallas Semiconductor提供的多種類型的RTC芯片,用戶在設計中可方便地針對具體應用來選擇相應的芯片。文中討論了一些與實時時鐘晶振分頻以及電路設計相關的問題。在電路設計中使用的時鐘格式主要有三種:BCD碼、二進制碼、未格式化的二進制計數(shù)值。其中BCD碼比較通用,因為它的時間和日期可以直接顯示,且不需要進行數(shù)據(jù)轉換,每8位寄存器表示一個二

11、位數(shù),對于某些特殊的時間和日期,由于不占用全部8位數(shù)據(jù),因此,不用位可以充當一些特殊功能(如用作讀/寫位),也可以在硬件讀取時時終保持固定狀態(tài)(1或0)。本設計要求就是用VHDL語言實現(xiàn)實時時鐘的時,分,秒顯示及設置功能。在多番努力下,實現(xiàn)了實時時鐘時,分,秒顯示,時,分設置,及加速的功能,并添加了兩個LED燈以顯示當下操作的功能。晶體振蕩器輸出經(jīng)過分頻后會產(chǎn)生1Hz的基準來刷新時間。實際運行時遇到了諸多問題,如語法錯誤,文件名不一致,

12、邏輯錯誤。但終得以解決。</p><p>  【關鍵詞】實時時鐘 晶振 分頻</p><p><b>  ABSTRACT</b></p><p>  Real-time clock (RTC) as synchronization or time symbol has been widely applied in all kinds of

13、 electronic products, using the DALLAS SEMICONDUCTOR provide various types of RTC chip in design, user can easily in specific application will choose corresponding chips. This paper discusses some and real-time clock cry

14、stals and separate frequency circuit design related problems. In a circuit design USES clock format basically has 3 kinds: BCD, binary code, not the formatting of binary count value. On</p><p>  【Key words】

15、Real-time clock (RTC),Crystal oscillator,frequency</p><p><b>  第一章 系統(tǒng)設計</b></p><p><b>  課題目標</b></p><p>  硬件描述語言HDL是一種用形式化方法描述數(shù)字電路和系統(tǒng)的語言。利用這種語言,數(shù)字電路系統(tǒng)的設計可以從

16、上層到下層(從抽象到具體)逐層描述自己的設計思想,用一系列分層次的模塊來表示極其復雜的數(shù)字系統(tǒng)。然后,利用電子設計自動化(EDA)工具,逐層進行仿真驗證,再把其中需要變?yōu)閷嶋H電路的模塊組合,經(jīng)過自動綜合工具轉換到門級電路網(wǎng)表。接下去,再用專用集成電路ASIC或現(xiàn)場可編程門陣列FPGA自動布局布線工具,把網(wǎng)表轉換為要實現(xiàn)的具體電路布線結構。 </p><p><b>  設計方案</b><

17、;/p><p><b>  1、時鐘計數(shù)模塊</b></p><p>  有分頻得到的1HZ作為秒鐘的計數(shù)時鐘,在計數(shù)達到59秒時置minclk作為秒鐘的計時時鐘,同時秒鐘置0,在計數(shù)達到59分時置hourclk作為時鐘的計時時鐘,同時分鐘置0。各個時間寄存器串行連接的方法,首先對1HZ的時鐘加1計數(shù),輸出作為下一個寄存器的輸入時鐘,依次得到分、小時。當對時鐘寫入數(shù)據(jù)時,

18、直接將各個寄存器置數(shù),輸出作為寫入的數(shù)據(jù),然后在此基礎上正常計數(shù)。每個時鐘寄存器采用二進制計數(shù)方式,直觀的顯示時間。</p><p>  assign ct1=(num3&clk)|(!num3&m_clk); //ct1 用于計時、校時中的分鐘計數(shù)</p><p>  assign cta=(num4&clk)|(!num4&h_clk); //cta 用

19、于計時、校時中的小時計數(shù)</p><p>  2、計數(shù)和設置調整模塊</p><p>  always @(posedge clk_1hz) //秒計時和秒調整進程</p><p>  if(!(sec1^8'h59)|(!hm)&(!m))</p><p><b>  begin</b></p&g

20、t;<p>  sec1<=0; if(!((!hm)&(!m))) minclk<=1;</p><p><b>  end</b></p><p>  else begin</p><p>  if(sec1[3:0]==4'b1001) </p><p><b>

21、;  begin </b></p><p>  sec1[3:0]<=4'b0000; </p><p>  sec1[7:4]<=sec1[7:4]+1;</p><p><b>  end</b></p><p><b>  else </b></p>

22、<p>  sec1[3:0]<=sec1[3:0]+1; </p><p>  minclk<=0;</p><p><b>  end</b></p><p>  assign m_clk=minclk||count1;</p><p>  always @(posedge ct1) //分

23、計時和分調整進程</p><p><b>  begin</b></p><p>  if(min1==8'h59) </p><p>  begin min1<=0; </p><p><b>  hclk<=1; </b></p><p><b&

24、gt;  end</b></p><p><b>  else </b></p><p><b>  begin</b></p><p>  if(min1[3:0]==9)</p><p>  begin min1[3:0]<=0; </p><p>  

25、min1[7:4]<=min1[7:4]+1; </p><p><b>  end</b></p><p><b>  else </b></p><p>  min1[3:0]<=min1[3:0]+1; </p><p><b>  hclk<=0;</b&g

26、t;</p><p><b>  end</b></p><p><b>  end</b></p><p><b>  3、晶振分頻模塊</b></p><p>  外部提供的晶振是20MHZ,為了得到1HZ頻率的時鐘,需要對它進行次分頻,采用加法計數(shù)器的方式進行分頻。見下例

27、</p><p>  always @(posedge clk0)</p><p><b>  begin</b></p><p>  if(z>=10000000)</p><p><b>  begin</b></p><p><b>  z<=0;

28、</b></p><p>  clk_1hz=1;</p><p><b>  end</b></p><p><b>  else</b></p><p><b>  begin</b></p><p><b>  z=z+1;&

29、lt;/b></p><p>  clk_1hz=0;</p><p><b>  end</b></p><p><b>  end</b></p><p><b>  4、數(shù)碼管顯示模塊</b></p><p>  在硬件上有8個數(shù)碼管,當需要

30、顯示時間時,需要動態(tài)掃描,在本程序中,利用的是1KHZ掃描。首先,選擇好要顯示的數(shù)碼管,在把要顯示的數(shù)據(jù)代碼給它。顯示時鐘時,需要按順序把每位的代碼賦值給數(shù)碼管。見下例:</p><p>  always @(posedge clk_1k)</p><p><b>  begin</b></p><p><b>  case(i)&l

31、t;/b></p><p>  0 :begin ledcom<=6'b111110;end</p><p>  1 :begin ledcom<=6'b111101;end</p><p>  2 :begin ledcom<=6'b111011;end </p><p>  3 :beg

32、in ledcom<=6'b110111;end</p><p>  4 :begin ledcom<=6'b101111;end</p><p>  5 :begin ledcom<=6'b011111;end</p><p>  endcase </p><p><b>  i

33、f(i==0)</b></p><p>  data_in<=sec1[3:0];</p><p><b>  if(i==1)</b></p><p>  data_in<=sec1[7:4];</p><p><b>  if(i==2)</b></p>&

34、lt;p>  data_in<=min1[3:0];</p><p><b>  if(i==3)</b></p><p>  data_in<=min1[7:4];</p><p><b>  if(i==4)</b></p><p>  data_in1<=hour1[3

35、:0];</p><p><b>  if(i==5)</b></p><p>  data_in1<=hour1[7:4];</p><p><b>  i=i+1;</b></p><p><b>  if(i==6)</b></p><p>

36、<b>  i=0; </b></p><p><b>  end</b></p><p>  always @( data_in)</p><p>  case(data_in)</p><p>  4'b0000 : data_out <= 7'b1000000; //

37、0 </p><p>  4'b0001 : data_out <= 7'b1111001; //1 </p><p>  4'b0010 : data_out <= 7'b0100100; //2 </p><p>  4'b0011 : data_out <= 7'b0110000;

38、//3 </p><p>  4'b0100 : data_out <= 7'b0011001; //4 </p><p>  4'b0101 : data_out <= 7'b0010010; //5 </p><p>  4'b0110 : data_out <= 7'b0000011;

39、 //6 </p><p>  4'b0111 : data_out <= 7'b1111000; //7 </p><p>  4'b1000 : data_out <= 7'b0000000; //8 </p><p>  4'b1001 : data_out <= 7'b001100

40、0; //9</p><p><b>  endcase</b></p><p>  always @( data_in1)</p><p>  case(data_in1)</p><p>  4'b0000 : data_out1 <= 7'b1000000; //0 </p>

41、<p>  4'b0001 : data_out1 <= 7'b1111001; //1 </p><p>  4'b0010 : data_out1 <= 7'b0100100; //2 </p><p>  4'b0011 : data_out1 <= 7'b0110000; //3 </

42、p><p>  4'b0100 : data_out1 <= 7'b0011001; //4 </p><p>  4'b0101 : data_out1 <= 7'b0010010; //5 </p><p>  4'b0110 : data_out1 <= 7'b0000011; //6

43、</p><p>  4'b0111 : data_out1 <= 7'b1111000; //7 </p><p>  4'b1000 : data_out1 <= 7'b0000000; //8 </p><p>  4'b1001 : data_out1 <= 7'b0011000;

44、//9</p><p><b>  endcase</b></p><p><b>  硬件語言軟件應用</b></p><p>  Quartus&reg; II design 是最高級和復雜的,用于system-on-a-programmable-chip (SOPC)的設計環(huán)境。 QuartusII desi

45、gn 提供完善的 timing closure 和 LogicLock? 基于塊的設計流程。QuartusII design是唯一一個包括以timing closure 和 基于塊的設計流為基本特征的programmable logic device (PLD)的軟件。 Quartus II 設計軟件改進了性能、提升了功能性、解決了潛在的設計延遲等,在工業(yè)領域率先提供FPGA與mask-programmed devices開發(fā)的統(tǒng)一工作

46、流程。</p><p>  Altera Quartus II 作為一種可編程邏輯的設計環(huán)境, 由于其強大的設計能力和直觀易用的接口,越來越受到數(shù)字設計系統(tǒng)者的歡迎。 </p><p>  Altera Quartus II (3.0和更高版本)設計軟件是業(yè)界唯一提供FPGA和固定功能HardCopy器件統(tǒng)一設計流程的設計工具。工程師使用同樣的低價位工具對 Stratix FPGA進行功能

47、驗證和原型設計,又可以設計HardCopy Stratix器件用于批量成品。系統(tǒng)設計者現(xiàn)在能夠用Quartus II軟件評估HardCopy Stratix器件的性能和功耗,相應地進行最大吞吐量設計。 </p><p>  Altera的Quartus II可編程邏輯軟件屬于第四代PLD開發(fā)平臺。該平臺支持一個工作組環(huán)境下的設計要求,其中包括支持基于Internet的協(xié)作設計。Quartus平臺與Cadence、

48、ExemplarLogic、 MentorGraphics、Synopsys和Synplicity等EDA供應商的開發(fā)工具相兼容。改進了軟件的LogicLock模塊設計功能,增添 了FastFit編譯選項,推進了網(wǎng)絡編輯性能,而且提升了調試能力。 </p><p>  支持MAX7000/MAX3000等乘積項器件 </p><p>  2.0版Quartus II設計軟件現(xiàn)在除了支持Al

49、tera的APEX 20KE,APEX 20KC, APEX II,ARM的Excalibur嵌入處理器方案,Mercury,F(xiàn)LEX10KE和ACEX1K之外,還支持MAX3000A,MAX7000系列乘積項器件。MAX3000A和MAX7000設計者現(xiàn)在可 以使用QuartusII設計軟件中才有的所有強大的功能。 </p><p><b>  第三節(jié) 系統(tǒng)框圖</b></p>

50、;<p><b>  計時系統(tǒng)框圖</b></p><p><b>  設置‘時’系統(tǒng)框圖</b></p><p><b>  設置‘分’系統(tǒng)框圖</b></p><p>  第二章 結果與討論</p><p><b>  第一節(jié) 程序功能</

51、b></p><p>  本系統(tǒng)簡單的完成了對實時時鐘的一個模擬,可以完成簡單的時、分、秒顯示及設置功能。在必要時,可以加速以便可以直觀的看到時鐘的正確計數(shù)。</p><p>  第二節(jié) 調試和解決方案</p><p>  在運行調試時我們確實遇到了不少問題,但最終在我們的努力以及同學的幫助下都得以解決。</p><p>  1、沒有

52、正確的理解語法</p><p>  在HDL中,所有aways和 assign語句是并行執(zhí)行的,這是和學的其他語言最大區(qū)別。在aways中,所有的被賦值的變量都要是reg類型變量。在assign中,就應是wire型變量了。和C語言比較,它還特有的非阻塞賦值和不能有類似i++的語句。</p><p>  2、數(shù)碼管有時亂碼有時是幾個一起變化</p><p>  在調試

53、時,數(shù)碼管是亂碼的,自己在程序上按照自己寫的流程走了一遍,感覺是沒問題的,最后同學指出我的代碼是共陽極用的,后來我改正過來在調試,這時出現(xiàn)的沒有亂碼了,但是新的問題出現(xiàn)了,幾個數(shù)碼管同時變化,這種問題自己有束手無策了,自己把能想到的問題在電腦上試一下,這時發(fā)現(xiàn)如果把公端給低電平時就解決了。</p><p><b>  3、按鍵的抖動問題</b></p><p>  在

54、此程序中,如果有抖動就不太方便按鍵了,比如設置時需要加一時,如沒有去抖動,按一下就會加好幾個數(shù)。所以如果有去抖動的話就更方便操作了,在此我是上網(wǎng)查找相關的資料在結合自己的理解融入到自己的程序中。</p><p><b>  心得體會</b></p><p>  在剛過去的一個星期的里,我深刻體會到了努力與成功的因果關系。</p><p>  在

55、老師公布題目后,我就開始思考那幾個題目,想大概估計下難易程度和估計自己能在最短的時間內作出最高質量的程序。最后我們這組選擇了時鐘。</p><p>  在確定題目后,我認真的思考實現(xiàn)的步驟,發(fā)現(xiàn)有些地方我還不能夠完全明白,就努力的收集各種對我們題目有幫助的資料,再有了初步眉目后在編寫程序。在這個過程中,我們不僅要在最短的時間內收集到盡可能多的資料,還有能夠篩選出那些對我們有用的。這個過程正是我們以后提高工作效率的

56、有力保證。所以我個人覺得是收益匪淺。</p><p>  這次課程設計讓我對HDL有了更加深刻的理解。以前從來沒有編個這么長的程序,特別是時鐘的利用。在本程序中總共用到了4個不同的時鐘,有時需要幾個時鐘同時工作,有時只要一個就可以了。在HDL里,用幾個aways模塊就可以完全解決了,這是我在其他語言里沒有體會到的獨特優(yōu)勢。</p><p>  通過本次課程設計,我體會到了團體協(xié)作的重要性。

57、當我有地方不確定時,通過同學的幫助能及時的幫我解決我在編程時遇到的各種問題,同時我也幫助同學解決我所知道的問題,在互幫互助中,我們不僅把我們的問題解決了,同時我們還增進了同學之間的友誼,所以我很高興有這樣的機會來學習,在這樣的氛圍中,我們不僅把我們學習的理論知識運用實際中,而且增強了我們的動手能力。所以我希望學校能有更多的機會讓我們有這樣的機會學習。 </p><p><b>  參考文獻</

58、b></p><p>  袁俊泉,孫敏琪. Verilog HDL數(shù)字系統(tǒng)設計及其應用【M】.西安:西安電子科技大學出版社,2001.</p><p>  夏宇聞.復雜數(shù)字電路與系統(tǒng)的Verilog HDL設計技術【M】.北京:北京航空航天大學出版社,1998.</p><p>  徐治軍,徐光輝.CPLD/FPGA的開發(fā)與應用【M】.北京:電子工業(yè)社.200

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論