第4章:ADC与采样电路设计
ADC选型这事儿,我这些年踩过的坑真不少。刚入行那会儿,总觉得分辨率越高越好,采样率越快越牛。结果呢?板子画出来,噪声大得离谱,功耗也压不住。后来才明白——ADC设计,本质上是个平衡的艺术。
4.1 ADC工作原理:两种主流架构
市面上ADC架构很多,但嵌入式系统里最常见的就是两种:SAR和Sigma-Delta。咱们一个一个说。
4.1.1 SAR ADC(逐次逼近型)
SAR ADC的工作原理,说白了就是「二分法猜电压」。内部有个比较器,从最高位开始,一步步逼近输入信号。比如12位的SAR,需要12个时钟周期完成一次转换。
优点很明显:
- 转换速度快,能做到几MSPS甚至更高
- 功耗和分辨率成线性关系,好控制
- 没有延迟,适合多通道切换
缺点也实在:
- 分辨率做不高,一般12位到16位
- 对输入信号噪声敏感
- 需要外部参考电压,精度要求高
4.1.2 Sigma-Delta ADC
Sigma-Delta的思路完全不同。它用很低的位数(比如1位)做超高速采样,然后通过数字滤波把精度「堆」上去。你想想看,1位的ADC能做出24位的分辨率,是不是挺神奇的?
核心优势:
- 分辨率极高,16位到24位很常见
- 内部自带抗混叠滤波
- 对噪声不敏感,适合小信号测量
代价也很明显:
- 转换速度慢,一般几十kSPS
- 有群延迟,不适合实时控制
- 功耗相对较高
4.2 采样保持电路
ADC转换需要时间,而输入信号一直在变。采样保持电路就是干这个的——在ADC转换期间,把电压「冻住」。
核心参数就两个:
- 采集时间: 采样电容充满电需要的时间
- 保持时间: 电容能维持电压精度的时间
我见过很多工程师忽略采样时间。他们觉得ADC手册上写了1MSPS,那就直接跑1MHz采样率。结果呢?采集时间不够,采样电容没充满,转换结果偏小。嗯,这个问题在高速采样时特别常见。
经验公式: 采样时间 ≥ 9 × Rsource × Csample
其中Rsource是信号源内阻,Csample是ADC内部采样电容。这个9倍是保证0.1%精度的经验值。
4.3 抗混叠滤波器设计
混叠,是采样系统里最隐蔽的坑。根据奈奎斯特定理,采样率必须大于信号最高频率的两倍。但实际信号里总有高频噪声,一旦这些噪声的频率超过采样率的一半,就会「伪装」成低频信号混进来。
抗混叠滤波器就是干这个的——在ADC之前,把高频成分滤掉。
设计要点:
- 截止频率: 一般设为采样率的1/3到1/4,留点余量
- 阶数选择: 二阶有源滤波器够用,要求高就上四阶
- 运放选型: 带宽要够,SR(压摆率)要快
4.4 采样率与分辨率的选择
这个问题,我每次带新人都会问:「给你一个温度传感器,输出0-10V,变化速度1Hz,你选什么ADC?」
很多人脱口而出:「24位Sigma-Delta!」
我说:「你考虑过成本吗?考虑过PCB面积吗?考虑过功耗吗?」
选型其实有套路:
| 应用场景 | 推荐采样率 | 推荐分辨率 | 推荐架构 |
|---|---|---|---|
| 温度/压力测量 | 10-100 SPS | 16-24位 | Sigma-Delta |
| 电机电流采样 | 100k-1M SPS | 12-16位 | SAR |
| 音频采集 | 44.1k-192k SPS | 16-24位 | Sigma-Delta |
| 高速数据采集 | 1M-100M SPS | 8-14位 | 流水线型 |
这里有个容易被忽略的点:有效位数(ENOB)和标称分辨率是两码事。标称16位的ADC,实际有效位数可能只有12位。为什么?因为噪声、非线性、温漂都会吃掉精度。
我的建议: 选型时,把ENOB作为主要指标。标称分辨率打个八折,差不多就是实际能用的位数。比如你需要12位精度,那就选16位的ADC,留4位余量给噪声和误差。
4.5 知识体系总览
下面这张图,是我做ADC设计时脑子里始终绷着的一根弦。它把整个采样链路串起来了:
这张图把整个采样链路串起来了。从信号源到数字输出,每个环节都有坑。我个人的习惯是:先定采样率和分辨率,再反推滤波器参数,最后检查采样保持时间是否匹配。顺序不能乱,乱了就容易出问题。
公众号:蓝海资料掘金营,微信deep3321