1
第 8章模拟量的输入输出
2
主要内容:
模拟量输入输出通道的组成
D/A转换器的工作原理、连接及编程
A/D转换器的工作原理、连接及编程
3
§ 8.1模拟量输入输出通道模拟量 I/O接口的作用:
实际工业生产环境 ——连续变化的模拟量
例如:电压、电流、压力、温度、位移、流量
计算机内部 ——离散的数字量
二进制数、十进制数
工业生产过程的闭环控制
4
模拟量 I/O接口的作用:
模拟量
D/A传感器 执行元件A/D
数字量 数字量 模拟量模拟量输入
(数据采集 )
模拟量输出
(过程控制 )
计算机
5
模拟量 I/O通道的组成:
模拟接口电路的任务模拟电路的任务
00101101
10101100工业生产过程传感器放大滤波多路转换
&
采样保持
A/D
转换放大驱动
D/A
转换输出接口微型计算机执行机构输入接口物理量变换信号处理信号变换
I/O
接口输入通道输出通道
6
模拟量的输入通道
传感器( Transducer)
非电量 → 电压、电流
变送器( Transformer)
转换成标准的电信号
信号处理( Signal Processing)
放大、整形、滤波
7
模拟量的输入通道
多路转换开关( Multiplexer)
多选一
采样保持电路( Sample Holder,S/H)
保证变换时信号恒定不变
A/D变换器( A/D Converter)
模拟量转换为数字量
8
模拟量的输出通道
D/A变换器( D/A Converter)
数字量转换为模拟量
低通滤波平滑输出波形
放大驱动提供足够的驱动电压,电流
9
§ 8.2 数 /模 ( D/A) 变换器掌握:
D/A变换器的工作原理
D/A变换器的主要技术指标
DAC0832的三种工作模式
DAC0832的应用
10
一,D/A变换器的基本构成模拟开关电阻网络运算放大器权电阻网络
R-2R梯形电阻网络
Vref
Rf
模拟开关电阻网络
VO
数字量 ∑
11
二、基本变换原理
运放的放大倍数足够大时,输出电压 VO
与输入电压 Vin的关系为:
Vin
Rf
VO
∑
R
f
O in
RV = - V
R
12
基本变换原理
若输入端有 n个支路,则输出电压 VO与输入电压 Vi的关系为:
n
0 f i n
i = 1 i
1
V = - R V
R
Vin
Rf
VO
∑
R1
Rn
…
13
基本变换原理
令每个支路的输入电阻为 2iRf,并令 Vin为一基准电压 Vref,则有
nn
0 f r e f r e fii
i = 1 i = 1f
11V = - R V = - V
2 R 2
14
基本变换原理
如果每个支路由一个开关 Si控制,
Si=1表示 Si合上,Si=0表示 Si断开,
则上式变换为
n
0 i r e fi
i = 1
1
V = - S V
2
若 Si=1,该项对 VO有贡献;
若 Si=0,该项对 VO无贡献 对应的电路
15
权电阻网络
2R
4R
8R
16R
32R
64R
128R
256R
Vref
Rf
VO
S1
S2
S3
S4
S5
S6
S7
S8
这里,上式中的 n=8
16
基本变换原理
如果用 8位二进制代码来控制图中的 S1~
S8(Di=1时 Si闭合; Di=0时 Si断开 ),则不同的二进制代码就对应不同输出电压 VO;
当代码在 0~ FFH之间变化时,VO相应地在 0~
-(255/256)Vref之间变化;
为控制电阻网络各支路电阻值的精度,实际的
D/A转换器采用 R-2R梯形电阻网络,它只用两种阻值的电阻 (R和 2R)。
17
R-2R梯形电阻网络
R
f
V
i
V
0
V
r e f
n-1 2 1
0
2R 2R 2R2R
R R R
V
n - 1
V
2
V
1
V
0
2R
+
-
...
18
三、主要技术指标
分辨率( Resolution)
输入的二进制数每 ± 1个最低有效位
(LSB)使输出变化的程度。
可用输入数字量的位数来表示,如 8位、
10位等;也可用一个 LSB使输出变化的程度来表示。
19
分辩率例
一个满量程为 5V的 10位 D/A变换器,± 1
LSB的变化将使输出变化
5/(210-1) = 5/1023
= 0.04888V
= 48.88mV
( LSB-Least Significant Bit)
20
转换精度(误差)
实际输出值与理论值之间的最大偏差
可用最小量化阶 ⊿ 来度量:
⊿= ± 1/2 LSB
也可用满量程的百分比来度量:
如 0.05% FSR
(FSR-Full Scale Range)
21
转换时间
从开始转换到与满量程值相差 ± 1/2 LSB
所对应的模拟量所需要的时间
t
V
1/2 LSB
tC
VFULL
22
四、典型的 D/A转换器 DAC0832
特点:
8位电流输出型 D/A转换器
T型电阻网络
差动输出
23
DAC0832的内部结构输入 D 0
4--7
13--16
19
1
2
18
17
XFER
WR 2
WR 1
CS
ILE
&
≥
1
≥
1
LE1 LE2
R fb
8 位输入寄存器
8 位
DAC
寄存器
8 位
D/A
转换器
V
REF
I OUT2
I OUT1
R fb
A G N D ( 模拟地)
VCC(+5V或 +15V)
20
10
3
9
11
12
8
D A C 0 8 3 2 框图
D G N D (数字地)
数据 D 7
24
主要引脚功能输入寄存器控制信号:
D7~ D0:输入数据线
ILE:输入锁存允许
CS:片选信号
WR1:写输入锁存器
1
2
3
4
5
6
7
8
9
10
20
19
18
17
16
15
14
13
12
11
V CC
ILE
WR 2
XFER
D 4
D 5
D 6
D 7
L OUT2
L OUT1
CS
WR 1
AGND
D 3
D 2
D 1
D 0
V REF
R fb
DGND
DAC0832
25
主要引脚功能用于 DAC寄存器的控制信号:
WR2:写 DAC寄存器
XFER:允许输入锁存器的数据传送到
DAC寄存器
26
主要引脚功能其它引线:
VREF:参考电压。
-10V~ +10V,一般为 +5V或 +10V
IOUT1,IOUT2,D/A转换差动电流输出。
用于连接运算放大器的输入
Rfb:内部反馈电阻引脚,接运放输出
AGND,DGND:模拟地和数字地
27
工作时序
D 0 -- D 7
CS
WR 1
ILE
(高电平)
WR 2
XFER
(模拟输出电流变化)
写输入寄存器写 DAC
寄存器
28
工作模式单缓冲模式双缓冲模式无缓冲模式
29
单缓冲模式
使输入锁存器或 DAC寄存器二者之一处于直通,即芯片只占用一个端口地址。
CPU只需一次写入即开始转换。写入数据的程序为:
MOV DX,PORT
MOV AL,DATA
OUT DX,AL
与系统的连接见教材 p352图
30
双缓冲模式(标准模式)
对输入寄存器和 DAC寄存器均需控制;
当输入寄存器控制信号有效时,数据写入输入寄存器中;再在 DAC寄存器控制信号有效时,
数据才写入 DAC寄存器,并启动变换;
此时芯片占用两个端口地址;
优点:数据接收与 D/A转换可异步进行;
可实现多个 DAC同步转换输出分时写入、同步转换。
31
双缓冲模式同步转换例译码器
A10-A0
0832-1
0832-2
port1
port2
port3
32
MOV AL,data
MOV DX,port1 0832-1的输入寄存器地址
OUT DX,AL
MOV DX,port2 0832-2的输入寄存器地址
OUT DX,AL
MOV DX,port3 DAC寄存器地址
OUT DX,AL
HLT
双缓冲模式的数据写入程序
33
无缓冲器模式
使内部的两个寄存器都处于直通状态。
模拟输出始终跟随输入变化。
不能直接与数据总线连接,需外加并行接口 (如 74LS373,8255等 )。
34
五,D/A转换器的应用信号发生器用于闭环控制系统向 D/A转换器写入某种按规律变化的数据,即可在输出端获得相应的各种波形
35
§ 8.3 模 /数 ( A/D) 转换器掌握:
A/D转换器的一般工作原理;
A/D转换器的主要技术指标;
A/D转换器的应用与系统的连接数据采集程序的编写
36
( A/D) 转换器用途
用于将连续变化的模拟信号转换为数字信号的装置,简称 ADC,是模拟系统与计算机之间的接口部件。
37
( A/D) 转换器类型
计数型 A/D转换器
-------速度慢、价格低,适用于慢速系统
双积分型 A/D转换器
-------分辩率高、抗干扰性好、转换速度慢,适用于中速系统
逐位反馈型 A/D转换器
-------转换精度高、速度快、抗干扰性差
38
一,A/D转换器的工作原理
逐位反馈型 A/D转换器类似天平称重量时的尝试法,逐步用砝码的累积重量去逼近被称物体。
D/A
+
-
V i
比较器逐次变换寄存器S AR
┇
┇ } 数字量输出时序及控制逻辑
…
V C
39
二、主要技术指标
转换精度量化误差非线性误差其它误差
总误差 =各误差的均方根
40
量化间隔
一个最低有效位对应的模拟量,即
△ =Vmax /( 2n-1)
例:某 8位 ADC的满量程电压为 5V,则其分辨率为:
5V/255=19.6mV
41
量化误差
绝对量化误差 =1/2 △
相对量化误差 =( 1/2) х 1LSB х 100%
例:
设满量程电压 =10V,A/D变换器位数 =10位,
则:
绝对量化误差 ≈ 10/211 = 4.88mV
相对量化误差 ≈ 1/211 *100% = 0.049%
42
转换时间
实现一次转换需要的时间。精度越高
(字长越长),转换速度越慢。
43
输入动态范围
允许转换的电压的范围。
如 0~ 5V,0~ 10V等。
44
三、典型的 D/A转换器芯片
ADC0809:
8通道( 8路)输入
8位字长
逐位逼近型
转换时间 100μs
内置三态输出缓冲器
45
主要引脚功能
D7~ D0:输出数据线(三态)
IN0~ IN7,8通道(路)模拟输入
ADDA,ADDB,ADDC:通道地址
ALE:通道地址锁存
START:启动转换
EOC:转换结束状态输出
OE:输出允许(打开输出三态门)
CLK:时钟输入( 10KHz~ 1.2MHz)
46
内部结构
START EOC CLK OE
D7
D0
VREF(+) VREF(-)
ADDC
ADDB
ADDA
ALE
IN0
IN7
比较器
8路模拟开关 逐位逼近寄存器 SAR
树状开关电阻网络三态输出锁存器时序与控制地址锁存及译码
D/A
8
个模拟输入通道
8选 1
47
工作时序启动地址锁存
ADDA--ADDC
ALE/START
EOC
OE
D 0-- D 7
转换时间
48
ADC0809的工作过程由时序图知 ADC0809的工作过程如下:
送通道地址,以选择要转换的模拟输入;
锁存通道地址到内部地址锁存器;
启动 A/D变换;
判断转换是否结束;
读转换结果
49
ADC0809的应用芯片与系统的连接编写相应的数据采集程序
50
芯片与系统的连接模拟输入端 Ini,
单路输入
多路输入单路输入时
ADDC
ADDB
ADDA
IN4
ADC0809
输入多路输入时
ADDC
ADDB
ADDA
IN0
IN1
IN2
IN3
IN4
ADC0809
输入 0
输入 1
输入 2
输入 3
输入 4
CPU指定通道号
+5V
51
通道地址线 ADDA-ADDC的连接
多路输入时,地址线不能接死,要通过一个接口芯片与数据总线连接。 接口芯片可以选用:
简单接口芯片 74LS273,74LS373等(占用一个 I/O地址)
可编程并行接口 8255(占用四个 I/O地址)
ADDC
ADDB
ADDA
IN0
IN1
IN2
IN3
IN4
ADC0809
输入
DB
74LS273
Q2
Q1
Q0CP
来自 I/O
译码
D0-D7
ADDC
ADDB
ADDA
IN0
IN1
IN2
IN3
IN4
ADC0809
DB
8255
PB2
PB1
PB0CS#
来自 I/O
译码
D0-D7
A1
A0
A1
A0
52
数据输出线 D0-D7的连接
可直接连到 DB上,或通过另外一个输入接口与 DB相连;
两种方法均需占用一个 I/O地址
D0-D7
ADC0809
DB
OE来自 I/O译码
D0-D7
ADC0809
DB
OE
来自 I/O
译码直接连 DB 通过输入接口连 DB
74LS244
+5V
DIDO
E1#
E2#
53
ALE和 START端的连接
独立连接,用两个信号分别进行控制 —— 需占用两个 I/O
端口或两个 I/O线;
统一连接,用一个脉冲信号的上升沿进行地址锁存,下降沿实现启动转换 —— 只需占用一个 I/O端口或一个 I/O线。
ADC0809
ALE
START
独立连接来自 I/O
译码 1
来自 I/O
译码 2
ADC0809
ALE
START
统一连接来自 I/O
译码
54
判断转换结束的方法
软件延时等待(比如延时 1ms),此时不用 EOC
信号 ------CPU效率最低
软件查询 EOC状态
把 EOC作为中断申请信号,接到 8259的 IR端
在中断服务程序中读入转换结果,效率高
EOC通过一个三态门连到数据总线的某个 D端三态门占用一个 I/O端口地址
CPU效率低
55
ADC0809与系统的连接例
D0
IN0
A15--A0
IOR
IOW
D7--D0 D7-D0
EOC
OE
START
ALE
ADDC
ADDB
ADDA
译码器
ADC0809
56
判断转换结束的程序用延时等待的方法
……
MOV DX,start_port
OUT DX,AL ;启动转换
CALL DELAY_1MS ;延时 1ms
MOV DX,oe_port
IN AL,DX ;读入结果
……
57
判断转换结束的程序用查询 EOC状态的方法
……
MOV DX,start_port
OUT DX,AL ;启动转换
LL,MOV DX,eoc_port
IN AL,DX
AND AL,01H ;测试 EOC状态
JZ LL
MOV DX,oe_port
IN AL,DX ;读入结果
……
58
数据采集程序流程初始化送通道地址送 ALE信号送 START信号读 EOC状态送读允许 OE信号
EOC=1?
读转换结果采集结束否?
N
Y
结 束
Y
送下一路通道地址 ( 1)
( 1)
N
59
作业:
8.5
8.7
8.8
8.13
8.14
第 8章模拟量的输入输出
2
主要内容:
模拟量输入输出通道的组成
D/A转换器的工作原理、连接及编程
A/D转换器的工作原理、连接及编程
3
§ 8.1模拟量输入输出通道模拟量 I/O接口的作用:
实际工业生产环境 ——连续变化的模拟量
例如:电压、电流、压力、温度、位移、流量
计算机内部 ——离散的数字量
二进制数、十进制数
工业生产过程的闭环控制
4
模拟量 I/O接口的作用:
模拟量
D/A传感器 执行元件A/D
数字量 数字量 模拟量模拟量输入
(数据采集 )
模拟量输出
(过程控制 )
计算机
5
模拟量 I/O通道的组成:
模拟接口电路的任务模拟电路的任务
00101101
10101100工业生产过程传感器放大滤波多路转换
&
采样保持
A/D
转换放大驱动
D/A
转换输出接口微型计算机执行机构输入接口物理量变换信号处理信号变换
I/O
接口输入通道输出通道
6
模拟量的输入通道
传感器( Transducer)
非电量 → 电压、电流
变送器( Transformer)
转换成标准的电信号
信号处理( Signal Processing)
放大、整形、滤波
7
模拟量的输入通道
多路转换开关( Multiplexer)
多选一
采样保持电路( Sample Holder,S/H)
保证变换时信号恒定不变
A/D变换器( A/D Converter)
模拟量转换为数字量
8
模拟量的输出通道
D/A变换器( D/A Converter)
数字量转换为模拟量
低通滤波平滑输出波形
放大驱动提供足够的驱动电压,电流
9
§ 8.2 数 /模 ( D/A) 变换器掌握:
D/A变换器的工作原理
D/A变换器的主要技术指标
DAC0832的三种工作模式
DAC0832的应用
10
一,D/A变换器的基本构成模拟开关电阻网络运算放大器权电阻网络
R-2R梯形电阻网络
Vref
Rf
模拟开关电阻网络
VO
数字量 ∑
11
二、基本变换原理
运放的放大倍数足够大时,输出电压 VO
与输入电压 Vin的关系为:
Vin
Rf
VO
∑
R
f
O in
RV = - V
R
12
基本变换原理
若输入端有 n个支路,则输出电压 VO与输入电压 Vi的关系为:
n
0 f i n
i = 1 i
1
V = - R V
R
Vin
Rf
VO
∑
R1
Rn
…
13
基本变换原理
令每个支路的输入电阻为 2iRf,并令 Vin为一基准电压 Vref,则有
nn
0 f r e f r e fii
i = 1 i = 1f
11V = - R V = - V
2 R 2
14
基本变换原理
如果每个支路由一个开关 Si控制,
Si=1表示 Si合上,Si=0表示 Si断开,
则上式变换为
n
0 i r e fi
i = 1
1
V = - S V
2
若 Si=1,该项对 VO有贡献;
若 Si=0,该项对 VO无贡献 对应的电路
15
权电阻网络
2R
4R
8R
16R
32R
64R
128R
256R
Vref
Rf
VO
S1
S2
S3
S4
S5
S6
S7
S8
这里,上式中的 n=8
16
基本变换原理
如果用 8位二进制代码来控制图中的 S1~
S8(Di=1时 Si闭合; Di=0时 Si断开 ),则不同的二进制代码就对应不同输出电压 VO;
当代码在 0~ FFH之间变化时,VO相应地在 0~
-(255/256)Vref之间变化;
为控制电阻网络各支路电阻值的精度,实际的
D/A转换器采用 R-2R梯形电阻网络,它只用两种阻值的电阻 (R和 2R)。
17
R-2R梯形电阻网络
R
f
V
i
V
0
V
r e f
n-1 2 1
0
2R 2R 2R2R
R R R
V
n - 1
V
2
V
1
V
0
2R
+
-
...
18
三、主要技术指标
分辨率( Resolution)
输入的二进制数每 ± 1个最低有效位
(LSB)使输出变化的程度。
可用输入数字量的位数来表示,如 8位、
10位等;也可用一个 LSB使输出变化的程度来表示。
19
分辩率例
一个满量程为 5V的 10位 D/A变换器,± 1
LSB的变化将使输出变化
5/(210-1) = 5/1023
= 0.04888V
= 48.88mV
( LSB-Least Significant Bit)
20
转换精度(误差)
实际输出值与理论值之间的最大偏差
可用最小量化阶 ⊿ 来度量:
⊿= ± 1/2 LSB
也可用满量程的百分比来度量:
如 0.05% FSR
(FSR-Full Scale Range)
21
转换时间
从开始转换到与满量程值相差 ± 1/2 LSB
所对应的模拟量所需要的时间
t
V
1/2 LSB
tC
VFULL
22
四、典型的 D/A转换器 DAC0832
特点:
8位电流输出型 D/A转换器
T型电阻网络
差动输出
23
DAC0832的内部结构输入 D 0
4--7
13--16
19
1
2
18
17
XFER
WR 2
WR 1
CS
ILE
&
≥
1
≥
1
LE1 LE2
R fb
8 位输入寄存器
8 位
DAC
寄存器
8 位
D/A
转换器
V
REF
I OUT2
I OUT1
R fb
A G N D ( 模拟地)
VCC(+5V或 +15V)
20
10
3
9
11
12
8
D A C 0 8 3 2 框图
D G N D (数字地)
数据 D 7
24
主要引脚功能输入寄存器控制信号:
D7~ D0:输入数据线
ILE:输入锁存允许
CS:片选信号
WR1:写输入锁存器
1
2
3
4
5
6
7
8
9
10
20
19
18
17
16
15
14
13
12
11
V CC
ILE
WR 2
XFER
D 4
D 5
D 6
D 7
L OUT2
L OUT1
CS
WR 1
AGND
D 3
D 2
D 1
D 0
V REF
R fb
DGND
DAC0832
25
主要引脚功能用于 DAC寄存器的控制信号:
WR2:写 DAC寄存器
XFER:允许输入锁存器的数据传送到
DAC寄存器
26
主要引脚功能其它引线:
VREF:参考电压。
-10V~ +10V,一般为 +5V或 +10V
IOUT1,IOUT2,D/A转换差动电流输出。
用于连接运算放大器的输入
Rfb:内部反馈电阻引脚,接运放输出
AGND,DGND:模拟地和数字地
27
工作时序
D 0 -- D 7
CS
WR 1
ILE
(高电平)
WR 2
XFER
(模拟输出电流变化)
写输入寄存器写 DAC
寄存器
28
工作模式单缓冲模式双缓冲模式无缓冲模式
29
单缓冲模式
使输入锁存器或 DAC寄存器二者之一处于直通,即芯片只占用一个端口地址。
CPU只需一次写入即开始转换。写入数据的程序为:
MOV DX,PORT
MOV AL,DATA
OUT DX,AL
与系统的连接见教材 p352图
30
双缓冲模式(标准模式)
对输入寄存器和 DAC寄存器均需控制;
当输入寄存器控制信号有效时,数据写入输入寄存器中;再在 DAC寄存器控制信号有效时,
数据才写入 DAC寄存器,并启动变换;
此时芯片占用两个端口地址;
优点:数据接收与 D/A转换可异步进行;
可实现多个 DAC同步转换输出分时写入、同步转换。
31
双缓冲模式同步转换例译码器
A10-A0
0832-1
0832-2
port1
port2
port3
32
MOV AL,data
MOV DX,port1 0832-1的输入寄存器地址
OUT DX,AL
MOV DX,port2 0832-2的输入寄存器地址
OUT DX,AL
MOV DX,port3 DAC寄存器地址
OUT DX,AL
HLT
双缓冲模式的数据写入程序
33
无缓冲器模式
使内部的两个寄存器都处于直通状态。
模拟输出始终跟随输入变化。
不能直接与数据总线连接,需外加并行接口 (如 74LS373,8255等 )。
34
五,D/A转换器的应用信号发生器用于闭环控制系统向 D/A转换器写入某种按规律变化的数据,即可在输出端获得相应的各种波形
35
§ 8.3 模 /数 ( A/D) 转换器掌握:
A/D转换器的一般工作原理;
A/D转换器的主要技术指标;
A/D转换器的应用与系统的连接数据采集程序的编写
36
( A/D) 转换器用途
用于将连续变化的模拟信号转换为数字信号的装置,简称 ADC,是模拟系统与计算机之间的接口部件。
37
( A/D) 转换器类型
计数型 A/D转换器
-------速度慢、价格低,适用于慢速系统
双积分型 A/D转换器
-------分辩率高、抗干扰性好、转换速度慢,适用于中速系统
逐位反馈型 A/D转换器
-------转换精度高、速度快、抗干扰性差
38
一,A/D转换器的工作原理
逐位反馈型 A/D转换器类似天平称重量时的尝试法,逐步用砝码的累积重量去逼近被称物体。
D/A
+
-
V i
比较器逐次变换寄存器S AR
┇
┇ } 数字量输出时序及控制逻辑
…
V C
39
二、主要技术指标
转换精度量化误差非线性误差其它误差
总误差 =各误差的均方根
40
量化间隔
一个最低有效位对应的模拟量,即
△ =Vmax /( 2n-1)
例:某 8位 ADC的满量程电压为 5V,则其分辨率为:
5V/255=19.6mV
41
量化误差
绝对量化误差 =1/2 △
相对量化误差 =( 1/2) х 1LSB х 100%
例:
设满量程电压 =10V,A/D变换器位数 =10位,
则:
绝对量化误差 ≈ 10/211 = 4.88mV
相对量化误差 ≈ 1/211 *100% = 0.049%
42
转换时间
实现一次转换需要的时间。精度越高
(字长越长),转换速度越慢。
43
输入动态范围
允许转换的电压的范围。
如 0~ 5V,0~ 10V等。
44
三、典型的 D/A转换器芯片
ADC0809:
8通道( 8路)输入
8位字长
逐位逼近型
转换时间 100μs
内置三态输出缓冲器
45
主要引脚功能
D7~ D0:输出数据线(三态)
IN0~ IN7,8通道(路)模拟输入
ADDA,ADDB,ADDC:通道地址
ALE:通道地址锁存
START:启动转换
EOC:转换结束状态输出
OE:输出允许(打开输出三态门)
CLK:时钟输入( 10KHz~ 1.2MHz)
46
内部结构
START EOC CLK OE
D7
D0
VREF(+) VREF(-)
ADDC
ADDB
ADDA
ALE
IN0
IN7
比较器
8路模拟开关 逐位逼近寄存器 SAR
树状开关电阻网络三态输出锁存器时序与控制地址锁存及译码
D/A
8
个模拟输入通道
8选 1
47
工作时序启动地址锁存
ADDA--ADDC
ALE/START
EOC
OE
D 0-- D 7
转换时间
48
ADC0809的工作过程由时序图知 ADC0809的工作过程如下:
送通道地址,以选择要转换的模拟输入;
锁存通道地址到内部地址锁存器;
启动 A/D变换;
判断转换是否结束;
读转换结果
49
ADC0809的应用芯片与系统的连接编写相应的数据采集程序
50
芯片与系统的连接模拟输入端 Ini,
单路输入
多路输入单路输入时
ADDC
ADDB
ADDA
IN4
ADC0809
输入多路输入时
ADDC
ADDB
ADDA
IN0
IN1
IN2
IN3
IN4
ADC0809
输入 0
输入 1
输入 2
输入 3
输入 4
CPU指定通道号
+5V
51
通道地址线 ADDA-ADDC的连接
多路输入时,地址线不能接死,要通过一个接口芯片与数据总线连接。 接口芯片可以选用:
简单接口芯片 74LS273,74LS373等(占用一个 I/O地址)
可编程并行接口 8255(占用四个 I/O地址)
ADDC
ADDB
ADDA
IN0
IN1
IN2
IN3
IN4
ADC0809
输入
DB
74LS273
Q2
Q1
Q0CP
来自 I/O
译码
D0-D7
ADDC
ADDB
ADDA
IN0
IN1
IN2
IN3
IN4
ADC0809
DB
8255
PB2
PB1
PB0CS#
来自 I/O
译码
D0-D7
A1
A0
A1
A0
52
数据输出线 D0-D7的连接
可直接连到 DB上,或通过另外一个输入接口与 DB相连;
两种方法均需占用一个 I/O地址
D0-D7
ADC0809
DB
OE来自 I/O译码
D0-D7
ADC0809
DB
OE
来自 I/O
译码直接连 DB 通过输入接口连 DB
74LS244
+5V
DIDO
E1#
E2#
53
ALE和 START端的连接
独立连接,用两个信号分别进行控制 —— 需占用两个 I/O
端口或两个 I/O线;
统一连接,用一个脉冲信号的上升沿进行地址锁存,下降沿实现启动转换 —— 只需占用一个 I/O端口或一个 I/O线。
ADC0809
ALE
START
独立连接来自 I/O
译码 1
来自 I/O
译码 2
ADC0809
ALE
START
统一连接来自 I/O
译码
54
判断转换结束的方法
软件延时等待(比如延时 1ms),此时不用 EOC
信号 ------CPU效率最低
软件查询 EOC状态
把 EOC作为中断申请信号,接到 8259的 IR端
在中断服务程序中读入转换结果,效率高
EOC通过一个三态门连到数据总线的某个 D端三态门占用一个 I/O端口地址
CPU效率低
55
ADC0809与系统的连接例
D0
IN0
A15--A0
IOR
IOW
D7--D0 D7-D0
EOC
OE
START
ALE
ADDC
ADDB
ADDA
译码器
ADC0809
56
判断转换结束的程序用延时等待的方法
……
MOV DX,start_port
OUT DX,AL ;启动转换
CALL DELAY_1MS ;延时 1ms
MOV DX,oe_port
IN AL,DX ;读入结果
……
57
判断转换结束的程序用查询 EOC状态的方法
……
MOV DX,start_port
OUT DX,AL ;启动转换
LL,MOV DX,eoc_port
IN AL,DX
AND AL,01H ;测试 EOC状态
JZ LL
MOV DX,oe_port
IN AL,DX ;读入结果
……
58
数据采集程序流程初始化送通道地址送 ALE信号送 START信号读 EOC状态送读允许 OE信号
EOC=1?
读转换结果采集结束否?
N
Y
结 束
Y
送下一路通道地址 ( 1)
( 1)
N
59
作业:
8.5
8.7
8.8
8.13
8.14