第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端作为中断请求信号;WRP7.2的上升沿使ALE锁存通道地址A0~A2并接通相应通道,下降沿使START启动A/D转换。RDP7.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引脚排列及功能