行业资讯
高性能ADC设计实战:时钟抖动与JESD204B接口优化指南
1. 项目概述与核心挑战在雷达、无线通信基站或者高端测试测量设备里我们经常需要处理GHz级别的射频信号。这时候模数转换器ADC就成了整个信号链的咽喉要道它的性能好坏直接决定了后端数字信号处理能拿到多“干净”的原料。我最近在调试一个多通道接收机项目核心用到了德州仪器TI的ADS58J89这是一颗四通道、14位分辨率、采样率最高可达250 MSPS的流水线型ADC。芯片本身指标很漂亮但真把它焊到板子上想跑出数据手册里宣称的66 dBFS信噪比SNR你会发现时钟质量和接口设计才是真正的“拦路虎”。简单来说ADC的工作就是给连续的模拟信号“拍照”采样时钟就是那个控制快门时机的指挥官。如果指挥官的手不稳时钟有抖动那么每次“拍照”的时间点就会有微小的、随机的偏差。对于高频信号这种时间偏差会直接转换成幅度误差在频谱上表现为抬高的噪声基底从而吃掉宝贵的SNR。另一方面ADS58J89通过JESD204B串行接口以每条通道最高5 Gbps的速率吐出数据这么高的速率在PCB走线上传输信号衰减和畸变会很严重。如果不做任何处理接收端通常是FPGA很可能无法正确恢复出数据导致链路失锁整个系统瘫痪。所以这个项目的核心就围绕两点展开一是如何驯服时钟抖动榨取ADC的最佳SNR性能二是如何配置JESD204B串行器通过预加重等技术保证数据在高速传输下的完整性。这不仅仅是照着数据手册接上线就能成的事儿里面涉及到时钟源选型、电源滤波、寄存器配置以及PCB布局等一系列实战细节。下面我就结合ADS58J89把这几块硬骨头拆开揉碎了讲清楚。2. 时钟抖动对SNR的影响机理与量化分析很多工程师知道时钟要好但“好”到什么程度才够用这里我们需要一个量化的认识。ADS58J89的数据手册里那张SNR随输入频率和外部时钟抖动变化的曲线图类似你提供的图示是一切优化的起点。2.1 时钟抖动与SNR的理论关系ADC的SNR理论上由三部分限制量化噪声、热噪声和时钟抖动噪声。对于ADS58J89这样的14位ADC量化噪声约84 dB通常不是瓶颈在低频段限制主要来自芯片内部的固有热噪声典型值66 dBFS而在高频段时钟抖动则成为主导因素。它们三者共同作用决定最终的系统SNR。其中时钟抖动引入的噪声功率与输入信号的频率直接相关。频率越高同样的时间抖动造成的电压误差就越大。计算由采样时钟抖动所限制的SNR的公式是理解这一点的关键这个公式非常直观地告诉我们系统能达到的SNR上限与输入信号频率f和总时钟抖动T_Jitter的乘积成反比。信号频率每提高一倍对时钟抖动的要求就严格一倍抖动需要减半才能维持相同SNR。2.2 总时钟抖动的构成与分配“总时钟抖动”不是一个单一值它由几个部分合成ADC内部孔径抖动这是ADC芯片自身采样保持电路引入的固有抖动对于ADS58J89这个值典型为85 fs飞秒。这是芯片的“底噪”我们无法改变。外部时钟源抖动这是我们从时钟芯片如LMK04828或晶振提供给ADC_CLK引脚上的时钟信号的抖动。这是优化的大头。输入信号本身的抖动理论上如果模拟输入信号本身就有相位噪声它也会被采样过程反映出来。但对于一个设计良好的信号源这部分通常可以忽略。我们的设计目标很明确让外部时钟源的抖动贡献远小于ADC的内部孔径抖动。例如如果内部抖动是85 fs那么外部时钟抖动如果能做到50 fs以下那么总抖动增加不多对高频SNR的影响就很小。从曲线图可以看出要想在输入频率达到200-300 MHz时依然保持接近65 dBFS的SNR外部时钟抖动最好能控制在100 fs RMS以内。2.3 实战中的时钟方案选型知道了理论我们怎么落地首先别指望一个普通的晶振加时钟缓冲器就能满足要求。对于ADS58J89这样的高性能ADC必须使用专业的低抖动时钟发生器或抖动清除器Jitter Cleaner。在我的项目中我选择了TI的LMK04828系列。选择它有几个理由超低抖动性能它能够产生抖动低于100 fs RMS的时钟完全满足我们的要求。集成SYSREF发生器JESD204B子类1确定性延迟需要SYSREF信号来对齐多个器件的内部帧时钟。LMK04828可以同时产生采样时钟和同步的SYSREF信号简化了设计。灵活的分配它有多路输出可以同时给多片ADC甚至后续的FPGA提供时钟保证同源性。时钟电路设计要点使用差分时钟ADS58J89的时钟输入是差分形式的CLKINP/CLKINN。必须使用差分驱动通常是在时钟芯片输出后经过一个变压器或差分缓冲器再通过一对等长、紧耦合的传输线连接到ADC。终端匹配在ADC的时钟输入引脚处需要放置一个差分100欧姆的终端电阻通常分割为两个50欧姆电阻分别接到每个引脚并通过电容交流耦合到地以消除反射。电源去耦时钟芯片和ADC的时钟输入电路部分的电源必须用多层陶瓷电容MLCC进行充分的去耦。通常会在每个电源引脚附近放置一个0.1uF电容并在稍远处放置一个1uF或10uF的电容。这是保证低相位噪声的基础。时钟信号布线时钟线应被视为敏感的模拟信号。必须远离数字数据线特别是高速的JESD204B数据线和模拟输入线避免串扰。如果可能用地平面进行屏蔽。注意测量这种级别的时钟抖动需要高性能的相位噪声分析仪如Keysight/是德科技的产品。在实验室我们通常通过测量时钟信号的相位噪声曲线然后积分计算得到RMS抖动值。如果没有专业设备一个务实的办法是选择数据手册标称抖动远低于100 fs的时钟芯片并严格按照评估板EVM的参考设计来布局布线。3. JESD204B接口与信号完整性优化时钟问题解决了数据要能稳定地送出去。ADS58J89采用JESD204B标准通过CML电流模式逻辑串行器将数据以高达5 Gbps的速率发送出去。在这么高的速率下PCB走线不再是简单的导线而是传输线信号完整性成为首要问题。3.1 信道损耗与预加重/去加重原理高频信号在FR4这类PCB板材上传输时会遭受两种主要损耗导体损耗随频率平方根增加。介质损耗随频率线性增加是GHz频段损耗的主要来源。这些损耗会导致信号的高频分量衰减比低频分量更严重结果就是信号边沿变缓眼图闭合误码率上升。为了补偿这种频率相关的损耗就需要在发射端对信号进行“预失真”也就是预加重。预加重的基本思想是增强信号跳变边沿对应高频能量的幅度使其在经过信道衰减后在接收端能恢复出正常的波形。ADS58J89的串行器支持可编程的预加重Pre-emphasis和去加重De-emphasis。虽然数据手册寄存器描述里两者都提到了但在实际高速CML驱动中去加重是更常用的技术。它的原理是在信号保持不变的稳态电平期间略微降低输出幅度而在信号发生跳变的边沿则输出全幅度。这样等效于提升了跳变边沿的相对幅度。接收端通常是一个交流耦合的差分放大器它能恢复出这种编码从而改善眼图。3.2 寄存器配置详解与实战策略这是最能体现工程师功力的地方。ADS58J89通过一系列寄存器来控制每个通道A, B, C, D的串行器。我们结合你提供的寄存器片段来具体分析1. 预加重/去加重使能与选择Register 100, 104PRE_EMP_EN_AB (D11:D8) / PRE_EMP_EN_CD (D11:D8)这四个比特位分别控制四个串行器通道DA0, DA1, DB0, DB1 或 DC0, DC1, DD0, DD1的预加重/去加重功能是否开启。通常我们需要开启它。PRE_EMP_SEL_AB (D15:D12) / PRE_EMP_SEL_CD (D15:D12)这四个比特位选择模式。0 Pre-emphasis, 1 De-emphasis。对于JESD204B这类高速串行链路强烈建议选择De-emphasis (设置为1)。预加重模式虽然也能提升高频但可能会增加电磁干扰EMI并且对某些接收端不友好。2. 输出电流控制Register 103, 107OUTPUT_CURRENT_CONTROL_AB (D15:D0)这是一个非常精细的控制寄存器。每4个比特控制一个串行器通道的输出电流强度。输出电流的大小直接影响信号的摆幅和驱动能力。默认值0000正常工作电流。其他值0001 到 1111代表增加输出电流步进为满幅电流的1/30。例如0010表示增加 2/30 的电流。何时调整如果链路较长或损耗较大可以适当增加输出电流来获得更大的信号摆幅从而在接收端获得更好的信噪比。但要注意增加电流也会增加功耗和可能产生的EMI。我的经验是先从默认值开始如果眼图测试发现幅度不足或眼高太小再逐步微调这个值。每次调整一个通道用示波器观察眼图改善情况。3. 占空比校正使能Register 100, 104DCC_EN_AB (D7:D4) / DCC_EN_CD (D7:D4)使能每个串行器通道的占空比校正电路。对于高速串行数据时钟和数据恢复CDR电路希望数据的上升沿和下降沿是均匀的。如果输出驱动器的占空比不是精确的50%会导致数据有效窗口偏移。建议始终开启此功能设置为1让芯片内部自动校正确保输出信号质量。4. 状态监控寄存器Register 108这是一个只读的报警寄存器。比特位D0和D1分别指示通道AB和CD的JESD PLL是否失锁。这是调试链路时第一个要看的寄存器如果这些位被置位说明串行链路的基础时钟已经出问题数据肯定无法正确接收。可能的原因包括参考时钟不稳定、SYSREF信号有问题、或者芯片供电异常。配置流程建议上电后先通过SPI接口读取寄存器108确认所有PLL锁相环状态正常D0, D1为0。配置基本的JESD204B链路参数如Lane Rate, Frame Clock等这部分通常在专门的JESD配置寄存器组。使能占空比校正DCC_EN。初始设置开启去加重PRE_EMP_EN1, PRE_EMP_SEL1输出电流保持默认。发送测试码型例如让ADC输出固定的锯齿波或正弦波对应固定的数字输出模式用高速示波器配合眼图模板或误码率测试仪检查接收端眼图。如果眼图模糊或闭合首先尝试微调OUTPUT_CURRENT_CONTROL每次增加1-2步例如从0000调到0001或0010观察眼图改善。如果改善不明显可以检查PCB布线是否过长或有无阻抗不连续点。记录下最优配置。通常不同通道由于布线微小差异最优值可能不同需要单独微调。实操心得不要一上来就把预加重/电流调到最大。过度的预加重会产生“过冲”和“下冲”反而会恶化眼图并可能超出接收端的共模输入范围。最好的方法是“渐进式”调试配合仪器观察找到刚好能打开眼图的最小设置。这既能保证信号质量又能降低功耗和EMI。4. 模拟输入前端与电源设计要点好的时钟和数字接口是保障但模拟信号能否无损地送入ADC是性能的另一个基础。4.1 差分输入网络设计ADS58J89要求全差分输入共模电压为2.0V。最经典、噪声最低的驱动电路是使用巴伦变压器耦合如图108所示。变压器选择选择带宽远高于你感兴趣信号频率的宽带变压器例如Mini-Circuits或ADI公司的产品。初级中心抽头接地次级中心抽头通过电容接ADC提供的VCM2.0V输出从而为差分信号提供正确的直流偏置。终端匹配ADC的输入阻抗在高频下并非纯阻性见图110111但在第一、第二奈奎斯特区输入频率250MHz其等效阻抗远大于50Ω。因此我们需要在变压器次级并联一个50Ω的差分终端电阻R_T。为了提供共模噪声的泄放通路通常将这个电阻拆分为两个25Ω电阻中间通过一个0.1uF电容交流接地。这个电容对差分信号是开路的但能滤除共模噪声对提升无杂散动态范围SFDR有好处。如果不用变压器如果信号需要直流耦合或有一定增益则需要使用全差分放大器FDA来驱动。此时需要特别注意放大器的噪声、带宽和压摆率是否满足要求并设计好反馈网络以实现所需的增益和终端匹配。4.2 电源设计与去耦ADS58J89有多个电源引脚AVDD18 (1.9V), AVDD33 (3.3V), AVDDC/IOVDD/PLLVDD/DVDD (1.8V)。数据手册说上电顺序无要求但良好的电源设计是低噪声的基石。分层去耦每个电源引脚附近1-2mm内必须放置一个0.1uF的陶瓷电容0402或0201封装用于滤除高频噪声。这是第一道防线。局部储能在每组电源的入口处放置一个1uF或10uF的陶瓷电容用于提供局部电流并滤除中频噪声。电源平面尽可能使用独立的电源层或宽走线为模拟电源AVDDxx和数字电源DVDD, IOVDD供电。即使它们电压相同如都是1.8V也最好用磁珠或0欧姆电阻进行隔离防止数字开关噪声串扰到敏感的模拟和时钟电路。PLL电源PLLVDD是为内部锁相环供电的对噪声极其敏感。除了严格的去耦其走线应尽可能短并远离任何数字开关信号线。5. PCB布局实战经验与避坑指南高速ADC的布局是“失之毫厘谬以千里”。TI的EVM评估板布局是最好的老师这里总结几个最关键的原则5.1 分区与隔离模拟与数字分区将板子划分为模拟区域和数字区域。ADC芯片本身是分界线。模拟输入、时钟输入、模拟电源部分放在模拟区JESD204B高速数据输出、数字电源、配置接口SPI放在数字区。电源分割使用电源分割或隔离带将模拟地和数字地在ADC下方单点连接通常通过磁珠或0欧姆电阻。这个接地点通常选择在ADC的AGND引脚最密集的区域下方。5.2 关键信号布线模拟输入线必须作为差分对严格等长、等距布线。尽量短远离任何数字线特别是高速的JESD204B数据线。如果可能用接地屏蔽层包裹。时钟线与模拟输入线同样重要且应与其垂直走线以最小化耦合。同样需要差分等长布线并做好终端匹配。JESD204B高速串行线这是板上速率最高的信号5 Gbps。阻抗控制必须做50Ω单端/100Ω差分阻抗控制。这需要在制板前与PCB厂家沟通确定线宽、层叠结构和介电常数。等长匹配同一通道的D和D-必须严格等长不同通道之间的长度差也应尽量小通常要求控制在几十mil以内以减少偏斜Skew。远离干扰源绝对不要与模拟输入或时钟线平行走线。如果必须交叉应垂直交叉。交流耦合电容每个差分对的输出端都需要串联交流耦合电容典型值0.1uF靠近ADC放置。接收端FPGA需要做100Ω差分终端终端电阻应尽可能靠近FPGA的接收引脚。使用低损耗板材对于超过3 Gbps的速率普通的FR4板材损耗可能过大。考虑使用罗杰斯Rogers等低损耗板材或者将高速线走在具有更低损耗的预制层上。5.3 散热与接地裸露焊盘Thermal PadADC底部的裸露焊盘必须良好接地并焊接在PCB的接地焊盘上。这个焊盘是主要的散热路径和电气接地。PCB上对应区域应打满过孔连接到主地平面以增强散热和接地效果。去耦电容的过孔为去耦电容的接地端使用多个过孔就近连接到地平面以最小化接地电感。6. 调试流程与常见问题排查硬件设计焊接完成后真正的挑战才开始。下面是一个系统的调试流程和常见问题速查表。6.1 上电与基础检查检查所有电源电压用万用表确认AVDD18, AVDD33, 1.8V等电源电压准确无误无短路。配置SPI接口通过FPGA或USB转SPI工具尝试读取ADC的器件ID寄存器通常是一个只读寄存器确认数字通信通路正常。读取状态寄存器读取报警寄存器如地址0x6C检查JESD PLL锁相状态位。如果未锁定检查参考时钟和SYSREF信号是否正常送达电源是否干净。6.2 时钟与JESD链路建立检查时钟信号用示波器观察ADC的差分时钟输入引脚确保信号幅度、频率正确波形干净。配置JESD参数根据与FPGA的协商Lane数、每帧字节数等正确配置ADC的JESD204B链路寄存器。观察SYNC~信号JESD204B的SYNC~信号由接收端FPGA发出。上电配置后FPGA应拉低SYNC~请求同步。ADC收到后开始发送训练序列。FPGA成功完成码组同步CGS和初始通道对齐ILA后会释放SYNC~拉高。用示波器看这个信号是否经历了“高-低-高”的过程是链路建立的第一步标志。6.3 性能测试与优化发送测试信号使用高质量的信号发生器向ADC输入一个纯净的单频正弦波例如70 MHz幅度接近满量程但不过载。捕获数据分析在FPGA侧捕获数据并通过软件如MATLAB、Python计算频谱和SNR/SFDR。SNR不达标检查时钟质量这是首要怀疑对象。用相位噪声分析仪测量时钟源的抖动。检查模拟输入确保输入信号本身SNR足够前端驱动电路没有引入额外噪声。检查变压器或放大器的电源去耦。检查电源噪声用示波器的FFT功能观察ADC各电源引脚上的噪声特别是在输入信号频率及其谐波处有无杂散。JESD链路不稳定偶发失锁检查眼图这是最直接的诊断工具。用高速示波器 16 GHz带宽连接一条JESD数据通道触发在SYSREF或帧时钟观察眼图的张开度、抖动和过冲。调整串行器设置如第3章所述微调OUTPUT_CURRENT_CONTROL和去加重设置观察眼图改善。检查PCB问题怀疑阻抗不连续、过孔stub过长、或与其它信号串扰。可能需要借助时域反射计TDR测量阻抗曲线。降低线速率如果硬件限制无法解决可尝试在芯片和FPGA支持的范围内略微降低JESD204B的通道速率换取更高的裕量。6.4 常见问题速查表现象可能原因排查步骤SPI通信失败1. 电源未正常上电2. SPI线序CS, SCLK, SDI, SDO接错3. 电平不匹配IOVDD电压4. 时序不符合芯片要求1. 测量电源电压2. 用逻辑分析仪抓取SPI时序波形3. 确认IOVDD与控制器电平一致4. 降低SCLK频率再试JESD PLL失锁寄存器报警1. 参考时钟未输入或质量极差2. PLL电源PLLVDD噪声过大3. 芯片内部故障1. 测量CLKINP/N引脚有无时钟2. 检查PLLVDD去耦电容3. 尝试复位芯片SYNC~信号一直为低1. FPGA侧JESD IP核未正确配置或初始化2. 高速数据线未连接或断路3. 交流耦合电容损坏1. 检查FPGA IP核状态2. 用示波器检查数据线是否有差分信号3. 测量耦合电容两端链路同步但数据错误1. 通道间偏斜过大2. 信号完整性差眼图闭合3. 输出驱动强度不足1. 检查各Lane的PCB走线长度2. 用示波器测眼图3. 增加OUTPUT_CURRENT_CONTROL值SNR在高频时急剧下降1. 采样时钟抖动过大2. 模拟输入信号源噪声大3. 输入网络带宽不足或谐振1. 测量时钟相位噪声/抖动2. 更换或校准信号源3. 检查输入网络移除不必要的寄生电容频谱中出现固定杂散1. 电源噪声耦合开关电源纹波2. 时钟或数字信号串扰到模拟部分3. 接地不良1. 检查电源纹波增加LC滤波2. 检查布局确保隔离3. 检查ADC裸露焊盘接地是否良好调试这类高性能ADC仪器是关键。一台好的示波器带宽足够、一台低相位噪声的信号源、一台频谱分析仪或带FFT功能的示波器是必不可少的。耐心和系统性的排查方法比任何技巧都重要。每次只改变一个变量观察结果逐步逼近最优性能。
郑州网站建设
网页设计
企业官网