国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于CPLD的四位計(jì)數(shù)顯示

2016-10-18 16:20梅李林趙瑛沈祖斌
科技視界 2016年22期

梅李林 趙瑛 沈祖斌

【摘 要】設(shè)計(jì)的計(jì)數(shù)器能實(shí)現(xiàn)從0到9999的計(jì)數(shù),并具備清零功能。計(jì)數(shù)器采用原理圖層次化設(shè)計(jì)的方法,用四位七段數(shù)碼管顯示。通過分時(shí)復(fù)用技術(shù),實(shí)現(xiàn)數(shù)碼管的分時(shí)復(fù)用和熄滅前導(dǎo)零。運(yùn)用QuartusⅡ軟件進(jìn)行設(shè)計(jì)和功能仿真,最終下載到EPM240T100C5N開發(fā)板上驗(yàn)證。

【關(guān)鍵詞】CPLD;分時(shí)復(fù)用;前導(dǎo)零;多位計(jì)數(shù)

0 引言

CPLD(Complex Programmable Logic Device)復(fù)雜可編程邏輯器件,是從PAL和GAL發(fā)展出來的器件,是一種用戶根據(jù)自身需要而自行構(gòu)造邏輯功能的可編程數(shù)字集成電路。其基本設(shè)計(jì)方法是使用集成開發(fā)軟件平臺(tái),采用多種輸入方法,如原理圖、硬件描述語言、狀態(tài)圖及輸入輸出響應(yīng)法等,并生成相應(yīng)的目標(biāo)文件。通過下載電纜將構(gòu)造代碼下載到目標(biāo)芯片中,實(shí)現(xiàn)所設(shè)計(jì)的數(shù)字系統(tǒng)。

使用的集成開發(fā)軟件平臺(tái)為QuartusⅡ。QuartusⅡ?yàn)锳ltera公司的綜合性PLD/FPGA開發(fā)軟件,具有原理圖、VHDL、VerilogHDL、AHDL和Megafunction等多種設(shè)計(jì)輸入方式,內(nèi)嵌有的綜合器以及仿真器,可以完成從設(shè)計(jì)輸入到硬件配置的完整PLD設(shè)計(jì)流程。

一般來說,QuartusⅡ軟件開發(fā)平臺(tái)為使用者給予了和結(jié)構(gòu)基本無關(guān)系的全集成化環(huán)境。把軟件布局、軟件布線以及軟件系統(tǒng)的驗(yàn)證都全部放入到一個(gè)無縫環(huán)境中,使設(shè)計(jì)人員可以非常方便快捷地對(duì) PLD 產(chǎn)品實(shí)現(xiàn)設(shè)計(jì)輸入、編譯、仿真以及器件編程下載。QuartusⅡ平臺(tái)匯集了包括概念設(shè)計(jì)、算法開發(fā)、建模仿真等集成環(huán)境,是一款綜合性非常強(qiáng)的開發(fā)軟件,能夠很好地實(shí)現(xiàn)自設(shè)計(jì)輸入至硬件配置的完整 PLD 設(shè)計(jì)方法及步驟流程,是能夠在一個(gè)相對(duì)單一的特定設(shè)計(jì)空間內(nèi),給予一系列綜合、仿真和下載的軟件工具,這對(duì)加強(qiáng)硬件系統(tǒng)設(shè)計(jì)的環(huán)境有著積極的意義。

設(shè)計(jì)四位計(jì)數(shù)器中使用了原理圖的方式,在QuartusⅡ上來描敘整個(gè)設(shè)計(jì)流程,同時(shí)采用功能仿真的方式來進(jìn)行結(jié)果的驗(yàn)證,并經(jīng)過下載電纜將構(gòu)造代碼寫入EPM240T100C5N開發(fā)板中進(jìn)行最終的驗(yàn)證。采用分時(shí)復(fù)用技術(shù)來實(shí)現(xiàn)數(shù)碼管的控制,分時(shí)復(fù)用技術(shù)是用一條線路傳輸多路數(shù)據(jù),基于分時(shí)段使用同一線路的技術(shù)。在此設(shè)計(jì)中,有四個(gè)七段數(shù)碼管,若不用分時(shí)復(fù)用技術(shù)則每個(gè)七段數(shù)碼管都需要與之對(duì)應(yīng)的引腳和譯碼器,一共需要28(7*4)個(gè)引腳和四個(gè)譯碼器。而使用分時(shí)復(fù)用技術(shù)只需要一個(gè)數(shù)碼管的引腳加上四個(gè)位選的引腳,一共只需11(7+4)個(gè)引腳和一個(gè)譯碼器。這對(duì)于系統(tǒng)I/O資源緊張的設(shè)計(jì)是個(gè)有效節(jié)省I/O資源的方法,并節(jié)省設(shè)計(jì)的成本。

1 設(shè)計(jì)四位計(jì)數(shù)器

四位計(jì)數(shù)采用74LS161的同步置數(shù)法,每一位的計(jì)數(shù)狀態(tài)為(0000)→(0001)→(0010)→(0011)→(0100)→(0101)→(0110)→(0111)→(1000)→(1001)→(0000)。四位計(jì)數(shù)使用4個(gè)74LS161級(jí)聯(lián),分別表示個(gè)位十位百位千位,最大能表示的數(shù)為9999。采用原理圖層次化設(shè)計(jì)的方式,將4個(gè)74LS161的CLK時(shí)鐘脈沖輸入端串連在一起。計(jì)數(shù)采用同步置數(shù)法,使用個(gè)位的進(jìn)位使十位CEP和CET使能。每當(dāng)有一個(gè)進(jìn)位到來的時(shí)候上一位使能一次,在時(shí)鐘脈沖的作用下加1。這樣就實(shí)現(xiàn)了初步的計(jì)數(shù)器。

于是發(fā)現(xiàn)一個(gè)問題:當(dāng)十位為8的時(shí)候,個(gè)位的進(jìn)位信號(hào)到來會(huì)使十位為9。由于采用的置數(shù)法,當(dāng)十位數(shù)中當(dāng)出現(xiàn)1001的時(shí)候,就會(huì)產(chǎn)生一個(gè)進(jìn)位信號(hào)并且會(huì)重置當(dāng)前位。這就導(dǎo)致計(jì)數(shù)器十位百位千位的9不能正常顯示。

經(jīng)過對(duì)這個(gè)現(xiàn)象的分析,發(fā)現(xiàn)是在進(jìn)行計(jì)數(shù)器設(shè)計(jì)的時(shí)候,沒有考慮到十位百位千位重置問題,簡(jiǎn)單的以為和個(gè)位一樣出現(xiàn)9就重置并產(chǎn)生進(jìn)位。通過對(duì)計(jì)數(shù)原理和同步置數(shù)法的分析,發(fā)現(xiàn)十位百位千位的重置不是出現(xiàn)9就重置。例如十位,如果要將十位數(shù)重置為0,只有當(dāng)十位本身為9且個(gè)位產(chǎn)生下一個(gè)進(jìn)位的時(shí)候,才能重置十位并給百位一個(gè)進(jìn)位信號(hào)。設(shè)計(jì)的思路為當(dāng)脈沖到來時(shí)開始計(jì)數(shù),產(chǎn)生的進(jìn)位信號(hào)直接給上一位數(shù),上一位數(shù)由于有進(jìn)位信號(hào)的使能于是加1。如果十位要給上一位進(jìn)位信號(hào)且重置自身,那么就需要下一個(gè)進(jìn)位信號(hào)和自身的進(jìn)位信號(hào)通過一個(gè)與非門得到一個(gè)低位信號(hào)。低位信號(hào)重置自身,并通過一個(gè)非門產(chǎn)生進(jìn)位。設(shè)計(jì)的原理圖和通過QuartusⅡ功能仿真的結(jié)果如圖1所示。

圖 1 四位計(jì)數(shù)原理圖及仿真結(jié)果圖

2 四位顯示的分時(shí)復(fù)用

圖2 四位顯示的分時(shí)復(fù)用原理圖

四位計(jì)數(shù)顯示采用了分時(shí)復(fù)用技術(shù)。分時(shí)復(fù)用是用不同時(shí)段來傳輸和處理不同的信號(hào),能達(dá)到多路傳輸和處理的目的。四位顯示的分時(shí)復(fù)用原理圖如圖2所示。通過一個(gè)4選1的選擇器來選擇顯示的位數(shù)。將一個(gè)周期劃分為4個(gè)等分的時(shí)間,每個(gè)等分的時(shí)間通過4選1的選擇器來選擇一個(gè)輸入,并通過BCD碼到7段字形的處理,最終顯示在七段數(shù)碼管上。當(dāng)人眼在觀察數(shù)碼管時(shí),光信號(hào)傳入大腦神經(jīng),需經(jīng)過一段短暫的時(shí)間,光信號(hào)的作用結(jié)束后,視覺形象并不會(huì)立即消失,這種殘留的視覺稱“后像”,視覺的這一現(xiàn)象則被稱為“視覺暫留”。正是由于視覺暫留的存在,在多位計(jì)數(shù)的時(shí)候才得以采用分時(shí)復(fù)用,人眼被欺騙而認(rèn)為是四位同時(shí)在顯示。

3 熄滅多位顯示的前導(dǎo)零

在計(jì)數(shù)器中我們發(fā)現(xiàn)剛剛開始計(jì)數(shù)的時(shí)候計(jì)數(shù)器顯示為0001,千位百位十位的零沒有任何意義。這樣顯示出來不符合一般的閱讀習(xí)慣,也不利于數(shù)字的辨識(shí)。如果出現(xiàn)這樣的零就是屬于前導(dǎo)零。在四位七段數(shù)碼管中有4個(gè)控制位選的引腳,查詢開發(fā)板原理圖得知數(shù)碼管的位選引腳是低電平有效。通過控制數(shù)碼管的位選端達(dá)到熄滅前導(dǎo)零的目的。熄滅前導(dǎo)零不是當(dāng)某一位出現(xiàn)0就熄滅這一位的數(shù)碼管,而是當(dāng)某一位為0且前面沒有不為0的數(shù),那么就熄滅這一位以及前面所有的0。如果一個(gè)數(shù)為0但是前面有一個(gè)非0的數(shù),那么這一位0是有效的,不能熄滅。如圖3為通過位選控制前導(dǎo)零的原理圖。

(1)如果某一位數(shù)為0,同時(shí)這一位數(shù)前面沒有非0的數(shù)。它的BCD碼0000通過或非門后為高位,由于2-4譯碼器默認(rèn)輸出低位,將2-4譯碼器輸出的這一位低位與通過或非門運(yùn)算得到的高位進(jìn)行或運(yùn)算,最終產(chǎn)生一個(gè)高位信號(hào)給位選端,位選端無效,熄滅這個(gè)為0的數(shù)碼管。

(2)如果某一位不為0,通過或非門后得到低位,這個(gè)低位通過與門后為低位。這個(gè)低位信號(hào)和2-4譯碼器的低位通過或運(yùn)算得到的為低位,于是位選端有效,點(diǎn)亮這一位數(shù)碼管。

(3)如果某一位為0且前面有不為0數(shù)。不為0的這一位通過或非門后為低位,為0的這一位通過或非門后為高位。它們通過與運(yùn)算后得到的還是低位,再與2-4譯碼器輸出的低位進(jìn)行或運(yùn)算得到一個(gè)低位,于是位選端有效,點(diǎn)亮這個(gè)為0的數(shù)碼管。

4 結(jié)果驗(yàn)證

在上面進(jìn)行仿真結(jié)果正確后,就可以進(jìn)行引腳分配。在引腳分配之前需要選擇使用的器件型號(hào),本設(shè)計(jì)使用了合肥零零電子科技有限公司的EPM240T100C5N開發(fā)板進(jìn)行目標(biāo)芯片的在電路驗(yàn)證。在進(jìn)行引腳分配時(shí)需要查詢四位計(jì)數(shù)器中使用的七段數(shù)碼管、重置、時(shí)鐘脈沖在開發(fā)板中的引腳編號(hào),然后進(jìn)行分配。在進(jìn)行引腳分配后需要重新編譯后才能下載運(yùn)行。

將開發(fā)板的JTAG與USB下載線連好,接通電源。在QuartusⅡ中選擇“Tools-Programmer”進(jìn)行下載寫入。下載完成后觀察開發(fā)板上的數(shù)碼管顯示結(jié)果。驗(yàn)證結(jié)果和預(yù)期完全一樣,至此說明設(shè)計(jì)沒有問題。

5 總結(jié)

四位計(jì)數(shù)顯示采用QuartusⅡ作為開發(fā)平臺(tái),通過原理圖來設(shè)計(jì)整個(gè)流程,并采用了層次化設(shè)計(jì)的方式使得整個(gè)設(shè)計(jì)的流程更加清晰。整個(gè)設(shè)計(jì)中使用數(shù)碼管的顯示,分時(shí)復(fù)用等技術(shù)。分時(shí)復(fù)用技術(shù)在多位計(jì)數(shù)顯示上的使用,使得系統(tǒng)中有限的I/O資源能顯示更多的位數(shù),從而大大的降低了成本。這種設(shè)計(jì)方式將會(huì)被很多領(lǐng)域借鑒并使用。我們?cè)谠O(shè)計(jì)中考慮到了人們的閱讀習(xí)慣,于是熄滅前導(dǎo)零,使設(shè)計(jì)出來的計(jì)數(shù)器更加人性化,只有這樣才能被人類所接受。

【參考文獻(xiàn)】

[1]歐陽(yáng)星明.于俊清.數(shù)字邏輯(第四版)[M].華中科技大學(xué)出版社,2009.

[2]周潤(rùn)景,圖雅,張麗敏.基于QuartusⅡ的FPGA/CPLD數(shù)字系統(tǒng)設(shè)計(jì)實(shí)例[M].2007.

[3]吳亮亮.基于QuartusⅡ平臺(tái)的數(shù)字系統(tǒng)設(shè)計(jì)[J].電子電路設(shè)計(jì)與方案,2016.07.008.

[4]談宏華.用CPLD實(shí)現(xiàn)多處理器數(shù)據(jù)的分時(shí)共享[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2005(10):12-14.