全数字锁相环


9

我希望在不使用任何外部组件(ADC除外)的情况下在FPGA中实现锁相。为了简单起见,锁定到简单的二进制脉冲就足够了。信号的频率约为时钟的0.1-1%。我不能使用板载时钟PLL,因为它们通常是:

  1. 不可配置(在综合期间设置)。
  2. 紧张
  3. 不支持我需要的频率。

我一直在整理文献,发现了一些二进制锁相环。最著名的是“脉冲窃取”设计,如果需要,我可以发布链接。我已经实现并取得了一些成功,但是其抖动和锁定范围却不如广告中所述。我在使用外部DVCO方面也取得了成功,但是我希望可以在芯片上实现所有功能。

数字电路设计甚至是正确方向的提示都将有所帮助(一段时间以来,我一直对此表示怀疑),一种行之有效的FPGA实现将是很棒的,但并不期望如此。

添加10-27-2010

我使用的实际DPLL设计有一个“随机遍历滤波器”作为环路滤波器(不是前面所述的“脉冲窃取”,要经过我的笔记并不能很好地解决),然后将时钟脉冲驱动到DCO。 。锁定范围是通过DCO中的分频器设置的。通过改变随机游走的长度来建立环路的灵敏度。

这篇文章的结尾引用了找到该文章的论文。在自己实现了部分内容之后,我发现它实际上已经在OpenCores上实现了,但是事实证明,在过去的几个月中,该项目被删除了,但是如果有人需要,我可以保存Verilog文件。

山本,H。森,S。,“具有新型顺序滤波器的二进制量化全数字锁相环的性能”,通讯,IEEE期刊,第26卷,第1期,第35-45页,1978年1月

doi:10.1109 / TCOM.1978.1093972

网址:http : //ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1093972&isnumber=23895


1
请链接到“脉冲窃取”设计-没有理由不这样做。
凯文·维米尔

Answers:


6

您能否发布有关目标频率,抖动和环路带宽(所需的建立时间)的更多详细信息?另外,您要使用哪种振荡器(带/不带抖动的DAC外部放大器,片上数字计数器/累加器)?

如果您对数字“振荡器”(即,溢出的累加器)及其抖动感到满意,则电路的其余部分可能非常简单:

  • 一个计数器(PFD),用于计数参考信号与PLL输出(可选地划分)之间的周期数,
  • 数字滤波器-假设它进行了积分(累加器)并且具有零(标称PFD输出为负(或负号))可以稳定环路,并且可以选择在环路带宽上方增加一个或多个极点以减少噪声,任何事情都会做参考频率下的控制值“纹波”(仅在fref
  • 数字滤波器输出的最高有效位(DVCO控制值)作为溢出累加器(DVCO)的输入给出。

至于环路带宽,如果未由建立时间强制执行,则应根据所有组件的噪声贡献来确定环路带宽。

  • 如果抖动主要来自参考或PFD,请使用较小的带宽,
  • 如果噪声来自振荡器,请加大噪声。

如果参考信号是经过相位或频率调制的,请使用低于调制参考信号的最小频率的环路带宽。

如果输出频率接近或等于时钟频率和/或需要低抖动或非常快的锁定范围,则使用技巧性技术。也许在您的情况下不需要它们,除了它们可能不太适合FPGA实现。


如果要例如将稳定的输入信号的频率乘以16,并且有一个相对于该时钟快的时钟,那么使用数字滤波器相对于测量每个边沿与前一个边沿之间的时钟数量有何好处?一个,并弄清楚应该输出哪个频率,以便应该与下一个输入时钟沿一致的输出脉冲会这样做?如果输入时钟抖动不超过一个时钟周期,则输出抖动应大致相同。一旦获得第二个输入脉冲,这种方案就可以开始产生干净的输出。
2013年

1

如果您可以忍受一点抖动,但大多数情况下只需要针对漂移时钟的精确时钟以进行数据恢复,则您可能希望实现类似CAN Standard PLL(从PDF的第67页开始)之类的东西。这基于溢出计数器工作,该溢出计数器应该正确地进行名义上的调整,但要同步到输入脉冲流中的边沿。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.