基于可编辑逻辑器件实现ADPLL的应用设计

薛建刚 唐石平  发表于 2020-08-03 17:40:16 收藏 已收藏
赞(0) •  评论(0
400万+工程师在用
400万+工程师在用

基于可编辑逻辑器件实现ADPLL的应用设计

薛建刚 唐石平  发表于 2020-08-03 17:40:16
+关注

传统的模拟锁相环(APLL)有较短的锁定时间,可以保证参考时钟源和输出时钟的稳态相差。但其中心频点受VCO的限制而范围较小,环路带宽较宽;当参考源出现瞬断或者参考时钟源切换时,VCO输出时钟频率会出现较大的相位瞬变。

随着数字电路技术的发展,特别FPGA技术的普遍应用,采用FPGA实现全数字锁相环(ADPLL)的应用越来越多。ADPLL设计简单、应用方便。本文介绍一种采用FPGA实现的ADPLL,该ADPLL用于产生SDH设备的外同步输出时钟。该锁相环具备传统的APLL的俘获时间短、有稳定的相差的优点,同时也具备DPLL的中心频点可编程调整、能够实现平滑源切换的优点。

1、体结构及基本工作原理

外同步输出时钟产生的整体结构框图如下图1所示:

基于可编辑逻辑器件实现ADPLL的应用设计

图1 ADPLL的整体结构框图

方案的主体部分为一个ADPLL。ADPLL和传统的PLL一样,环路主要由鉴相器(PD)、滤波器(LF)、数字控制时钟输出(DCCO)3部分组成。PD将参考时钟clk_ref和clk_div(由clk_out进行N分频得到,环路锁定后频率和clk_ref一致)进行相差鉴别,输出up或者down信号指示时钟相位的超前、滞后关系。LF模块将up和down,用高速时钟clk_h进行相差计数,并采用数字滤波算法,给出相位调整指示adjust。DCCO模块,由高速时钟clk_h在相位调整指示adjust的作用下进行受控分频得到。环路通过负反馈调整,实现输出时钟clk_out和clk_ref的同步。

ADPLL工作的高速时钟(即图1中的clk_h)采用SDH设备的系统时钟155.52MHz,输出的外同步时钟clk_out频率为2.048MHz,DCCO模块采用受控小数分频设计。外同步时钟根据用户需要可以从多路参考源中任选1路,由参考源选择模块实现。设计中,所有参考源的时钟频率都分频到100Hz进行鉴相,即clk_ref和clk_div的频率都为100Hz。

2、 全数字锁相环路的详细设计实现

输入的各路参考源的相差是不确定的,当参考源切换时,选择后的信号clk_ref必然会出现相位的突变;这种相位的突变最大可能达半个clk_ref周期,即源切换后瞬间,clk_ref和clk_div的相差最大可能达±5ms。源切换产生的相位跳变,在APLL中会导致压控电压突变,导致输出时钟的频率突变,无法实现平滑源切换。而在DPLL中,可以通过调整滤波算法,逐步改变压控电压,保证输出时钟频率的缓慢变化。

这里设计的ADPLL,我们通过2个方面来保证平滑源切换环路:1、负反馈时钟采用初始受控分频设计,当参考源切换时,通过受控分频保证了clk_ref和clk_div的初始相差小于半个clk_out时钟周期。2、通过环路滤波算法,逐步改变adjust的调整频率,保证源切换时输出时钟频率平滑变化。

2.1 初始受控分频设计

当源切换时,输出至少1个clk_div时钟周期的1电平信号ref_change,指示当前参考源进行了源切换。当ref_change为1时,clk_div信号重新由clk_out在clk_ref的受控下分频得到;同时,屏蔽掉该鉴相周期的up和down输出,避免adjust出现误调整。

采用如下图2的电路逻辑设计初始受控分频,可以保证初始分频后,clk_div和clk_ref的相差小于半个clk_out时钟周期,即小于244ns。清零信号clr_div只在ref_change为1时使能;锁相环正常跟踪情况下,clk_div为自由分频得到。

图2 相差小于半周的初始受控分频设计电路

在参考源切换后,clk_out与clk_ref的初始相位关系有2种可能:clk_out超前或者滞后。当clk_out相位超前时,则上图中ref_dly_n将clk_ref的沿踩中;当clk_out相位滞后时,则上图中ref_dly_p将clk_ref的沿踩中;2种情况,最后都在下同一个clk_out周期取clk_ref的上沿,然后进行受控分频。按此设计的受控分频设计,可以保证初始受控分频后,产生的clk_div和clk_ref的相差总在半个clk_out周期以内。

2.2 环路滤波设计

这里,我们完全采用数字电路逻辑实现环路滤波算法。环路滤波设计中,相位调整指示adjust由频率调整控制adjust_f和相位调整控制adjust_p两部分共同组成。

频率调整控制adjust_f的产生:

1)、锁相环开始工作时的初始值adjust_f[0]=0。

2)、根据当前鉴相周期鉴出的相差phase[n](用155M时钟对up和down进行计数综合得到),和上一个鉴相周期鉴出的相差phase[n-1]进行比较:

当(phase[n]-phase[n-1]) 》 1,则adjust_f[n]=adjust_f[n-1] – 1;

当(phase[n]-phase[n-1]) 《 -1,则adjust_f[n]=adjust_f[n-1] + 1;

其他情况,adjust_f[n]=adjust_f[n-1],保持不变。

3)、adjust_f[n]的范围控制在±127以内。

4)、当|phase[n]-phase[n-1]|大于1000,即相差突跳了6.4us时,说明参考源可能出现突跳,此时输出源抖动指示,重新进行初始受控分频。

频率调整控制,保证了输出时钟频率和参考源频率的一致。该滤波设计,保证了adjust_f的缓慢变化;参考源切换后,adjust[n]的调整也是在之前基础上逐步变化,这可靠的保证了输出时钟频率的平滑。

相位调整控制adjust_p的产生:

1)、根据当前鉴相周期鉴出的相差phase[n]来给出相位调整控制:

phase[n] 》 0,则adjust_p[n] = -1;

phase[n] 《 0,则adjust_p[n] = 1;

其他情况,则adjust_p[n] = 0;

相位调整控制的作用下,可靠的保证了锁定情况下的稳态相差小于1个clk_h时钟周期。

adjust[n] = adjust_f[n] + adjust_p[n]。在环路正常跟踪或者源切换的过程中,|adjust[n] - adjust[n-1]|总是会小于2,即输出时钟的频率突变小,保证了输出时钟clk_out的频率稳定。

adjust》0时,DCCO需要进行相位正调整;而当adjust 《 0时,DCCO需要进行相位负调整。需要调整的adjust,在下个鉴相周期(100Hz)中平均分配。由于adjust调整值最大不超过128,所以adjust的调整频率最大为12.8KHz。

2.3 DCCO的设计实现

155.52M为2.048M的75.9375倍,为非整数倍;同时DCCO受adjust的调整控制。即clk_out需要由clk_h进行小数受控分频得到。

注意到2.048M的76倍频为155.648M,和155.52M相差128K。所以2.048M可以这样产生:155.52M时钟在76分频的过程中,每128K时钟周期固定进行相位负调整1次。显然,固定相位调整频度远大于 adjust相位调整频度。

小数分频的固定相位调整设计和adjust的相位调整控制可以综合起来考虑:1、每128K频率的固定相位负调整,和adjust的正调整控制信号都在128K时钟信号的上沿位置进行。当需要进行一次正相位调整时,直接去掉1次固定负调整即可达到目的。2、而adjust的负调整在128K时钟信号的下沿位置进行,和固定负调整错开,避免某一个clk_out周期进行了2次负调整。

经过这种综合调整控制后,任意一个clk_out时钟周期,可能为clk_h的76分频、或者75分频。这样,产生的clk_out时钟的cycle-cycle固有抖动为1个clk_h周期(p-p峰峰值),即6.4ns。

3、 实际应用及锁相环特性测试

3.1 设计实例

由于该ADPLL同时具有平滑源切换及稳态相差的优点,我们在开发SDH设备的时钟板时,直接采用该方案设计实现2.048M外同步输出时钟。该设计中,FPGA芯片采用了Altera公司提供的EP1C4F400芯片,该ADPLL部分总逻辑资源占用约300个LE(1个LE包括1个4输入的查找表和1个D触发器)。

3.2 环路特性分析及实际测试结论

1)、频率俘获带

也称为牵引范围。即clk_h和clk_ref频率偏差到环路无法锁定时的最大值。

根据环路滤波设计,每100Hz最大调整128个clk_h周期,即锁相环路最大可调整的频率为100Hz×128×6.4ns= 81.92ppm。即环路的牵引范围为±81.92ppm。

采用如下图5所示的方法进行牵引范围的测试:

SDH设备的系统155.52M时钟,通过一路APLL和时钟基准源保持同步。环路的100Hz时钟由信号发生器产生。用示波器测量锁相环路的clk_ref1和clk_out的锁定情况;通过信号发生器逐步改变参考时钟clk_ref1的频偏, 观察能够锁定的最大频偏。测试得到的牵引范围为±80ppm左右。

2)、稳态相差

多次复位锁相环路后,用示波器测量环路锁定情况下图5中的clk_ref1和clk_out时钟相差,均在±12ns以内。

3)、输出时钟的cycle-cycle抖动

根据2.3节的分析,输出时钟抖动的p-p为6.4ns。采用示波器测试2.048MHz输出时钟,如下图6所示,抖动的峰-峰值就是6.4ns,和分析一致。

图6 clk_out的p-p抖动测试

4)、平滑源切换

按图5,给锁相环路提供2路同频不同相的参考源clk_ref1和clk_ref2。用clk_ref2作触发源,示波器设置为长余辉和快俘的模式;通过CPU接口将环路的参考源由clk_ref1更改为clk_ref2。通过示波器可以看到参考源切换过程中clk_out的相位瞬变如下图7所示:

从图7中可以看到,源切换过程中相位瞬变的幅度小于半个2.048M周期,这里为140ns。瞬变过程中,输出时钟和参考源的相差按6.4ns的粒度,逐步调整,直到最后锁定。

从上述测试结果来看,输出时钟的稳态相差较小,Cycle-cycle抖动较小,有较宽的牵引范围,能够实现平滑源切换,完全满足SDH设备外同步输出时钟的要求。

4、 总结

本文设计的全数字锁相环独到之处在于:该锁相环具备数字锁相环的平滑源切换、牵引范围可调等优点,同时还具备模拟锁相环的快速俘获和有稳态相差等优点。通过实践验证,利用该锁相环产生的SDH设备外同步输出时钟,可以很好的实现平滑源切换,俘获时间快,同时保证了环路的稳态相差,各项时钟指标良好。

责任编辑:gt

打开APP阅读更多精彩内容

收藏

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉

相关话题

评论(0)

加载更多评论

分享到

QQ空间 QQ好友 微博
取消