正常来讲,ADC的动态范围与最大输入信号的幅度相匹配,对于得到最大的ADC转换精度是非常重要的。 e) Y3 C2 g* B) V% |* i! N. `7 I ADC的动态范围与最大输入信号幅度严重不匹配是啥意思呢? 不妨举例说明之。3 H; ^6 R6 \, z- Q' @* K7 h 假定要转换的信号在0V至2.5V之间变化,而VREF+等于3.3V,ADC的分辨率为12位,则最大信号2.5V的ADC转换数值是3102,如下图所示。这样,就有993个未使用的转换值(4095 – 3102 = 993),即丢失了转换信号的精度。 ! i/ S2 }! L, w8 m8 b8 }" i " t8 b2 I9 h; @6 F : b2 @5 m/ @% F" J 9 y2 k/ `: Z/ J! a8 q' m 不妨换个说法。 W; D" k: S1 R) ~- E 0 I# S' O7 z' J; s4 W: L 当最大输入为2.5v,参考电压为3.3V时.输入信号所对应的实际分辨率为 2.5v/3102 .0 w0 a& Z1 ~3 m, z 5 ?% V6 g' S; | 1 K& Q# o f7 M 若把ADC的参考电压调整为与输入相匹配,将参考电压也改为2.5V,那么2.5V输入所对应的ADC值则是满量程4095,此时的分辨率就提升到了2.5v/4095 . # f& a5 e7 C) y% B4 ^' Z 实际应用中有人或许特意挑选一个分辨率比较满意的ADC芯片或带ADC的MCU,然而在具体设计的时候,ADC的最大输入信号离ADC模块的参考电压还相差一大截,这时当初挑选的ADC分辨率精度就根本没有被充分利用起来。如其这样,还不如选个哪怕分辨率低点、但参考电压跟输入信号幅度匹配的ADC芯片,这样或许成本上还可以省点。 那如何使ADC的动态范围与最大输入信号的幅度相匹配? 一般可以通过合理地选择参考电压或使用一个前级放大器,使用ADC的全量程输出,得到最大可能分辨率,从而提高转换精度。 7 G3 X# K+ L& ?6 G" \" v( \ 1、选择合适的参考电压 . B9 @" Y/ N" A5 g d" G+ Q$ T" i 让参考电压与要测量信号的幅值匹配,使用ADC模块的全范围、满量程输出,以得到最大的分辨率。8 O0 h& C9 S$ A; a" \ ! k) s4 O- N# f* \- S* u8 I 2、使用前置放大器 % G3 j0 k7 C! M9 \ 如果与ADC的测量范围相比,待测量的信号太小,可以使用一个外部的前级放大器。例如:如果要测量的信号变化范围是0V至1V之间,而VDDA是3V,这个信号可以被放大,使它的峰-峰幅度与VDDA的数值相同,增益为3。 这个放大器可以把输入信号的范围转换至ADC模块的范围。不过,此时注意设计这个放大器时不要引入其它额外的误差。 ' [# f, T/ x9 U* |2 G) R " ?5 z% g$ D. O" m8 e& K 所以,在做ADC应用时,注意输入信号幅度要尽量与ADC模块的参考电压想匹配,充分使用到满量程,实现最佳转换精度。) r3 ^' y! a) s! k' u ; S* l+ g7 ]1 _* w0 d2 ^! E3 y |