1. SAR ADC概述:逐次逼近型ADC工作原理、核心架构与优缺点分析
各位同学,咱们今天聊聊SAR ADC。说实话,这玩意儿是我在混合信号设计里打交道最多的ADC架构之一。为什么?因为它太实用了——速度适中、功耗低、面积小,而且精度能做到12位甚至16位。我当年做第一个数据采集系统时,选的就是SAR ADC,那会儿被它的逐次逼近逻辑折腾得够呛,但也正是那段经历让我彻底搞懂了它的脾气。
1.1 逐次逼近型ADC的工作原理
SAR ADC的核心思想,说白了就是「二分法搜索」。你想想看,如果让你猜一个0到1023之间的数字,你会怎么猜?最聪明的办法就是先猜512,对方说「小了」,那范围就缩小到512-1023;再猜768,又说「大了」,范围变成512-768……如此反复,10次就能精确到个位数。
SAR ADC就是这么干的。它把模拟输入电压和一个内部DAC产生的参考电压做比较,每次比较决定一位数字输出。整个过程就像在走一条决策树——从最高位(MSB)开始,逐位逼近到最低位(LSB)。
具体流程是这样的:
- 采样阶段:采样开关闭合,输入电压被采样到电容阵列上
- 保持阶段:采样开关断开,电容上保持住输入电压
- 逐次逼近阶段:SAR逻辑开始工作,从MSB到LSB逐位确定
- 转换完成:所有位确定后,输出数字码
关键点:N位的SAR ADC需要N个时钟周期来完成一次转换。但别小看这个速度——现在很多SAR ADC能做到每秒几兆甚至几十兆采样率。
1.2 核心架构三件套
SAR ADC的架构其实不复杂,核心就三个模块:比较器、DAC和SAR逻辑。我一个个说。
比较器
比较器的作用就是判断「输入电压比参考电压大还是小」。听起来简单,但实际设计时坑不少。我记得有一次项目,比较器的噪声太大,导致低几位老是跳来跳去,最后不得不加了个预放大器才搞定。
比较器的主要指标:
- 速度:决定了ADC能跑多快
- 精度:失调电压和噪声直接影响ADC的有效位数
- 功耗:动态比较器功耗低,但噪声大;静态比较器反之
DAC(数模转换器)
SAR ADC里最常用的DAC是电容阵列DAC,也叫电荷再分配DAC。为什么用电容?因为电容匹配性好,而且功耗低。我习惯用分段式电容阵列来减小面积——高位用大电容,低位用小电容,中间加个耦合电容。
电容DAC的工作过程:
- 采样时,所有电容下极板接输入电压,上极板接共模电压
- 保持时,上极板浮空,下极板切换到地
- 逐次逼近时,根据比较结果切换对应电容的下极板到参考电压
个人经验:电容阵列的匹配性很关键。我建议在版图设计时采用共质心布局,能有效减小工艺偏差带来的非线性误差。
SAR逻辑
SAR逻辑就是那个「决策大脑」。它控制着整个转换流程:先置MSB为1,等比较器稳定后读取结果,如果输入大于参考则保留MSB为1,否则置0;然后处理下一位……如此循环。
SAR逻辑的实现方式:
- 传统方式:用移位寄存器和控制逻辑实现,结构简单但速度受限
- 异步方式:用内部时钟自触发,速度更快,但设计复杂度高
- 冗余方式:加入冗余位来容忍比较器判决错误,提高可靠性
// 简化的SAR逻辑伪代码
for (bit = N-1; bit >= 0; bit--) {
dac_output = set_bit(bit, 1); // 先置当前位为1
if (vin > dac_output) {
keep_bit(bit, 1); // 保留1
} else {
keep_bit(bit, 0); // 改为0
}
}
1.3 优缺点分析
没有完美的ADC架构,SAR ADC也不例外。咱们客观地看看它的长处和短处。
| 优点 | 缺点 |
|---|---|
| 功耗极低——没有静态功耗,只有动态功耗 | 速度受限——N位需要N个时钟周期 |
| 面积小——不需要运放,电容阵列占主导 | 输入电容大——电容阵列的输入电容随位数指数增长 |
| 无流水线延迟——采样到输出是单次转换 | 需要高精度比较器——比较器噪声直接影响ENOB |
| 易于实现多通道——可以共享SAR逻辑 | 对参考电压要求高——参考电压的建立时间影响精度 |
| 工艺缩放友好——数字逻辑占比高 | 高速设计困难——超过100MS/s时设计难度陡增 |
避坑指南:我曾经在一个项目中,为了追求速度把采样电容做得很小,结果发现kT/C噪声把信噪比拉低了好几个dB。后来我学乖了——采样电容的大小要在功耗、速度和噪声之间做权衡,一般取1pF到10pF之间比较合适。
说到应用场景,SAR ADC最适合那些对功耗敏感、对延迟有要求、采样率在几MS/s到几十MS/s之间的场合。比如:
- 电池供电的便携设备
- 多通道数据采集系统
- 工业传感器接口
- 医疗成像设备
嗯,这里要注意一点——如果你需要非常高的采样率(比如几百MS/s以上),那还是考虑流水线ADC或者时间交织ADC吧。SAR ADC在高速领域确实力不从心。
好了,这一章的内容就到这里。SAR ADC的原理其实不复杂,但真正用好它,需要你对比较器、DAC和SAR逻辑这三个模块都有深入的理解。下一章咱们会深入讨论SAR ADC的误差来源和补偿方法,到时候我会分享一些我在实际项目中踩过的坑和总结的经验。