第31-32讲(111)
- 格式:doc
- 大小:775.00 KB
- 文档页数:8
99 第31讲
8.3 A/D转换器及其接口电路
单片机用于测量与控制系统时,由于被测量的温度、压力、流量等都是连续变化的非电模拟量,需要经传感器和变换电路将其变为与之成正比的电信号,再经过A/D转换器转换成数字量,才能送入单片机进行处理。传感器和变换电路已经超出本课程的内容范围,不予介绍,需要时可以参考其它资料。
8.3.1 A/D转换器
A/D转换器(ADC)是用来将模拟电压转换为与其成正比的数字量的器件。
1 A/D转换器分类及特点
A/D转换器按转换后输出数据的方式,可分为串行和并行两种。并行输出ADC具有占用较多数据线、输出速度快的特点,在转换位数较少时具有较高的性价比。串行输出ADC占用的数据线少,转换后的数据逐位输出,输出速度较慢,但便于使用光电隔离器件提高系统的抗干扰能力,并且芯片小、引脚少。
按转换原理可分为逐次逼近式和双积分式等。逐次逼近式转换精度、转换速度、价格都适中,应用最广泛。双积分式转换精度高、抗干扰能力强、价格低,但转换速度慢。
按输出数据类型可以分为二进制输出和BCD码输出。
2 A/D转换器的主要指标
(1) 分辨率:ADC的分辨率习惯上以输出二进制位数或BCD码位数来表示。位数越多则分辨率越高。例如,芯片ADC0809的分辨率为8位,表示它可以对满度输入电压的2-8=1/256的量值变化作出反应;而AD574的分辨率为12位,表示它可以对满度输入电压的2-12=1/4096的量值变化作出反应。分辨率越高,对输入量的微小变化反应越灵敏。
(2) 转换时间或转换速率:是指A/D转换从启动到转换结束所需要的时间。转换时间的倒数称为转换速率。逐次逼近式的转换时间一般在几μs~几百μs,双积分式的转换时间一般在几十ms~几百ms。 100 (3) 转换误差:是指A/D转换结果的实际值与理想值的偏差,常用最低有效位数LSB或满度值的百分数来表示。目前常用的单片集成ADC的转换误差一般均≤±1LSB。
(4) 量程:量程是指所能转换的输入电压范围。如0~5V,-2V~+2V等。
选择使用ADC芯片时,除了考虑上述指标外,还应注意输入阻抗、供电电压、工作环境温度等性能指标。
8.3.2 逐次逼近式A/D转换芯片ADC0809
ADC0809是美国National Semicondactor公司(美国国半)的8通道8位逐次逼近型A/D转换器。能对8路信号分时进行A/D转换。
1 主要特性:
(1) 分辨率为8位
(2) 转换时间100μs(输入时钟频率fosc=640kHz时)
(3) 转换误差小于±1LSB
(4) 量程0~+5V
(5) 单一+5V工作电源
(6) 带有锁存控制逻辑的8通道模拟转换开关。
2 引脚及功能:引脚排列如图8-14所示。
IN0~IN7:8路模拟信号输入端
D7~D0:8位二进制三态数据输出端
C、B、A:通道地址码输入端(带锁存)
CLK:时钟输入端,典型时钟频率640kHz,允许频率范围10~
1280kHz。
VCC:电源端;GND:电源地
VREF+-VREF-=+5V,基准电压输入端
ALE:地址锁存输入端。上升沿有效
START:启动A/D输入端。正脉冲有效
EOC:转换结束标志。该信号平时为高电平,启动转换后自动变为低电平,当转IN3 IN2IN4 IN1IN5 IN0IN6 AIN7 BSTART CEOC ALED3 D7OE D6CLK D5VCC D4VREF+ D0GND VREF-D1 D2图8-14 ADC0809引脚1141528 101 换结束后EOC即变为高电平。
OE:输出有效控制。OE=1时,D7~D0向外输出转换结果。
3 接口与编程:ADC0809与AT89C51的接口电路如图8-16所示。
ADC0809的数据输出端D0~D7为三态输出,可直接连接到数据总线P0上;通道地址码输入端A、B、C带锁存,可直接连接到地址总线A0~A2;A/D转换结束时EOC输出上升沿,故经非门连接到单片机的/INT0端作为中断请求信号;WRP7.2的上升沿使ALE锁存通道地址A0~A2并接通相应通道,下降沿使START启动A/D转换。RDP7.2=1信号送OE端,使A/D输出转换结果。单片机的晶振频率为fosc=6MHz,单片机的ALE端输出的地址锁存信号为1MHz,经D型触发器构成的T’触发器2分频,得到500kHz的脉冲信号作为ADC0809的时钟信号。
按图8-16以中断方式实现A/D转换,对八路模拟信号IN0~IN7轮流采样一次,并依次将转换结果存储到片内RAM的30H~37H单元。
将ADC0809作为一个外部扩展并行I/O口,根据图8-16的连接关系可得ADC0809的IN0~IN7通道的地址为7FF8H~7FFFH。
P2 P0
通道A15 A14„ „A9 A8 A7 A6 „ „ A1 A0 通道地址
IN0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 7FF8H
IN1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 7FF9H
IN2 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 7FFAH
„ „ „ „ „ „
IN7 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 7FFFH P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0AT89C51ALE /WR P2.7/RD/INT0图8-16 ADC0809与89C51的接口电路D7D6D5D4D3D2D1D0CBACLOCKADC0809ALESTARTOEEOCD /QCP Q 102 ADC0809 A/D转换源程序清单如下:
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP INT00
MAIN: MOV R0,#30H ;指向数据区首地址
MOV DPTR,#7FF8H ;准备使P2.7=0且选通IN0通道
SETB IT0 ;设INT0为边沿触发
SETB EX0 ;允许INT0中断
SETB EA ;开中断
MOVX @DPTR,A ;接通IN0通道、启动A/D,A值无用
SJMP $ ;等待转换结束中断
INT00:MOVX A,@DPTR ;读A/D转换结果
MOV @R0,A ;存结果
INC R0 ;指向数据区下一单元
INC DPTR ;指向下一路地址
CJNE R0,#38H,NEXT ;未转换完8路,继续转换
CLR EX0 ;8路完成,则关中断
RETI
NEXT: MOVX @DPTR,A ;启动A/D转换
RETI
第32讲
8.4 D/A转换器及其接口电路
单片机控制系统中输出信号主要用来驱动执行机构,而有些执行机构只能接收模拟量,如电气伺服系统等。而单片机只能输出数字量,这就需要将单片机输出的数字量转换成设备所需的模拟量。
8.4.1 D/A转换器(DAC)
D/A转换器是将数字量转换成与其成正比的模拟量的器件。它为单片机在模拟环境中的应用提供了一种数据转换接口。目前常用的D/A转换器件都是集成D/A转换器。
在选择DAC时,通常要考虑数字量的输入方式、是否有锁存器、数字量的位数、模拟量的输出形式、参考电源、转换速率等因素。 103 1 DAC的输入方式:DAC数字量的输入方式有串行方式和并行方式。
并行方式的DAC转换速度较快。通常用在转换数据量较大、要求转换速度较高的场合。
串行方式的DAC占用接口资源少、方便连接。通常用在转换速度要求不高的场合。
2 DAC的输出形式:DAC有电压输出和电流输出两种输出形式。
目前大多数DAC采用电流输出形式,如实际应用中需要模拟电压输出,可在其输出端加运算放大器构成的I/U电路。
3 DAC的锁存器:由于DAC要求转换期间输入的数字量应保持稳定,因此DAC内部是否有数据锁存功能,直接关系到DAC与单片机的接口设计。
内部有数据锁存功能的DAC与单片机接口十分方便,可以直接连接在数据总线上。
内部无数据锁存功能的DAC可以直接连接在具有锁存功能的I/O口上(如单片机的P1、P2口),或通过外接锁存器连接在数据总线上。
4 DAC的主要技术指标:
(1) 分辨率:DAC的分辨率习惯上以输入二进制位数来表示。对于n位的DAC,其分辨率为满度值的1/2n。例如,芯片DAC0832的分辨率为8位,表示它可以对满度值的1/28=1/256的量值变化作出反应。
(2) 转换精度:是指DAC转换结果的实际值与理想值的偏差最大值,常用最低有效位数LSB或满度值的百分数来表示。目前常用的单片集成ADC的转换误差一般均≤±1LSB。例如8位的DAC,设输出电压范围为0~5V,1LSB的含义为5V/28≈0.02V,即误差≤±1LSB的含义为转换结果的实际值与理想值的偏差最大值≤±0.02V。
(3) 建立时间:也称为稳定时间或转换时间。指数字量从全“0”变为全“1”时,输出模拟量达到终值(偏差小于1/2LSB)所需的时间。建立时间一般在几ns~几μ。
8.4.2 D/A转换器DAC0832及其接口电路
DAC0832是美国NS公司(国半)生产的一种8位、并行、电流输出型DAC,建立时间1微秒,片内二级数据锁存器,以其接口简单 104 方便、控制方便、价格低廉而获得广泛应用。
1 引脚功能简介:见附图8-5所示。
2 数据写入逻辑:由附图8-6的内部逻辑框图知。
(1) 当ILE=1、CS=0、1WR=0时,DI0~DI7的数据写入DAC0832的输入寄存器。
(2) 当2WR=0、XFER=0时,数据由输入寄存器进入DAC寄存器并开始进行D/A转换。
3 电压输出的连接
当要求输出电压为0~+5V时,要求基准电压VREF=-5V。单极性电压输出的电路连接见附图8-7所示,输出电压由下式计算: /CS VCC/WR1 ILEAGND /WR2DI3 /XFERDI2 DI4DI1 DI5DI0 DI6VREF DI7RFB IOUT2DGND IOUT1120片选输入,VL有效写1信号输入,VL有效模拟地数据输入数据输入数据输入(LSB)数据输入基准电压输入(-10~+10V)反馈信号输入,接运放out数字地电源端(+5~+15V),典型值+5V数据锁存允许输入,VH有效写2信号输入,VL有效数据传输信号输入,VL有效数据输入数据输入数据输入数据输入(MSB)电流输出1端,接运放“-”端电流输出2端,接运放“+”端1110附图8-5 DAC0832引脚排列及功能