基于CPLD的多功能數(shù)字時鐘實(shí)現(xiàn)1_第1頁
基于CPLD的多功能數(shù)字時鐘實(shí)現(xiàn)1_第2頁
基于CPLD的多功能數(shù)字時鐘實(shí)現(xiàn)1_第3頁
基于CPLD的多功能數(shù)字時鐘實(shí)現(xiàn)1_第4頁
基于CPLD的多功能數(shù)字時鐘實(shí)現(xiàn)1_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、基于CPLD的多功能數(shù)字時鐘實(shí)現(xiàn)何有為 沈祖斌(江漢大學(xué)數(shù)計學(xué)院 湖北,武漢 430056)摘要:基于CPLD的數(shù)字時鐘,采用原理圖方式設(shè)計,使用自上而下的思想和模塊化思想設(shè)計時鐘系統(tǒng),形成一個結(jié)構(gòu)明晰的帶有防機(jī)械按鍵抖動的多功能數(shù)字時鐘。在quartusII 9.0平臺上編譯與仿真,得到正確結(jié)果;同時也在ALTERA公司的CPLD芯片EPM240T100C5上驗(yàn)證通過,效果良好計時精準(zhǔn)。本文詳細(xì)介紹該數(shù)字時鐘系統(tǒng)通過原理圖方式實(shí)現(xiàn)的全過程,重點(diǎn)介紹動態(tài)刷新、功能選擇、校時閃爍、防機(jī)械按鍵抖動模塊的功能實(shí)現(xiàn)。采用原理圖設(shè)計方式,加強(qiáng)了對數(shù)字邏輯器件的熟悉,能全方位鍛煉學(xué)生能力。關(guān)鍵詞:數(shù)字鐘

2、防抖動 原理圖 校時Abstract:Digital clock based on CPLD, the schematic design, using the top-down thought and the idea of modularization design of the clock system, forming a structure clear with anti machinery jitter of keys of the multi-function digital clock. On the quartusII 9 platform to compile and sim

3、ulation, get the right results, but also in the ALTERA company's CPLD chip EPM240T100C5 verification through, the effect of good time accurate. The whole process of the digital clock system is introduced in detail, and the function of dynamic refresh, function selection, flash, and anti mechanic

4、al key jitter module are introduced in detail. Using the principle diagram design method, strengthen the understanding of the digital logic device, can the full range of training students' ability.Key words: digital clock,Anti shake, Schematic diagram, School1. 整體設(shè)計方案本系統(tǒng)采用最原始的原理圖設(shè)計方案,采用原理圖設(shè)計能最大限

5、度的了解內(nèi)部電路結(jié)構(gòu),了解其中的原理構(gòu)造,清晰易懂,而且在一定程度上很好的強(qiáng)化與鍛煉了“數(shù)字邏輯”知識。在一般的簡易時鐘基礎(chǔ)上有了比較明顯的改進(jìn)。1.1系統(tǒng)需求分析該時鐘主要的功能有: 數(shù)字鐘采用12h制計時,由4只數(shù)碼管顯示,不同模式下可以顯示時分,分秒。 小時和分鐘部分具有校時功能,且對分鐘校準(zhǔn)時,分顯示部分閃爍;對小時校準(zhǔn)時,小時顯示部分閃爍。 具有防機(jī)械按鍵抖動功能,能夠基本上消除抖動,從而增強(qiáng)系統(tǒng)穩(wěn)定性。 外部按鍵輸入不能多于兩個,model鍵用于切換模式,check鍵用于校時。 當(dāng)處于時分顯示模式時,中間的小數(shù)點(diǎn)閃動以此代表秒鐘。 以ALTERA公司的EPM240T100C5為硬件

6、基礎(chǔ),要求驗(yàn)證良好,計時精準(zhǔn)。1.2 系統(tǒng)實(shí)現(xiàn)流程如圖所示,是該時鐘的整體實(shí)現(xiàn)流程圖,實(shí)驗(yàn)板采用CPLD芯片EPM240,它是一個中規(guī)模的實(shí)驗(yàn)板,有很高的集成性,完全可以完成這個系統(tǒng)的需求。50MHz晶振源分頻為1Hz秒、分、時計數(shù) 電路功能選擇電路動態(tài)刷新和顯示譯碼電路閃爍電路校時電路防機(jī)械按鍵抖動電路控制電路該時鐘的晶振源由實(shí)驗(yàn)板自帶的50MHz晶振源提供,考慮到系統(tǒng)的特殊性需要一定程度的時間準(zhǔn)確性,對50MHz分頻得到1Hz的脈沖;然后對其計數(shù),“秒鐘”滿60清0向分位進(jìn)一,同樣“分”滿60進(jìn)一到“時”,小時采用12小時制,故時滿12清零。接著,使用刷新電路對其進(jìn)行動態(tài)刷新,并通過數(shù)碼管

7、顯示出來。對于校時部分,直接通過校時電路對分、時部分進(jìn)行校時。最后,關(guān)于對控制電路的設(shè)計,控制電路通過使用模二進(jìn)制的循環(huán)狀態(tài)機(jī)實(shí)現(xiàn)顯示時分、顯示分秒、分鐘校時閃爍、小時校時閃爍四種模式循環(huán),不同模式的控制,對模式信號進(jìn)行處理,從而使MUX進(jìn)行不同的選擇實(shí)現(xiàn)顯示以及閃爍。關(guān)于防抖部分,在每個按鍵輸入處進(jìn)行消抖處理即可。2. 數(shù)字鐘模塊實(shí)現(xiàn)在確定整體思路基礎(chǔ)后,進(jìn)行模塊化設(shè)計,采用模塊化設(shè)計方便進(jìn)行局部調(diào)整,以及模塊的重用,便于開發(fā),節(jié)省開發(fā)流程。可以進(jìn)行同步設(shè)計而不需要等待某個部分設(shè)計好后才進(jìn)行后續(xù)設(shè)計,能很好的進(jìn)行并行開發(fā),縮短開發(fā)周期。對于該系統(tǒng)劃分為以下幾個模塊去實(shí)現(xiàn):分頻電路 秒鐘計時電

8、路 時鐘計時電路 動態(tài)刷新和譯碼顯示電路 控制電路 防機(jī)械按鍵抖動電路 閃爍電路 校時電路 功能選擇電路2.1 分頻電路實(shí)現(xiàn)由于晶振源為50MHz,考慮該時鐘系統(tǒng)需要計時的精準(zhǔn)性,故需要將其準(zhǔn)確的分頻為1Hz脈沖。采用8個74ls90作為分頻基礎(chǔ)芯片,74ls90可以進(jìn)行2、5、10進(jìn)制計數(shù),將CKLB接輸入信號,QD即為5分頻后的信號;將CLKA接輸入信號,QA接CLKB,則QD輸出即為10分頻信號。如圖所示將一個5分頻和7個10分頻串聯(lián),輸出即為1Hz。但考慮到防抖及校時電路還需要其他頻率的脈沖,這里也引出100Hz、500Hz、1KHz、10KHz的脈沖信號。完成該電路設(shè)計后將其封裝成m

9、odule,方便后面的調(diào)用。封裝方法:選中電路圖,F(xiàn)ile à Create/update à Create symbol files for current File 保存即可。系統(tǒng)可直接調(diào)用封裝好的模塊。2.2 秒鐘計時電路實(shí)現(xiàn)在分頻電路中已經(jīng)得到1Hz脈沖,秒鐘模塊選用74ls90作為個位,采用10進(jìn)制;74ls92作為十位,采用6進(jìn)制。選用它們而不用74ls161,考慮到選用最合適的芯片不需要多用的部分從而減少引腳和電路的冗余,使電路盡量精簡。將1Hz脈沖引進(jìn)到74ls90的CLKA,當(dāng)滿十產(chǎn)生進(jìn)位時,輸入到74ls92的CLKA。當(dāng)74ls92滿6產(chǎn)生進(jìn)位時,輸出

10、進(jìn)位到分鐘,并將所有引腳輸出,方便后面進(jìn)行譯碼顯示。如圖所示為設(shè)計的電路圖,同樣需要將其封裝。由于分鐘部分的原理和秒鐘完全一致,那么就可以直接重用秒鐘模塊,而不需要再進(jìn)行設(shè)計。很好的體現(xiàn)模塊化設(shè)計的優(yōu)勢。2.3 時鐘計時電路實(shí)現(xiàn)基于在分鐘電路中的進(jìn)位脈沖,輸入到74ls90的CLKA,從而進(jìn)行時的計數(shù),依然采用74ls90作為個位,74ls92作為十位。當(dāng)計數(shù)到12時清零,即十位為一,個位為二時產(chǎn)生清零信號,給74ls90和74ls92的CLRAB,從而達(dá)到清零目的,使用與門進(jìn)行判斷是否輸出CLR信號。設(shè)計如圖所示,并將其封裝成模塊。2.4 動態(tài)刷新及譯碼顯示電路實(shí)現(xiàn)由于實(shí)驗(yàn)板EPM240采用

11、動態(tài)刷新的驅(qū)動方式,故該電路也采用動態(tài)刷新,而且采用動態(tài)刷新可以很好的節(jié)約引腳資源。動態(tài)刷新電路利用了人眼的“視覺暫留”效應(yīng),即人眼視覺神經(jīng)的反應(yīng)速度為二十四分之一秒,當(dāng)人看到的圖像消失后,在人眼力依然保留其影像0.1-0.4s左右的圖像視覺暫留。動態(tài)刷新電路利用這個效應(yīng)很好的達(dá)到最后的顯示效果。刷新電路如圖所示:動態(tài)刷新電路由一個模2計器和一個74ls139來控制位選,模2計數(shù)器四種狀態(tài)Q1Q0=00,Q1Q0=01,Q1Q0=10,Q1Q0=11分別代表選通數(shù)碼管位選1,2,3,4.由于利用“視覺暫留”效應(yīng)則刷新頻率應(yīng)不小于24Hz。在該刷新電路下面添加了一個小的秒的dp閃爍點(diǎn),用于在顯示

12、時分模式時以一秒單位的閃爍來代表秒鐘。因?yàn)橐棺笃鸬诙€數(shù)碼管下面的dp閃爍,而其他不閃爍。故應(yīng)當(dāng)選通Q1Q0=10狀態(tài)的dp。同時引進(jìn)一個1Hz的脈沖,達(dá)到以秒為單位閃爍的效果。完成對數(shù)碼管位選后,需要通過譯碼電路輸入七段顯示信號并在數(shù)碼管上顯示出來。所以在選中對應(yīng)數(shù)碼管位時,需要譯碼電路輸入正確的BCD碼。通過多路選擇器MUX16_41實(shí)現(xiàn)正確的信號輸入。使用模2計數(shù)器控制位選的同時也控制MUX16_41信號選擇。MUX16_41是一個16位4選一多路選擇器,可以直接使用quartusII 9.0的MegaWizard Plug-InManager功能進(jìn)行設(shè)計。最后通過7448譯碼顯示所選

13、中的7段顯示碼信號,并在數(shù)碼管上顯示出來。設(shè)計如圖所示:2.5 控制電路實(shí)現(xiàn)控制電路是該系統(tǒng)能實(shí)現(xiàn)各種模式切換以及閃爍的重要部分。在控制電路中主要輸出模式切換信號、閃爍信號、校時信號。決定了模式的狀態(tài)和是否閃爍以及閃爍小時部分還是分鐘部分。本系統(tǒng)設(shè)計了正常顯示小時分鐘、正常顯示分秒、分鐘校時閃爍、小時校時閃爍這四種狀態(tài),四種狀態(tài)的實(shí)現(xiàn)通過一個狀態(tài)機(jī)循環(huán),即采用模二進(jìn)制計數(shù)器。對應(yīng)模式和模二計數(shù)器狀態(tài)如下:M1正常顯示小時分鐘(S1S0=00)、M2正常顯示分秒(S1S0=01)、M3分鐘校時閃爍(S1S0=10)、M4小時校時閃爍(S1S0=11);模式切換信號分兩種:數(shù)碼管上顯示小時和分鐘

14、數(shù)碼管上顯示分鐘和秒鐘;閃爍信號也分兩種:小時部分閃爍并校時 分鐘部分閃爍并校時。需要模式切換信號的模式有M1、M3、M4,需要模式切換信號的模式有M2。使模式切換信號為低電平;模式切換信號為高電平,那么由此構(gòu)造出來的真值表如圖: 采用的電路結(jié)構(gòu)為S1與非門連接然后和S0相與得到切換信號C1,并將C1信號輸出給MUX31_21,從而實(shí)現(xiàn)功能切換。具體功能切換實(shí)現(xiàn)請參考下面的功能選擇電路實(shí)現(xiàn)模塊。 同理需要閃爍信號的模式有M4,需要閃爍信號的模式有M3,兩種閃爍信號都不需要的模式有M1、M2。使需要閃爍時的狀態(tài)為高電平,不需要閃爍時的狀態(tài)為低電平。構(gòu)造對應(yīng)真值表如圖: 采用電路結(jié)構(gòu)為,在M3模式

15、下取閃爍信號為S0連接非門然后與S1相與得到高電平;M4模式下直接讓S0和S1相與得到高電平,輸出給閃爍電路和校時電路。由于閃爍時即代表該部分在校時,故閃爍電路和校時電路可以共用閃爍信號。既完成了對閃爍電路控制又完成了對校時電路的控制。控制電路的模二計數(shù)輸入由外部定義的機(jī)械按鍵輸入,該鍵即為module鍵。最后設(shè)計完成的控制電路原理圖如圖所示:2.6 防機(jī)械按鍵抖動電路穩(wěn)定可靠的信號輸入是時鐘系統(tǒng)能可靠工作的重要條件,我們不能將任何有毛刺的輸入作為計時器的時鐘信號,因此需要設(shè)計機(jī)械按鍵防抖動電路。該系統(tǒng)涉及到兩個外部機(jī)械按鍵,要使它們每一次按下時都要產(chǎn)生單脈沖信號,以此提高可靠的信號。由于機(jī)械

16、式開關(guān)的核心部件為彈性金屬簧片,因而在開關(guān)切換的瞬問會在接觸點(diǎn)出現(xiàn)來回彈跳的現(xiàn)象。雖然只是進(jìn)行了一次按鍵,但在按鍵信號穩(wěn)定的前后出現(xiàn)了多個脈沖,如圖按鍵波形圖所示。如果將這樣的信號直接送給計數(shù)器采集的話,將可能把按鍵穩(wěn)定前后出現(xiàn)的脈沖信號當(dāng)作按鍵信號,這就出現(xiàn)人為的一次按鍵,但計數(shù)器以為多次按鍵現(xiàn)象。為了確保按鍵識別的準(zhǔn)確性,在按鍵信號抖動的情況下不能進(jìn)入狀態(tài)輸入,為此就必須對按鍵進(jìn)行消抖處理。 按鍵抖動時間的長短由按鍵的機(jī)械特性決定,一般為5ms-lOms,按鍵穩(wěn)定閉介時間的長短則是由操作人員的按鍵動作決定的,一般為零點(diǎn)幾秒至數(shù)秒。這里我采用了硬件消抖的方法。實(shí)驗(yàn)開發(fā)板機(jī)械按鍵module鍵

17、和check鍵常態(tài)下為高電平。如圖為去抖電路所示硬件消抖電路,當(dāng)按鍵Y按下時產(chǎn)生抖動,此時若時鐘脈沖CP的上升沿不來則兩個D觸發(fā)器的Q端不變,保持初始狀態(tài)。設(shè)初始狀態(tài)為Q1=Q2=0,輸出。這時即使Y有抖動也不會影響輸出,如圖為消抖仿真時序圖所示,當(dāng)?shù)趎個時鐘脈沖CP的到來時,觸發(fā)器DFF37翻轉(zhuǎn),Q1=1;DFF36不變,則S=1。當(dāng)n+1個時鐘脈沖到來時,DFF37不變,DFF36翻轉(zhuǎn),Q2=1,此時鎖存Q1=Q2=1,則S=1。此時按下按鍵Y,在n+2個脈沖時鐘到來時,觸發(fā)器DFF36、DFF37維持不變。當(dāng)按鍵Y松開時,D1=0,在第T個CLK脈沖到來時Q1=0,Q2不變,則S=0,產(chǎn)

18、生了一個單脈沖信號。當(dāng)?shù)赥+1個脈沖到來時,Q2翻轉(zhuǎn),此時S=1回到常態(tài)。當(dāng)按鍵Y松開時,如果此時第m個時鐘脈沖CP上升沿到來,Q1=1,Q2=0,則S=1。第m+1個時鐘脈沖CP的上升沿帶來時,Q1=1,Q2=1,則S=1。所以只要Y松開,即使有時鐘脈沖出發(fā),輸出S仍保持不變。由此可得,按鍵Y按下一次,S端將獲得一個與時鐘脈沖同步的單次穩(wěn)定脈沖信號輸入給計數(shù)器。 這樣就很好解決了按鍵“失靈”的情況,使得每一次按下外部機(jī)械按鍵時都只產(chǎn)生一個穩(wěn)定的信號。為后面驗(yàn)證工作打下了很好的基礎(chǔ),保證了實(shí)際操作的準(zhǔn)確性和靈敏度。2.7 校時電路實(shí)現(xiàn) 當(dāng)出現(xiàn)計時誤差時,校時電路就需要被使用。校時是數(shù)字時鐘應(yīng)該

19、具備的基本功能。一般電子表都具有時、分、秒等校時功能,這里只對小時和分鐘進(jìn)行校時。對校時電路的要求是,在小時校準(zhǔn)時不影響分秒的正常計數(shù),在對分鐘校準(zhǔn)時不影響小時和秒的計數(shù)。以對分鐘校時為例,當(dāng)對分鐘進(jìn)行校時時,需要屏蔽掉來自秒十位的進(jìn)位。沒有進(jìn)行校時時,秒十位的進(jìn)位能夠順利進(jìn)入分個位計數(shù)。原理圖設(shè)計如圖所示:JW即為上一位的進(jìn)位,S為按鍵check產(chǎn)生的校時信號,CLK_1Hz為校時的速度,頻率越高校時時速度越快,這里選擇頻率為一秒。由圖可知,當(dāng)沒有校時信號,JW信號是有效的,當(dāng)產(chǎn)生了校時信號時JW位是無效的。達(dá)到了校時電路的要求。完成電路后同樣將其封裝成模塊jiaoshi。那么如何用一個鍵完

20、成對分和時的校時呢,之前在控制電路中產(chǎn)生過校時控制信號,將其與check鍵產(chǎn)生的信號相與便可知道對那一部分校時了。同時在校時前,需要用消抖電路對按鍵check鍵產(chǎn)生的信號消抖。2.8 閃爍電路實(shí)現(xiàn) 為了給人視覺更好的體驗(yàn)感,使系統(tǒng)在校時時,該部分也一起閃爍。以分鐘部分校時閃爍為例,在為分鐘校時時,則數(shù)碼管的后兩位應(yīng)該閃爍即L1、L2。那么閃爍是如何實(shí)現(xiàn)的呢?前面我們講過利用“視覺暫留”效應(yīng)完成動態(tài)刷新,所以要使數(shù)碼管閃爍,只需要讓數(shù)碼管對應(yīng)位的選通頻率低于人眼的視覺暫留時間,人眼就能看到閃爍了。為了不干擾M1和M2模式,它們?yōu)檎o@示不產(chǎn)生閃爍。故在動態(tài)刷新電路后的74ls139后加入閃爍電路

21、,達(dá)到閃爍效果。只需要改變選通頻率即可。原理圖設(shè)計如圖:W信號為正常信號當(dāng)MUX_2_1選擇data0時即不閃爍,當(dāng)選擇data1時即為閃爍,通過Counter16來改變選通的頻率,達(dá)到人眼看到的閃爍效果。然后將其封裝成模塊。最終為74ls139的連接原理圖:Flash即為封裝的模塊名。其中信號f_f和f_s在上面的控制電路中已經(jīng)產(chǎn)生,這里直接使用,相當(dāng)于閃爍電路的總開關(guān)信號。4位數(shù)碼管中,前兩位負(fù)責(zé)小時的閃爍,后兩位負(fù)責(zé)分鐘的閃爍。2.9 功能選擇電路實(shí)現(xiàn)該系統(tǒng)共有四種模式M1正常顯示小時分鐘、M2正常顯示分秒、M3分鐘校時閃爍、M4小時校時閃爍;當(dāng)按下module鍵時,能在4位數(shù)碼管上依次

22、正常顯示出來。那么如何做到數(shù)碼管能在對應(yīng)模式下顯示對應(yīng)的數(shù)據(jù)呢?首先將數(shù)據(jù)類型分一下類,即在M1、M3、M4模式下顯示小時和分鐘和M2模式下顯示分鐘和秒鐘,這兩種需要顯示的數(shù)據(jù)類型。在控制電路中我們提取出了模式切換信號C1,通過MUX我們可以來區(qū)分這兩種要顯示的數(shù)據(jù)類型。將選擇出來的信號再給顯示譯碼電路即可完成對應(yīng)功能。原理圖設(shè)計如圖:至此,我們完成了所有模塊的設(shè)計,將各模塊調(diào)用即可形成數(shù)字時鐘系統(tǒng)。下面為該系統(tǒng)的整體原理圖:讀者可以在這個網(wǎng)址下載該系統(tǒng)全部原理圖:3. 驗(yàn)證與優(yōu)化經(jīng)過需求分析,模塊劃分和設(shè)計,模塊實(shí)現(xiàn),調(diào)用模塊組成最終原理圖。我們完成了該數(shù)字系統(tǒng)的設(shè)計。全部流程和設(shè)計原理圖均在quartus II9.0平臺上編譯仿真通過,最終系統(tǒng)的

溫馨提示

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

最新文檔

評論

0/150

提交評論