如何使用50MHZ FPGA本身的时钟产生一个 3MHZ 的分时钟
时间:10-02
整理:3721RD
点击:
主要问题如题,但是更加详细的是这样的:
1、首先我是有一个CPLD—50MHZ,想产生一个3MHZ的分频,当然是精确的,不然就会和其他时钟产生偏移,如何产生?
2、我看网上说PLL可以实现,如何实现呢?我用quartus的wizard时出现了这样: can not implement the requested PLL
cause: requested mult/div factors cannot achievable
3、当我改变PLL 中间inclk0的信号为10MHZ的时候他就会出现 cause : VCO or PFD 溢出的情况,当然换了一个信号的FPGA就好了。
所以在这里向请问一下,只用CPLD 可以实现否? 如果可以请详细介绍(本人比较愚钝)
1、首先我是有一个CPLD—50MHZ,想产生一个3MHZ的分频,当然是精确的,不然就会和其他时钟产生偏移,如何产生?
2、我看网上说PLL可以实现,如何实现呢?我用quartus的wizard时出现了这样: can not implement the requested PLL
cause: requested mult/div factors cannot achievable
3、当我改变PLL 中间inclk0的信号为10MHZ的时候他就会出现 cause : VCO or PFD 溢出的情况,当然换了一个信号的FPGA就好了。
所以在这里向请问一下,只用CPLD 可以实现否? 如果可以请详细介绍(本人比较愚钝)
到底是FPGA还是CPLD
老的CPLD里是没有PLL的
另外 3M要多精确? PLL也不一定能达到你要精度
嗯 用CPLD可以实现的话那是最好,如果不行那用PLL 可以实现吗?精度的话,我不知道该怎么形容,不算很高,只要能驱动AD芯片就可以的那种(AD9826)
按DDS的工作原理,做一个累加器、寄存器等在CPLD里面,用50M时钟可以得到3MHz的分频时钟,累加器按32位来计算也用不了多少资源。
占空比就不是50%
要精确到多少?
你的硬件根本不能实现这么低的频率
CPLD里面没有PLL和DCM,时钟分频只能采用数字分频,但精度肯定不高了。
给你几个建议 :
1. 用半数分频做,可以得到50%占空比的信号,缺点是信号抖动较大
2. 用DDS做,需要增加硬件成本
3. 用器件内部锁相环做(这个我没用过)
另外,CPLD里面是没有PLL的
看LZ的3M时钟好像是给AD用的,一般AD对时钟的要求都很高,时钟的相噪不能太差,否则影响采样的效果。因此你这个最好输入一个频率源让FPGA能用PLL锁出3M,而且就算PLL能锁出这个频率由于FPGA出来的时钟相噪较差,在测量领域一般不能用,实在不行就外加一个锁相环。
可以使用FPGA中的PLL产生精确的时钟。
顶 学习了
得不到 占空比 50%的 做法 其实很简单 : 思路就是 从50个 脉冲中 抽取47个 就OK拉。
给赞一个
如果你的CPLD里没有PLL志愿,你只能逻辑分频实现这样肯定会有相位差
非常谢谢!
