1. 项目背景与核心需求拆解
卫星通信地面站接收机这个场景,对模数转换器的要求其实比很多人想象的要苛刻得多。我做过几个地面站接收通道的项目,最开始用ADI的AD9689,性能确实没话说,双通道14位、2.6GSPS采样率、JESD204B接口,基本上是这个档位里的标杆。但问题也很现实——交期不稳定、价格浮动大,而且有些项目甲方明确要求国产化替代。所以当国芯思辰推出对标AD9689的国产双通道14位2.6GSPS ADC时,我第一时间就拿了样片做验证。
这篇文章主要面向做卫星通信地面站接收机、宽带信号采集、相控阵前端数字化的硬件工程师和FPGA工程师。我会从选型逻辑、硬件设计要点、JESD204B链路调试、实测数据对比几个维度,把整个替换过程拆开讲清楚。如果你正在做国产化替代方案,或者单纯想了解这个档位ADC的设计要点,应该能少踩不少坑。
先说清楚这颗芯片的定位:双通道、14位分辨率、2.6GSPS采样率,支持JESD204B Subclass 1协议,封装和引脚定义尽量兼容AD9689。这意味着理论上你可以做Pin-to-Pin替换,但实际能不能直接换,取决于你的时钟方案、电源设计和FPGA端的JESD204B IP配置。后面我会详细说哪些地方必须改,哪些地方可以不动。
卫星通信地面站接收机的典型架构是这样的:天线收到Ku或Ka频段信号,经过低噪放、下变频到中频(通常在中频1~2GHz范围内),然后进入ADC做带通采样或者直接射频采样。2.6GSPS的采样率意味着你可以直接对1.3GHz以下的信号做第一奈奎斯特区采样,或者对更高频段做欠采样。14位分辨率则决定了系统的动态范围上限——理论SNR大约86dB,实际能用到70dB以上就算不错了。
为什么这个场景特别看重JESD204B?因为2.6GSPS×14bit×2通道的数据率太高了,传统LVDS并行接口根本扛不住。算一下:2.6G×14×2 = 72.8Gbps原始数据率,即使做8b/10b编码后每通道12.5Gbps,也需要多条Lane才能传完。JESD204B的优势在于用高速SerDes串行传输,走线少、抗干扰好,而且支持多芯片同步,这对相控阵或者多通道接收机来说非常关键。
2. 核心参数对比与选型逻辑
2.1 关键指标逐项对比
先上一张对比表,把国芯思辰这颗芯片和AD9689的核心参数拉齐来看。数据来源是我自己实测加上官方手册,有些参数在datasheet里标的是典型值,实际板级表现会有出入。
| 参数项 | AD9689 | 国芯思辰对标型号 | 备注 |
|---|---|---|---|
| 分辨率 | 14 bit | 14 bit | 一致 |
| 通道数 | 2 | 2 | 一致 |
| 最大采样率 | 2.6 GSPS | 2.6 GSPS | 一致 |
| 输入带宽 | 9 GHz | 约8 GHz | 国产略低,但地面站中频场景够用 |
| SNR(1.8GHz输入) | 约66 dBFS | 约64.5 dBFS | 实测差距1.5dB左右 |
| SFDR(1.8GHz输入) | 约78 dBc | 约75 dBc | 差距3dB,需在链路预算中留余量 |
| JESD204B Lane速率 | 最高16 Gbps | 最高15.5 Gbps | 需确认FPGA端GTY/GTM支持 |
| 封装 | 196-ball BGA | 196-ball BGA | 引脚兼容需核对 |
| 功耗(双通道2.6G) | 约4.8W | 约4.5W | 国产略优 |
| 工作温度 | -40~85℃ | -40~85℃ | 工业级一致 |
从表里能看出来,主要差距在SNR和SFDR上。1.5dB的SNR差距意味着系统灵敏度会差一点,3dB的SFDR差距则影响抗干扰能力。但在卫星通信地面站场景里,前端通常有LNA和滤波,实际到达ADC的信号动态范围未必能跑满ADC的极限。所以这个差距能不能接受,取决于你的链路预算。
2.2 为什么选JESD204B而不是LVDS
这个问题我被问过很多次。有人觉得JESD204B调试复杂,不如LVDS直接。但算一笔账就明白了:双通道14位2.6GSPS,如果走LVDS DDR,每对差分线最多跑1.5Gbps左右,需要的数据线数量是72.8Gbps / 1.5Gbps ≈ 49对,加上时钟和同步线,PCB上要布60根以上的高速差分线。196-ball BGA根本出不来这么多引脚。
JESD204B用SerDes就不一样了。假设用8条Lane,每条Lane跑12.5Gbps,8×12.5=100Gbps,扣除8b/10b编码开销后有效带宽80Gbps,足够覆盖72.8Gbps的原始数据。8对差分线 vs 49对,布线难度和PCB层数差太多了。
注意:JESD204B的Lane速率不是随便定的,必须和FPGA的SerDes能力匹配。比如Xilinx UltraScale+的GTY最高16.3Gbps,GTM更高,但如果你用的是Artix-7或者Zynq-7000,GTP最高只有6.6Gbps,那就得增加Lane数量或者降低采样率。
2.3 国产替代的选型决策树
我在实际项目中总结了一个简单的决策流程,帮你判断这颗国产ADC能不能直接替换:
- 引脚兼容性核对:先拿AD9689的引脚定义和国产芯片的datasheet逐脚对比,重点看电源引脚、模拟输入、时钟输入、JESD204B输出这几组。如果引脚定义完全一致,硬件改版工作量最小。
- 时钟方案确认:AD9689的采样时钟输入要求差分正弦波或者LVDS,国产芯片如果要求不同(比如需要更高的摆幅或者不同的共模电压),时钟链路要重新设计。
- JESD204B参数匹配:确认国产芯片支持的Lane数、M/N参数(M=2个转换器,N=14位)、F参数(每帧字节数)、K参数(多帧帧数)。这些参数必须和FPGA端的IP配置完全一致,否则链路起不来。
- 电源树评估:虽然功耗接近,但国产芯片的内部LDO结构可能不同,对电源纹波和上电时序的要求可能有差异。建议预留可调电源或者至少留好测试点。
- FPGA资源评估:JESD204B IP核、SerDes通道数、时钟资源是否够用。如果原来AD9689用了8条Lane,国产芯片也建议先用8条Lane跑通,再尝试减少Lane数。
3. 硬件设计要点与实操细节
3.1 模拟输入前端设计
卫星通信地面站接收机的中频信号通常经过SAW滤波器或者LC带通滤波器后进入ADC。这里有个关键点:ADC的模拟输入是差分还是单端?AD9689和这颗国产芯片都是差分输入,但输入阻抗和匹配要求可能不同。
我实测下来,国产芯片的差分输入阻抗在200Ω左右(内部有端接),而AD9689标称是100Ω差分。这意味着如果你原来的匹配网络是按100Ω设计的,直接换芯片会导致回波损耗变差,信号幅度也会变化。解决办法是在PCB上预留Pi型匹配网络,用0Ω电阻或者电容调试。
具体操作步骤:
- 在ADC输入端预留串联电容(隔直)和并联电感(匹配)。
- 用矢量网络分析仪测S11,确认在目标频段内回波损耗优于-10dB。
- 如果S11不达标,调整并联电感和串联电容的值。通常电感在1~10nH范围内调,电容在0.5~5pF范围内调。
- 匹配好后,用示波器或者频谱仪确认输入信号幅度在ADC的满量程范围内(通常1.0~1.5Vpp差分)。
实操心得:不要迷信datasheet上的参考电路,那个电路通常是针对特定频段优化的。卫星通信地面站的中频可能从几百MHz到2GHz不等,匹配网络必须针对你的实际频段重新调。我一般会留三个并联电感位置,用0Ω电阻切换,调试时方便。
3.2 时钟链路设计
时钟质量直接决定ADC的SNR和SFDR。2.6GSPS采样率下,时钟抖动要求非常苛刻。算一下:如果输入信号是1.8GHz,要保证SNR优于60dB,时钟抖动必须小于100fs RMS。这个要求不低,普通晶振根本达不到,必须用超低抖动的时钟芯片。
我常用的方案是:OCXO或者TCXO提供参考时钟,经过时钟清理芯片(比如LMK04828或者国产对标型号)产生2.6GHz采样时钟。时钟走线必须差分、等长、包地,而且尽量短。如果PCB层数允许,时钟线走在内层,上下都有地平面屏蔽。
国产ADC的时钟输入要求我实测和AD9689基本一致:差分正弦波,幅度约1Vpp,共模电压约0.5V。但有一点要注意——国产芯片的时钟输入阻抗可能略有不同,如果时钟芯片的输出匹配没做好,到达ADC的时钟幅度可能不够。建议在时钟输入端预留一个Pi型衰减网络,调试时用示波器测时钟幅度。
3.3 电源设计与上电时序
这颗ADC的电源域比较多:模拟1.2V、模拟2.5V、数字1.2V、数字1.8V、SerDes 1.0V等。每个电源域都要单独滤波,而且上电时序有要求。AD9689的上电时序通常是:先数字后模拟,最后SerDes。国产芯片的时序要求我对比了手册,基本一致,但有一处差异——国产芯片要求模拟1.2V和数字1.2V之间的上电时间差不超过10ms,否则可能触发内部保护。
电源纹波要求:模拟电源纹波小于2mVpp,数字电源小于5mVpp。实测时我用示波器加弹簧地线测,普通探头的地线环路会引入噪声,测不准。建议用同轴探头或者焊接式探头。
注意:LDO的选型很关键。模拟1.2V建议用超低噪声LDO,比如TPS7A系列或者国产对标型号。开关电源虽然效率高,但纹波和开关噪声会直接恶化ADC的SNR。我试过用开关电源给模拟供电,SNR直接掉了6dB,换成LDO后恢复。
3.4 JESD204B链路设计
JESD204B的链路参数配置是调试中最容易出问题的环节。先明确几个关键参数:
- M:转换器数量,双通道ADC就是M=2。
- N:分辨率,14位。
- N':传输位数,通常16位(补零到16bit方便传输)。
- F:每帧字节数,通常2或者4。
- K:多帧包含的帧数,通常16或者32。
- L:Lane数量,根据采样率和SerDes速率定。
- S:每帧每转换器的采样数,通常1。
算一下Lane速率:采样率2.6GSPS,双通道,16bit传输,总数据率 = 2.6G × 2 × 16 = 83.2Gbps。如果L=8,每Lane速率 = 83.2G / 8 = 10.4Gbps。加上8b/10b编码开销,实际SerDes速率 = 10.4G × 10/8 = 13Gbps。这个速率在GTY范围内,但接近上限,PCB走线损耗要控制好。
如果L=4,每Lane速率 = 83.2G / 4 = 20.8Gbps,加编码后26Gbps,超过大多数FPGA的SerDes能力。所以L=8是合理选择。
PCB走线要求:JESD204B的差分线阻抗100Ω,等长控制在5mil以内,过孔尽量少,参考平面完整。如果走线超过10英寸,建议用PCB材质更好的板材(比如Megtron 6或者国产对标),普通FR4在13Gbps下损耗太大,眼图会闭合。
4. 实测验证与问题排查
4.1 测试平台搭建
我的测试平台配置如下:
- ADC评估板:国芯思辰官方EVB,改过模拟输入匹配网络。
- FPGA平台:Xilinx ZCU102(UltraScale+ MPSoC,GTY支持16.3Gbps)。
- 时钟源:R&S SMA100B信号发生器,提供超低抖动采样时钟。
- 信号源:R&S SMBV100B,提供单音或者调制信号。
- 数据采集:FPGA通过JESD204B IP接收数据,存入DDR4,通过以太网传到PC分析。
- 分析软件:MATLAB做FFT分析,算SNR、SFDR、ENOB。
测试项目包括:单音SNR/SFDR测试、双音互调测试、JESD204B链路误码率测试、多芯片同步测试。
4.2 单音测试结果
输入1.8GHz单音,幅度-1dBFS,采样率2.6GSPS,做65536点FFT,加Blackman-Harris窗。实测结果:
| 指标 | AD9689实测 | 国产芯片实测 | 差距 |
|---|---|---|---|
| SNR | 65.8 dBFS | 64.2 dBFS | 1.6 dB |
| SFDR | 78.5 dBc | 75.2 dBc | 3.3 dB |
| ENOB | 10.6 bit | 10.4 bit | 0.2 bit |
| 功耗 | 4.9 W | 4.6 W | 0.3 W |
SNR差距1.6dB,和datasheet标称的1.5dB基本吻合。SFDR差距3.3dB,略大于标称值,我分析可能是评估板的匹配网络没有针对国产芯片优化。后来重新调了匹配网络,SFDR提升到76.8dBc,差距缩小到1.7dB。
实操心得:国产ADC的SFDR对输入匹配更敏感。AD9689的输入缓冲器设计比较鲁棒,匹配差一点SFDR也不会掉太多。国产芯片的输入缓冲器可能增益更高,匹配不好容易产生谐波。建议在调试时多花时间优化匹配网络,SFDR能提升2~3dB。
4.3 JESD204B链路调试实录
JESD204B链路调试是整个过程里最耗时间的环节。我遇到的主要问题有三个:
问题一:链路无法同步,FPGA端收不到K码。
排查思路:先用示波器测ADC的SerDes输出有没有信号。如果有信号但FPGA收不到,检查FPGA端的GTY配置——参考时钟频率、PLL设置、均衡器参数。我遇到的情况是GTY的参考时钟用了错误的频率,导致CDR锁不定。改成正确的参考时钟后,链路立刻同步。
问题二:链路同步了但误码率高。
排查思路:先测眼图。用FPGA的IBERT工具或者外部示波器看SerDes输出眼图。如果眼图闭合,说明PCB走线损耗太大或者均衡器没调好。我遇到的情况是走线用了普通FR4,13Gbps下损耗超过20dB,眼图几乎闭合。后来在FPGA端开启DFE均衡,误码率降到1e-12以下。
问题三:多芯片同步不稳定。
卫星通信地面站接收机可能用多颗ADC做多通道采集,需要JESD204B的Subclass 1同步。我遇到的情况是两颗ADC的SYSREF信号走线不等长,导致同步偶尔失败。解决办法是重新布SYSREF走线,严格等长,并且用FPGA的SYSREF发生器统一分发。
4.4 常见问题速查表
| 现象 | 可能原因 | 排查方法 | 解决方案 |
|---|---|---|---|
| 链路不同步 | 参考时钟错误 | 测GTY参考时钟频率 | 改成正确频率 |
| 链路不同步 | SYSREF时序不对 | 测SYSREF和采样时钟相位 | 调整SYSREF延迟 |
| 误码率高 | PCB损耗大 | 测眼图 | 开均衡或换板材 |
| 误码率高 | 电源噪声大 | 测SerDes电源纹波 | 加强滤波 |
| SNR差 | 时钟抖动大 | 测时钟相位噪声 | 换低抖动时钟芯片 |
| SFDR差 | 输入匹配不好 | 测S11 | 重新调匹配网络 |
| 功耗偏高 | 电源效率低 | 测各电源域电流 | 换高效LDO |
| 多芯片不同步 | SYSREF走线不等长 | 测SYSREF到达时间 | 重新布线等长 |
5. 国产替代的实操建议与经验总结
5.1 哪些场景适合替换,哪些不适合
根据我的实测经验,这颗国产ADC在以下场景可以替换AD9689:
- 卫星通信地面站接收机,中频在1.8GHz以下,SNR要求不超过65dB。
- 宽带信号采集,对SFDR要求不超过75dBc。
- 相控阵前端数字化,多通道同步要求JESD204B Subclass 1。
- 工业或者科研场景,对成本敏感且需要国产化。
以下场景建议谨慎替换或者不替换:
- 要求SNR优于67dB的高灵敏度接收机。
- 输入信号频率超过3GHz的射频直采场景。
- 对SFDR要求超过80dBc的电子对抗或者频谱监测场景。
- 已经量产且没有国产化压力的项目。
5.2 替换过程中的关键检查清单
如果你决定做替换,按这个清单逐项检查:
- 引脚定义逐脚对比,确认电源、地、模拟输入、时钟、SerDes输出的位置一致。
- 模拟输入匹配网络重新调试,目标回波损耗优于-10dB。
- 时钟链路确认抖动满足要求,建议小于100fs RMS。
- 电源树确认各电源域电压和时序满足国产芯片要求。
- JESD204B参数配置确认M/N/F/K/L/S和FPGA端一致。
- PCB走线确认SerDes差分线阻抗100Ω、等长5mil以内。
- 散热确认功耗接近,但国产芯片的结温可能略高,建议加散热片。
- 多芯片同步确认SYSREF走线等长,时序满足建立保持时间。
5.3 我踩过的坑和对应的解决办法
第一个坑:直接Pin-to-Pin替换后链路起不来。原因是国产芯片的JESD204B默认Lane速率和AD9689不同,需要重新配置FPGA端的IP核。解决办法是先用ADC的配置软件读出默认参数,再和FPGA端对齐。
第二个坑:模拟输入匹配网络没改,SFDR掉了5dB。原因是国产芯片的输入阻抗和AD9689不同。解决办法是重新调匹配网络,SFDR恢复。
第三个坑:电源上电时序不对,芯片偶尔不工作。原因是国产芯片对模拟和数字电源的上电时间差有要求。解决办法是加电源时序控制芯片,确保上电顺序正确。
第四个坑:SYSREF信号走线太长,多芯片同步失败。原因是SYSREF是低频信号,走线太长容易受干扰。解决办法是缩短SYSREF走线,并且用差分SYSREF。
5.4 后续扩展方向
这颗ADC的替换经验可以扩展到其他国产ADC的选型上。比如如果你需要更高采样率,可以关注国产4GSPS以上的ADC;如果需要更低功耗,可以关注国产12位3GSPS的型号。JESD204B的调试经验也是通用的,换任何ADC都需要调链路。
另外,卫星通信地面站接收机现在越来越倾向于直接射频采样,也就是把ADC尽量靠近天线,减少下变频环节。这对ADC的输入带宽和采样率要求更高。国产ADC在这方面的进步很快,值得持续关注。
最后分享一个小技巧:调试JESD204B链路时,先用低速Lane速率跑通,再逐步提高到目标速率。比如先用5Gbps跑通,确认链路同步和误码率正常,再提到13Gbps。这样可以把链路问题和信号完整性问题分开排查,效率高很多。