基於VHDL和QuartusⅡ的數字電子鐘設計與實現

2021-01-15 電子產品世界

摘要:採用FPGA進行的數字電路設計具有更大的靈活性和通用性,已成為目前數字電路設計的主流方法之一。本文給出一種基於FPGA的數字鐘設計方案。該方案採用VHDL設計底層模塊,採用電路原理圖設計頂層系統。整個系統在QuartusⅡ開發平臺上完成設計、編譯和仿真,並在FPGA硬體實驗箱上進行測試。測試結果表明該設計方案切實可行。

本文引用地址:http://www.eepw.com.cn/article/247049.htm

EDA(Electronic Design Automation)又名電子設計自動化,其基本特徵是:以超大規模可編程邏輯器件,如FPGA,為設計載體,以硬體描述語言,如VHDL,為系統邏輯描述的主要表達方式,以計算機、大規模可編程邏輯器件的開發軟體及實驗開發系統為設計工具,完成電子系統的設計。使用EDA進行電子系統設計具有以下特點:1)用軟體方式設計硬體;2)用軟體方式設計的系統到硬體系統的轉換是由有關開發軟體自動完成的;3)設計過程中可用有關軟體進行各種仿真;4)系統可現場編程,在線升級;5)整個系統可集成在一個晶片上,體積小、功耗低、可靠性高;6)設計的移植性好、效率高;7)適合分工設計、團隊協作。因此,EDA技術是現代電子設計的發展趨勢。

1 數字鐘的設計方案

本文以FPGA平臺為基礎,採用VHDL語言在QuartusⅡ開發環境下設計開發多功能數字鐘,具有計時、校時、蜂鳴鬧鈴的功能,具體功能為:1)能夠對秒、分、小時進行正常計時,每日按24小時計時制,能用八個七段數碼管進行友好界面的顯示;2)具有復位功能,可以對當前時間進行清零;3)能夠對電子時鐘進行時分秒設置,方便在時鐘跑錯時進行校正;4)能夠設定電子鬧鐘,在指定的時間驅動蜂鳴器等外設工作,引起使用者注意;5)電子鐘具有溢出警報功能,當小時數超過24時,用一個LED小燈進行溢出警報說明,然後從00—00—00開始從新計時,此功能可以使電子鐘很方便的擴展為萬年曆。

我們採用自頂向下的層次化設計方法進行設計,其輸入為狀態選擇信號(使用一個2位二進位表示選擇,00正常運行或顯示鬧鈴信息,01設置秒,10設置分,11設置時)、復位信號、鬧鈴開關(配合狀態選擇信號進行鬧鈴的設置)、1 Hz的計時時鐘信號和1 kHz的掃描時鐘信號;輸出為時、分、秒數字顯示(這裡使用了8個共陰極的七段數碼管作為顯示輸出)、鬧鐘蜂鳴、溢出信號。系統由狀態選擇模塊、時、分、秒計時校時模塊、顯示與鬧鈴模塊組成。數字鐘的系統框圖圖如圖1所示。

 

 

2 核心模塊設計

2.1 狀態選擇模塊設計

該模塊主要功能其實是對輸入端的匯總,然後根據設置方法對不同的模塊進行使能和參數傳遞,輸出不同的信令signaling控制到各個模塊,使每個模塊工作在一個有序的狀態。狀態選擇模塊的電路描述如圖2所示,具體說明如下:當輸入一個脈衝到復位鍵reset時,數字鐘啟動並對時間清零。鬧鈴鍵clock=0時,模塊根據狀態選擇鍵IS_SET輸出不同秒、分、時信令到秒、分、時計時校時模塊,控制這些模塊的運行狀態。此時,當IS_SET=00時為正常計時狀態,秒、分、時的輸出信令均為80;IS_SET=01時為秒校時狀態,輸出秒信令S_signaling為時間輸入Time(顯然該輸出小於60),而輸出分信令M_signaling和時信令H_signaling均為100,表示暫停分、時計時;IS_SET=10和11時則分別為分和時的校時狀態。鬧鈴鍵clock=1時,當IS_SET=10和11時分別設置鬧鈴的分、時為時間輸入Time並將設置的鬧鈴時間輸出到「顯示與鬧鈴模塊」中保存;當IS_SET=00時,輸出out_clock=1,控制顯示與鬧鈴模塊顯示設置的鬧鈴時間。注意,當鬧鈴鍵clock=1時,計時正常運行,不論IS_SET如何設置,秒、分、時的輸出信令均為80。

 

 

2.2 計時校時模塊設計

該模塊用於時、分、秒的計時校時,根據狀態選擇模塊傳輸過來的信令signaling分別進行計時和校時。時、分、秒計時校時模塊是一樣的,只是分秒的進位為60,而小時的進位為24。我們在實體聲明中的使用generic變量定義一個numn,該值設置進位為60或24,通過修改numn值就完成分、秒計時模塊到小時計時模塊的轉換。模塊的輸入為掃描時鐘、計時時鐘和信令signaling,輸出為輸出時間高位time_h和輸出時間低位time_l,以及進位clk_jin。

 

 

計時校時模塊的電路描述如圖3所示,具體說明如下:每當掃描時鐘上升沿時,啟動進程,並根據信令signaling執行不同操作,1)當signaling

2.3 顯示、鬧鈴模塊設計

本模塊是數字鐘系統中的輸出模塊,用於輸出LED數字顯示和鬧鈴,其輸入為掃描時鐘,從計時校時模塊輸出的秒低位、秒高位、分低位、分高位、時低位、時高位信號和狀態選擇模塊輸出的鬧鈴顯示Nao_En鬧鈴時間Nan_In。如果Nao_En=0則正常顯示時間,當Nao_En=1時,在LED數碼管上顯示鬧鐘時間。噹噹前時間與保存的鬧鈴時間Nan_In相同時,蜂鳴器鳴響1 min。這裡我們使用了八個共陰極的七段數碼管顯示時間,當選位信號sel=「01111111」時,第一個數碼管顯示數字,其他七位不顯示。我們通過動態掃描,輪流顯示秒低位sec_ge、秒高位sec_shi、分低位min_ge、分高位min_shi、時低位hour_ge、時高位hour_shi共6路信號,當掃描時鐘sanc_clk頻率高於28 Hz時,由於人眼的視覺殘留效果,使得這6路信號看上去是同時顯示在6個七段數碼管上。顯示、鬧鈴模塊電路描述如圖4所示。

 

 

3 結束語

在QuartusⅡ軟體開發平臺上,採用「自頂向下設計,自底向上實現」的方法完成了數字鐘的設計與實現。其基本過程如下:1)完成數字鐘的總體設計;2)完成各個底層模塊的設計和波形仿真:底層模塊採用VHDL語言編寫,在編譯和仿真成功後,對其進行封裝;3)完成數字鐘的頂層電路設計:根據數字鐘的系統框圖(圖1)在QuartusⅡ中採用電路原理圖方式,調用封裝好的底層模塊,完成頂層電路圖的設計;4)對頂層電路進行編譯和仿真,結果表明仿真波形符合設計要求;5)進行引腳分配,再編譯後,將下載文件下載到FPGA開發板中進行驗證和調試。測試結果表明數碼管能正確的顯示計時時間,能通過按鍵調整時間,能實現整點報時,完全符合設計要求。

蜂鳴器相關文章:蜂鳴器原理

相關焦點

  • 基於計數器的數字電子鐘的設計
    摘要:本設計是一個基於計數器的數字電子鐘裝置。該裝置電路的主要組成部分是555定時器、分頻器、計數器、解碼器、顯示器、校時電路。解碼代替機械式傳動。用LED顯示器代替指針顯示進而顯示時間,減小了計時誤差。
  • 基於Multisim數字電子鐘設計
    數字電子鐘是用數字集成電路構成並有數字顯示特點的一種現代計數器,與傳統的機械計時器相比,它具有走時準、顯示直觀、無機械磨損等,因而廣泛應用於車站、碼頭、商店等公共場所。目前,數字電子鐘的設計,主要是採用計數器等集成電路構成,由於所用集成電路多。
  • 基於單片機STC2032的電子鐘設計方案
    基於單片機STC2032的電子鐘設計方案
  • ISP技術在電子鐘設計中的而應用
    2 ISP器件的編程軟體  ispEXPERT是由Lattice公司提供的一種通用電子設計軟體。他支持ABEL-HDL語言、VHDL語言、原理圖3種電子設計方式,以及這些設計方式的混合使用。他能對所設計的數字系統進行功能模擬和時序模擬,能對設計進行邏輯優化,並將邏輯映射到器件中去,自動完成預布線,生成編程所需的熔絲圖文件,通過下載電纜下載到器件中。
  • 基於DSP和FPGA的機器人聲控系統設計與實現
    本文引用地址:http://www.eepw.com.cn/article/21345.htm 本次設計採用了性價比較高的數位訊號處理晶片tms320vc5509作為語音識別處理器,具有較快的處理速度,使機器人在脫機狀態下,獨立完成複雜的語音信號處理和動作指令控制,fpga系統的開發降低了時序控制電路和邏輯電路在pcb板所佔的面積[1],使機器人的"大腦"的語音處理部分微型化、低功耗。
  • AT89C51單片機數字電子鐘的設計
    一、 設計目的與要求設計目的:通過設計,培養運用已學知識解決實際問題的能力、查閱資料的能力、自學能力和獨立分析問題、解決問題的能力和能通過獨立思考。設計要求:設計一個時、分可調的數字電子鐘、斷電後將數據保存,開啟後時間將從斷電後時間繼續行走。二、 設計內容與方案制定具有校時功能,按鍵控制電路其中時鍵、分鍵六個鍵分別控制時、分時間的調整。
  • 基於微控制器PICl6F628實現數字調光電子鎮流器的設計
    基於微控制器PICl6F628實現數字調光電子鎮流器的設計 王守志 , 毛興武 發表於 2020-12-04 09:55:43 引言 可調光螢光燈電於鎮流器具有明顯的節電效果
  • 基於AT89C2051的電子鐘設計
    www.eepw.com.cn/article/246452.htm  一片20引腳的單片機AT89C2051為電子鐘本來筆者還有一種更簡的設計方案(見圖2),可省去VT1~VT4及R1~R4八個元件,但這種設計由於單片機輸出口的灌入電流有限(約20mA),數碼管亮度較暗而不向讀者介紹,除非你採用了高亮度的發光數碼管。
  • 單片機電子鐘設計
    這裡給大家介紹一個51單片機電子鐘彙編程序設計方法:org 00ha_bit equ 30h ;秒寄存器b_bit equ 31h ;10秒寄存器c_bit equ 32h ;分寄存器d_bit equ 33h ;10分寄存器e_bit equ 34h ;小時寄存器f_bit equ 35h ;10小時集存器
  • 基於VHDL的數字溼度計研究
    摘要:溼度計是一種常用的檢測儀器,文中利用FPGA器件與HS1101溼度傳感器設計實現了一種簡易的數字溼度計,用於檢測室內溼度。該溼度計具有結構簡單、測量準確性高、穩定性好等優點。
  • 基於單片機和溫度傳感器實現數字溫度計的設計
    打開APP 基於單片機和溫度傳感器實現數字溫度計的設計 夏曉玲 發表於 2021-01-11 09:39:42 1 DS1620
  • 基於CPLD晶片和C8051F020實現聲探測系統數字電路的設計
    基於CPLD晶片和C8051F020實現聲探測系統數字電路的設計 張德,侯志國,江 發表於 2021-01-12 09:46:30   作者:張德,侯志國,江麗,張向暉,羅曉松 被動聲源探測定位技術是一種利用聲學傳聲器陣列和電子裝置接收運動目標的輻射噪聲
  • LED數字電子鐘設計電路及工作原理
    LED 電子鐘的製作方法在很多電子報刊雜誌上都可以見到,但大多數在斷電後都要重新設置時間等參數,給使用帶來很多不便。也有用後備電池作為備用電源的,但往往體積較大。
  • 基於DSP的數字掃描探針顯微鏡的硬體解決方案研究
    ,與此同時,數位訊號處理技術已經發展得相當成熟,dsp技術也已經廣泛地應用於通信、測量、多媒體、消費電子產品等領域,由於把dsp和spm結合在一起是spm儀器發展的必然方向,它能使spm性能更趨於完善,為此,本文介紹如何用tms320c5416來實現這一設想!
  • 基於VHDL語言的卷積碼編解碼器的設計
    卷積碼和分組碼是差錯控制編碼的2種主要形式,在編碼器複雜度相同的情況下,卷積碼的性能優於分組碼,因此卷積碼幾乎被應用在所有無線通信的標準之中,如GSM ,IS95和CDMA2000的標準中。 目前,VHDL語言已成為EDA領域首選的硬體設計語言,越來越多的數字系統設計使用 VHDL語言來完成。
  • 基於SG3525A的D類數字功放設計與實現
    打開APP 基於SG3525A的D類數字功放設計與實現 發表於 2017-12-23 14:11:12 實現。內部還有一個PWM比較器,當9腳輸入電壓發生變化時,三角波和輸入電壓的交點發生變化,比較器輸出脈寬發生變化,從而實現脈寬調製(PWM)。如果我們在其9腳輸入具有輸入音頻信號幅值和頻率信息的直流電壓,則其輸出脈寬就一定反映音頻信號幅值和頻率的變化。由SG3525A構成的音頻SPWM電路如下圖7所示。其振蕩頻率fo可以選擇在300kHz上下,它與Rt、Ct、Rd有關,可以在其數據手冊中通過查表得到。
  • 基於FPGA和IP核的FIR低通濾波器的設計與實現
    打開APP 基於FPGA和IP核的FIR低通濾波器的設計與實現 秩名 發表於 2012-12-03 11:50:23   FIR
  • 基於FPGA的寬帶數字接收機變帶寬數字下變頻器設計
    摘 要: 基於FPGA晶片Stratix II EP2S60F672C4設計了一個適用於寬帶數字接收機的帶寬可變的數字下變頻器(VB-DDC)。
  • 基於VHDL的MTM總線主模塊有限狀態機設計
    摘要:為了能夠更簡潔嚴謹地描述MTM總線的主模塊有限狀態機的狀態轉換,同時減少FPGA晶片功耗,提高系統穩定性,文中在分析MTM總線結構和主模塊有限狀態機模型的基礎上,基於VHDL語言採用「單進程」式對該有限狀態機進行了設計,並在QuartusⅡ開發軟體中實現了對語言代碼的編譯及程序的時序仿真和功能仿真
  • 模擬電子技術和數字電子技術有什麼區別?
    打開APP 模擬電子技術和數字電子技術有什麼區別? 發表於 2017-11-15 15:58:19   數字電子技術   數字電子技術主要研究各種邏輯門電路、集成器件的功能及其應用,。邏輯門電路組合和時序電路的分析和設計、 集成晶片各腳功能。