關 閉

新聞中心

EEPW首頁 > 工控自動化 > 設計應用 > 基于CPLD的任意整數半整數分頻器設計

基于CPLD的任意整數半整數分頻器設計

——
作者:許永賢 (南京郵電大學信號與信息處理系,江蘇省南京市 210003) 時間:2007-01-26 來源:《電子工程師》 收藏

0 引言

在數字系統(tǒng)設計中,根據不同的設計需要,經常會遇到偶數分頻、奇數分頻、半整數分頻等,有的還要求等占空比。在基于cpld(復雜可編程邏輯器件)的數字系統(tǒng)設計中,很容易實現由計數器或其級聯構成各種形式的偶數分頻及非等占空比的奇數分頻,但對等占空比的奇數分頻及半整數分頻的實現較為困難。
本文利用vhdl(甚高速集成電路硬件描述語言),通過quartus ⅱ 4.2開發(fā)平臺,設計了一種能夠實現等占空比的整數和近似等占空比的半整數分頻器,這種設計方法原理簡單,而且只需很少的cpld邏輯宏單元。
1 設計原理
系統(tǒng)設計框圖如圖1所示。

本文引用地址:http://2s4d.com/article/21049.htm

根據不同分頻系數設置適當的計數器周期,每個計數值對應輸入時鐘信號fi的一個周期,讓q0只在fi的上升沿及適當的計數范圍內產生高電平,最后將q0和q1進行邏輯或操作,進而得到所需的分頻信號fo。q1的作用是在奇數分頻中補足下降沿處半個時鐘周期,使其等占空比,以及在半整數分頻中,在時鐘下降沿處產生分頻信號的上升沿,以實現半整數分頻。

下面介紹如何確定計數器周期以及q0、q1產生高電平輸出時各自的計數范圍。為敘述方便,現規(guī)定如下標記:分頻系數為divide(max downto 0),其中max是分頻數對應二進制數的最高位,對于半整數分頻,最低位即第0位為小數位;q 0_count和q1_count分別為q0和q1產生高電平的計數范圍,并記divide(max downto 1)為a,divide(max downto 2)為b,divide(max downto 0)-1為c。

1.1 偶數及奇數分頻

計數器周期都為0到c。等占空比的偶數分頻很容易實現,在此不加敘述。對奇數分頻,只需當q0_count<a時q0輸出高電平,當q1_count=a-1時q1輸出一個周期的高電平,其他情況下q0和q1都為低電平,然后把q0和q1邏輯或,所得的輸出fo就是所需的基數分頻時鐘信號。

1.2 半整數分頻

計數器周期為0到c。如果整數部分是偶數,只需當q0_count<b時q0輸出高電平,當b≤q1_count<a+b時q1輸出高電平,其他情況下,q0和q1都為低電平;如果整數部分是奇數,只需當q0_coun≤b時q0輸出高電平,當b≤q1_count≤a+b輸出高電平,其他情況下q0和q1都為低電平,然后把q0和q1邏輯或所得輸出f0即所需的半整數分頻時鐘信號。

2 仿真結果及硬件電路測試

根據上面的原理,利用quartus ⅱ 4.2開發(fā)的7分頻和7.5分頻的仿真波形如圖2和圖3所示。



只要稍微修改程序,即可實現任意整數和半整數分頻。
本設計在altera公司的epm7064slc84-10構成的一個數據采集系統(tǒng)測試通過,性能良好。
3 結束語
本分頻方法原理簡單,具有一定的通用性,而且使用的cpld邏輯宏單元數較少,如在epm7064中,上面仿真的兩個分頻器均只用7個邏輯宏單元。


分頻器相關文章:分頻器原理


關鍵詞:

評論


相關推薦

技術專區(qū)

關閉