光学  

   你现在的位置:JUNTRY>>主 页>>              今天是:

 

 A/D转换器接口

A/D转换器的功能是将模拟量电信号转换成数字量。

    1. A/D转换器的主要参数

1)分辨率:是指A/D转换器可转换成二进制数的位数。

    例:若一个10位A/D转换器,去转换一个满量程为5V的电压,则它能分辨的最小电压为5000mV/210≈5mV。

2)转换时间

指从输入启动转换信号开始到转换结束,得到稳定的数字输出量为止的时间。

其他参数与D/A转换器类似。

2. A/D转换器与CPU的接口方法

1)A/D转换器与CPU连接的注意点

ADC转换好的数据必须经过三态缓冲器件与CPU数据总线相连接(在芯片内部没有三态输出缓冲器时);

② 为了输入正确的转换结果,必须解决好A/D转换器和CPU取数之间的时间配合问题。

2)ADC芯片的控制信号

① 启动转换信号(START):是由CPU提供给ADC芯片的,在正脉冲的下降沿转换开始;

② 转换结束信号(EOC):一旦启动转换,EOC立即变低,直至转换结束,EOC输出高电平,通知CPU转换已结束;

    ③ 允许输出信号(OE):ADC转换结束后,转换结果存放在输出锁存器中,并没有送入数据总线上。CPU取数时,发出OE信号选通芯片内部三态输出缓冲器将数据输出。

3)A/D转换器与CPU之间传送数据的方法

    延时等待法  

     图11. 4  延时等待法ADC接口电路         图11. 5  查询法ADC接口电路

是利用CPU执行一条输出指令,启动ADC转换,然后CPU执行延时程序,延时时间大于所选用的ADC芯片转换时间,延时结束,CPU执行输入指令,打开三态门获取ADC转换好的数据。参见图11.4。

    查询法

查询法是由CPU来检查EOC信号。当CPU启动ADC芯片开始转换之后,再通过状态端口读取EOC信号,检查ADC是否转换结束。若转换结束,则读取转换结果,否则继续查询。参见图11.5。

    中断法

    用中断法可提高CPU的利用率,当ADC转换结束,由EOC信号上升沿通过8259A中断控制逻辑向CPU发出中断请求,CPU响应中断在服务程序中读取结果。参见图11.6。

3. A/D转换芯片ADC0809及其接口

1)主要性能

    8位逐次逼近型A/D转换器,所有引脚的逻辑电平与TTL兼容;

    带有锁存功能的8路模拟量转换开关,可对8路0~5V模拟量进行分时转换;

    输出具有三态锁存/缓冲功能;

    分辨率:8位,转换时间:100us;

    不可调误差:±1LSB,功耗:15mW;

    工作电压:+5V,参考电压标准值+5V;

    片内无时钟,一般需外加640KHz以下且不低于100KHz的时钟信号。

2)ADC0809的内部结构与引脚功能

    内部结构

有模拟多路转换开关和A/D转换两大部分。

模拟多路转换开关由8路模拟开关和3位地址锁存与译码器组成,地址锁存允许信号ALE将三位地址信号ADDC、ADDB和ADDA进行锁存,然后由译码电路选通其中一路摸信号加到A/D转换部分进行转换。A/D转换部分包括比较器、逐次逼近寄存器SAR、256R电阻网络、树状电子开关、控制与时序电路等,另外具有三态输出锁存缓冲器,其输出数据线可直接连CPU的DB。参见图11.7。

 

② 引脚功能

D7~D0:8位数据输出线;

IN7~IN0:8路模拟信号输入;

ADDC、ADDB、ADDA:8路模拟信号输入通道的地址选择线;

ALE:地址锁存允许,其正跳变锁存地址选择线状态,经译码选通对应的模拟输入信号;

START:启动信号,上升沿使片内所有寄存器清零,下降沿启动A/D转换;

EOC:转换结束,转换开始后,此引脚变为低电平,转换一结束,此引脚变为高电平;

    OE:输出允许,此引脚为高电平有效,当有效时,芯片内部三态数据输出锁存缓冲器被打开,转换结果送到D7~D0;

CLOCK:时钟,最高可达1280KHz,由外部提供;

REF(+)、REF(-):参考电压正极、负极,通常REF(+)接Vcc,REF(-)接GND;

Vcc:电源,+5V,GND:地线。

模拟输入与数字量输出的关系为N=(VIN-VREF-))×256/(VREF+)-VREF-)),当VREF+)+5V,VREF-)0V,若输入模拟电压为2.5V,则转换后的数字量N=128,即10000000B。参见图11.8。

3)ADC0809的多路转换,参见图11.9。 

例:当ADDC、ADDB、ADDA三个管脚接成“100”状态,ALE有效时,ADC0809将IN4管脚上的模拟输入信号进行转换。若三位地址输入信号接CPU的数据线D2~D0,其状态由CPU提供,则可分时对8路不同的测量或控制电路进行A/D转换。  

4)转换时序 参见图11.10。

5)ADC0809应用举例

利用8255A并行接口芯片构成软件查询方式下的A/D转换。其电路连接如图11. 11所示。图中,地址译码器的输出 (地址为238H~23EH

11. 10  ADC0809转换时序图

中的偶地址)用来选通8255A,8255A的A口工作于方式1输入,ADC0809的START与ALE同8255A的PB4相连,EOC与PC4OE相连。数字量输出D7D08255A的PA口相连。由于8255A的A口工作在方式1,故PC4 )接收到EOC信号后,一方面将PA7PA0上的数据锁存到8255A的A口数据输入缓冲器,另一方面从PC5上发出输入缓冲器满信号IBFA,若此时读入C口的状态,查询到IBFA为“1”,则CPU可将8255A中的数据取走。从输入通道IN0输入一个模拟量,经ADC0809转换后送入微处理器的程序为:

MOV  DX,23EH         ;8255A控制口口地址

        MOV  AL,0B0H         ;8255A初始化,A口为方式1输入

        OUT  DX,AL           ;B口为方式0输出

        MOV  DX,23AH         ;8255A的B口口地址

        MOV  AL,00H          ;取通道号0,置PB4为“0”

        OUT  DX,AL

        MOV  AL,10H          ;置PB4为“1”,启动ADC0809转换

        OUT  DX,AL

        MOV  AL,00H          ;置PB4为“0”

        OUT  DX,AL

        MOV  DX,23CH         ;8255A的C口口地址

   LOP:IN   AL,DX           ;读8255A状态字

        TEST AL,20H          ;IBFA状态为“1”吗?

        JZ   LOP              ;否,继续查询等待

        MOV  DX,238H         ;8255A的A口口地址

         IN   AL,DX           ;从8255A的A口取转换好的数据

        HLT

以上部分内容转载于网上,如有涉及到版权问题,请即通知本人删除

juntry@126.com