3、低功耗ADC架构(一):逐次逼近寄存器(SAR)ADC的工作原理、优缺点及功耗分析。

各位好,咱们今天聊聊SAR ADC。这东西在低功耗电池设备里,可以说是老朋友了。我个人习惯,做低功耗信号链设计时,第一个想到的往往就是它。为什么?说白了,它结构简单,功耗跟采样率能“挂钩”,不用的时候几乎不耗电。

3.1 SAR ADC的工作原理:二分查找的模拟世界

SAR ADC的核心思想,你想想看,其实就是个“二分查找”算法。只不过,它是在电压域里做这件事。

它的内部结构大致包括:一个采样保持电路、一个比较器、一个数模转换器(DAC),还有一个逐次逼近寄存器(SAR)逻辑。工作流程是这样的:

  1. 采样阶段:采样开关闭合,把输入的模拟电压VIN存到采样电容上。
  2. 保持与比较:开关断开,开始转换。SAR逻辑先假设最高位(MSB)为1,控制DAC输出一个参考电压的一半(VREF/2)。
  3. 比较判决:比较器比较VIN和VDAC。如果VIN > VDAC,说明MSB应该为1,保留;否则MSB置0。
  4. 逐次逼近:接着判断下一位。SAR逻辑根据上一位的结果,调整DAC的输出,再次比较。这个过程一直重复,直到所有位都确定下来。

举个例子,一个10位的SAR ADC,它需要N+1个时钟周期来完成一次转换(N位数据 + 1个采样周期)。每次比较,都像是在问:“你比这个值大吗?”然后根据回答,缩小范围。

核心要点:SAR ADC的转换时间,跟位数N成正比。位数越高,需要的时钟周期越多,转换时间越长。但它的功耗,主要来自比较器和DAC的开关动作,跟采样率强相关。

3.2 优缺点分析:没有完美的架构

任何架构都有它的脾气。SAR ADC的优点很明显,但坑也不少。我在项目中遇到过几次因为没注意这些细节,导致板子回来性能不达标的情况。

优点

  • 极低功耗:这是它最大的亮点。没有流水线架构里的运放,也没有Σ-Δ架构里的数字滤波器。静态功耗几乎可以忽略,动态功耗跟采样率成正比。待机时,你甚至可以完全关断它的电源。
  • 无延迟:SAR ADC是逐次转换的,输入信号采样后,经过固定的N个周期就能得到结果。不像Σ-Δ ADC那样有群延迟,非常适合多路复用或需要快速响应的场景。
  • 面积小:结构简单,核心就是一个比较器、一个电容阵列DAC和一些数字逻辑。在先进工艺下,面积优势更明显。
  • 易于实现:不需要复杂的时钟或数字滤波器,设计相对直接。

缺点

  • 需要驱动能力强的输入信号:采样电容在采样瞬间会从信号源抽取电流。如果信号源阻抗高,或者信号变化快,采样建立时间不够,就会引入误差。嗯,这里要注意,驱动SAR ADC的运放,必须能快速给采样电容充电。
  • 对噪声敏感:比较器的噪声、DAC的建立误差、参考电压的噪声,都会直接影响转换结果。尤其是在高精度(比如16位以上)的应用中,这些噪声源需要仔细处理。
  • 分辨率受限:虽然现在有20位以上的SAR ADC,但那是通过特殊技术(比如自校准)实现的。常规的SAR ADC,做到12-14位是比较舒服的区间。再往上,电容阵列的匹配精度和面积就成了大问题。
  • 采样率与分辨率相互制约:想提高分辨率,就得增加位数,转换时间变长,采样率就上不去。这是一个经典的权衡。

避坑指南:我曾经在一个电池供电的传感器节点上,用了某款16位SAR ADC。结果发现,在低采样率(比如10SPS)下,功耗并没有想象中那么低。后来一查,发现它的静态功耗(包括内部参考和时钟)占了很大一部分。所以,选型时不能只看“每MHz的功耗”,一定要看数据手册里的“待机功耗”和“关断功耗”。

3.3 功耗分析:每一纳安都值得计较

在电池设备里,功耗是硬指标。SAR ADC的功耗,我们可以拆开来看。

总功耗 ≈ 动态功耗 + 静态功耗

动态功耗:这是大头。主要来自:

  • 电容阵列DAC的开关功耗:每次比较,DAC内部的电容阵列都要充放电。这个功耗跟采样率fS、参考电压VREF的平方、以及总电容CTOTAL成正比。公式大致是:PDAC ∝ fS × CTOTAL × VREF²。
  • 比较器的动态功耗:比较器在每个时钟周期都要进行比较,它的功耗也跟采样率成正比。
  • SAR逻辑的数字功耗:这部分相对较小,但在高速下也不容忽视。

静态功耗:包括比较器的偏置电流、内部参考电压源的功耗、以及各种漏电流。在低采样率下,静态功耗可能会成为主角。

我给大家一个经验公式,方便快速估算:

P_total ≈ (C_total * V_ref² * f_sample) + P_static

其中,C_total 是DAC的总电容,通常数据手册不会直接给,但你可以从“输入电容”参数里大致推断。P_static 可以从数据手册的“功耗”章节找到。

我的习惯:在做低功耗设计时,我会先确定系统需要的有效位数(ENOB)和采样率。然后,根据ENOB反推需要的SAR ADC位数(通常ENOB = 位数 - 1.5 ~ 2位)。接着,在市场上找几款符合位数和采样率的器件,对比它们的“每采样功耗”(nJ/conversion)这个指标。这个指标越低,说明在相同采样率下,它的动态功耗控制得越好。

举个例子,假设我们需要一个12位、100kSPS的ADC。查了几款芯片:

型号 分辨率 采样率 功耗 (mW) 每采样功耗 (nJ)
ADC_A 12位 100kSPS 0.5 5.0
ADC_B 12位 100kSPS 0.8 8.0
ADC_C 12位 200kSPS 1.0 5.0 (在100kSPS时)

你看,ADC_A和ADC_C在100kSPS时,每采样功耗都是5nJ,但ADC_C的采样率更高,说明它的动态功耗控制得更好。如果我们的应用只需要100kSPS,那ADC_A可能是更省电的选择,因为它的绝对功耗更低。但如果未来需要升级到200kSPS,ADC_C就有余量。

最后,别忘了参考电压。很多SAR ADC的内部参考电压功耗不小。如果系统里已经有高精度参考源,我建议使用外部参考,并关断ADC的内部参考,能省下不少电。

好了,关于SAR ADC的原理、优缺点和功耗分析,今天就聊到这儿。下一节,我们会看看另一种常见的低功耗架构——Σ-Δ ADC,看看它跟SAR ADC有什么不同,又适合哪些场景。