![shequ.stmicroelectronics.cn](./template/st_v1/static/img/logo2.png)
正常来讲,ADC的动态范围与最大输入信号的幅度相匹配,对于得到最大的ADC转换精度是非常重要的。 * R7 H. r) M% S# T4 i' V: q/ ~" L9 v 0 {0 _2 x3 E, U: `! h: ]9 D6 B ADC的动态范围与最大输入信号幅度严重不匹配是啥意思呢? 不妨举例说明之。2 x2 A% v: Z, k 假定要转换的信号在0V至2.5V之间变化,而VREF+等于3.3V,ADC的分辨率为12位,则最大信号2.5V的ADC转换数值是3102,如下图所示。这样,就有993个未使用的转换值(4095 – 3102 = 993),即丢失了转换信号的精度。) L2 j( {/ H1 M1 ]( r9 c # S, H5 u, B) X : O" g" o3 N5 g- ]+ x ![]() " r0 b7 T! }& [% ^ V5 R% d3 o; K 不妨换个说法。0 d+ e6 W( d: {. ]) s! u- E 6 B4 b5 L: b$ ^5 ~4 a. [ 当最大输入为2.5v,参考电压为3.3V时.输入信号所对应的实际分辨率为 2.5v/3102 . $ w! H. R7 {; {1 U( L 若把ADC的参考电压调整为与输入相匹配,将参考电压也改为2.5V,那么2.5V输入所对应的ADC值则是满量程4095,此时的分辨率就提升到了2.5v/4095 .7 Y m0 g( _: o; v$ d" P , {: Y: m) m& W0 d+ w1 U ' d% r, t' I4 d( V+ h& B2 N 实际应用中有人或许特意挑选一个分辨率比较满意的ADC芯片或带ADC的MCU,然而在具体设计的时候,ADC的最大输入信号离ADC模块的参考电压还相差一大截,这时当初挑选的ADC分辨率精度就根本没有被充分利用起来。如其这样,还不如选个哪怕分辨率低点、但参考电压跟输入信号幅度匹配的ADC芯片,这样或许成本上还可以省点。 那如何使ADC的动态范围与最大输入信号的幅度相匹配? |$ m1 |" s& v5 [% ]8 e & Z' g5 h6 m# l5 M2 ~6 Q( s# { 3 z3 t) r4 Z7 T5 T: @& G. o( W$ ? 一般可以通过合理地选择参考电压或使用一个前级放大器,使用ADC的全量程输出,得到最大可能分辨率,从而提高转换精度。 * ^- r8 {: G) [6 |* ^ ?3 x/ z5 E 1、选择合适的参考电压 + R! W8 d7 R7 J G0 e& U " Q5 t7 N# C# v2 |( A5 Y8 N 让参考电压与要测量信号的幅值匹配,使用ADC模块的全范围、满量程输出,以得到最大的分辨率。* i/ \/ h( \/ c- k7 D% f0 C" y ![]() 0 \# v% D6 {9 x" R$ { 2、使用前置放大器1 k% h0 c2 s, f: F9 N. s. x# i 3 P9 C, O+ S! G5 g 如果与ADC的测量范围相比,待测量的信号太小,可以使用一个外部的前级放大器。例如:如果要测量的信号变化范围是0V至1V之间,而VDDA是3V,这个信号可以被放大,使它的峰-峰幅度与VDDA的数值相同,增益为3。 这个放大器可以把输入信号的范围转换至ADC模块的范围。不过,此时注意设计这个放大器时不要引入其它额外的误差。 2 W) C* @) O$ D, U* Y 7 v: \; L) g/ V ![]() 1 J$ `* K# [: G& u# z+ i7 H* i" ` 所以,在做ADC应用时,注意输入信号幅度要尽量与ADC模块的参考电压想匹配,充分使用到满量程,实现最佳转换精度。: t6 X; `: n' e; C0 G |