当前位置: 首页 > news >正文

硬件设计-利用环路设计优化PLL的输出性能

目录

前言

问题描述

问题分析步骤

杂散源头排查

245.76M 参考相噪:

30.72M VCXO的相噪性能测试如下:

解决方案

前言

LMK04832是TI 新发布的低抖动双环去抖模拟时钟, 其最高输出频率可以到达3250MHz, 输出抖动极低,3200MHz输出可达到49fs(积分范围12k~20M),54fs(积分范围100Hz~100MHz),其噪底可以达到-156.5dBc/Hz, 比起前一代产品LMK0482*系列,噪底降低1~2dB。 在调试其新发布的demo板时发现输出口频率近端有杂散泄漏,笔者进行了问题排查定位,最终发现由于VCXO引入该杂散, 确定原因后,通过适当的环路设计,可以有效地解决该问题。

问题描述

当需要LMK04832 作为去抖器件功能时,其需要工作在双环模式,LMK04832 双环简化的内部结构如下,外部输入的信号除了参考外,还需要提供VCXO

对未调试过的新demo板第一次进行调试,应用条件如下: Ref=245.76M VCXO=30.72M VCO=2949.12M 测试任意输出口的信号,都发现近端(

由于常规应用中会使用04832这样的去抖器件输出给ADC/DAC 供时钟,若不消除该杂散,则会对系统性能产生一定程度的影响,所以本次调试的主要目的就是尽可能地消除这样的杂散。

问题分析步骤

杂散源头排查

根据锁相环的原理,对每一级环而言,其噪声/杂散贡献量的分布图如下:

对第一级环而言,上面桔黄色部分的“VCO”就是VCXO, 而对第二级环而言,上面粉色部分的“reference oscillator” 就是第一级环的 VCXO。 Demo板上第一级&第二级默认环路滤波器设计如下:

由于第一步测试没有去细调参数,所用默认配置得到的环路带宽如下:

可以看出,第一级环路带宽为30Hz, 第二级环环路带宽90k,而杂散位置为50Hz,正好处在环路滤波器的滚降区内,所以嫌疑最大的是VCXO。 按照标准流程,需要根据参考性能和VCXO的相噪性能重新设计环路滤波器。 测试结果如下:

245.76M 参考相噪:

30.72M VCXO的相噪性能测试如下:

如上图红色框所示,测试过程发现30.72M的VCXO在近端有类似的杂散,由此验证了之前的怀疑:该近端杂散由VCXO引入。 若按照VCXO的相噪值,clock design tool的推荐配置如下, 其第一级环的环路滤波器:

理论上能达到的性能如下:

解决方案

首先需要查找VCXO近端杂散存在的原因, 因为杂散为50Hz,所以电源嫌疑比较大,当更换原始的demo板供电的开关电源为数字电源后,该杂散消失,但由于客户最终应用条件里仍然会使用普通的开关电源供电, 故仍然需要在开关电源存在的条件下进行调试。 对于 50Hz的杂散,用电源滤波的方式很难滤除,笔者尝试了增加去耦和磁珠滤波,都未能彻底解决该问题,所以只能从PLL本身来想办法。 根据锁相环信号传递函数,VCXO对第一级而言,其噪声/杂散是高通,如下图:

另外环路滤波器的高通特性又受相位余量的影响, 相位余量越低,其环路滤波器越陡,对带外抑制越大,如下图:

http://www.lryc.cn/news/453737.html

相关文章:

  • Vue入门-Node.js安装
  • OpenCV threhold()函数
  • Qt教程(002):Qt项目创建于框架介绍
  • 《C++游戏人工智能开发:开启智能游戏新纪元》
  • SPSS and Origin Paired Samples T-Test
  • 速成java记录(上)
  • 春秋云镜靶场之CVE-2022-28525
  • 【LLM】Agent在智能客服的实践(AI agent、记忆、快捷回复 | ReAct)
  • 19款奔驰E300升级新款触摸屏人机交互系统
  • Python知识点:如何使用Spark与PySpark进行分布式数据处理
  • 低功耗4G模组Air780E之串口通信篇
  • Python | Leetcode Python题解之第455题分发饼干
  • 交叠型双重差分法
  • Java中的数据合并与拆分:使用Stream API实现数据的灵活处理
  • Arthas(阿尔萨斯)
  • 黑马linux笔记(转载)
  • SQL Server—通配符(模糊查询)详解
  • 软考系统分析师知识点二:经济管理
  • C语言自定义类型联合和枚举(25)
  • Kafka 的重平衡问题详解及解决方案
  • 比较GPT4比较正确的回复的提问方式和比较失败的提问方式之间的区别?
  • jmeter学习(1)线程组与发送请求
  • 【小技巧】mysql 判断表字段是否存在 删除字段 sql脚本
  • 低代码革命:重塑工业互联网的未来版图
  • KNN算法
  • TS 中类型的继承
  • 在VS code 中部署C#和avalonia开发环境
  • Windows删除service服务
  • 【数据结构】---图
  • 《 C++ 修炼全景指南:十四 》大数据杀手锏:揭秘 C++ 中 BitSet 与 BloomFilter 的神奇性能!