打印
[资料分享]

A/D转换器芯片及接口电路(转载)

[复制链接]
848|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Orchids|  楼主 | 2017-12-27 16:17 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
A/D转换器芯片及接口电路

1.8位A/D转换器芯片ADC0809
ADC0809是CMOS单片型逐次逼近式A/D转换器,ADC0809的主要特性:
● 它是具有8路模拟量输入、8位数字量输出功能的A/D转换器。
● 转换时间为100μs。
● 模拟输入电压范围为0V~+5V,不需零点和满刻度校准。
● 低功耗,约15mW。
(1)ADC0809结构框图及引脚说明
图4.24  ADC0809的结构框图和引脚
通道选择开关
通道地址锁存和译码
逐次逼近A/D转换器
8位锁存器和三态门
(2)ADC0809的工作过程
对ADC0809的控制过程是:
① 首先确定ADDA、ADDB、ADDC三位地址,决定选择哪一路模拟信号;
② 使ALE端接受一正脉冲信号,使该路模拟信号经选择开关到达比较器的输入端;
③ 使START端接受一正脉冲信号,START的上升沿将逐次逼近寄存器复位,下降沿启动A/D转换;
④ EOC输出信号变低,指示转换正在进行。
⑤ A/D转换结束,EOC变为高电平,指示A/D转换结束。此时,数据已保存到8位三态输出锁存器中。此时CPU就可以通过使OE信号为高电平,打开ADC0809三态输出,由ADC0809输出的数字量传送到CPU。
(3)CPU读取A/D转换器数据的方法
① 查询法
优点:接口电路设计简单。
缺点:A/D转换期间独占CPU,致使CPU运行效率降低。
② 定时法:
优点:接口电路设计比查询法简单,不必读取EOC的状态。
缺点:A/D转换期间独占CPU,致使CPU运行效率降低;另外还必须知道A/D转换器的转换时间。
CPU读取A/D转换器数据的方法
③ 中断法
优点:A/D转换期间CPU可以处理其它的程序,提高CPU的运行效率。图4.25  ADC0809接口电路
缺点:接口电路复杂。
(4)ADC0809接口电路
图 4.  25 ADC0809接口电路
[例4.1]利用图4.25,采用无条件传送方式,编写一段轮流从IN0~IN7采集8路模拟信号,并把采集到的数字量存入0100H开始的8个单元内的程序。
程序如下:
   MOV  DI,  0100H;设置存放数据的首址
   MOV BL,08H;采集8次计数器
   MOV AH,00H;选0通道
   AA1∶MOV AL,AH
   MOV DX,ADPORT;设置ADC0809芯片地址
   OUT DX,AL;使ALE、START有效,选择模拟通道,见图10.18
MOV CX, 0050H
   WAIT∶LOOP WAIT;延时,等待A/D转换
   IN AL,DX;使OUTPUTENABLE有效,输入数据,见图10.18
   MOV[DI],AL;保存数据
   INC AH;换下一个模拟通道
   INC DI;修改数据区指针
   DEC BL
  JNZ AA1
2.12位A/D转换器AD574
AD574是美国模拟器件公司的产品,是较先进的高集成度、低价格的逐次逼近式转换器。
AD574由两片大规模集成电路构成。一片为D/A转换器AD565,另一片集成了逐次逼近寄存器SAR、转换控制电路、时钟电路、总线接口电路和高分辨比较器电路。
(1)AD574的结构框图及引脚说明
图 4.  26 AD574的结构框图

引脚信号说明如下:
12/8:数据输出方式选择信号,高电平时输出12位数据,低电平时与A0信号配合输出高8位或低4位数据。信号不能用TTL电平控制,必须直接接至+5V或数字地。
A0:转换数据长度选择控制信号。在转换状态,A0为低电平可使AD574进行12位转换,A0为高电平时可使AD574进行8位转换。在读数状态,如果为低电平,当A0为低电平时,则输出高8位数据,而A0为高电平时,则输出低4位数据;如果为高电平,则A0的状态不起作用。
(2)AD574的工作过程
AD574的工作过程分为启动转换和转换结束后读出数据两个过程。
启动转换时,首先使/CS、CE信号有效,AD574处于转换工作状态,且A0为1或为0,根据所需转换的位数确定,然后使R/C=0,启动AD574开始转换。视为选中AD574的片选信号,为启动转换的控制信号。转换结束,STS由高电平变为低电平。可通过查询法,读入STS线端的状态,判断转换是否结束。
(2)AD574的工作过程
    输出数据时,首先根据输出数据的方式,即是12位并行输出,还是分两次输出,以确定是接高电平还是接低电平;然后在CE=1、/CS=0、R/C=1的条件下,确定A0的电平。若为12位并行输出,A0端输入电平信号可高可低;若分两次输出12位数据,A0=0,输出12位数据的高8位,A0=1,输出12位数据的低4位。由于AD574输出端有三态缓冲器,所以D0~D11数据输出线可直接接在CPU数据总线上。
(3)AD574接口电路
图4.27  12位AD574与8088CPU的接口电路图
启动A/D转换并采用查询方式,采集数据的程序如下:
MOV DX,278H
OUT DX,AL; 启动转换,R/C=0、CS=0、CE=1,A0=0
MOV DX,27AH; 设置三态门地址
AA1∶IN AL,DX; 读取STS状态
TEST AL,80H; 测试STS电平
JNE AA1;STS=1  等待,STS=0向下执行
MOV DX,278H
IN AL,DX; 读高8位数据,R/C=1,CS=0,CE=1,A0=1,CE=1
MOV AH,AL; 保存高8位数据
MOV DX,279H
IN AL,DX; 读低4位数据,R/C=1, CS=0,A0=1,CE=1


相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

697

主题

993

帖子

4

粉丝