智能仪器基础
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.4 模/数转换器

模拟信号经过放大后,需要转换成数字信号计算机才能进行处理与存储,模/数转换器就是在规定的精度等指标条件下把模拟信号转换成数字信号的集成电路芯片。模/数转换器简写成A/D转换器或ADC(Analog to Digital Converter)。

3.4.1 模/数转换器的性能指标

目前A/D转换集成芯片种类很多,从工作原理上看,较为常见的A/D转换集成芯片可以分为以下三类。

(1)双积分型A/D转换集成芯片,如A/D574、A/D7135、13位的CMOS产品AD7550等,以高精度、高分辨率和低转换速度、低价格为其特点。通常前面不再需要采样保持电路,有些芯片被设计成直接输出BCD码数据,可以直接供七段数码显示器显示,在数字式万用表中用得很多。此外,这类芯片在一些有强电干扰而信号变化极其缓慢的工业场合,应用较广泛。

(2)逐次比较型(或称逐次逼近型)A/D转换集成芯片。这类芯片的主要特点是易于获得较高的转换速度和分辨率,有些高档的芯片其精度也相当高,有些则可以多路输入,适用于多路巡回检测,且与微机的接口也比较容易,一般这类芯片需前置采样保持电路。这类芯片目前应用极为广泛。

(3)V/F变换型A/D转换集成芯片。其突出优点是精度高,分辨率可达16位以上,价格低,但转换速度不高。

在选择A/D转换器时,通常要注意以下几个性能指标。

1.分辨率(Resolution)

模/数转换器的分辨率是指输出数字量对输入模拟量变化的分辨能力,即使输出数增加(或减少)一个最小单位时所需要的输入信号的最小变化量。它由A/D转换器的输出位数n决定,可以用输入满量程的百分数表示。例如,ADC0809能够输出8位二进制数字量,其分辨率为:

式中,FS为满量程(Full Scale),8位的分辨率是满量程的0.39%。如果输入电压的最大值为5V,则8位A/D转换器的输入电压最小可分辨的变化量,也就是该8位A/D转换器的最低读数位LSB(Low Scale Bit)为:

可以看出,为了提高对测量信号的分辨率,要把传感器送来的信号放大到A/D转换器可以接受的范围内。

人们习惯上常常简单地用A/D转换器的位数来表示其分辨率,称ADC0809具有8位的分辨率。

2.精度(Accuracy)

精度是指转换的结果相对于实际值的偏差,精度有两种表示方法。

(1)绝对精度。用最低位(LSB)的倍数来表示,如±(1/2)LSB或±1LSB。绝对精度由增益误差、偏移误差、非线性误差及噪声等组成。

(2)相对精度。用绝对精度除以满量程值的百分数来表示,如±0.05%FS。

应当注意的是,同样分辨率的A/D转换器其精度可能不同,分辨率高但精度不一定高,精度高则分辨率必然也高。

3.量程

量程是指输入模拟量的最大变化范围,如某A/D转换器为单极性输入0~10V,双极性输入-5V~+5V,则量程均为10V。应当注意的是,满刻度值只是一个名义值,实际A/D转换器的最大输出值总是比其满刻度值小,例如一个8位的A/D转换器为单极性输入0~10V,实际上它最大输出值不是10V,而是:

4.A/D转换时间

A/D转换器把模拟信号转换成数字信号需要一定的时间,通常定义完成一次A/D转换所需的时间为A/D转换时间,这是A/D转换器的一个重要指标。例如,逐次逼近型A/D转换器的转换时间为几微秒到几十微秒,而双积分型低速A/D转换器的转换时间则为几毫秒到几百毫秒。采用同种电路技术的A/D转换器其转换时间与分辨率有关,一般分辨率越高,则转换时间越长。

5.量化误差

量化误差是由A/D转换器的分辨率直接造成的。在一个量化单位内所有模拟电压值都对应着同一个输出数字量,因此存在着一个固有的变换误差。一个3位A/D转换器的变换特性(即输入电压与输出数字之间的关系曲线)如图3.28所示。从图3.28(a)中可以看出,如果A/D转换器的最大输入电压为4V,则其能够分辨的输入电压最小值为1 LSB=0.5V,0~0.5V之间所有的输入电压值都对应输出000的数码,通过显示输出电路显示“0V”,显然其最大误差为0.5V,即量化误差为1 LSB。如果把变换特性偏移LSB/2(在这里是0.25V),如图3.28(b)所示,这时有0~0.25V之间的输入电压值对应输出000的数码,0.25~0.75V之间的输入电压值对应输出001的数码,通过显示输出电路显示“0.5V”,最大误差为±0.25V,即量化误差改变为±LSB/2,这样比较符合人们“四舍五入”的习惯。

图3.28 A/D转换器的量化误差

在设计选择智能仪表时要让量化误差在允许范围内。

6.其他误差

A/D转换器还存在其他一些误差,如因电路器件本身属性引起的线性误差,温度变化引起的误差,零位误差等。如果这些误差在测量仪器的允许范围内,可以忽略不计;如果仪器的精度要求很高,要用硬件处理这些误差比较复杂,但在智能仪器中可以通过软件技术进行处理。

7.其他性能指标

A/D转换器的其他性能差异也比较大,如有单通道输入和多通道输入,设计或维护时要查阅相关的资料进行比较。表3.3给出了几种常用的A/D转换器的主要性能比较。

表3.3 几种常用的A/D转换器的主要性能比较

3.4.2 模/数转换器与CPU的接口技术

任何型号的A/D转换器芯片都可以与CPU相连接,但要根据A/D转换器和CPU的功能特点设计选择接口方式。A/D转换器的主要信号线如图3.29所示,输入的模拟信号转换成数据输出,主要需要连接两组线。一组是数据线,主要用途是将转换后的数据传送给CPU,n位A/D转换器一般有n根数据线,与CPU的数据总线可以直接相连,如果后接CPU的数据线小于n,则需分批传送数据。另一组是控制线,具体内容如下所述。

(1)启动转换。当通道选好后或者需要时CPU应发出控制信号来命令A/D转换器开始进行模/数转换。这个启动控制信号的形式要根据A/D转换器的要求决定,例如AD574用CE引脚作为启动转换信号,并要求在整个转换时间内CE端保持高电平,而ADC0809则通过写信号WR启动转换。

图3.29 A/D转换器的主要信号线

(2)状态输出。状态输出总需要一定的时间,所以通常有一状态输出信号指示目前A/D转换是正在进行,还是已经结束,CPU利用这个信号来决定下一步的工作。

CPU有以下四种方法来控制A/D转换。

① 查询:CPU发出启动转换命令后,执行别的程序,同时每隔一段时间对状态输出线进行查询,如果A/D转换已结束,则调用子程序读入数据。

② 延时:如果A/D转换的时间预先可以大致确定,则在CPU发出启动转换命令后,调用定时器或定时程序,延时等待一段时间后去读取数据。

③ 中断控制:CPU发出启动转换命令后,执行别的程序,把状态输出线接在CPU的外部中断上,A/D转换结束后利用状态输出线的电平变化向CPU发出中断请求,CPU执行中断子程序,读入转换的数据。这种方法,CPU效率高,适用于其他工作比较多且A/D转换时间比较长的情况。

④ DMA(直接存取):在要求高速测量转换时,前三种方式都不能满足要求,这时可在A/D转换器和CPU之间插入一个DMA接口(如Intel公司的8237DMA控制器),把转换的数据经过DMA接口直接传输到主存储器,因而不必受到程序的限制。

(3)读数据控制。A/D转换器通常还有一些读数据控制线,如有些A/D转换器的数据输出是三态锁存的,芯片还有一个输出允许控制端;有些A/D转换器有多于一个的数据缓冲器,分别储存低位、高位数据,要控制数据线目前传送的数据。

根据各类A/D转换器的特殊情况可能还有其他一些控制线,可参照技术资料进行分析。

3.4.3 模/数转换器与CPU接口应用举例

关于AD574A与MCS-51系列单片机接口的介绍如下所述。

AD574A是12位逐次逼近型A/D转换器,具有转换速度快、精度较高的优点。因芯片自带三态输出缓冲器(即可以储存转换后的数据),所以可以直接与各种典型的8位或16位的微处理器相连,且无须外加逻辑接口电路就可以与CMOS或TTL芯片直接相接。

AD574A为28脚双列直插式封装,其引脚定义如图3.30所示。

图3.30 AD574A的引脚定义

在器件说明资料中可以看到AD574A主要有以下的控制线和状态线。

(1)CS:片选信号。

(2)CE:外启动信号。

(3)R/C:读出或转换控制信号。

(4)12/8:数据输出格式选择信号端口。当该引脚为高电平时,12根数据线同时输出数据;当该引脚为低电平时,为单字节输出,即分两次分别送出高8位和低4位数据。

(5)A0:转换/读数据字节控制线。在转换期间(R/C=0),A0=0,AD574A进行12位转换,转换精度高,转换速度较慢(25µs);A0=1时,进行8位转换,转换精度比较低,但转换速度提高(16µs)。在读数据期间(R/C=1),当分批读数据时,A0=1时,低4位数据有效;A0=0时,高8位数据有效。

(6)STS:转换状态输出。当STS=1时,表示正在转换。

在应用时根据控制要求来设置控制线与CPU的接口,就可以用CPU去控制AD574A了。

如图3.31所示为AD574A与8051的接口电路。模拟信号采用单极性输入,当输入电压在0~10V时从13脚输入,当输入电压在0~20V时从14脚输入。启动(写)转换或读取数据时,要使CE=1,所以8051的读/写信号通过与非门与CE相连,因为8051系列单片机是8位数据线,所以12/8引脚直接接地就可以了,用地址线给出控制命令。当按如图3.31所示接法时,地址与控制命令的关系如表3.4所示,P1.0则用来查询AD574A的转换状态。

图3.31 AD574A与8051的接口电路

表3.4 地址与控制命令的关系

表3.4中,×可任意选取0或1。

用图3.31完成一次模/数转换的程序如下,执行后把读到的12位转换结果的高8位存储在R2寄存器中,低4位储存在R3寄存器中,供后面的程序处理。

TRANS:  MOV     R0,#7EH          ;0××××××10存入R0,其中×处均选1
        MOVX    @R0,A           ;启动12位模/数转换
LOOP:  JB        P1.0,LOOP        ;查询转换是否结束
        MOV     R0,#7DH         ;控制命令高8位数据读出
        MOVX    A,@R0           ;
        MOV     R2,A            ;高8位数据存在R2中
        MOV     R0,#7FH          ;控制命令低4位数据读出
        MOVX    A,@R0           ;
        MOV     R3,A            ;低4位数据存在R3中,注意R3中D4~D7位为有
                      ;效数据,即格式为****0000,*为有效数据

AD574A是AD公司的系列产品之一,通常称为AD574系列的A/D转换器还有很多,但它们的引脚排列及引脚功能完全相同。表3.5列出了部分AD574系列产品,并对其主要性能做了简单的比较。表3.5中没有列出价格,但一般来说,性能越好的集成芯片价格也越贵,所以选取时要考虑实际需要。

表3.5 AD574系列产品比较

说明:① 封装:集成电路的封装形式有多种,在设计维修时要根据需要选取。② 工作温度:分C(商业0~70℃)、I(工业-40℃~80℃)和M(军事-55℃~125℃)。

3.4.4 采样/保持

用A/D转换电路把模拟信号转换成数字信号需要一定的时间。在转换过程中,模拟信号的幅度不能发生变化,所以如果输入信号随时间的变化比较快,不能忽略不计,就需要用一个采样/保持电路(Sample Holder Amplifier,SHA)。采样/保持电路的作用是在某个时间段(通常极短)接收模拟电压信号(称为采样),并在一定的时间内在输出端维持这个电压值不变(称为保持),直到下次采样为止,如图3.32所示。

图3.32 采样/保持原理图

采样/保持电路可以用运算放大器构成,但电路的增益通常为1,且输入与输出同相位,一般用电容器来保持输入电压。从采样/保持原理图可以看出,决定采样/保持电路性能的主要参数有以下几个。

(1)采样时间。即采样/保持电路获取新的采样值(电压)所需的时间。

(2)间隔时间。即接到保持信号后,模拟开关S由通变为断所需要的时间,它是反映采样/保持电路精度的重要参数。

(3)保持电压的下降率。即在保持阶段虽然理论上说保持电压不变,实际上总有一些下降,这个电压的下降应不影响模/数转换的结果。

采样/保持电路芯片有很多,从性能上可分为3类:普通型芯片,如LF198、LF298、LF398、AD582、AD583等;高速型芯片,如SHA-2、HTS-0025、HTC-0300,其特点是采样时间和间隔时间相对其余两者是非常小的;高分辨率芯片,如SHA114、SHA-6等,其特点是保持电压的下降率特别小。表3.6为三类采样/保持(SHA)芯片的参数比较。

表3.6 三类采样/保持(SHA)芯片的参数比较