首页 理论教育A/D转换器接口简介

A/D转换器接口简介

【摘要】:8位A/D转换器是逐次逼近式,由控制与时序电路、逐次逼近寄存器、树状开关以及256R电阻阶梯网络等组成。2.ADC0809与8051接口A/D转换器芯片与单片机的接口是数字量输入接口,其原理与并行I/O输入接口相同,需要有三态门“挂上”数据总线。现以12位A/D转换芯片AD574A为例进行说明。在8051系统中使用AD574A芯片,其转换数据应分两次读出,并按高8位和低4位分次。

A/D转换以ADC0809为例进行说明。ADC0809是ADC08××系列中的一员,ADC08××是美国国家半导体公司(National Semiconduct)的一个A/D转换芯片系列,具有多种芯片型号,其中包括8位8通道CMOS型芯片ADC0808和ADC0809以及8位16通道CMOS型芯片ADC0816和ADC0817等。

1.ADC0809芯片

ADC0809采用逐次逼近式A/D转换原理,可实现8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道地址锁存和译码电路,转换时间为100μs左右。ADC0809的内部逻辑结构如图8-34所示。

图8-34 ADC0809内部逻辑结构图

图8-34中多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用一个A/D转换芯片进行转换。地址锁存与译码电路完成对A、B、C这3个地址位进行锁存和译码,其译码输出用于通道选择。8位A/D转换器是逐次逼近式,由控制与时序电路、逐次逼近寄存器、树状开关以及256R电阻阶梯网络等组成。输出锁存器用于存放和输出转换得到的数字量。ADC0809芯片为28引脚双列直插式封装,其引脚排列如图8-35所示。

各引脚功能如下:

IN7~IN0:模拟量输入通道。ADC0809对输入模拟量的要求主要有信号单极性,电压范围为0~5V。

A、B、C:地址线,模拟通道的选择信号。A为低位地址,C为高位地址。其地址状态与通道对应关系如表8-9所示。

ALE:地址锁存允许信号。对于每个ALE上跳沿,A、B、C地址状态送入地址锁存器中。

START:转换启动信号。START上跳沿时,所有内部寄存器清0;START下跳沿时,开始进行A/D转换。在A/D转换期间,START应保持低电平。

D7~D0:数据输出线。为三态缓冲输出形式,可以与单片机的数据线直接相连。D0为最低位,D7为最高位。

OE:输出允许信号。用于控制三态输出锁存器向单片机输出转换得到的数据。OE=0,输出数据线呈高电阻;OE=1,输出转换得到的数据。

图8-35 ADC0809引脚排列图

表8-9 地址状态写通道关系表

CLK:外部时钟信号引入端。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。简单应用时可由8051的ALE信号提供。

EOC:转换结束信号。EOC=0,正在进行转换;EOC=1,转换结束。使用中,该状态信号既可作为查询的状态标志,又可作为中断请求信号使用。

VCC:+5V电源

VREF:参考电源。参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为+5V(VREF+=+5V,VREF-=0V)。(www.chuimin.cn)

2.ADC0809与8051接口

A/D转换器芯片与单片机的接口是数字量输入接口,其原理与并行I/O输入接口相同,需要有三态门“挂上”数据总线。ADC0809芯片已具有三态输出功能,因此,ADC0809与8051的接口直接连接,如图8-36所示。

8路模拟通道选择信号A、B、C分别接最低3位地址A0、A1、A2(即P0.0、P0.1、P0.2),而地址锁存允许信号ALE由P2.0控制,则8路模拟通道的地址为FEF8H~FEFFH。此外,通道地址选择以作写选通信号。

图8-36 ADC0809与8051单片机的接口图

【例8-3】设有一个8路巡回检测系统,其采样数据依次存放在外部RAM的A0H~A7H单元中,按图8-36的接口电路,ADC0809的8个通道地址为FEF8H~FEFFH,试进行程序设计。

【解】执行一条“MOVX @DPTR,A”指令,产生信号,使ALE和START有效,就可以启动一次A/D转换。但一次启动只能进行一个通道的转换,8个通道的A/D转换需按通道顺序逐个进行。为此,在程序中应当有改变通道号的指令,并且每改变一次就执行一次启动A/D转换指令。据此,数据采样的参考程序如下:

初始化程序

3.12位A/D转换芯片与8051接口

对于多于8位的A/D转换芯片,接口时要考虑转换结果的分时读出问题。现以12位A/D转换芯片AD574A为例进行说明。

图8-37 AD574A与8051接口的信号连接图

AD574A是美国模拟器件公司(Analog Devices)的产品,由于芯片内有三态数据输出缓冲器,所以接口时无需外加三态缓冲器。由于内部的缓冲器为12位,所以其转换数据既可以一次读出,也可以分两次读出。AD574A与8051接口的信号线连接部分如图8-37所示。

AD574A有两个模拟量输入端,其中10VIN的电压范围是0~10V,而20VIN的电压范围是0~20V。在8051系统中使用AD574A芯片,其转换数据应分两次读出,并按高8位和低4位分次。分次读出由A0控制,该引脚一般接地址线的最低位A0。A0=0时,读高8位;A0=1时,读低4位。其他的相关控制信号如下:

:读/启动转换信号。R/C=0时为启动转换信号,R/C=1时为读信号。接口时可通过8051的写命令进行控制。

STS:转换结束信号。转换期间为高电平,转换结束时下跳为低电平。转换结束信号为输出的状态信号,供单片机查询或中断使用。图中STS和P1口的一根口线相连,这时使用查询方法读取转换数据。

:输出位数选择信号。=1时为12位输出,12/8=0时为8位输出。使用时可接电源或地。

CE:允许信号,高电平有效。参与启动转换和读数据的控制。