8.2.3 A/D转换电路
1.接口形式
ADC与计算机的接口是微机控制和数据采集检测系统的重要接口,任何型号的ADC芯片都能与CPU连接,但接口形式与ADC芯片型号、转换速度以及分辨率的要求不同而有所差异。从ADC接口电路结构看,ADC芯片与CPU连接有如下几种形式:
① 与CPU直接相连:当ADC芯片内部带有数据输出锁存器和三态门时(如AD574、ADC0809等),它们的数据输出可直接与CPU或数据总线相连。这种ADC接口结构简单,成本低廉,是目前最常见的ADC接口。
② 用三态门与CPU相连:对于内部不带数据输出锁存器的ADC芯片(如ADC1210、AD570等),需外接三态门锁存器后才能与CPU或系统总线相连。若ADC的输出数据宽度大于8位,允许外接三态门锁存器,将输出数据锁存,分两次传送给CPU。
③ 通过I/O接口芯片与CPU相连:无论ADC内部有无数据锁存器,都可以通过I/O接口芯片(并行或串行)与CPU或系统总线相连,这样可简化接口电路。
④ DMA传送数据:当ADC采样速率很高(fs>1MHz),一般数据传送方式不能达到数据传送要求,导致数据丢失。另一方面,其他接口形式可能占用系统总线时间长,CPU效率低。所以高速ADC一般需在接口板上添加RAM,采用DAM数据传送方式,快速地将AD板数据传输到计算机的RAM中。
对于AD的数据传送方式,大部分采用中断或DMA传送方式,这可以使数据的采集传输在计算机后台进行,提高程序的前台操作性能。
2.ADC连接实例
目前,对于低档的数据采集系统可使用8位ADC(如ADC0809),精度要求较高的数据采集系统可使用12位、16位的ADC芯片。
(1)8位ADC连接与编程
ADC0809是逐次逼近式的8位ADC芯片,引脚和内部结构如图8.11所示。ADC0809芯片是目前应用较为广泛的芯片之一,其速度中等(基本上能满足大部分数据监测需要),价格低廉,资料非常全面。
图8.11 ADC0809引脚与内部结构
ADC0809可输入8路模拟信号,内部有地址译码器,通过地址ADDC、ADDB、ADDA和ALE来选择IN7~IN0输入信号。ADC0809采用逐次逼近的A/D转换原理,一次模拟量转换时间为100μs,转换结束后从EOC输出结束信号,如果ADC0809用于微机数据采集系统,EOC可作为微机的中断请求信号。
START是ADC0809的A/D转换启动信号,高电平时内部逐次逼近寄存器清0,由1→0变化时开始A/D转换,信号宽度>100ns。CLK为时钟信号,最大为600kHz。ADC0809的典型连接如图8.12所示。
图8.12 ADC0809典型连接
例8-3 设图8.12所示电路的,设计虚拟电压表。采用中断方式的采集程序如下:
(2)12位ADC连接与编程
AD574A是具有三态输出锁存器的12位逐次比较ADC芯片,转换速度快(25μs),是目前国内使用最广泛的ADC芯片之一。AD574A可并行输出12位数据,也可分两次输出(先高8位,后低4位)数据;既可进行8位转换,也可进行12位A/D转换。AD574A的引脚定义和控制信号工作时序如图8.13所示。
图8.13 AD574A引脚定义和工作时序
AD574A采用28线双列直插封装,有等五条控制线,这些控制信号的作用如表8-3所示。
表8-3 AD574A控制信号作用
AD574A内部有三态输出锁存器,可直接与CPU相连(如将AD574A的高8位连接到系统总线的D7~D0、低4位连接到系统总线的D3~D0),也可通过I/O接口与芯片相连。如图8.14所示为使用8255并行接口芯片与AD574A相连的实例。
例8-4 设如图8.14所示电路中译码器对A9~A1进行译码,213H,因此ADC574A的
分别用于高位和低位数据的读取。采用查询方式的数据采集程序如下:
图8.14 AD574通过并行接口芯片与系统总线相连
A/D转换采集程序一般采用中断方式编写(MS-DOS环境或Windows环境)或线程方式编写(Windows环境),用软件查询方式可能会导致数据丢失,因此使用较少。