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

2011年01月28日 15:46    发布者:csba5201989
主要问题如题,但是更加详细的是这样的:
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 可以实现否? 如果可以请详细介绍(本人比较愚钝)

网友评论

csba5201989 2011年01月28日
在线等啊!
sherwin 2011年01月28日
PLL当然是最准确可靠的办法,但是要外接压控振荡源,那玩意不太好做的。

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

楼主你自己慢慢琢磨吧。
warmonkey 2011年01月30日
没有PLL或者是外置电路是做不到的。
可以输出1MHz方波,然后用RC滤波器把3MHz的成分滤出来再放大。
如果是用FPGA,直接用PLL单元可能不行,需要倍频到150MHz或75MHZ然后用一个计数器分频
nolie 2011年01月31日
RE。纯用逻辑可以实现任意整数比分频,但是倍频不行,必须有PLL。
gavin_8724 2011年04月01日
路过学习当中
fymbl 2011年04月14日
飘过。。。。。
anetdisk 2011年04月17日
学习了
xujianwu 2011年04月21日
用PLL倍上去,在自己编个分频小程序;不行找个倍频芯片
helpmate 2011年05月03日
直接调用PLL的CORE就能实现了啊
penpen 2011年10月13日
你可以调用在Quartus 里面的PLL锁相环的倍频功能,先进行倍频,然后在进行整数分频也好,小数分频也行,都可以实现分频到你想要的那个频率,当然Quartus 里面的PLL输入时钟是要有一定要求的,好像是输入时钟要大于一定的值在可以进行倍频
月落无痕 2011年10月14日
路过,学习一下...