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

2020-12-22 電子產品世界

摘要:採用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開發板中進行驗證和調試。測試結果表明數碼管能正確的顯示計時時間,能通過按鍵調整時間,能實現整點報時,完全符合設計要求。

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

相關焦點

  • 基於計數器的數字電子鐘的設計
    摘要:本設計是一個基於計數器的數字電子鐘裝置。這種表具有時、分、秒星示時間的功能,還可以進行時和分的校準,片選的靈活性好。這種用數字電路實現的電子鐘與機械式時鐘相比具有更高的準確性和直觀性。
  • 基於EDA技術的數字鐘設計與實現
    摘要:為使數字鐘從電路設計、性能分析到設計出PCB版(即印製電路版)圖的整個過程能夠在計算機上自動處理完成,從而縮短設計周期、提高設計效率、戰小設計風險。
  • 基於Multisim數字電子鐘設計
    數字電子鐘是用數字集成電路構成並有數字顯示特點的一種現代計數器,與傳統的機械計時器相比,它具有走時準、顯示直觀、無機械磨損等,因而廣泛應用於車站、碼頭、商店等公共場所。
  • 基於EDA的交通燈控制系統 (圖)
    摘 要:本設計中選用目前應用較廣泛的vhdl硬體電路描述語言,實現對路口交通燈系統的控制器的硬體電路描述,在altera公司的eda軟體平臺max+plusⅱ
  • 基於Multisim的數字鐘實驗電路的設計與仿真
    數字鐘電路的設計和仿真,涉及模擬電子技術、數字電子技術等多方面知識,能夠體現實驗者的理論功底和設計水平,是電子設計和仿真教學的典型案例。文中採用了555 定時器電路、計數電路、解碼電路、顯示電路和時鐘校正電路,來實現該電路。
  • 數字鐘實驗電路的設計與仿真
    摘要:基於Multisim 10軟體對數字鐘電路進行設計和仿真。關鍵詞:數字鐘;555定時器;計數器;LED數碼管 在電子技術實驗教學中,構建學生的電路設計理念,提高學生的電路設計能力,是教學的根本目的和核心內容。
  • 數字鐘設計與製作
    引言本文引用地址:http://www.eepw.com.cn/article/235666.htm  本文採用CMOS數字集成電路實現了一種數字鐘電路
  • vhdl語言和c語言區別大嗎?差異性體現在哪兒
    打開APP vhdl語言和c語言區別大嗎?1987 年底,VHDL被 IEEE 和美國國防部確認為標準硬體描述語言。VHDL主要用於描述數字系統的結構,行為,功能和接口。除了含有許多具有硬體特徵的語句外,VHDL的語言形式和描述風格與句法是十分類似於一般的計算機高級語言。
  • AT89C51單片機數字電子鐘的設計
    一、 設計目的與要求設計目的:通過設計,培養運用已學知識解決實際問題的能力、查閱資料的能力、自學能力和獨立分析問題、解決問題的能力和能通過獨立思考。設計要求:設計一個時、分可調的數字電子鐘、斷電後將數據保存,開啟後時間將從斷電後時間繼續行走。二、 設計內容與方案制定具有校時功能,按鍵控制電路其中時鍵、分鍵六個鍵分別控制時、分時間的調整。
  • quartus ii使用教程_quartus ii安裝教程
    打開APP quartus ii使用教程_quartus ii安裝教程 網絡整理 發表於 2020-12-18 15:25:42
  • 一種基於VHDL語言的全數字鎖相環的實現
    它的好處在於免去了模擬器件的繁瑣,而且成本低、易實現、省資源。本文綜合以上考慮,在一片FPGA中以Quartus II為平臺用VHDL實現了一個全數字鎖相環中,由於誤差控制信號是離散的數位訊號而不是模擬信號,與之相對應,受控的輸出相位的改變是離散的而不是連續的;此外,環路組成的部件也全由數字電路實現,故名「數字鎖相環」[1]。常用的數字鎖相環原理如圖1所示。
  • 用8031單片機控制的數字鐘
    數字電子鐘的設計方法有多種,例如,可用中小規模集成電路組成電子鐘;也可以利用專用的電子鐘晶片配以顯示電路及其所需要的外圍電路組成電子鐘;還可以利用單片機來實現電子鐘等等。這些方法都各有特點,其中,利用單片機實現的電子鐘具有編程靈活,便於電子鐘功能的擴充,即可用該電子鐘發出各種控制信號,精確度高等特點。本文引用地址:http://www.eepw.com.cn/article/172074.htm所設計的電子鐘有以下功能:1. 24小時制時間顯示。2. 可隨時進行時間校對。 3. 整點報時。
  • 基於CPLD晶片和C8051F020實現聲探測系統數字電路的設計
    基於CPLD晶片和C8051F020實現聲探測系統數字電路的設計 張德,侯志國,江 發表於 2021-01-12 09:46:30   作者:張德,侯志國,江麗,張向暉,羅曉松 被動聲源探測定位技術是一種利用聲學傳聲器陣列和電子裝置接收運動目標的輻射噪聲
  • 基於增強現實技術的數字教材設計與實現
    隨著數字出版技術的發展,一些出版機構嘗試在數字教材設計與開發中引入增強現實技術,實現紙質教材和數字教材的融合,讓兩者優勢互補、共同發展,使學習者可以在現實中更便捷地獲得學習資源,使學習變得更加有趣。
  • 基於GPS結合電子羅盤實現天線自動跟蹤系統的設計
    基於GPS結合電子羅盤實現天線自動跟蹤系統的設計 劉新良,馮奎勝,田 發表於 2020-04-30 09:27:32 1、引 言 具有跟蹤能力的中等增益圓極化天線是中繼通信衛星和衛星移動通信這兩種通信系統的關鍵部件之一
  • 基於Arduino的電子音樂發聲器設計
    Simple I/O平臺,具有使用簡單,功能多樣,價格低廉等優點,廣泛應用於電子系統設計和互動產品開發方面。系統以ArduinoUNO開發平臺為控制核心,充分利用其內部Tone 庫,以數組形式組織樂曲的音高和節拍數據,通過串口和外圍無源蜂鳴器進行通信,實現了電子音樂播放,隨音樂節拍亮滅的LED為設計添加了溫馨感。本系統成本低廉,可靠性高,可實現樂曲DIY,有良好的擴展性。
  • 基於醫保電子憑證的網際網路慢病續方系統的設計與實現
    設計一種便捷的醫保慢病患者線上續方的網際網路服務模式。通過對接醫保電子憑證,實現患者醫保身份識別、在線處方審核;對接醫保平臺,實現在線結算、線上處方流轉;藥店和物流與醫保平臺對接實現處方接單和藥品配送到家;通過融合網際網路線上診室與院內醫生工作站系統,建立針對慢病續方的一體化線上診療服務模式。
  • 基於VHDL的矩陣鍵盤及顯示電路設計
    FPGA/CPLD在數字系統設計中的廣泛應用,影響到了生產生活的各個方面。作為一種功能強大的FPGA/CPLD數字系統開發環境,Altera公司推出的Quar-tUSⅡ,為設計者提供了一種與結構無關的設計環境,使設計者能方便地進行設計輸入、快速處理和器件編程,為使用VHDL語言進行FPGA/-CPLD設計提供了極大的便利。
  • 基於VHDL語言的卷積碼編解碼器的設計
    卷積碼和分組碼是差錯控制編碼的2種主要形式,在編碼器複雜度相同的情況下,卷積碼的性能優於分組碼,因此卷積碼幾乎被應用在所有無線通信的標準之中,如GSM ,IS95和CDMA2000的標準中。 目前,VHDL語言已成為EDA領域首選的硬體設計語言,越來越多的數字系統設計使用 VHDL語言來完成。
  • 基於DSP和SOPC數位訊號發生器的設計
    摘 要:為了比較DSP和SOPC技術在電子設計領域的應用,採用泰勒展開法和DDFS技術,分別給出設計方案的硬體電路結構和軟體流程圖,並通過集成開發環境