基于CPLD的任意整數(shù)半整數(shù)分頻器設(shè)計(jì)
0 引言
在數(shù)字系統(tǒng)設(shè)計(jì)中,根據(jù)不同的設(shè)計(jì)需要,經(jīng)常會(huì)遇到偶數(shù)分頻、奇數(shù)分頻、半整數(shù)分頻等,有的還要求等占空比。在基于cpld(復(fù)雜可編程邏輯器件)的數(shù)字系統(tǒng)設(shè)計(jì)中,很容易實(shí)現(xiàn)由計(jì)數(shù)器或其級(jí)聯(lián)構(gòu)成各種形式的偶數(shù)分頻及非等占空比的奇數(shù)分頻,但對(duì)等占空比的奇數(shù)分頻及半整數(shù)分頻的實(shí)現(xiàn)較為困難。
本文利用vhdl(甚高速集成電路硬件描述語(yǔ)言),通過(guò)quartus ⅱ 4.2開(kāi)發(fā)平臺(tái),設(shè)計(jì)了一種能夠?qū)崿F(xiàn)等占空比的整數(shù)和近似等占空比的半整數(shù)分頻器,這種設(shè)計(jì)方法原理簡(jiǎn)單,而且只需很少的cpld邏輯宏單元。
1 設(shè)計(jì)原理
系統(tǒng)設(shè)計(jì)框圖如圖1所示。
根據(jù)不同分頻系數(shù)設(shè)置適當(dāng)?shù)挠?jì)數(shù)器周期,每個(gè)計(jì)數(shù)值對(duì)應(yīng)輸入時(shí)鐘信號(hào)fi的一個(gè)周期,讓q0只在fi的上升沿及適當(dāng)?shù)挠?jì)數(shù)范圍內(nèi)產(chǎn)生高電平,最后將q0和q1進(jìn)行邏輯或操作,進(jìn)而得到所需的分頻信號(hào)fo。q1的作用是在奇數(shù)分頻中補(bǔ)足下降沿處半個(gè)時(shí)鐘周期,使其等占空比,以及在半整數(shù)分頻中,在時(shí)鐘下降沿處產(chǎn)生分頻信號(hào)的上升沿,以實(shí)現(xiàn)半整數(shù)分頻。
下面介紹如何確定計(jì)數(shù)器周期以及q0、q1產(chǎn)生高電平輸出時(shí)各自的計(jì)數(shù)范圍。為敘述方便,現(xiàn)規(guī)定如下標(biāo)記:分頻系數(shù)為divide(max
downto 0),其中max是分頻數(shù)對(duì)應(yīng)二進(jìn)制數(shù)的最高位,對(duì)于半整數(shù)分頻,最低位即第0位為小數(shù)位;q 0_count和q1_count分別為q0和q1產(chǎn)生高電平的計(jì)數(shù)范圍,并記divide(max
downto 1)為a,divide(max downto 2)為b,divide(max downto 0)-1為c。
1.1 偶數(shù)及奇數(shù)分頻
計(jì)數(shù)器周期都為0到c。等占空比的偶數(shù)分頻很容易實(shí)現(xiàn),在此不加敘述。對(duì)奇數(shù)分頻,只需當(dāng)q0_count<a時(shí)q0輸出高電平,當(dāng)q1_count=a-1時(shí)q1輸出一個(gè)周期的高電平,其他情況下q0和q1都為低電平,然后把q0和q1邏輯或,所得的輸出fo就是所需的基數(shù)分頻時(shí)鐘信號(hào)。
1.2 半整數(shù)分頻
計(jì)數(shù)器周期為0到c。如果整數(shù)部分是偶數(shù),只需當(dāng)q0_count<b時(shí)q0輸出高電平,當(dāng)b≤q1_count<a+b時(shí)q1輸出高電平,其他情況下,q0和q1都為低電平;如果整數(shù)部分是奇數(shù),只需當(dāng)q0_coun≤b時(shí)q0輸出高電平,當(dāng)b≤q1_count≤a+b輸出高電平,其他情況下q0和q1都為低電平,然后把q0和q1邏輯或所得輸出f0即所需的半整數(shù)分頻時(shí)鐘信號(hào)。
2 仿真結(jié)果及硬件電路測(cè)試
根據(jù)上面的原理,利用quartus ⅱ 4.2開(kāi)發(fā)的7分頻和7.5分頻的仿真波形如圖2和圖3所示。
只要稍微修改程序,即可實(shí)現(xiàn)任意整數(shù)和半整數(shù)分頻。
本設(shè)計(jì)在altera公司的epm7064slc84-10構(gòu)成的一個(gè)數(shù)據(jù)采集系統(tǒng)測(cè)試通過(guò),性能良好。
3 結(jié)束語(yǔ)
本分頻方法原理簡(jiǎn)單,具有一定的通用性,而且使用的cpld邏輯宏單元數(shù)較少,如在epm7064中,上面仿真的兩個(gè)分頻器均只用7個(gè)邏輯宏單元。
評(píng)論