一个数字系统中往往需要多种频率的时钟脉冲作为驱动源,这样就需要对fpga的系统时钟(频率较高)进行分频。比如在进行流水灯、数码管动态扫描设计时不能直接使用系统时钟(太快而肉眼无法识别),或者需要进行通信时,由于通信速度不能太高(由不同的标准限定),这样就需要对系统时钟分频以得到较低频率的时钟。
分频器主要分为偶数分频、奇数分频、半整数分频和小数分频,如果在设计过程中采用参数化设计,就可以随时改变参量以得到不同的分频需要。
在对时钟要求不是很严格的fpga系统中,分频通常都是通过计数器的循环计数来实现的。
偶数分频(2n)
偶数分频最为简单,很容易用模为n的计数器实现50%占空比的时钟信号,即每次计数满n(计到n-1)时输出时钟信号翻转。
奇数分频(2n+1)
使用模为2n+1的计数器,让输出时钟在x-1(x在0到2n-1之间)和2n时各翻转一次,则可得到奇数分频器,但是占空比并不是50%(应为 x/(2n+1))。
得到占空比为50%的奇数分频器的基本思想是:将得到的上升沿触发计数的奇数分频输出信号clk1,和得到的下降沿触发计数的相同(时钟翻转值相同)奇数分频输出信号clk2,
最后将clk1和clk2相或之后输出,就可以得到占空比为50%的奇数分频器。原理图如下:
用quartus ii 得到的占空比为50%的9分频时钟输出信号outclk如下:
半整数分频(n-0.5)
基本设计思想为:首先进行模n的计数,计数到n-1时输出时钟翻转;而且在计数返回到0时,输出时钟再次翻转。
所以,只要使计数值n-1保持半个时钟周期,即可实现n-0.5分频时钟。那么如何保持半个时钟周期呢?
因为计数器是上升沿触发计数,如果在计数值=n-1时把计数器的触发时钟翻转,则时钟的下降沿就变成了上升沿。即计数值=n-1时,时钟马上翻转,
则计数值保持半个时钟周期后,会遇到上升沿而使计数值归0. 然后计数器以翻转了的时钟继续计数,在产生n-0.5个分频周期后,时钟再次翻转。
2.5分频的时序示意图如下:
怎样才能够使计数器的触发时钟在n-1时翻转呢? 由半整数分频器的原理图可知,将输出时钟二分频后和输入时钟相异或就可使触发时钟翻转。
半整数分频器原理图如下:
用quartus ii 实现的2.5分频时序图如下:
由通用分频器电路组成图可以看到,半整数分频器是由整数分频器加上二分频和异或门而构成的。
那么,如果使用元件例化的思想就可以得到通用的分频(即可选择整数分频和半整数分频)。
如果想要得到任意分频,则可以参考crazybingo 的 利用dds原理的 教你什么才是真正的任意分频。
OpenPower联盟叫板英特尔和X86 发布Power9架构
疫情下的口罩生活,演绎出了哪些心理剧场?
SoC设计中的互连验证中遇到的问题
没谁了,小米5C就支持个FM也能成一个卖点
华为mate10什么时候上市?华为mate10发布会时间确定,这外观这配置得卖多少钱
分频器的作用是什么 半整数分频器原理图分析
2018年最值得买的手机
上海工博会各种类型的机器人齐亮相
单片机sfr和sbit的用法
德索M12连接器4芯如何正确使用?
索尼下代主机PlayStation 5将在2020年末发售
提升高端LED显示屏刷新率的方法介绍
功率开关对电源效率的影响分析
AI入侵芯片设计,会干掉工程师吗?
STEP中的7种编程语言介绍
网页访问时延问题怎么解决
XsunX成为混合式太阳能电池先锋
变频器的组件和工作原理
什么是触觉传感器?触觉传感器如何工作?
青海“多能互补”清洁发电成果显现,太阳能发电量居全国第一