第 9 章 数/模及模/数转换器接口
description
Transcript of 第 9 章 数/模及模/数转换器接口
9-1 D/A转换器接口及应用
9-2 A/D转换器接口及应用
第第 99 章 数章 数 // 模及模模及模 // 数转换器接口数转换器接口
扩展 I/O 电路的功能:
1 、速度协调;2 、输出数据锁存;3 、输入数据三态;4 、数据转换: 模拟量→数字量:由 A/D 转换完成; 数字量→模拟量:由 D/A 转换完成。
单片机和被控实体间的接口示意图
举例 1 :温度测控系统
放大
A/ D单
片
机打印输出
光隔驱动
电热箱 温度传感器 模 数设定值
控制信号
电热丝
电源
双向可控硅
调节电压 控温
~
举例 2 :速度测控系统
A/ D PI D D/ A =/ M
G
转速给定
P0 P1
纸长拨盘给定
转速反馈
纸长反馈
脉冲发生器
测量转速
电机可控硅触发器
单片机系统+ -
单片机控制系统原理框图
举例 3 :红外线自动门控制系统原理图
BISS
0001
60K20K
103
2M
10K
10u
1M
1M
47K
103
47u
电压检测模块
电机温度检测 P3.3/INT1
手 动 / 自 动 切换
手动关按钮
P3.4
P3.0
2.2u
D
S
G红外传感器
+5VGND
3.3K
103
103
470u
+5V
330K
330K102
10n
VC
VDD
2OUT
2IN-
1IN+
1IN-
1OUT
220K
IB
RR1
A
V0
RC1
RC2
RR2
VSS
+5V
行程开关 2
行程开关 3
手动开按钮
光电隔离
电机正转继电器 J1
电机过热报警
转速检测模块
A/D 转换
蜂鸣报警
行 程 开 关4
行程开关 1
电压过高报警速度异常报警
速度变换继电器 J3
电机反转继电器 J2ADC
0809
P1.0
P1.3
P1.2
P1.1
P1.4
P1.5
P1.6
P2.0
P2.1
P2.3
P2.2
P3.2/INT0
P3.1
P0WRRDALEP1.7
10K×6
LED
AT89C51
VCC
红外线传感器集成芯片 BISS0001 特点
( 1 )用 CMOS 工艺,功耗低。( 2 )具有独立的高输入阻抗运算放
大器,可与多种传感器匹配。( 3 )双向鉴幅器可有效抑制干扰信
号。( 4 )内设延时和封锁定时器,性能
稳定,调节范围宽。( 5 )内置参考电源。( 6 ) 工 作 电 压 范 围 宽 ( 3V ~
5V)。
BISS0001
1
2
3
4
5
6
7
8 9
10
11
12
13
14
15
16A
V0
RR1
RC1
RC2
RR2
Vss
VRF/RESET Vc
IB
VDD
2OUT
2IN-
1IN+
1IN-
1OUT
9-19-1 D/AD/A 转换器接口及应用转换器接口及应用9-1-1 D/A 转换概述
一、 D/A( Digit to Analog )转换器: 为把数字量转换成模拟量,在 D/A转换芯片中要有解码网络:① 权电阻网络;②倒 T 型电阻网络。
T 型电阻网络型 D/A 转换器:
D/A 转换器的原理: 把输入数字量中每位都按其权值分别转换成模拟量,并通过运算放大器求和相加。根据克希荷夫定律,如下关系成立:
I0=20 I1=21 I2=22 I3=23
n 位数字量与模拟量的关系式:VO =—VREF×(数字码 / 2n )
(VREF —— 参考电压 )
二、 D/A 输出形式:① 电压;② 电流 运算放大器 电压。
注:因使用反相比例放大器来实现电流到电压的转换,所以输出模拟信号 (VO)的极性与参考电压 (VREF) 极性相反。
三、注意区分 D/A 内部是否带有锁存器:
与 P1、 P2 接口:不需加锁存器,直接接口。 无锁存器 与 P0 接口:因 P0 的特殊功能,需加锁存器。D/A 内 如: DAC800、 AD7520、 AD7521 等。 有锁存器:最好与 P0 直接接口。 如: DAC0832、DAC1230 等。
四、性能指标:1 、分辨率( Resolution )是指 D/A 转换器能分辨的
最小输出模拟增量,取决于输入数字量的二进制位数。 2 、建立时间( Establishing Time )是描述 D/A 转
换速度的快慢。3 、转换精度( Conversion Accuracy )指满量程时DAC 的实际模拟输出值和理论值的接近程度。
4 、偏移量误差( Offset Error )偏移量误差是指输入数字量为零时,输出模拟量对零的偏移值。
5 、线性度( Linearity )线性度是指 DAC 的实际转换特性曲线和理想直线之间的最大偏移差。
主要技术指标:1 、分辨率( Resolution ): 对D/A 转换器输入量变化敏感程度进行描述,与输入数字量的位数有关。• 若数字量的位数为 n ,则分辨率为 2- n。• 数字量位数越多,分辨率就越高。• 应用时,应根据分辨率的需要选定转换器的位数。注: BCD 码输出的 A/D 转换器用位数表示分辨率。2 、建立时间( Establishing Time ):(转换速
度) 描述 D/A 转换速度的快慢。• 输出形式为电流的转换器比电压的建立时间短。• D/A 转换速度远高于 A/D 转换。3 、转换精度( Conversion Accuracy ): 指满量程时 DAC 的实际模拟输出值和理
论值的接近程度。
一、内部结构:一、内部结构: DAC 0832DAC 0832 :: 8位双缓冲器结构的 D/A 转换器。
9-1-2 D/A 转换芯片DAC0832
DAC 0832DAC 0832 内部结构框图内部结构框图(请见(请见 P242P242图图9.39.3 ))
DI0 ~ 7 :转换数据输入( 8 位); CS :片选信号(输入);ILE :数据锁存允许信号(输入); XFER :数据传送控制信号(输入);WR1 :第一写信号(输入),与 ILE共同控制输入寄存器是数据直通方式还是 数据锁存方式;WR2 :第 2写信号(输入),与 XFER共同控制 DAC寄存器是数据直通方式还是 数据锁存方式;
8 位DAC
DAC寄存器
输入寄存器 -
+IOUT2
IOUT1
Rfb
VODI0 ~
7
AGND
ILE
CS
与
与
与
WR1
WR2
XFER
LE1LE2
LE1LE1(( LELE22 )) ==
00 :锁存;:锁存;11 :直通。:直通。
DAC 的应用: DAC 用作单极性电压输出; DAC 用作双极性电压输出; DAC 用作控制放大器。
双极性输出电压与输入数字量的关系输入数字量 B
b7 b6 b5 b4 b3 b2 b1 b0
Vout (理想值)+VREF 时 -VREF 时
1 1 1 1 1 1 1 1 |VREF|-LSB -|VREF|+LSB
┆ ┆ ┆1 1 0 0 0 0 0 0 |VREF|/2 -|VREF|/2
┆ ┆ ┆1 0 0 0 0 0 0 0 0 0
┆ ┆ ┆0 1 1 1 1 1 1 1 -LSB LSB
┆ ┆ ┆0 0 1 1 1 1 1 1 -|VREF|/2-LSB |VREF|/2+LSB
┆ ┆ ┆0 0 0 0 0 0 0 0 -|VREF| |VREF|
双极性 DAC 的接法 :
双极性 DAC 的另一种接法 :
控制放大器用 DAC0832:
二、二、 DAC 0832DAC 0832 与单片机的接与单片机的接口:口:有 3 种工作方法:直通方式、单缓冲方式和双缓冲方式。
11 、直通方式:、直通方式: 输入寄存器和 DAC寄存器共用一个地址,同时选通输出; WR1 和WR2 同时进行,并且不与 CPU 相接。 特点:转换速度快。
80C51
CS
DAC0832
WR1
P1
XFER
8
WR2
D7 0~
+-
VO
MOV P1, A
举例:例: D/A 转换程序,用 DAC0832 输出 0~+5V 锯齿波, 电路为直通方式。设 VREF=-5V ,若DAC0832地址 为 00FEH ,脉冲周期要求为 100ms。
100ms
DACS:MOV DPTR,#00FEH; 0832 I/O地址MOV A,#00H ;开始输出 0V
DACL:MOVX @DPTR,A ;D/A 转换INC A ;升压ACALL DELAY ;延时延时 100100ms/256ms/256 ::决定决定
锯齿波的周期锯齿波的周期AJMPDACL ;连续输出
DELAY …: ;延时子程序
22 、单缓冲方式:、单缓冲方式: 输入寄存器和 DAC寄存器共用一个地址,同时选通输出,输入数据在控制信号作用下,直接进入 DAC寄存器中; WR1 和WR2 同时进行,并且与 CPU的WR 相连, CPU 对 0832执行一次写操作,将数据直接写入 DAC寄存器中。 适用:只有一路模拟信号输出或几路模拟信号非同步输出。
80C51 CS
DAC0832
WR1
P1
XFER
WR2
D7 0~ +-
VO
74LS373P0
WR
ALE
80C51
G A7 0~
A0
8
单缓冲方式下的 DAC0832
80C51
举例:例: D/A 转换程序,用 DAC0832 输出 0~+5V 三角波, 电路为单缓冲方式。设 VREF=-5V ,若DAC0832地 址为 00FEH ,脉冲周期要求为( 100ms)。
100ms
ORG 2000HSTAR:MOV DPTR,#00FEH;DAC0832地址
MOV A,#00H ;开始输出 0VUP : MOVX @DPTR, A ;D/A 转换
INC A ;产生上升段电压JNZJNZ UPUP ;上升到 A 中为 FFH( A≠0跳)
DOWN:DEC A ;产生下降段电压MOVX @DPTR, AJNZJNZ DOWNDOWN ;下降到 A 中为 00HSJMPSJMP UPUP ;重复
注:注:若想改变波形的周期(频率),只需在若想改变波形的周期(频率),只需在 SJMP UPSJMP UP前插入延时程序即前插入延时程序即可。可。
C51 程序:#include<absacc.h>#include<reg51.h>#define DAC0832 XBYTE[0x00FE]#define uchar unsigned char#define unit unsigned int void stair(void) {
uchar i; while(1) { for(i=0;i<=255;i=i++)
/* 形成锯齿波输出值,最大255*/ {DAC0832=i; /*D/A 转换输出 */ }}
}
33 、双缓冲器方式:、双缓冲器方式: 输入寄存器和 DAC寄存器分配有各自的地址,可分别选通用同时输出多路模拟信号。 适用:同时输出几路模拟信号的场合,可构成多个 0832同步输出电路。
80C51
CSDAC0832
WR1
P1
XFER
WR2
D7 0~ +-
VO
74LS3738P0
WR
ALE
80C51
G A7 0~
A0
CS
DAC0832
WR1
XFER
WR2
D7 0~
+-
VO
A1
A2
A1
1#
2#
X
Y
图形显示器
A2
举例:例:用DAC0832 实现驱动绘图仪,电路为双缓冲方式。 1# 和 2#DAC0832地址分别为 00FEH 和 00FDH。 则绘图仪的驱动程序为:
ORG 2000HMOV DPTR,#00FEH ;选中 1#0832 (的输入寄存器): A0=0
MOV A,#DataxMOVX @DPTR,A ;Datax写入 1#0832 输入寄存器MOV DPTR,#00FDH ;选中 2#0832 (的输入寄存器): A1=0
MOV A,#DatayMOVX @DPTR,A ;Datay写入 2#0832 输入寄存器MOV DPTR,#00FBH ;选中 1#和2#0832的DAC寄存器:
A2=0
MOVX @DPTR,A ;1# 和 2#输入寄存器的内容同时 传送到 DAC寄存器中
C51 程序:#include<absacc.h>#include<reg51.h>#define INPUTR1 XBYTE[0x00FE]#define INPUTR2 XBYTE[0x00FD] #define DACR XBYTE[0x00FB]#define uchar unsigned char void dac2b(data1,data2) uchar data1,data2;{
INPUTR1=data1; /* 数据送到一片 DAC0832*/INPUTR2=data2; /* 数据送到另一片 DAC0832*/DACR=0; /*启动两路 D/A同时转换 */
}
三、 DAC1208 内部框图
80C51与DAC1208 的接口
80C51
华工考研题: PC/XT的D/A 接口使用 DAC0832 。其有关信号
接线如图所示,其输出电压 Vo 和输入数字量 DI7-DI0 之间呈线性且如表所示。现要求 Vo从零开始按图示波形周期变化(周期可自定)。试用汇编语言编写其控制部分程序。
译码器
放
大
DB7-DB0
+5V
A9-A0
AEN
I OW
POT0
POT1
DI 7-DI 0I LE
CS
XFERWR1
WR2
I OUT1
I OUT2
DAC0832
v0/ V
t
+5V
0
-5Vv0
输入 输出
00H7FHFFH
-5V0V+5V
9-29-2 A/DA/D 转换器接口及应用转换器接口及应用
A/D 接口设计要点:1 .选择合适的系统采样速度;2 .减小 A/D 转换的孔径误差;3 .合理选用 A/D 转换器。
一、转换原理:一、转换原理:A/D 转换是把模拟量信号转化成与其大小成比例的数字信号。A/D 转换电路主要分成:1 、双积分式(速度慢,精度高:用于速度要求不高的场合);2 、逐次逼近式(速度较快,精度较高:常用)。 常用芯片:常用芯片: MC14433( 3 ½ 位) 双积分式 ICL7135( 4 ½ 位) ICL7109( 12 位) ADC0808、 ADC0809( 8 位) 逐次逼近式 ADC1210( 12 位) AD574( 12 位)
1 、双积分型 A/D 转换器工作原理:
双积分型 A/D 转换是一种间接 A/D
转换技术。首先将模拟电压转换成积分时间,然后用数字脉冲计时方法转换成计数脉冲数,最后将此代表模拟输入电压大小的脉冲数转换成二进制或 BCD 码输出。因此,双积分型 A/D 转换器转换时间较长,一般要大于 40~ 50ms 。
双积分 ADC 电路原理图
MC14433与 80C51 直接连接的接口
80C51MC14433
ICL7109与 80C51 的接口电路图
80C51
2 、逐次逼近 A/D 转换原理:
时序与控制逻辑电路
D/ A转换器输出缓冲器
N位寄存器
比较器
时钟
启动EOC
VX
VN
OE
N位数字量输出
A/ D逐次逼近 转换器原理图
N 位寄存器用来存放 N 位二进制数码。当 VX≥VN ,则保留 DN-1=1 ,否则清 0 。其余类推。
1 、结构: 一个 8位逐次逼近式 A/D 转换器、 8路模拟转换开关、 3-8地址锁
存译码器和三态输出数据锁存器(详见 P249)。
2 、引脚:( 1 ) 8路模拟量分时分时输入信号端:
IN0~ IN7;( 2 ) 8位数字量输出信号端:
D0~D7;
( 3 )通道选择地址信号输入端: ADDA、 ADDB、 ADDC;
( 4 )基准参考电压为 VR(+ )和 VR( - ): 决定输入模拟量的范围。 典型值分别为 +5V 和 0V。( 5 )转换结束信号 EOC: 0 :正在进行转换; 1 :一次转换完成。( 6 )时钟信号输入端: CLK (其内部无时钟电路)。
多路转换开关
A B C
IN0
IN1
IN7
A/D 转换
二、二、 ADC0809ADC0809 与单片机的接口:与单片机的接口: ADC 0809/0808 为 8路输入通道、 8位逐次逼近式 A/D 转换器,可分时转换 8路模拟信号。
3、 ADC 0809 与单片机连接:
转换数据的传送:① 定时传送方式;(不需接 EOC脚)②查询方式;(测试 EOC脚的状态)③中断方式。( EOC脚接 INT脚)注:( 1 )不能用无条件方式;( 2 ) 2个 ALE 不能相接。
涉及 2个问题:( 1 ) 8路模拟信号通道选择;( 2) A/D 转换完成后转换数据的传送。
ADC0809 的口地址: FEFFH;8 路模拟通道的地址: FEF8H~FEFFH。
IN0 ~ 7
AD0 ~ 7
ALE
INT
WR
P2.0
RD
D0 ~ 7
ADDABC
CLK
EOC
START
ALE
OE
≥1
1
MCS-51MCS-51
ADC0809ADC0809
8
3
≥1
A/D 转换程序:(延时等待方法)MOV DPTR,#0FEFFH ;ADC0809地址
MOV A,#00H ;选中 IN0
MOVX @DPTR,A ;启动 A/D 转换LCALL DELAY ;等待转换结束MOVX A,@DPTR ;读转换结果RET
不用接 EOC脚,采用定时传送方式。
例: P252 应用举例
初始化程序:(中断方式) MOV R0,#0A0H ;数据存储区首地址 MOV R2,#08H ; 8路计数器 SETB IT1 ;边沿触发方式 SETB EA ;中断允许 SETB EX1 ;允许外部中断 1 中断 MOV DPTR,#0FEF8H ;指向 ADC0809首
地址LOOP:MOVX @DPTR,A ;启动 A/D 转换HERE:SJMP HERE ;等待中断 DJNZ R2, LOOP ;巡回,未完继续
CLR EA ;结束,关中断 SJMP $ ;结束停止
设有一个 8 路模拟量输入的巡回检测系统,采样数据依次存放在外部 RAM 0A0H~ 0A7H 单元中, ADC0809 的 8个通道地址为 0FEF8H~0FEFFH。
中断服务程序:MOVX A,@DPTR ;读数MOVX @R0, A ;存数INC DPTR ;指向下一模拟通道INC R0 ;指向数据存储区下一单元RETI
C51 程序:#include<absacc.h>#include<reg51.h>#define uchar unsigned char#define IN0 XBYTE[0xFEF8] /* 设置 ADC0809 的通道 0 地址
*/sbit ad_busy=P3^3; /*即 EOC状态 */void ad0809(uchar idata * x) /*采样结果放指针中的 A/D采集函数
*/{ uchar i;
uchar xdata * ad_adr; ad_adr=&IN0; for(i=0;i<8;i++) /*处理 8 通道 */ { *ad_adr=0; /*启动转换 */
i=i; /* 延时等待 EOC 变低 */i=i;while(ad_busy==0); /*查询等待转换结束 */x[i]=*ad_adr; /* 存转换结果 */ad_adr++; /* 下一通道 */
}}void main(void){ static uchar idata ad[10];
ad0809(ad); /*采样ADC0809 通道的值 */}
三、 AD574A 与 MCS-51 单片机接口
80C51
AD574A逻辑控制真值表
1、D/A 转换原理、内部结构、信号输出形式 和主要技术指标。2、DAC0832 内部结构、管脚、 3 种工作方 法及其对应接口的特点、电路和应用程序。3、 A/D 转换原理和常用 ADC 芯片。4、 ADC0809 的内部结构及管脚、转换数据 传送方式及其对应接口图和程序。
小 结
应用举例:1 、用 8 位DAC 芯片组成双极性电压输出电路,其参考电
压为 -5V~+5V ,求对应以下偏移码的输出电压:①0100 0000 ②1111 1110
解: VOUT1=-VREF.
VOUT2=-(VREF+2VOUT1)
① VOUT1=-VREF. =-1.25V~+1.25V
VOUT2=-(VREF+2VOUT1) =-2.5V~+2.5V
② VOUT1=-VREF. =-4.96~+4.96V
VOUT2=-(VREF+2VOUT1) =-4.92V~+4.92V
256
254
256
D
256
64
2 、某 12位 A/D 转换器的输入电压为 0 ~+5V ,求出当输入模拟量为下列值时输出的数字量:
①1.25V ②3.75V
解:
①
②
12
)()(
2
5
2
n
REFREF VVq量化单位:
q
VVD
D
V inin
in .5
2
2
5 12
12数字量
HBq
D 400000100000000102425.1
即
HCBq
D 00001100000000307275.3
即
3 、某梯度炉温变化范围为 0 ~ 1600℃ ,经温度变送器输出电压为 1 ~ 5V ,再经ADC0809 转换, ADC0809 的输入范围为 0 ~ 5V ,试计算当采样数值为 9BH 时,所对应的梯度炉温是多少?
解: 9BH=155D
04.3255
155)05(0809 xAADC 的输入值
CAx
81615
104.31600,对应梯度炉温
(一)问答题(一)问答题
(二)填空题(二)填空题
(三)选择题(三)选择题
练 习 题