由于SAR ADC 采样(单片机内部ADC一般是该形式)对于信号的输入电阻是有明确要求的,对于一个具体的ADC,其采样电阻 RADC 与采样电容 CADC 已经不可更改(在器件内部),当 ADC 的采样时钟,采样周期等可配置参数配置完毕时,则外部信号的输入阻抗则是有一个最大值的要求, 即公式
下图为为 GD32 一款 MCU 在开启 ADC 采样时,在输入电容 CIN上采到的电压信号波形。可以看出,在采样开关 SW 闭合后,电压会显著掉下来,但是只要采样时间和信号输入阻抗满足我们手册要求,那么在采样时间得到满足后电压就可以恢复到与实际信号电压相差 0.5LSB以内。
接下来我们再考虑一种极端情况,当信号源的输入电阻要求已经明显不满足手册要求了,我们可以采用什么方法?
在实际使用中,会经常有采样锂电池电压的需求。由于锂电池的电压往往会高于 MCU ADC 的采样电压(ADC 的采样范围为 VSSA 到VREF+),因此用户会经常采用两个电阻分压,然后将分压结果送进 ADC 通道进行采样。对于锂电池供电应用,客户对于功耗往往有严苛要求,因此,如下图所示的锂电池电压采样电路的这两个分压电阻往往会被设置的很大,以减小无谓功耗(流过分压电阻的电流)。
上图中,假设锂电池电压为 24V, R2 = 1M 欧姆, R1 = 9M 欧姆,则进入 ADC 通道的电压为2.4V,在 ADC 的采样范围之内,无谓功耗取电池电压除以 R1 与 R2 的和,此时浪费的额外无谓功耗仅为 2.4uA,看起来很美好,但我们来计算一下这个分压电路的输出阻抗,该电路的输出阻抗为 R1 与 R2 电阻的并联,结果为 0.9M 欧姆。参考下 GD32F150x 芯片手册关于 RAIN与采样周期的表格,如下:
显然在 ADC 采样时钟为 14MHz 的情形下, 当采样周期设到最大239.5 个周期时,允许的最大输入阻抗为 219.9k 欧姆。0.9M 欧姆远大于219.9k,因此,由于采样时间无法配置为更大,此时 MCU 的 ADC 采样已无法做到精确采样了。
对于 SAR ADC 在采样时间内,采样电容上的电压必须被充分充放电,其被充电的电压值与外部输入电压之间的差值不应超过 0.5LSB,否则无论后级 ADC 性能如何卓越,都无法真实反映信号的幅值。特别的,当 ADC 工作在连续采样或者扫描采样时,如果由于输入阻抗过大,且未被及时修正时,输入阻抗过大通道的采样结果会受前一个采样通道信号的影响,通过增大采样时间以满足输入阻抗的影响会显著改善这个现象。