请教一下大家xilinx中如何将一个1-4MHZ的频率,倍频4倍
RT,请教一下大家,如何将一个外部时钟,1-4MHZ输入(频率不定),倍频4倍呢?PLL的那个IP核貌似需要填上输出时钟,那样的话不是固定死了? 你就填2M输入,8M输出,然后你输入1-4M。不过我没试过,不确定这个范围PLL能不能锁定,另外,锁定时间未知 不怎么用FPGA . 不知道 1: 移相 异或2, 更高的频率采集 然后输出 . 这2种方案行不行 NJ8888 发表于 2017-9-22 17:40
你就填2M输入,8M输出,然后你输入1-4M。不过我没试过,不确定这个范围PLL能不能锁定,另外,锁定时间未知 ...
非常感谢您的回复,我这个频率不算高,我能不能直接采上升沿,然后计数4次,再翻转然后输出呢? opiviqo 发表于 2017-9-22 18:05
非常感谢您的回复,我这个频率不算高,我能不能直接采上升沿,然后计数4次,再翻转然后输出呢? ...
你这个操作是4分频,1M输入,250K输出 zxq6 发表于 2017-9-22 18:46
你这个操作是4分频,1M输入,250K输出
哦对哦,我想错了。。。 可以用高速时钟计数输入信号的一个周期内时钟的个数,缓存一下,下一个输入信号期间按照计数值的八分之一分别得到高、低输出信号即可,缺点:输入信号频率变化期间输出肯定错误,但只有1、2个输入信号周期的时间 ndk 发表于 2017-9-22 20:20
可以用高速时钟计数输入信号的一个周期内时钟的个数,缓存一下,下一个输入信号期间按照计数值的八分之一分 ...
是的,刚试了一下PLL不行,看来只有用个高速的时钟来采集了,这样的话,最后那一个还是会出现误差的,没想到啥好办法了,先试一下吧!~~
还是非常感谢各位。 Altera新的器件上有可以重配置的PLL,不知道xilinx有没有 jianfengxixi 发表于 2017-9-22 20:29
Altera新的器件上有可以重配置的PLL,不知道xilinx有没有
1M太低了,没有pll可以支持。这个只能高频采样,或者用一大堆lut自己做dll,或者用外部电路倍频,不保证占空比,且需要先2倍频,再修正占空比,然后再倍一次。
外部倍频法其实很简单,利用门电路或rc电路的延时,使得原信号与延时后的信号异或。但是它要求外部信号的占空比是50/50。否则出来的就不是方波,而是毛刺了。 DDS是个好东西
LZ测量输入频率,然后用DDS输出就OK了
FPGA搭建DDS是基本功 全数字PLL:http://pallen.ece.gatech.edu/Academic/ECE_6440/Summer_2003/L080-ADPLL(2UP).pdf 用一个标准的 时钟 用内部PLL倍频到100MHZ然后将另一个1-4M时钟输入到FPGA的管脚。 FPGA可以计算出它的频率然后 FPGA内部用100MHZ 分频到那个时钟的4倍
xilinx 的dcm可以干这个事情 3DA502 发表于 2017-9-22 22:52
DDS是个好东西
LZ测量输入频率,然后用DDS输出就OK了
DDS输出能同步么?
我需要输出和输入同步的,比如3M的上升沿也是12M的上升沿。 本帖最后由 3DA502 于 2017-9-23 20:41 编辑
opiviqo 发表于 2017-9-23 18:15
DDS输出能同步么?
我需要输出和输入同步的,比如3M的上升沿也是12M的上升沿。 ...
原理上能
但是输出一定是滞后一个周期,逐个周期调频,这其实和DDS也没啥关系了
就是在起始沿-终结沿测量,下一个起始沿执行4倍频率输出,7楼还有其他楼说的都是这个意思 opiviqo 发表于 2017-9-23 18:15
DDS输出能同步么?
我需要输出和输入同步的,比如3M的上升沿也是12M的上升沿。 ...
应该有一个时钟的抖动。DDS还是高倍采样输出。 假设你输入1--4M,FPGA工作在200M,也就是最少50倍采样,抖动一个时钟也就是1/200M S看能不能接受了。还不行,假设,只是假设,再把运行时钟翻上去,抖动更小。 opiviqo 发表于 2017-9-23 18:15
DDS输出能同步么?
我需要输出和输入同步的,比如3M的上升沿也是12M的上升沿。 ...
楼主,DDS 使用同一个 Clock 的来源,是可以同步的。
您再用示波器来观察这 DDS 的输出对于频率变换时那瞬间同步得惊人都!
外挂74HC4046,1M低频可以锁定。 本帖最后由 opiviqo 于 2017-9-24 11:24 编辑
wye11083 发表于 2017-9-22 20:34
1M太低了,没有pll可以支持。这个只能高频采样,或者用一大堆lut自己做dll,或者用外部电路倍频,不保证 ...
非常感谢
我现在把系统时钟倍频到300MHZ来采集,但是现在用示波器看到的结果会“不定时:的出现杂波,如下图,我程序里面是直接拿要采集的这个未知波形的高低电平来做判断的(我感觉有点问题,试一下做个上升沿和下降沿的判断),这个地儿是不是因为抖动引起的呢?因为毫无规律,有时候就会出现这种波形:
本帖最后由 wye11083 于 2017-9-24 11:47 编辑
opiviqo 发表于 2017-9-24 11:23
非常感谢
我现在把系统时钟倍频到300MHZ来采集,但是现在用示波器看到的结果会“不定时:的出现杂波,如 ...
看上去貌似是时间测量结果变成了一半导致出了问题。
你可以试试采集N个周期,然后做中值滤波,然后对平均值进行4倍频输出,这样随着输入的sweep,你输出也会跟着sweep且能保持比较稳定的4倍频。
上升沿同步是很难做到的;你必须要保证输出的信号是完全独立的。然后再花几个周期同步到输入时钟上。不要直接采样输出。相位误差都是允许的,你看你最多能容忍多少周期的相位误差。 数字锁相环74297可以试试看 改了一下代码目前看起来还行,
非常感谢楼上的各位热心网友{:smile:}
页:
[1]