分頻器設計
一:分頻器概念
板載時鐘往往是有限個(50MHZ/100MHZ/24MHZ/60MHZ…),如果在設計中需要其他時鐘時,板載時鐘不滿足時,需要對板載時鐘進行分頻/倍頻,目的是用于滿足設計的需求。
分頻:產生比板載時鐘小的時鐘。
倍頻:產生比板載時鐘大的時鐘。
二:分頻器的種類
對于分頻電路來說,可以分為整數分頻和小數分頻。
整數分頻:偶數分頻和奇數分頻。
小數分頻:半整數分頻和非半整數分頻。
三:分頻器的思想
采用計數器的思想實現。
例子1:模10計數器
假設系統時鐘sys_clk是50MHZ,對應的時鐘周期Tclk=20ns,計數器每計數一次需要20ns,那么計數10次需要200ns。
1:整數分頻:偶數分頻(Duty:50%)
計數器計數10個持續時間為T=200ns,那么輸出頻率:
F=1/T=1/200ns=10^9/200HZ=5MHZ。
1MHZ=10^3KHZ=10^6HZ
通過模10計數器得到的頻率為5MHZ,
占空比:高電平持續時間占整個周期比值。
50MHZ~5MHZ:10分頻電路(Duty:50%)
2:整數分頻:偶數分頻(輸出時鐘高電平持續系統時鐘一個周期:尖峰脈沖信號)
3:整數分頻:偶數分頻(Duty:60%)
根據上述偶數分頻的方式,可以得出以下結論:
Fsys_clk= 50MHZTsys_clk= 1/Fsys_clk= 20ns
如果Fclk_out = 5MHZTclk_out = 1/ Fclk_out = 200ns
以系統時鐘上升沿來時,使其計數器加1,換句話說計數器計數一次需要20ns,當滿足200ns持續時間時,需要讓計數器計數10次。
那么計數器計數最大值cnt_max=10。
推導公式:cnt_max(計數器計數最大值) = 200ns/20ns = Tclk_out/ Tsys_clk= Fsys_clk/ Fclk_out
4:整數分頻:奇數分頻
例子1:5分頻電路(50MHZ--->10MHZ):Duty=3:2
測試3:5分頻電路(Duty=3:2)
例子2:5分頻電路(50MHZ--->10MHZ):Duty=1:1
首先需要設置兩個計數器(0~4),第一個計數器以時鐘上升沿計數,第二個計數器以時鐘下降沿計數,都分別產生5分頻電路,且占空比都為3:2,最后輸出5分頻電路占空比1:1就是由上述兩個5分頻電路相與得到的。
clk_out = clk_out1 & clk_out2;
如果5分頻電路占空比是2:3時,最后輸出5分頻電路占空比1:1就是由上述兩個5分頻電路相或得到的。
clk_out = clk_out1 | clk_out2;
測試4:5分頻電路(Duty=1:1)
測試5:5分頻電路(Duty=1:1)
精彩推薦 至芯科技FPGA就業培訓班——助你步入成功之路、10月29號西安中心開課、歡迎咨詢! FPGA學習-時序邏輯電路 什么是PCIe?掃碼加微信邀請您加入FPGA學習交流群
歡迎加入至芯科技FPGA微信學習交流群,這里有一群優秀的FPGA工程師、學生、老師、這里FPGA技術交流學習氛圍濃厚、相互分享、相互幫助、叫上小伙伴一起加入吧!
點個在看你最好看
原文標題:FPGA學習-分頻器設計
文章出處:【微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。
-
FPGA
+關注
關注
1630文章
21794瀏覽量
605127
原文標題:FPGA學習-分頻器設計
文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論