FPGA学习-分频器设计

描述

分频器设计

 

 

一:分频器概念

 

 

板载时钟往往有限个(50MHZ/100MHZ/24MHZ/60MHZ…),如果在设计中需要其他时钟时,板载时钟不满足时,需要对板载时钟进行分频/倍频,目的是用于满足设计的需求。

 

 

分频:产生比板载时钟小的时钟。

 

 

倍频:产生比板载时钟大的时钟。

 

 

二:分频器的种类

 

 

对于分频电路来说,可以分为整数分频和小数分频。

 

 

整数分频:偶数分频和奇数分频。

 

 

小数分频:半整数分频和非半整数分频。

 

 

三:分频器的思想

 

 

采用计数器的思想实现。

 

 

例子1:模10计数器

 

 

F

假设系统时钟sys_clk50MHZ,对应的时钟周期Tclk=20ns,计数器每计数一次需要20ns,那么计数10次需要200ns

 

 

1整数分频:偶数分频(Duty50

 

 

 

F

计数器计数10个持续时间为T=200ns,那么输出频率:

 

 

F=1/T=1/200ns=10^9/200HZ=5MHZ

 

 

1MHZ=10^3KHZ=10^6HZ

 

 

 

 

 

通过模10计数器得到的频率为5MHZ

 

 

占空比:高电平持续时间占整个周期比值。

 

 

50MHZ~5MHZ10分频电路(Duty50

 

 

2整数分频:偶数分频(输出时钟高电平持续系统时钟一个周期:尖峰脉冲信号)

 

 

F

 

3整数分频:偶数分频(Duty60

 

 

 

F

 

根据上述偶数分频的方式,可以得出以下结论:

 

 

Fsys_clk = 50MHZT sys_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 / T sys_clk = Fsys_clk / Fclk_out

F

 

 

 

4整数分频:奇数分频

 

 

例子15分频电路(50MHZ--->10MHZ):Duty=3:2

 

 

F

测试35分频电路(Duty=3:2

F

例子25分频电路(50MHZ--->10MHZ):Duty=1:1

F

首先需要设置两个计数器(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;

 

 

测试45分频电路(Duty=1:1

F

测试55分频电路(Duty=1:1

 

 

F

 

F

      精彩推荐       至芯科技FPGA就业培训班——助你步入成功之路、10月29号西安中心开课、欢迎咨询! FPGA学习-时序逻辑电路 什么是PCIe?扫码加微信邀请您加入FPGA学习交流群  

 

 FF

 

欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!

 

点个在看你最好看

 

 

 


原文标题:FPGA学习-分频器设计

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐
  • F

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分