祝陳偉 高飛
摘要:數(shù)字時(shí)鐘是一種計(jì)時(shí)裝置,它具有時(shí)、分、秒計(jì)時(shí)功能和顯示時(shí)間功能。與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,無機(jī)械裝置,且使用壽命長。因此得到了廣泛的使用。從數(shù)字鐘的發(fā)展上看,主要是向小型化、功能多樣化方面發(fā)展。
本課程采用EDA技術(shù),以硬件描述語言VHDL為系統(tǒng)邏輯描述手段設(shè)計(jì)文件,在MaxplusII工具軟件環(huán)境下,采用自頂向下的設(shè)計(jì)方法,由各個(gè)基本模塊共同構(gòu)建了一個(gè)基于FPGA的數(shù)字鐘。經(jīng)編譯和仿真所設(shè)計(jì)的程序,在可編程邏輯器件上下載驗(yàn)證,能夠完時(shí)、分、秒的分別顯示,由按鍵輸入進(jìn)行數(shù)字鐘的校時(shí)、清零、啟停功能的數(shù)字時(shí)鐘。
關(guān)鍵詞:數(shù)字鐘;硬件描述語言;VHDL;FPGA;鍵盤接口
一、技術(shù)與系統(tǒng)概述
當(dāng)今電子產(chǎn)品正向功能多元化,體積最小化,功耗最低化的方向發(fā)展。它與傳統(tǒng)的電子產(chǎn)品在設(shè)計(jì)上的顯著區(qū)別師大量使用大規(guī)??删幊踢壿嬈骷?,使產(chǎn)品的性能提高,體積縮小,功耗降低.同時(shí)廣泛運(yùn)用現(xiàn)代計(jì)算機(jī)技術(shù),提高產(chǎn)品的自動(dòng)化程度和競爭力,縮短研發(fā)周期。EDA技術(shù)正是為了適應(yīng)現(xiàn)代電子技術(shù)的要求,吸收眾多學(xué)科最新科技成果而形成的一門新技術(shù)。
二、構(gòu)成方案
數(shù)字鐘實(shí)際上是一個(gè)對標(biāo)準(zhǔn)頻率(1HZ)進(jìn)行計(jì)數(shù)的計(jì)數(shù)電路。由于計(jì)數(shù)的起始時(shí)間不可能與標(biāo)準(zhǔn)時(shí)間(如北京時(shí)間)一致,故需要在電路上加一個(gè)校時(shí)電路,同時(shí)標(biāo)準(zhǔn)的1HZ時(shí)間信號必須做到準(zhǔn)確穩(wěn)定。通常使用石英晶體振蕩器電路構(gòu)成數(shù)字鐘。主要包括時(shí)間基準(zhǔn)電路、計(jì)數(shù)器電路、控制電路、譯碼和顯示電路。其中的控制邏輯電路是比較靈活多樣的,不斷完善它可以增強(qiáng)數(shù)字鐘的功能。
1.數(shù)字鐘的工作原理
數(shù)字時(shí)鐘是一種計(jì)時(shí)裝置,它具有時(shí)、分、秒計(jì)時(shí)功能和顯示時(shí)間功能。與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,無機(jī)械裝置,且使用壽命長。因此得到了廣泛的使用。從數(shù)字鐘的發(fā)展上看,主要是向小型化、功能多樣化方面發(fā)展。
數(shù)字鐘一般是由時(shí)鐘模塊、控制模塊、計(jì)時(shí)模塊、數(shù)據(jù)譯碼模塊、顯示模塊等幾部分組成。這些都是數(shù)字電路中應(yīng)用最廣泛的基本電路,本設(shè)計(jì)分模塊設(shè)計(jì)實(shí)現(xiàn)了各個(gè)部分功能,采用基于CycloneII系列EP2C35F672C8的FPGA芯片內(nèi)部產(chǎn)生振動(dòng)脈沖。并將信號送入計(jì)數(shù)器進(jìn)行計(jì)算,并把累加的結(jié)果以“時(shí)”“分”“秒”的數(shù)字顯示出來。“秒”的顯示由兩級計(jì)數(shù)器和譯碼器組成的六十進(jìn)制計(jì)數(shù)電路實(shí)現(xiàn);“分”的顯示電路和“秒”的顯示電路相同,“時(shí)”的顯示由兩級計(jì)數(shù)器和譯碼器組成。
2.構(gòu)成電路設(shè)計(jì)方案
一個(gè)完整的數(shù)字時(shí)鐘電路由幾塊電路分別完成不同功能所構(gòu)成,秒計(jì)數(shù)模塊、分計(jì)數(shù)模塊、時(shí)計(jì)數(shù)模塊、動(dòng)態(tài)掃描和顯示電路。
輸入端口ENL是秒時(shí)鐘使能信號,也是整個(gè)數(shù)字中的使能信號,高電平有效;RES是異步清零信號;CLK是秒脈沖輸入端口;MADD和MDEC是同步校時(shí)控制信號,MADD是控制秒信號加一,MDEC是控制秒信號減一;輸出端口A[3..0]是秒時(shí)鐘的低位,B[3..0]是高位;CA端口是進(jìn)位輸出端口,當(dāng)秒計(jì)數(shù)到59時(shí)輸出高電平,其它時(shí)候輸出低電平。
輸入端口ENL是時(shí)時(shí)鐘使能信號,也是整個(gè)數(shù)字中的使能信號,高電平有效;RES是異步清零信號;CLK是時(shí)脈沖輸入端口;FADD和FDEC是同步校時(shí)控制信號,F(xiàn)ADD是控制時(shí)信號加一,MDEC是控制時(shí)信號減一;輸出端口A[3..0]是時(shí)時(shí)鐘的低位,B[3..0]是高位;CA端口是進(jìn)位輸出端口,當(dāng)時(shí)計(jì)數(shù)到59時(shí)輸出高電平,其它時(shí)候輸出低電平。
輸入端口ENL是分時(shí)鐘使能信號,也是整個(gè)數(shù)字中的使能信號,高電平有效;RES是異步清零信號;CLK是分脈沖輸入端口;SADD和SDEC是同步校時(shí)控制信號,SADD是控制分信號加一,MDEC是控制分信號減一;輸出端口A[3..0]是分時(shí)鐘的低位,B[3..0]是高位;CA端口是進(jìn)位輸出端口,當(dāng)分計(jì)數(shù)到59時(shí)輸出高電平,其它時(shí)候輸出低電平。
動(dòng)態(tài)掃描電路將計(jì)數(shù)器輸出的8421BCD碼轉(zhuǎn)換為數(shù)碼管需要的邏輯狀態(tài),并且輸出數(shù)碼管的片選信號和位選信號。所謂動(dòng)態(tài)掃描顯示方式是在顯示某一位LED顯示塊的數(shù)據(jù)的時(shí)候,讓其它位不顯示,然后在顯示下一位的數(shù)據(jù),同時(shí)關(guān)閉其他顯示塊。這樣做可以使每一個(gè)顯示塊顯示與自己相對應(yīng)的數(shù)據(jù)。只要保證每一位顯示的時(shí)間間隔不要太大,利用人眼的視覺暫留的現(xiàn)象,就可以造成各位數(shù)據(jù)同時(shí)顯示的假象。一般每一位的顯示時(shí)間為1~10ms。
本系統(tǒng)選擇7448作為顯示譯碼電路,選擇數(shù)碼管作為顯示單元電路。計(jì)數(shù)器實(shí)現(xiàn)了對時(shí)間的累計(jì)并以8421BCD碼的形式輸送到動(dòng)態(tài)掃描模塊,再由其輸出的端送到7448,將BCD碼轉(zhuǎn)換為七段碼,再由數(shù)碼管顯示出來。
結(jié)論
將設(shè)計(jì)程序下載到實(shí)驗(yàn)箱上運(yùn)行調(diào)試后,最終結(jié)果與預(yù)期效果基本一致,時(shí)、分、秒能夠正常計(jì)數(shù)并能由控制鍵分別顯示。
在此次的數(shù)字鐘設(shè)計(jì)過程中,更進(jìn)一步地熟悉有關(guān)數(shù)字電路的知識和具體應(yīng)用。學(xué)會(huì)了利用QuarterII軟件進(jìn)行原理圖的繪制,硬件描述語言VHDL的編寫,程序的仿真等工作。并能根據(jù)仿真結(jié)果分析設(shè)計(jì)的存在的問題和缺陷,從而進(jìn)行程序的調(diào)試和完善。
在設(shè)計(jì)電路中,往往是先仿真后連接實(shí)物圖,但有時(shí)候仿真和電路連接并不是完全一致的,例如在對具體模塊的仿真的過程中,往往沒有考慮到整體設(shè)計(jì)的層面以及與上下模塊接口的設(shè)計(jì)。再加上器件對信號的延時(shí)等問題,實(shí)際下載到實(shí)驗(yàn)箱上后會(huì)出現(xiàn)一系列的問題,因此仿真圖和電路連接圖還是有一定區(qū)別的。
參考文獻(xiàn):
[1]俞承芳.電子系統(tǒng)設(shè)計(jì)[M].上海:復(fù)旦大學(xué)出版社,2004
[2]潘松,趙敏.EDA技術(shù)及其應(yīng)用[M].北京:科學(xué)出版社,2007:5-20
[3]李洋.《EDA技術(shù)實(shí)用教程》.北京:機(jī)械工業(yè)出版社,2008