采样率上百MSPS、分辨率还要12~16位------这个"SAR够不着、Flash太烧钱"的区间,属于流水线(Pipeline)型ADC。通信基站、软件无线电、高速示波器、医疗影像的核心都是它。本文拆解流水线的分级结构、数字误差校正、流水延迟,并完成ADC架构三部曲的对比总结。全文约4000字。
一、流水线的核心思想:分工与接力
SAR一次只处理一个样本(16拍问答),Flash一次全员表决但比较器数量爆炸(2^N-1)。流水线型取两者之长:把N位转换拆成若干级,每级用一个小Flash粗量化几位,把余量(residue)放大后传给下一级精化 。每一级像流水线工人一样,处理完手头样本就立刻接手下一个------各级同时工作在不同样本上,总吞吐量由单级速度决定,与级数无关。
以12位流水线ADC为例:输入Vin首先被采样/保持电路采样,同时第一级(stage1)的闪速ADC把它量化为3位,并输出馈送到3位DAC(具有12位精度),再从输入模拟信号中减去DAC输出,将结果(余量)放大4倍送给下一级(stage2)。随后stage2重复上述过程,每级提供3位,直到最后一级4位闪速ADC收尾。每一级包含五个部件:
- 采样保持电路------接棒样本;
- 低分辨率的AD子转换电路------粗量化(3位小Flash);
- 低分辨率的DA转换电路------重建粗量化值;
- 减法器------求余量;
- 级间增益放大器------余量放大(×4即左移2位,供后级细看)。
二、时间对齐与数字误差校正
由于每级在不同时间得到变换结果,在进行数字校正前要用移位寄存器对各级结果按时间对准------第1级的3位要"等"第2级、第3级的结果全部到齐,拼在一起才是完整的12位输出。
更精妙的是数字误差校正(digital error correction):每级实际量化3位,但只向总结果贡献约2位,留出1位冗余。这个冗余位允许级间比较器存在一定的比较误差,后级会把误差"吸收"进余量并修正回来------用数字冗余换模拟精度,大幅降低了各级比较器的设计难度。这是流水线架构在工程上成功的关键一招。
三、流水线延迟:繁荣的代价
流水线高速运转的代价是流水线延迟(pipeline latency) :第一个样本进入后,要经过所有级才能输出。N级流水线,第一个输出延迟N个时钟周期;之后每个时钟出一个新结果。对大多数应用(通信、视频流)来说,恒定的流水延迟无伤大雅------它只是一个固定的、可补偿的时移。但对闭环控制 (如逐周期电流环)和触发响应场景,数十拍的延迟就必须认真评估。
四、流水线的优缺点清单
优点
- 高吞吐:每级都有独立的采样保持电路,可以同时对前一级的余量进行处理,达到很高的转换速率(数十到数百MSPS);
- 电路规模与功耗远低于同分辨率Flash:用时间换空间,比较器数量从2^N-1降到"级数×每级小Flash";
- 数字校正提升分辨率:冗余位设计让模拟电路的要求放宽,良率与成本双赢。
缺点
- 需要复杂的基准电路与偏置结构------级间放大器和基准的精度直接影响余量质量;
- 流水线延迟:输入信号必须穿越数级电路,各级输出必须严格同步,要求50%占空比的时钟以及最小的时钟频率(不能随意降速运行);
- 多级电路的功耗叠加------高速+多级,功耗通常高于同速SAR。
五、三种主流架构同台对比
至此,SAR、Σ-Δ、流水线三大主力架构都已登场,加上下一篇的Flash与积分型,先给一张中场对比表:
| 维度 | SAR | Σ-Δ | 流水线 | Flash |
|---|---|---|---|---|
| 分辨率 | 8~18位 | 16~24位 | 8~16位 | 6~8位 |
| 速度 | 10k~5M | 5~100k | 10M~1G | 100M~10G |
| 延迟 | 低 | 高 | 中(N级流水延迟) | 最低(1拍) |
| 功耗 | 低 | 中 | 中高 | 高 |
| 成本 | 低~中 | 低 | 中 | 高 |
| 典型应用 | 工业DAQ | 温度/计量 | 通信/视频 | 仪器前端 |
三条选型铁律:
- 要24位精度 → 只有Σ-Δ;
- 要百MSPS以上 → 流水线或Flash;
- 两者之间的广阔中间地带 → SAR的天下(成本、功耗、同步能力全面均衡)。
六、流水线在采集系统中的两个亲戚
6.1 交织采样(interleaving)
把多颗ADC(或多颗流水线)并行使能、相位错开,轮换处理相邻样本,吞吐量翻倍。现代示波器20GSa/s就是几十颗ADC交织的结果。代价是三类交织误差:偏置失配 (各芯失调不同→频谱出现直流附近杂散)、增益失配 (幅度不同→出现fs/N处杂散)、时序偏斜(相位不匀→出现在fs/2±fin处杂散)。交织ADC的校准技术(后台校准、盲校准)是高速采集领域的显学。
6.2 单片机的双ADC交替
STM32等MCU内置两个ADC单元,可以配置成交替模式(interleaved):ADC1采偶数点、ADC2采奇数点,合成双倍采样率------这是"片内时间交织"的教科书实现,也是嵌入式工程师能亲手体验交织误差(两颗ADC的失调/增益天然不匹配)的实验平台。
七、实例与实验
实例:某软件无线电平台的前端采用14位250MSPS流水线ADC。它的规格表要点翻译:14位=理想SNR 86dB;250MSPS=奈奎斯特区125MHz,可欠采样捕获更高频段;流水延迟6个时钟(24ns);数字校正开启时SFDR可达90dBc以上。
仿真实验:用Python模拟一个3级×2位(含1位冗余)流水线,观察数字校正如何吸收比较器误差:
python
import numpy as np
def stage(vin, vref, bits=3, gain=4):
"""一级流水线: 3位粗量化, 返回(贡献位, 放大余量)"""
n_levels = 2**bits
code = np.clip(np.floor(vin/vref*n_levels), 0, n_levels-1).astype(int)
residue = (vin - code*vref/n_levels) * gain # 余量放大
return code, residue
# 12位流水线示例: 输入1.7V, vref=4V, 4级
vin = 1.7; vref = 4.0; r = vin
result = 0
for stage_no in range(4):
c, r = stage(r, vref)
result = (result << 2) | (c >> 1) # 3位取高2位(1位冗余)
vref /= gain_ref = 4 # 每级基准缩? 简化演示: 余量已放大
print(f"输入{vin}V → 输出码 {result} (12位)")
(示例为教学简化,真实流水线的各级量程对齐由级间增益与冗余算法保证。)
八、常见问题FAQ
Q1:流水线ADC能做16位吗?
能,但超过14位后成本功耗陡增,很多"16位百MSPS"产品实际ENOB在11~13位。
Q2:流水延迟对采集卡用户有影响吗?
对触发定位有一拍级影响;恒定延迟可被时间轴校正扣除,一般无感。
Q3:流水线与SAR在低速时谁好?
低速场景SAR全面占优(功耗、成本、无延迟),流水线的优势区间在10MSPS以上。
Q4:交织采集卡的杂散怎么治?
板级靠匹配布线与共时钟分发;芯片级靠后台校准算法实时修正三失配。
九、总结
流水线的智慧是接力与冗余:把一锤子买卖拆成多级流水作业,用时间对齐换同步,用冗余位换精度,用级间增益换"放大的视野"。它与SAR(单兵问答)、Σ-Δ(数学称王)、Flash(人海战术)共同构成ADC的四大王朝。下一篇收官战:Flash、积分型与压频变换型------三个"极端性格"的老将。
下一篇预告:《Flash、积分型与压频变换型ADC:快到极致、准到极致与隔离的艺术》