微型计算机原理第6章 模拟量输入输出..
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2. 单缓冲方式
使输入锁存 器或DAC寄存器 二者之一处于直 通。CPU只需一 次写入即开始转 换。控制比较简 单。
3. 直通方式
使内部的两个寄存器都处于直通状态。模拟 输出始终跟随输入变化。 DAC0832数据线不能直接与数据总线连接, 需外加并行接口(如74LS373、8255等)。
(三)DAC0832的输出电路
D/A转换器的应用
函数发生器
只要往D/A转换器写入按规律变化的数据,即可 在输出端获得正弦波、三角波、锯齿波、方波、 阶梯波、梯形波等函数波形。
用不同的数值产生不同的电压,控制电机的转速 其他需要用电压/电流来进行控制的场合
直流电机的转速控制
二、12位D/A转换器 DAC1208
DAC1208系列D/A转换器有DAC1208、DAC1209、 DAC1210三种芯片类型,是与微处理器完全兼容的12位D/A转 换器。其功耗低,输出电流稳定时间为1μs,参考电压范围为10V~+10V,单工作电源范围为+5V~+15V,转换精度较高, 价格低廉,接口简单,目前应用较为广泛。
6.2.3 典型D/A转换器
一、8位D/A转换器DAC0832 特性: 8位电流输出型D/A转换器 T型电阻网络 差动输出
(一)DAC0832内部结构
8 位 输入 13 ~16 寄存 器 4~ 7 8 位 DAC ~ 寄存 器 LE2 8 位 D/A 转换 器 Rfb 8 V REF 12 IOUT2 11 IOUT1 9 3
间接ADC是将模拟电压先转换成中间量,如脉 冲周期T、脉冲频率f、脉冲宽度τ等,再将中间 量变成数字量。常见的有:
单积分式ADC、双积分式ADC,V/F转换式ADC等。
典型的A/D转换器简介
ADC0809
8通道(8路)输入 8位字长 逐位逼近型 转换时间100μs 内置三态输出缓冲器(可直接接到数据总线上)
输出通道
执行 机构 放大 驱动 D/A 转换 输出 接口 00101101
算 机
模拟电路的任务
模拟接口电路的任务
6.2 数/模(D/A)变换器
6.2.1 D/A变换器的基本原理及技术指标
D/A变换器的基本工作原理
组成:模拟开关、电阻网络、运算放大器 两种电阻网络:权电阻网络、R-2R T型电阻网络 Rf 基本结构如图:
第6章 模拟量的输入输出
本章内容
模拟量输入输出通道的组成 D/A转换器
原理及连接使用方法
A/D转换器
原理及连接使用方法
概述
模拟量I/O接口的作用:
实际工业生产环境——连续变化的模拟量
例如:电压、电流、压力、温度、位移、流量
计算机内部——离散的数字量
二进制数、十进制数
工业生产过程的闭环控制
6.3 模/数(A/D)转换器
用途
将连续变化的模拟信号转换为数字信号,以便 于计算机进行处理。 常用于数据采集系统或数字化声音。
A/D转换器的分类
根据A/D转换原理和特点的不同,可把ADC 分成两大类:直接ADC和间接ADC。
直接ADC是将模拟电压直接转换成数字量,常用 的有:
逐次逼近式ADC、计数式ADC、并行转换式ADC等。
模拟开关 电阻网络
数字量
∑
VO Vref
1 权电阻网络型D/A转换器工作原理
2R
S1 4R 8R 16 R 32 R 64 R 128 R 256 R
Rf
S2
S3 S4
Vref
S5
S6 S7 S8
VO
D7~D0
图中的电阻网络就称为权电阻网络
V0
R
Rf
VREF
如果每个支路由一个开关Si控制,Si=1表示Si合上, Si=0表示Si断开,则上式变换为
一个连接实例(用查询方式)
ADC0809
D7-D0 D0
D7-D0
IN0
模拟信号输入
EOC A15-A0 IOR IOW
译 码 器
OE START ALE ADDC ADDB ADDA
进行一次A/D转换的程序(以上图为例)
用查询EOC状态的方法
…… MOV DX, start_port OUT DX, AL ;启动转换 LL: MOV DX, eoc_port IN AL, DX ;读入EOC状态 AND AL, 01H ;测试第0位(EOC状态位) JZ LL ;未转换完,则循环检测 MOV DX, oe_port IN AL, DX ;读入结果 ……
8
2
T型电阻网ቤተ መጻሕፍቲ ባይዱD/A转换器
Rf n-1 2 1 0
Vi
+
V0 O
DN-1~D0
2R Vref Vn-1 R
…
2R R V2
2R R V1
2R 2R V0
对于8位D / A转换器 VREF VREF VREF V0 IR f ( D7 D6 8 D0 ) R f 2R 4R 2 R VREF R f D7 D6 D0 ( 0 1 7 ) 2R 2 2 2
3. 中断方式:CPU启动A/D转换后即可转而处理其 他的程序,一旦A/D转换结束,则由A/D转换器发 出一转换结束信号向CPU申请中断,CPU响应中断 后,便读入数据。 采用中断方式时,转换结束信号EOC通常与计 算机的外部中断引脚连接。 在中断方式中,应为A/D设计二个端口:启动 命令口(输出口)、数据口(输入口)。 CPU与A/D转换器是并行工作的,因此,其 工作效率高。在多回路数据采集系统中一般采用中 断方式。
MOV AL,X MOV DX,port1 OUT DX,AL MOV AL,Y MOV DX,port2 OUT DX,AL MOV DX,port3 OUT DX,AL HLT
; 要转换的数据送AL ; 0832-1的输入寄存器地址送DX ; 数据送0832-1的输入寄存器 ; 要转换的数据送AL ; 0832-2输入寄存器地址送DX ; 数据送0832-2的输入寄存器 ; DAC寄存器端口地址送DX ; 数据送DAC寄存器,并启动同步转换
≥1
输入数据 D0~ D7 ILE 19 CS WR1 WR2 18 XFER 17 1 2
&
LE1
Rfb AGND(模拟地)
20 VCC(+5V或+15V)
≥1
10 DAC0832框图
DGND(数字地)
引脚功能
D7~D0:输入数据线 ILE:输入锁存允许 CS:片选信号 WR1:写输入锁存器
用于把数据写入到输入锁存器
WR2:写DAC寄存器 XFER:允许输入锁存器的数据传送到DAC寄存器 上述二个信号用于启动转换 VREF:参考电压,-10V~+10V,一般为+5V或+10V IOUT1、IOUT2:D/A转换差动电流输出,接运放的输入 Rfb:内部反馈电阻引脚,接运放输出 AGND、DGND:模拟地和数字地
DAC1208与CPU的接口地址为: 0202H ,0203H,0204H A9 A8 A 7 A6 A5 A4 A3 A2 A1 A 0 1 0 0 - - - 0 0 1 0 8位寄存器 1 0 0 - - - 0 0 1 1 4位寄存器 1 0 0 - - - 0 1 0 0 12位寄存器
这种方法,应为A/D设计三种接口:启动命令口(输出 口)、状态口(输入口)和数据口(输入口)
该方案程序设计比较简单,且可靠性高,但实时性差。 但由于大多数控制系统对于这点时间都是允许的,所以, 这种方法用得最多。
2. 延时方式:向A/D发出启动脉冲后,先进行 软件延时,此延时时间取决于A/D转换器完 成A/D转换所需要的时间(如ADC0809约 为100μs),经过延时后可读取数据。 采用延时方式时,转换结束引脚悬空。 在这种方式中,应为A/D设计二个接口 :启 动命令口(输出口)、数据口(输入口)。 为了确保转换完成,必须把时间适当延 长,因此,其速度比查询方式还慢,故应用 较少。
引脚功能
D7~D0:输出数据线(三态) IN0~IN7:8通道(路)模拟输入 ADDA、ADDB、ADDC:通道地址(通道选择) ALE:通道地址锁存 START:启动转换 EOC:转换结束,可用于查询或作为中断申请 OE:输出允许(打开输出三态门) CLK:时钟输入(10KHz~1.2MHz) VREF(+)、VREF(-):基准参考电压
模拟量
传感器
A/D
数字量
计算机
数字量
D/A
模拟量
执行元件
模拟量输入 (数据采集)
模拟量输出 (过程控制)
6.1 模拟量I/O通道的组成
输入通道
工 业 生 传 感 器 放大 滤波 多路转换 & 采样保持
A/D 转换
输入 接口
10101100
微
型 计
产
过 程
物理量 变换
信号 处理
信号 变换
I/O 接口
编程将BX寄存器中低12位数据送DAC1208转换成模拟量。 MOV DX, 0202H MOV CL ,4 SHL BX ,CL MOV AL ,BH OUT DX ,AL MOV DX ,0203H MOV AL, BL OUT DX ,AL MOV DX ,0204H OUT DX ,AL HLT
工作时序
ADDA
~
ADDC
①
ALE/START EOC
地址 ② 锁存
③
启动
④
OE D0
~
转换时间
⑤
D7
ADC0809的工作过程
根据时序图,ADC0809的工作过程如下:
①把通道地址送到ADDA~ADDC上,选择某一 个模拟输入量; ②在通道地址信号有效期间,ALE上的上升沿使 该地址锁存到内部地址锁存器; ③START引脚上的下降沿启动A/D变换; ④变换开始后,EOC引脚呈现低电平, EOC重 新变为高电平时表示转换结束; ⑤OE信号打开输出锁存器的三态门送出结果 。
A/D转换器与计算机总线的硬件接口有3种方式:查询 方式、延时方式和中断方式。
1.查询方式:首先由CPU向A/D转换器发出启动脉冲,然后读 取转换结束信号(如ADC0809的EOC),根据转换结束信 号的状态,判断A/D转换是否结束,如果结束,可以读取 A/D转换结果,否则继续查询,直至A/D转换结束。
Si V0 VREF i R i 1 2
Rf
n
若Si=1,该项对VO有贡献 若Si=0,该项对VO无贡献
对于8位的D/A转换器
Si V0 VREF i R i 1 2 Rf S8 S 7 S1 VREF ( 8 7 ) R 2 2 2 Rf D7 D6 D0 VREF ( 8 7 ) R 2 2 2 Rf D7 D6 D0 VRET ( 7 6 0 ) 2R 2 2 2 Rf
ADC0809内部结构
START EOC CLK OE
8 个 模 拟 输 入 通 道
IN7 8路模 拟开 8选1 关 IN0
时序与控制
逐位逼近寄存器 SAR
D7 三态 输出 锁存 器
比较器
ADDC ADDB ADDA
ALE
地址 锁存 及 译码
树状开关 D/A 电阻网络
D0
VREF(+)
VREF(-)
D/A转换可分为两个阶段: CS=0、WR1=0、ILE=1,使输入数据锁存 到输入寄存器; WR2=0、XFER=0,数据传送到DAC寄存器, 并开始转换。
(二)DAC0832与系统的连接
1. 双缓冲方式(标准方式)
转换要有两个步骤: 将数据写入输入寄存器CS=0、 WR1=0、ILE=1 将输入寄存器的内容写入 DAC寄存器 WR2=0、XFER=0 优点: 可实现多个DAC同步转换输 出——分时写入、同步转换
1. 单极性输出电路
2.双极性输出电路
(四) 双缓冲方式——同步转换举例
port1 0832-1
A10-A0 译码器 port2 0832-2
port3
双缓冲方式的程序段示例
本例中三个端口地址的用途:
port1 选择0832-1的输入寄存器 port2 选择0832-2的输入寄存器 port3 选择0832-1和0832-2的DAC寄存器
由于DAC1208是12位数据总线,对于8088CPU8位 数据总线,需分两次从CPU送出。 所以,DAC1208与8088CPU总线连接,只可连接成 双缓冲器方式。 数据的操作必须分为3步进行,首先将高8位数据写入8 位输入锁存器,然后将低4位数据写入4位输入锁存器,最 后将12位数据从输入锁存器中写入12位DAC寄存器,将12 位转换数据送往DAC1208接口电路进行D/A转换。