关于FPGA生成脉冲漂移问题
现在的现象是系统上电后,用示波器观察两个脉冲,两个脉冲之间的间隔会越来越大...不清楚为什么,求大虾分析一下
两个板子使用的是同一个10M恒温晶振从时钟分配器出来的信号,但是FPGA内部都各自使用自己的PLL倍频到62M,会是两个PLL之间的抖动造成两个脉冲不断远离的吗?
误差积累会越来越大,要做的方法是定期去校正,而不是依赖于最开始时把起点弄一致。
两个板子变成主从设计,一边产生脉冲时,把这信号拉到另一块,让其也产生脉冲,这样二者的时延就确定了。要是还想对齐的更好,计算下从一块分到出去把另一块产生的时延,然后把第一块产生脉冲的时间延长若干个周期,就OK了。
误差的来源是因为温度和抖动之类的吗?
原因是1: pll锁不住,可能是电源问题
2: 晶振到2个板之间被干扰了
是什么不重要,重要的是两个时钟肯定不可能完全相同,包括时钟周期的不确定性,单次非常小,积累下来就如此了。
我的理解应该上电以后相位关系应该固定啊?毕竟同源吧
两个时钟,没有任何关系,频率和相位都不固定。肯定误差会积累的。
两个时钟不是从同一个晶振出来的吗?!
我也想问,同一个晶振出来,进入配置相同的两个PLL,相位关系不应该固定吗?
感觉还是pll没锁住
小编的这个方案是有问题的。
使用同源的时钟,理论上经过PLL后的时钟是同频固定相位差的。
但是不同PLL的输出确实是不是完全相同的,我想有可能有几个因素:
1.晶振本身发生了频率漂移(电压、温度),PLL跟踪晶振变化的过程时间不同,这个会造成一段时间上频率的误差,累积起来会造成漂移。
2.PLL的输出本身就存在各种抖动,具体可以参考手册的DC and switch PLL部分的数据。这部分误差累积且不可消除,长时间也会造成漂移。
3.我个人认为不同的PLL输出的频率精度应该也有PPM的差距(也就是说频率不可能完全相同),这个累积起来也是致命的。
总之,小编的方案不可行。简单的解决这个同步的问题,我认为需要添加两板间的同步信号。
标题
大家有时钟这方面的学习资料吗? 感觉认识不清楚,也没有解决思路
标题
请问您的办法是不是反馈时钟
我的理解是:
1. 两个FPGA有各自的10MHz晶振: 会累积误差
2. 一个10MHz晶振+ 两个FPGA: 不会累积误差, 只有短暂的相位变动, debug:
(1) 加一个除六模块, 62/6=6.2MHz, 用示波器观察
(2) 在 CLK_IN 加 20pF 电容
