4、ADC与数字接口:高速ADC选型、JESD204B接口协议详解、LVDS与CMOS接口对比
各位同学,咱们今天聊点硬核的——ADC和它的数字接口。做超声系统的人都知道,探头后面的第一关就是ADC。信号进来是模拟的,你得把它变成数字的,才能让后面的FPGA或者DSP去处理。这个环节要是没选好,后面再怎么优化算法都白搭。
我个人习惯把ADC选型比作「找对象」——不是越贵越好,关键是合拍。你得看你的系统需要多少位精度、多高的采样率、多大的动态范围。超声系统里,通常需要12位到14位的ADC,采样率在40MHz到80MHz之间。为什么是这个范围?因为超声信号的频率一般在1MHz到15MHz之间,根据奈奎斯特定理,采样率至少是信号最高频率的两倍。但实际工程中,我们通常会留出3到5倍的余量。
核心要点:ADC的选型不是孤立的事情,它直接决定了后续数字接口的选择。你选了高速ADC,就得配高速接口;你选了低功耗ADC,接口可能就简单一些。
4.1 高速ADC选型:别只看采样率
很多新手选ADC,上来就问「采样率多少?」。嗯,这当然重要,但远远不够。我在项目中遇到过一位同事,选了一款采样率80MHz、14位的ADC,参数看着挺漂亮,结果一上板子,信噪比死活上不去。后来一查,原来是电源纹波太大,把ADC的PSRR(电源抑制比)给干翻了。
选型时,我建议你重点关注这几个参数:
- 有效位数(ENOB):这才是真正的精度。标称14位的ADC,实际ENOB可能只有11位。超声系统里,ENOB低于10位基本没法用。
- 信噪比(SNR):超声信号动态范围大,SNR至少要70dB以上。
- 无杂散动态范围(SFDR):这个参数决定了你能不能在强信号旁边看到弱信号。超声里经常要同时看近场和远场,SFDR低了,弱信号就被淹没了。
- 功耗:便携式超声对功耗很敏感,每通道ADC功耗超过100mW就得掂量掂量了。
我的经验:选型时先看ENOB,再看采样率。ENOB不够,采样率再高也是白搭。我曾经在一个项目中为了省成本选了ENOB只有9.5位的ADC,结果后端算法怎么调都达不到临床要求,最后只能换芯片,反而多花了三个月时间。
4.2 JESD204B接口协议详解:高速ADC的「高速公路」
好,ADC选好了,接下来就是怎么把数据搬出来。传统的CMOS和LVDS接口在采样率超过100MHz时就开始吃力了——引脚太多、功耗太大、PCB布线也麻烦。这时候,JESD204B就登场了。
JESD204B是什么?说白了,它是一种串行接口协议,用一对差分线就能传好几Gbps的数据。你想想看,一个14位、80MHz的ADC,如果用CMOS并行接口,至少需要14根数据线加上时钟线;如果用JESD204B,一对差分线就够了。
JESD204B的核心概念包括:
- 链路层:负责数据的组帧和解帧。数据被分成一个个的「帧」,每个帧包含若干个「字节」。
- 传输层:负责将ADC的采样数据映射到链路上。比如14位的ADC数据,怎么塞进8位的字节里?这就是传输层干的事。
- 物理层:负责实际的电气连接,通常是CML(电流模式逻辑)电平。
我记得第一次调JESD204B的时候,被它的初始化流程折腾得不轻。它有一套复杂的握手协议:代码组同步(CGS)、初始帧同步(ILS)、用户数据阶段。每一步都有严格的时序要求,稍微错一点,链路就起不来。
避坑指南:我曾经在一个项目中,JESD204B链路老是断断续续的。查了三天,最后发现是FPGA的参考时钟抖动太大。JESD204B对时钟质量要求极高,抖动超过几十个皮秒就可能出问题。所以,时钟芯片的选型一定要重视,别在这上面省钱。
JESD204B的速率等级分为三档:
| 等级 | 最大线速率 | 典型应用 |
|---|---|---|
| JESD204 | 3.125 Gbps | 早期产品,已较少使用 |
| JESD204A | 6.25 Gbps | 中等速率ADC |
| JESD204B | 12.5 Gbps | 高速ADC,超声系统主流 |
超声系统里,JESD204B的线速率通常在2Gbps到6Gbps之间。为什么?因为我们的采样率没那么高,没必要跑到12.5Gbps。而且线速率越高,PCB设计的难度就越大,对板材的要求也越高。
4.3 LVDS与CMOS接口对比:老将和新秀
说完JESD204B,咱们回头看看两位「老将」——CMOS和LVDS。虽然JESD204B是趋势,但CMOS和LVDS在低速率场景下依然有它们的用武之地。
CMOS接口:最原始的数字接口。每个数据位一根线,加上时钟线,简单粗暴。优点是设计简单,FPGA直接就能接;缺点是引脚多、功耗大、速率上不去。一般用在采样率低于40MHz的场合。
LVDS接口:差分信号,一对线传一个数据位。抗干扰能力强,速率可以做到几百MHz。但引脚数还是多——14位的ADC就需要14对差分线,加上时钟就是15对。
我个人的看法是:
- 如果你的采样率低于40MHz,通道数也不多(比如4通道以下),用CMOS接口完全够用,还省钱。
- 如果采样率在40MHz到100MHz之间,通道数中等(8到16通道),LVDS是合理的选择。
- 如果采样率超过100MHz,或者通道数很多(32通道以上),别犹豫,直接上JESD204B。
对比总结:
| 接口类型 | 引脚数 | 最大速率 | 功耗 | 抗干扰 | 适用场景 |
|---|---|---|---|---|---|
| CMOS | 多(N+1) | ~100MHz | 高 | 差 | 低速、少通道 |
| LVDS | 较多(N对+1对) | ~400MHz | 中 | 好 | 中速、中等通道 |
| JESD204B | 少(1对或多对) | 12.5Gbps | 低 | 极好 | 高速、多通道 |
你可能会问:「既然JESD204B这么好,为什么不全用JESD204B?」原因很简单——成本。JESD204B的ADC芯片通常比同规格的LVDS芯片贵30%到50%。而且,JESD204B需要FPGA有高速串行收发器(SerDes),不是所有FPGA都带这个功能。低端FPGA往往只有LVDS接口,没有SerDes。
我的建议:做产品选型时,先算总账。别只看ADC芯片的价格,要把FPGA、PCB层数、连接器、电源这些全算进去。有时候用LVDS虽然ADC贵一点,但FPGA便宜,总成本反而更低。我做过一个32通道的便携超声,最后选了LVDS接口的ADC配中端FPGA,比用JESD204B的方案省了将近20%的成本。
4.4 实战中的接口选择策略
好了,理论讲完了,咱们聊聊实战。假设你现在要设计一个128通道的超声系统,采样率是60MHz,14位精度。你怎么选?
如果选CMOS接口,128通道 × 14位 = 1792根数据线,再加上时钟和控制线,PCB上根本走不开。就算用多层板,信号完整性问题也会让你崩溃。
如果选LVDS接口,128通道 × 14对差分线 = 1792根线,虽然比CMOS好一点,但依然太多。而且LVDS的功耗也不低,128个ADC同时工作,散热是个大问题。
如果选JESD204B接口,假设每个ADC有4条lane(通道),128个ADC只需要32对差分线(8个ADC共享一个JESD204B链路)。PCB布线轻松多了,功耗也低。
所以,对于多通道系统,JESD204B几乎是唯一的选择。这也是为什么高端超声系统清一色都用JESD204B的原因。
注意:JESD204B虽然好,但调试难度也大。我建议你在项目初期就留出足够的调试时间,至少两周。而且一定要准备好示波器和协议分析仪,否则出了问题你都不知道是硬件问题还是协议问题。
最后,送大家一句话:ADC选型和接口选择,本质上是在性能、成本、复杂度之间找平衡。没有绝对的好坏,只有适合不适合。希望今天的分享能帮你在实际项目中少走弯路。
下一章,咱们聊聊FPGA怎么处理这些高速数据流,敬请期待。