![shequ.stmicroelectronics.cn](./template/st_v1/static/img/logo2.png)
正常来讲,ADC的动态范围与最大输入信号的幅度相匹配,对于得到最大的ADC转换精度是非常重要的。 ' T. G* F; J8 J3 W+ s ADC的动态范围与最大输入信号幅度严重不匹配是啥意思呢? 不妨举例说明之。 7 F, c' r! K5 C) h5 E! O 假定要转换的信号在0V至2.5V之间变化,而VREF+等于3.3V,ADC的分辨率为12位,则最大信号2.5V的ADC转换数值是3102,如下图所示。这样,就有993个未使用的转换值(4095 – 3102 = 993),即丢失了转换信号的精度。6 w5 Z6 x/ ~( ~ , r% [! i# g" m) ]) K+ B& m4 x9 w ![]() 7 I: H) v# t- q3 o 5 P, |+ A2 O, d4 Q6 o! p( C 不妨换个说法。$ x+ F8 k# A4 G) L( C; W6 B 当最大输入为2.5v,参考电压为3.3V时.输入信号所对应的实际分辨率为 2.5v/3102 . ( e8 T0 N. U* M- K3 K 若把ADC的参考电压调整为与输入相匹配,将参考电压也改为2.5V,那么2.5V输入所对应的ADC值则是满量程4095,此时的分辨率就提升到了2.5v/4095 .3 z7 y' p' S0 ] [4 j W 实际应用中有人或许特意挑选一个分辨率比较满意的ADC芯片或带ADC的MCU,然而在具体设计的时候,ADC的最大输入信号离ADC模块的参考电压还相差一大截,这时当初挑选的ADC分辨率精度就根本没有被充分利用起来。如其这样,还不如选个哪怕分辨率低点、但参考电压跟输入信号幅度匹配的ADC芯片,这样或许成本上还可以省点。* c6 o' z" @$ t# V* x$ r 那如何使ADC的动态范围与最大输入信号的幅度相匹配? ; t; f5 Y6 j$ L$ X/ q! o3 f- \ 一般可以通过合理地选择参考电压或使用一个前级放大器,使用ADC的全量程输出,得到最大可能分辨率,从而提高转换精度。% O" r9 B7 M$ [7 m/ b. K6 D 7 m! J9 [% t ^# M; d0 P* J) P ; A4 p1 u# d' X* l" s2 x8 _. f 1、选择合适的参考电压 让参考电压与要测量信号的幅值匹配,使用ADC模块的全范围、满量程输出,以得到最大的分辨率。 ![]() 7 \+ d+ Z2 n# s# o* d9 S 2、使用前置放大器 & t) W" p5 l3 o- q) M " o* k" b0 [4 y! C. ^" K2 n1 H3 f 如果与ADC的测量范围相比,待测量的信号太小,可以使用一个外部的前级放大器。例如:如果要测量的信号变化范围是0V至1V之间,而VDDA是3V,这个信号可以被放大,使它的峰-峰幅度与VDDA的数值相同,增益为3。 这个放大器可以把输入信号的范围转换至ADC模块的范围。不过,此时注意设计这个放大器时不要引入其它额外的误差。; L, M6 v. P/ x' F6 P , e$ x3 x. U2 X( y1 Q ![]() 所以,在做ADC应用时,注意输入信号幅度要尽量与ADC模块的参考电压想匹配,充分使用到满量程,实现最佳转换精度。6 V! t* k6 @% y/ I7 v7 F |