全数字锁相环

电器工程 FPGA 数字信号处理器 pll
2022-01-28 13:01:10

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

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

我一直在整理文献,发现了一些二进制锁相环。最值得注意的是“脉冲窃取”设计,如果需要,我可以发布链接。我已经实现并合成了一些成功,但它的抖动和锁定范围不如宣传的那么好。我也成功地使用了外部 DVCO,但如果我可以在芯片上实现所有东西,我会更喜欢。

数字电路设计甚至是正确方向的提示都会有所帮助(我一直在努力反对这一点),经过验证的 FPGA 实现会很棒,但不是预期的。

添加于 2010 年 10 月 27 日

我使用的实际 DPLL 设计有一个“随机游走滤波器”作为环路滤波器(不是前面描述的“脉冲窃取”,通过我的笔记效果不佳),然后将时钟脉冲驱动到 DCO . 锁定范围通过 DCO 中的分频器设置。循环的灵敏度是通过改变随机游走的长度来建立的。

这篇文章的末尾引用了发现这一点的论文。在我自己实现了它的一部分之后,我发现它实际上已经在 OpenCores 上实现了,但是事实证明,在过去的几个月里,该项目被删除了,但如果有人想要的话,我已经保存了 Verilog 文件。

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

doi: 10.1109/TCOM.1978.1093972

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

2个回答

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

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

  • 计数器 (PFD) 计数参考和(可选分频)PLL 输出之间的周期数,
  • 一个数字滤波器 - 假设它进行积分(累加器)并且它具有零(负(或正?)一个缩放的 PFD 输出)来稳定环路,可以选择在环路带宽之上有一个或多个极点以减少参考频率下的控制值“纹波”(仅在 fref
  • 数字滤波器输出(DVCO 控制值)的最高有效位作为溢出累加器 (DVCO) 的输入。

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

  • 如果抖动主要来自参考或 PFD - 使用较小的带宽,
  • 如果噪音来自振荡器 - 增加它。

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

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

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