查看: 11299|回复: 11

[提问] 如何使用50MHZ FPGA本身的时钟产生一个 3MHZ 的分时钟

[复制链接]
发表于 2011-1-28 15:46:54 | 显示全部楼层 |阅读模式
关键词: CPLD , FPGA , PLL , 分频
主要问题如题,但是更加详细的是这样的:
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 可以实现否? 如果可以请详细介绍(本人比较愚钝)
 楼主| 发表于 2011-1-28 17:14:44 | 显示全部楼层
在线等啊!
发表于 2011-1-28 22:39:42 | 显示全部楼层
PLL当然是最准确可靠的办法,但是要外接压控振荡源,那玩意不太好做的。

有一个思路:采用计数器进行乘除运算。大致的作法是:
1、先用一个10进制的计数器,逢10进1,就相当于除以10,可以得到5MHz的脉冲;举例来说,你可以在CPLD里面直接调用一个74LS145就成了。
2、再用一个5进制计数器,就相当于除以5,得到1MHz。或者直接就设计一个1/50的计数器,更简单一点。
3、然后反向操作,乘上3。具体要用哪种计数器或者触发器,我一下子也想不起来了,太久没玩数字电路了,呵呵。

楼主你自己慢慢琢磨吧。
发表于 2011-1-30 19:05:20 | 显示全部楼层
没有PLL或者是外置电路是做不到的。
可以输出1MHz方波,然后用RC滤波器把3MHz的成分滤出来再放大。
如果是用FPGA,直接用PLL单元可能不行,需要倍频到150MHz或75MHZ然后用一个计数器分频
发表于 2011-1-31 09:11:34 | 显示全部楼层
RE。纯用逻辑可以实现任意整数比分频,但是倍频不行,必须有PLL。
发表于 2011-4-1 16:34:37 | 显示全部楼层
路过学习当中
发表于 2011-4-14 00:07:29 | 显示全部楼层
飘过。。。。。
发表于 2011-4-17 12:56:49 | 显示全部楼层
学习了
发表于 2011-4-21 21:56:28 | 显示全部楼层
用PLL倍上去,在自己编个分频小程序;不行找个倍频芯片
发表于 2011-5-3 19:41:40 | 显示全部楼层
直接调用PLL的CORE就能实现了啊
发表于 2011-10-13 20:22:09 | 显示全部楼层
你可以调用在Quartus 里面的PLL锁相环的倍频功能,先进行倍频,然后在进行整数分频也好,小数分频也行,都可以实现分频到你想要的那个频率,当然Quartus 里面的PLL输入时钟是要有一定要求的,好像是输入时钟要大于一定的值在可以进行倍频
发表于 2011-10-14 19:09:32 | 显示全部楼层
路过,学习一下...
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表