A/D器件和芯片是实现单片机数据采集的常用外围器件。A/D转换器的品种繁多、性能各异,在设计数据采集系统时,首先碰到的就是如何选择合适的A/D转换器以满足系统设计要求的问题。
" Y, g0 c. o$ p8 z: Q " ]) A! \7 M# l+ X/ ~* B; F4 l, K! H
0 }, D2 ]7 X' e$ O) a2 E+ q2 F5 }
选择A/D转换器件需要考虑器件本身的品质和应用的场合要求。基本上,可以根据以下几个方面的指标选择一个A/D器件。
$ C- J' `! P# i; [5 t
4 ^$ W1 V- e6 p9 X: b
A/D转换器位数
' s5 m# v& `+ f5 d) a P: j! H2 ]$ d4 j( Y+ d. T! d n- C$ j
( i4 ?4 f- \3 V& Y
- l, ?3 v* m' H2 ]% n
6 g" Q6 i4 `" M, r f
- f; O8 Y- |9 n ~9 ^& n& A% [
& D4 V& v9 B" Y1 }7 U/ S ]: NA/D转换器位数的确定,应该从数据采集系统的静态精度和动态平滑性这两个方面进行考虑。
/ @4 y& g+ m5 f' A) s9 g6 B' v# L/ y% T# Z# C& q
从静态精度方面来说,要考虑输入信号的原始误差传递到输出所产生的误差,它是模拟信号数字化时产生误差的主要部分。量化误差与A/D转换器位数有关。一般把8位以下的A/D转换器归为低分辨率A/D转换器,9~12位的称为中分辨率转换器,13位以上的称为高分辨率转换器。10位A/D芯片以下误差较大,11位以上对减小误差并无太大贡献,但对A/D转换器的要求却提得过高。因此,取10位或11位是合适的。
' L- l" J" l: Z
5 E. m* H1 @1 i1 a& U
由于模拟信号先经过测量装置,再经A/D转换器转换后才进行处理,因此,总的误差是由测量误差和量化误差共同构成的。A/D转换器的精度应与测量装置的精度相匹配。也就是说,一方面要求量化误差在总误差中所占的比重要小,使它不显著地扩大测量误差;另一方面必须根据目前测量装置的精度水平,对A/D转换器的位数提出恰当的要求。
" |! F" v6 h$ |
% i, [: y% l5 R1 }目前,大多数测量装置的精度值不小于0.1%~0.5%,故A/D转换器的精度取0.05%~0.1%即可,相应的二进制码为10~11位,加上符号位,即为11~12位。当有特殊的应用时,A/D转换器要求更多的位数,这时往往可采用双精度的转换方案。
( l& I1 u/ |3 N3 s0 a/ g( b3 p
A/D转换器的转换速率7 @8 W2 @: D! O# \ u
! {5 A5 X. e7 y0 z4 d \9 I# b& |# s1 t, ^2 s, D) |
5 V" \6 ?$ G, I. f7 V9 }
2 q7 N, M0 \( k5 g2 l& R% b7 U) @4 Z- A
, W N+ _- L9 }+ }5 r2 b; W" @A/D转换器从启动转换到转换结束,输出稳定的数字量,需要一定的转换时间。转换时间的倒数就是每秒钟能完成的转换次数,称为转换速率。
) b8 j! a7 J/ B
) l' X5 E9 v9 t! H. W
确定A/D转换器的转换速率时,应考虑系统的采样速率。例如,如果用转换时间为100us的A/D转换器,则其转换速率为10KHz。根据采样定理和实际需要,一个周期的波形需采10个样点,那么,这样的A/D转换器最高也只有处理频率为1KHz的模拟信号。把转换时间减小,信号频率可提高。
3 A1 ]! u- T* w5 Y+ t- S' o& P. y' H* d4 Z3 z: t
对一般的单片机而言,要在采样时间内完成A/D转换以外的工作,如读数据、再启动、存数据、循环计数等已经比较困难了。
9 d D7 ~8 d) Q, b6 [3 D% Z$ `- p+ L* g
7 R4 Y8 _8 S: ~& F
! D# h6 A3 E( @9 n1 i7 B采样/保持器
" a" ^2 _" V+ Z" I) s' p4 R" \+ N0 F! O0 B# ?6 w
9 `8 I; q8 [. g: ?- U4 y0 T5 z5 w" m4 L- Q+ |- t* m
) c9 j1 e9 Z, w
& G/ H4 ]! M7 K, Y" l
' U3 _! N _5 C" b. b" |
采集直流和变化非常缓慢的模拟信号时可不用采样/保持器。对于其他模拟信号一般都要加采样保持器。
3 ]) J$ Y( i1 ] u- M5 u
& U! ]* h3 C( Z7 j$ Z$ N' P1 Q! K如果信号频率不高,A/D转换器的转换时间短,即采样高速A/D时,也可不用采样/保持器。
6 @4 B5 d. Y O+ k3 a/ h
9 m9 ]2 s! q- e0 L' R
& z8 e) Q6 |2 y. M3 L3 aA/D转换器量程% m3 a. C! R8 N& b
3 L: V) q2 q+ v ^& J
- j( |2 _6 O3 N4 K+ r. i2 q- s% sA/D转换时需要的是双极性的,有时是单极性的。输入信号最小值有的从零开始,也有从非零开始的。有的转换器提供了不同量程的引脚,只有正确使用,才能保证转换精度。
, O) [* m4 l- E0 q, n( P
) g$ |4 s* S2 |" {. B' s在使用中,影响A/D转换器量程的因素有:
3 j# T* {4 W3 L8 o7 H) H6 M- 量程变换和双极性偏置;
, D* v( P0 ?5 c9 x - 双基准电压;
3 t" f+ j( n |! a+ M4 b6 R - A/D转换器内部比较器输入端的正确使用。
3 Z' u: X8 E6 e3 n6 v* z0 p N& p M( o6 N
" R( q3 D& O4 X, ^% U) |
满刻度误差8 Z% w. N- T; k# }* s' e
1 w% Q2 [0 B0 k- g# c L) r% F! N; A
. W) x% `$ h6 B* ~7 v
1 n. H4 z. p0 k
% ~$ i% C6 u7 ~6 k3 x+ S+ _
. s4 G( b- G) K- W满度输出时,对应的输入信号与理想输入信号值之差。
4 a& P) {# s0 [, O2 M* j0 O
9 I1 M# V$ a4 t+ J. N
线性度
1 L* ?2 W5 f* S9 o" ]2 Z- H7 Q) A% {# h( q+ B* H$ Z
0 p# X6 A# F9 w; G
3 U# B, N) P8 F4 S4 W4 f# f5 B
3 D' N) A7 y3 }. q3 T# F) T7 W
/ O. u( p* g5 x x& q$ X, n7 ]. `$ B
' }1 p Y3 P. L$ s6 w3 d/ J
实际转换器的转移函数与理想直线的最大偏移。
* i4 I# b2 e& O6 Q9 ]; ^" _4 l. n' k
$ L- b$ G9 d2 i4 W( b
/ Y. [+ B5 K2 u