我希望在不使用任何外部组件(ADC 除外)的情况下在 FPGA 中实现锁相。为简单起见,锁定到一个简单的二进制脉冲就足够了。信号的频率约为时钟的 0.1-1%。我不能使用板载时钟 PLL,因为它们通常是:
- 不可配置(在综合期间设置)。
- 紧张不安。
- 不支持我需要的频率。
我一直在整理文献,发现了一些二进制锁相环。最值得注意的是“脉冲窃取”设计,如果需要,我可以发布链接。我已经实现并合成了一些成功,但它的抖动和锁定范围不如宣传的那么好。我也成功地使用了外部 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