新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于FPGA的數(shù)字日歷設計

基于FPGA的數(shù)字日歷設計

作者: 時間:2014-12-18 來源:網(wǎng)絡 收藏

  基于設計數(shù)字日歷可以實現(xiàn)以軟件方式設計硬件的目的,無需購買專用數(shù)字芯片,從而克服了傳統(tǒng)利用多片數(shù)字集成電路設計數(shù)字日歷存在焊接麻煩、調(diào)試繁瑣、成本較高等問題。而且,基于的數(shù)字日歷與傳統(tǒng)系統(tǒng)相比,在設計靈活、開發(fā)速度、降低成本、計時精度、功能實現(xiàn)上都得到大幅度提升,能夠更好地滿足人們?nèi)粘I畹男枰?/p>本文引用地址:http://m.butianyuan.cn/article/267018.htm

  本文介紹如何利用VHDL硬件描述語言設計一個具有年、月、日、星期、時、分、秒計時顯示功能,時間調(diào)整功能和整點報時功能的數(shù)字日歷。在開發(fā)環(huán)境下,采用自頂向下的設計方法,建立各個基本模塊,再構建成一個完整的基于設計的數(shù)字日歷的頂層模塊,然后對其進行編譯、仿真、引腳鎖定,最終下載到可編程邏輯器件上進行結果驗證。

  1數(shù)字日歷整體設計方案

  基于FPGA的數(shù)字日歷設計分為硬件設計和軟件設計兩大部分。其原理框圖如圖1所示。整個數(shù)字日歷由六個部分組成:顯示控制部分,時分秒部分,年月日部分,定時與整點報時部分,星期部分,調(diào)整控制部分。秒、分、時分別由兩個60進制的計數(shù)器和一個24進制的計數(shù)器組成。當個計數(shù)器達到進位的條件時向下一計數(shù)器進位。同樣日、月、年也是由不同的計數(shù)器組成,當達到所需進位的條件時向下一計數(shù)器進位,各計數(shù)器在進位的同時分別把各自的結果輸出給顯示部分進行實時顯示。

  

 

  圖1數(shù)字日歷原理框圖

  2數(shù)字日歷的工作原理

  首先由外部振蕩器產(chǎn)生穩(wěn)定的高頻脈沖信號,作為數(shù)字日歷的時間基準,然后經(jīng)過分頻器輸出標準秒脈沖,輸入到FPGA的CLOCK端,實現(xiàn)計數(shù)。當秒計數(shù)器滿60后向分計數(shù)器進位,分計數(shù)器滿60后向小時計數(shù)器進位,小時計數(shù)器按照“24進1”規(guī)律計數(shù)。計滿后各計數(shù)器清零,重新計數(shù)。日部分由于日有28天、29天、30天、31天4種情況,故日由年和月共同判斷其天數(shù),日計滿后向月進位,月滿后向年進位。計數(shù)器的輸出分別經(jīng)譯碼器送數(shù)碼管顯示。計時出現(xiàn)誤差時,可以用校時電路校時、校分、校秒和校年、校月、校日。

  設計中用到了6個按鍵K1,K2,K3,K4,ZHENG,NAO.其中K1用于切換顯示,剛開始時顯示日期,按兩次K1顯示星期+時間,再按兩次K1顯示定時時間,再按兩次重新顯示日期,以此循環(huán)。K2、K3和K4配合進行調(diào)節(jié):開始正常顯示不進行調(diào)節(jié);當按兩下K2鍵切換到對分鐘進行調(diào)節(jié),此時每按兩下K3鍵分鐘加1;再按兩下K2鍵切換到對小時進行調(diào)節(jié),此時每按兩下K3鍵小時加1;依照分鐘→小時→星期→天→月→年→定時→正常→分鐘的次序循環(huán)調(diào)節(jié),每按兩下K2鍵切換到調(diào)節(jié)相應顯示,此時每按下K3鍵兩次,對應顯示加1;當切換到定時調(diào)節(jié)時,每按兩下K3鍵,定時的分鐘加1,此時按兩下K4鍵,切換到定時小時調(diào)節(jié),每按兩下K3鍵,定時的小時加1.按鍵ZHENG和NAO為整點報時和定時鬧鐘的使能端(低電平有效)。

  3軟件設計

  軟件設計分為秒分時、年月日、按鍵調(diào)整、控制顯示、鬧鐘等幾大模塊。設計好各子模塊,然后在原理圖編輯窗口創(chuàng)建頂層原理圖文件shuzirili.bdf,將各子模塊按照邏輯關系連接起來得到數(shù)字日歷電路核心部分的原理圖。下面對各子模塊設計及仿真進行介紹。

  3.1時分秒模塊

  分和秒都是60進制的計數(shù)器,小時則是24進制的計數(shù)器,先對各個子模塊進行設計編譯,驗證無誤后再將其組織到一起。外部時鐘信號通過秒模塊的clk輸入,產(chǎn)生的進位信號輸送到分模塊的clk,分模塊產(chǎn)生的進位信號輸送到小時模塊的clk,構成時分秒模塊。其結構圖如圖2所示。

  

 

  圖2時分秒原理圖

  3.2星期模塊

  星期模塊為七進制計數(shù)器。其計數(shù)時鐘信號來自于調(diào)時電路產(chǎn)生的星期進位脈沖信號,計數(shù)至6瞬間,計星期模塊返回0重新開始計數(shù)。

  3.3年月日模塊

  年月日模塊有daycounter模塊、days-control模塊、monthcounter模塊、yearcounter模塊組成,具有大小月判斷和閏年判斷功能,其結構圖如圖3所示。

  

 

  圖3年月日連接框圖

  下面以年月日模塊為例,連接好之后進行編譯并仿真,閏/平年的2月仿真結果如圖4,圖5所示,年進位如圖6所示。

  

 

  圖4仿真結果(2008年2月)

  

 

  圖5仿真結果(2005年2月)

  

 

  圖6仿真結果(2004年12月)

伺服電機相關文章:伺服電機工作原理


分頻器相關文章:分頻器原理
塵埃粒子計數(shù)器相關文章:塵埃粒子計數(shù)器原理

上一頁 1 2 3 下一頁

關鍵詞: FPGA QuartusⅡ

評論


相關推薦

技術專區(qū)

關閉