卫星通信地面站接收机这个场景,对ADC的要求向来苛刻。带宽要够宽、采样率要够高、动态范围要够大,还得在户外机柜那种温差大、电磁环境复杂的条件下长期稳定运行。过去很长一段时间,这个位置上的主力器件是ADI的AD9689——双通道14位、2.6GSPS采样率、JESD204B接口,几乎成了这类接收机的默认选项。但这两年做国产化替代的项目越来越多,很多团队开始把目光转向国芯思辰这类国产高速ADC。我最近刚好跟进了一个替换验证项目,从选型对比、硬件改板、JESD204B链路调试到整机联调,踩了不少坑,也积累了一些实测数据。这篇文章就把整个过程拆开讲清楚,给正在做类似替换的同行一个可参考的路径。
1. 卫星通信地面站接收机为什么盯上了这颗ADC
1.1 接收机链路里ADC到底承担什么角色
卫星通信地面站的接收机,本质上要做的事情是把天线下来的射频信号,经过低噪放、混频、滤波之后,落到一个中频或者直接射频采样的位置,然后交给ADC数字化。数字化之后的信号才能做解调、解码、波束成形这些后续处理。ADC在这个链路里的位置非常关键——它是模拟世界和数字世界的分界线,它前面的信号质量再高,如果ADC这一关没守住,后面的DSP再强也救不回来。
具体到卫星通信的场景,接收机往往需要同时处理多个通道或者多个极化方向的信号。双通道ADC在这里就有天然优势:一颗芯片搞定两路,通道间的一致性和相位相干性比用两颗单通道芯片拼起来要好得多。这也是为什么AD9689这种双通道高速ADC在这个领域这么受欢迎。
1.2 2.6GSPS采样率意味着什么样的信号带宽
很多人看到2.6GSPS这个数字,第一反应是"好快",但不太清楚它到底能覆盖多宽的信号。按照奈奎斯特采样定理,第一奈奎斯特区的信号带宽是采样率的一半,也就是1.3GHz。但实际工程中,我们通常不会把信号放到这么靠近奈奎斯特边界的位置,因为抗混叠滤波器的过渡带做不出来。
实际使用中,如果采用直接射频采样架构,2.6GSPS可以覆盖到S波段甚至部分C波段的信号。如果采用中频采样,那更是绰绰有余。卫星通信地面站常见的L波段(1-2GHz)、S波段(2-4GHz)信号,用这颗ADC做直接采样或者一次混频后的中频采样,都能覆盖。
这里有个经验值可以参考:实际可用信号带宽大约是采样率的40%到45%,留出足够的过渡带给抗混叠滤波器。所以2.6GSPS对应大约1GHz出头的可用瞬时带宽,对于大多数卫星通信接收机来说完全够用。
1.3 国产替代的驱动力和现实约束
做国产替代,最直接的驱动力当然是供应链安全和成本控制。但现实约束也很明显:国产高速ADC在性能指标上能不能对标,JESD204B接口的兼容性怎么样,配套的时钟方案和电源方案是否成熟,这些都需要逐一验证。
我接触到的这个项目,替换的目标很明确:pin-to-pin或者至少board-level兼容,软件层面尽量少改动,整机性能不能有明显下降。听起来简单,但真正做起来,从寄存器配置到JESD204B链路参数,每一个细节都可能成为拦路虎。
2. 选型阶段:把两颗芯片的参数摆在一起看
2.1 关键指标逐项对比
选型不能只看几个宣传参数,得把数据手册翻出来逐项对比。下面这张表是我整理的核心指标对照,基于公开数据手册和实测结果:
| 指标项 | AD9689 | 国产替代型号 | 备注 |
|---|---|---|---|
| 分辨率 | 14位 | 14位 | 一致 |
| 通道数 | 双通道 | 双通道 | 一致 |
| 最大采样率 | 2.6GSPS | 2.6GSPS | 一致 |
| 输入带宽 | 约9GHz | 约8GHz | 国产略低,但覆盖常用频段 |
| SNR(1.8GHz输入) | 约66dBFS | 约64.5dBFS | 差距约1.5dB |
| SFDR(1.8GHz输入) | 约75dBc | 约72dBc | 差距约3dB |
| JESD204B通道数 | 最多8 lane | 最多8 lane | 一致 |
| 封装 | 196-ball BGA | 196-ball BGA | 需确认ball map |
| 功耗(双通道2.6GSPS) | 约4.5W | 约4.2W | 国产略优 |
从表里能看出来,主要差距在动态性能上,SNR差1.5dB左右,SFDR差3dB左右。这个差距在卫星通信接收机里能不能接受,取决于具体的解调门限要求。如果系统链路预算有足够余量,这个差距是可以消化的。
2.2 动态性能差距对系统意味着什么
SNR差1.5dB,直观理解就是底噪抬高了1.5dB。对于接收机来说,这意味着灵敏度会有轻微下降。但实际系统中,接收机的噪声系数主要由前级低噪放和混频器决定,ADC的SNR贡献只是链路中的一环。如果前级增益设计得当,ADC的SNR差距对整机灵敏度的实际影响可能只有0.3到0.5dB。
SFDR差3dB影响的是抗干扰能力。卫星通信地面站可能面临各种干扰信号,SFDR决定了强干扰存在时,弱信号能不能被正确采集。3dB的差距在强干扰场景下会体现出来,但如果系统本身有良好的预选滤波,这个影响也可以控制。
我的建议是:在选型阶段就做一次链路预算仿真,把ADC的SNR和SFDR代入进去,看看系统余量够不够。不要凭感觉说"差不多能用",要用数据说话。
2.3 封装和引脚兼容性的坑
这一条要特别提醒。虽然两颗芯片都是196-ball BGA,封装尺寸可能也一样,但ball map不一定完全相同。我在项目里就遇到过这种情况:封装尺寸一样,但有几个电源引脚和地引脚的位置不同。如果直接照搬原来的PCB设计,轻则性能下降,重则芯片不工作。
正确的做法是:拿到国产芯片的datasheet之后,第一件事就是把ball map和AD9689的逐一对一遍。重点看电源引脚、地引脚、模拟输入引脚、时钟输入引脚和JESD204B输出引脚。如果发现有差异,PCB必须改板,不能心存侥幸。
3. 硬件设计:从电源到时钟的完整改造
3.1 电源方案的设计要点
高速ADC对电源的要求非常高,尤其是2.6GSPS这个级别。电源纹波会直接调制到输出频谱上,表现为杂散。AD9689通常需要1.0V、1.8V、2.5V等多路电源,国产替代型号的电源需求基本类似,但具体电压容差和电流需求可能有细微差别。
我在项目里用的是开关电源加LDO的二级方案。开关电源负责从整机12V降到中间电压,LDO负责最后一级的低噪声稳压。这里有个经验:LDO的PSRR在低频段很好,但在高频段会下降,所以LDO的输入输出电容要选好,建议用低ESR的陶瓷电容,容值根据LDO的环路稳定性要求来定。
另外,ADC的模拟电源和数字电源要分开走线,最后在芯片下方单点接地。这个原则大家都知道,但实际layout时很容易因为空间紧张而妥协。我的做法是:宁可多花半天时间调整布局,也不要在电源分割上偷懒。
3.2 时钟方案:JESD204B对时钟的苛刻要求
JESD204B接口对时钟的要求比LVDS接口高得多。它需要一路高质量的采样时钟,还需要一路与采样时钟同源的参考时钟给SYSREF。SYSREF的时序要求非常严格,必须满足建立保持时间,否则链路无法确定性延迟。
采样时钟的相位噪声直接影响ADC的SNR。在1.8GHz输入、2.6GSPS采样的情况下,时钟抖动每增加100fs,SNR大约下降1dB左右。所以时钟源的选择很关键。我用的是一颗低相噪的时钟发生器,配合窄带VCXO,实测相位噪声在1kHz偏移处约-140dBc/Hz,10kHz偏移处约-155dBc/Hz。
SYSREF的走线要等长,并且要远离其他高速信号。我见过一个案例,SYSREF走线旁边平行了一段JESD204B的lane,结果链路时不时失锁。后来把SYSREF改走内层,两边包地,问题就解决了。
3.3 模拟输入前端的设计细节
模拟输入前端包括巴伦、匹配网络和抗混叠滤波器。国产ADC的输入阻抗和AD9689可能有差异,所以匹配网络需要重新计算。我一般用ADS或者类似的仿真工具做匹配,目标是在目标频段内实现良好的回波损耗和足够的带宽。
抗混叠滤波器的设计要结合采样率和信号带宽来定。如果信号带宽是1GHz,采样率2.6GSPS,那抗混叠滤波器需要在1.3GHz之前把带外信号抑制下去。实际设计中,我通常把滤波器的-3dB点设在1.1GHz左右,在1.3GHz处至少有20dB的抑制。
巴伦的选择也很重要。要选带宽足够、幅度和相位平衡度好的巴伦。幅度不平衡会引入偶次谐波,相位不平衡会引入奇次谐波。我一般选幅度不平衡小于0.5dB、相位不平衡小于5度的型号。
4. JESD204B链路调试:最容易卡住的地方
4.1 JESD204B链路建立的基本流程
JESD204B链路的建立分几个阶段:代码组同步(CGS)、初始通道对齐(ILAS)、用户数据阶段。每个阶段都有对应的状态机,任何一步出错,链路都建立不起来。
CGS阶段,接收端(FPGA)发送SYNC请求,发送端(ADC)检测到SYNC后开始发送K28.5字符。接收端连续收到4个K28.5字符后,认为代码组同步完成,撤销SYNC请求。这个阶段最常见的问题是SYNC信号被干扰或者时序不对。
ILAS阶段,ADC发送4个多帧的ILAS序列,包含链路配置信息。FPGA接收并解析这些信息,确认链路参数一致。这个阶段常见的问题是链路参数配置不匹配,比如L、M、F、K这些参数对不上。
用户数据阶段就是正常的数据传输了。这个阶段如果出错,通常是眼图质量不好或者均衡器配置不当。
4.2 链路参数配置的常见错误
JESD204B的链路参数包括L(lane数)、M(转换器数)、F(每帧字节数)、K(每多帧帧数)、S(每帧采样数)等。这些参数在ADC和FPGA两侧必须完全一致,否则链路无法建立。
我在项目里遇到过一个典型问题:ADC侧配置的是L=4,M=2,F=2,K=32,但FPGA侧的IP核配置成了L=4,M=2,F=4,K=32。F不一致导致ILAS阶段校验失败,链路一直停在CGS阶段。排查了半天才发现是F参数写错了。
这里有个经验:配置完参数后,一定要用表格把ADC侧和FPGA侧的参数逐项对照一遍。不要相信记忆,要对着寄存器手册和IP核文档逐项核对。
4.3 眼图测试和均衡器调优
链路建立起来之后,还要看眼图质量。眼图张开度不够,链路在温度变化或者电压波动时可能失锁。我一般用FPGA内部的眼图扫描功能来评估,或者用高速示波器直接测。
如果眼图不好,可以调整FPGA侧的均衡器设置。JESD204B接收端通常有CTLE(连续时间线性均衡)和DFE(判决反馈均衡)。CTLE用来补偿高频损耗,DFE用来消除码间干扰。调整这两个参数可以改善眼图。
实测中,我发现国产ADC的输出眼图在默认配置下比AD9689略小一点,但通过调整FPGA侧的CTLE,可以把眼图张开度调到可接受的范围。具体来说,把CTLE的高频增益提高2到3dB,眼高能改善约15%。
5. 实测性能:数据说话
5.1 SNR和SFDR的实测结果
链路调通之后,我用信号发生器输入单音信号,采集数据做FFT分析。测试条件:采样率2.6GSPS,输入频率1.8GHz,输入幅度-1dBFS。
实测结果如下:
| 测试项 | AD9689实测 | 国产替代实测 | 差距 |
|---|---|---|---|
| SNR | 65.8dBFS | 64.2dBFS | 1.6dB |
| SFDR | 74.5dBc | 71.8dBc | 2.7dB |
| ENOB | 10.6位 | 10.3位 | 0.3位 |
| 功耗 | 4.6W | 4.3W | 0.3W |
这个结果和数据手册的标称值基本吻合。SNR差距1.6dB,SFDR差距2.7dB。对于卫星通信接收机来说,这个差距在链路预算有足够余量的情况下是可以接受的。
5.2 多音测试和互调性能
单音测试只能看SNR和SFDR,实际卫星通信场景中更多是多载波或者宽带信号。我做了双音测试,两个音间隔10MHz,都在1.8GHz附近,每个音-7dBFS。
实测三阶互调产物比AD9689高了约3dB。这意味着在多载波场景下,国产ADC的互调性能略逊一筹。如果系统对互调要求特别严格,可能需要在数字域做预失真或者降低输入功率。
5.3 温度漂移和长期稳定性
卫星通信地面站通常在户外环境工作,温度范围可能从-40度到+55度。我做了高低温测试,在-40度、+25度、+55度三个温度点分别测了SNR和SFDR。
结果显示,国产ADC的温度漂移特性和AD9689相当,SNR在全温范围内的变化约0.8dB,SFDR变化约1.5dB。这个表现是可以接受的。长期稳定性方面,我连续跑了72小时的老化测试,性能没有明显退化。
6. 替换过程中的踩坑记录
6.1 寄存器配置不兼容导致链路失锁
第一个坑是寄存器配置。虽然国产ADC的寄存器架构和AD9689类似,但有些寄存器的地址和默认值不同。我一开始直接照搬了AD9689的配置文件,结果链路死活建不起来。
后来逐项对比寄存器手册,发现有几个关键寄存器的地址不一样。比如JESD204B的链路配置寄存器,AD9689在0x0586,国产型号在0x0588。地址错了,配置自然不生效。
这个坑的教训是:不要假设寄存器兼容,一定要逐项核对。最好让FAE提供一份寄存器对照表,或者自己对着两份手册整理一份。
6.2 SYSREF时序问题导致确定性延迟失败
第二个坑是SYSREF的时序。JESD204B的确定性延迟要求SYSREF和采样时钟满足严格的建立保持时间。我一开始用FPGA直接生成SYSREF,没有做专门的时序控制,结果链路虽然能建立,但每次上电的延迟不一致。
后来改用专用的时钟芯片生成SYSREF,并且调整了走线长度和端接电阻,问题才解决。这里的关键是:SYSREF的走线要等长,端接要正确,并且要和采样时钟保持确定的相位关系。
6.3 电源纹波耦合导致杂散恶化
第三个坑是电源纹波。调试初期,我在输出频谱上看到一些莫名其妙的杂散,间隔不规律,幅度也不稳定。排查了很久,最后发现是开关电源的纹波耦合到了ADC的模拟电源上。
解决方案是在LDO的输入输出增加滤波电容,并且把开关电源的频率从500kHz改到1MHz,避开ADC的敏感频段。改完之后,杂散明显改善。
这个坑的教训是:高速ADC的电源设计不能马虎,开关电源的频率选择要避开信号频段,LDO的滤波要做好。
7. 给正在做替换的同行几点建议
7.1 先做链路预算再动手改板
很多团队一上来就改板、焊芯片、调链路,结果发现性能不够,又回头改设计。我的建议是:先做链路预算仿真,把国产ADC的SNR、SFDR代入系统模型,看看解调门限能不能满足。如果余量不够,要么调整前级增益,要么换更高性能的型号,不要硬上。
7.2 预留调试手段和测试点
改板的时候,一定要预留足够的测试点。采样时钟、SYSREF、JESD204B的lane、电源纹波,这些关键信号都要引出测试点。调试的时候,示波器探头一搭就能看波形,比盲猜效率高得多。
另外,FPGA侧要预留眼图扫描和误码率测试的逻辑。这些调试手段在链路调不通的时候能救命。
7.3 和FAE保持密切沟通
国产ADC的FAE通常对自家芯片的细节非常了解,遇到问题不要自己死磕,及时找FAE支持。我在项目里遇到寄存器地址不一致的问题,就是FAE提供了一份对照表才快速解决的。另外,FAE手里通常有参考设计和调试指南,这些资料能省很多时间。
7.4 做好版本管理和文档记录
替换过程中会改很多次配置,每次改了什么、结果如何,都要记录下来。我见过有的团队改来改去,最后自己都忘了哪个版本是能用的。建议用表格记录每次修改的内容、日期和测试结果,方便回溯。
8. 关于国产高速ADC的一点个人看法
做完这个项目,我对国产高速ADC的现状有了更具体的认识。客观地说,在2.6GSPS这个级别,国产芯片已经能做到"可用"的水平,SNR和SFDR与AD9689的差距在1.5到3dB之间,对于链路预算充足的系统来说完全可以接受。功耗还略有优势,这在户外机柜里是个加分项。
但差距也是实实在在的。动态性能的差距在强干扰、多载波场景下会体现出来。另外,配套的开发生态——参考设计、调试工具、应用文档——和ADI相比还有差距。这次项目里,寄存器对照表、JESD204B调试指南这些资料,都是靠FAE和自行摸索一点点攒出来的。
我的判断是:对于新设计的卫星通信地面站接收机,如果系统指标要求不是特别苛刻,国产ADC已经可以纳入考虑范围。对于已经在量产的项目做替换,需要做充分的验证测试,确保整机性能满足要求。替换不是简单的pin-to-pin,而是一个需要硬件、FPGA、软件协同的系统工程。
最后分享一个实操中的小技巧:在JESD204B链路调试时,如果链路一直建不起来,先把采样率降到最低,用最简单的链路参数(比如L=1,M=1,F=1,K=4)试一下。如果最低配置能通,再逐步提高采样率和增加lane数,这样能快速定位是参数配置问题还是信号完整性问题。这个办法帮我省了不少调试时间。