微机系统 第八章 模拟接口
模拟接口:
-1传感器:
一般是指能够进行非电量和电量之间转换的敏感元件。
• 传感器的精度直接影响整个系统的精度。物理量的多样性使得传感器的种类繁多。
• 温度传感器:比如热敏电阻温度传感器,一种半导体感温元件,温度升高时,电阻值减小。
• 湿度传感器:湿度传感器大多利用湿度变化引起其电阻值或电容量变化原理制成
-2多路开关
多到一转换,或者一到多转换
(双向单端8通道多路开关)
实现3选8的转换
-3光电隔离器
(1)当发光二极管有正向电流通过时,即产生红外光,光敏三极管接收光以后便导通。
(2)而当该电流撤去时,发光二极管熄灭,三极管截止
(需要两个电源给输入输出单独供电)
-4:固态继电器
在机械继电器控制中,由于采用电磁吸合方式,在开关瞬间,触点容易产生火花,从而引起干扰。对于交流高压等场合,触点还容易氧化,因而影响系统的可靠性。
固态继电器(简称SSR)用晶体管或可控硅代替机械继电器的触点开关,在前级把光电隔离器融为一体,因此,固态继电器实际上是一种带光电隔离器的无触点开关
D/A转换
把数字量信号转换成模拟量信号
经常使用:加权电阻网,T型电阻网
方法
-1:加权电阻网D/A转换
就是用一个二进制数字的每一位代码产生一个与其相应权成正比的电压(或电流),然后将这些电压(或电流)叠加起来,就可得到该二进制数所对应的模拟量电压(或电流)信号
-2T 型电阻网 D/A 转换
-2-1:组成:
(1)输入数据控制的开关组;
(2)R-2R电阻网络;
(3)由运算放大器构成的电流-电压转换电路。
• 这种转换方法与加权电阻网络法的主要区别在于电阻求和网络的形式不同,它采用分流原理来实现对相应数字位的转换。
• 电路中全部电阻是R和2R两种,阻值通常在100欧姆到1000欧姆之间,整个电路是由相同的电路环节组成的。
• 每一节电路有两个电阻,一个开关,这一节电路就相当于二进制数的一个位,每一节电路的开关就由二进制数相应的代码来控制,因为电阻是按T型结构来连接的,所以称为T型电阻网
根据图,我们一个一个来看
每到一个分支节点,就会进行一次分流,每次都是分出的1/2
所以输出的电流Iout就是每个开关连接1之后的所有电流求和
再看电压,V=R*Iout=-E0*N
(这里的E0=Vref/2^8, N=∑2^i * Di)
一般有Vref/2^n = Vout/N
-2 D/A主要计数指标:
分辨率:当输入数字发生单位数码变化时,即LSB位产生一次变化时,所对应输出模拟量(电压或电流)的变化量。实际上,分辨率是反映了输出模拟量的最小变化量。
-3:8 位 D/A 转换器 DAC0832
-1特点:
• 8位分辨率
• 电流型输出
• 外接参考电压-10V~+10V
• 可采用双缓冲、单缓冲或直接输入三种工作方式
• 单电源+5V~+15V
• 电流建立时间1μs
• R-2R T型解码网络
• 数字输入与TTL兼容
-2:结构
注意,这里的D/A转换器的有一个R电阻是需要外接的
应用:
设定DAC 0832的地址为78H。当CPU送出00H~0FFH数据,经DAC 0832转换VOUT为0~+5V的模拟电压送至现场执行机构
方波发生器程序段:
锯齿波发生器程序段
A2实现延时功能
三角波发生器
从0(输出)->0,(256次) ->减两次-->254(输出)->0(减到0) 一直循环
DAC0832的典例:
DAC0832 的典型连接是单极性单缓冲连接,图中 DAC0832 的端口地址为 80H ~ 83H ,使用“OUT 80H , AL” 命令将 AL 中的数据输出
将从2000H开始的50个字节单元数据依次送到DAC 0832输出,每个数据输出间隔时间为1ms,可调用D1ms延时1ms子程序
-4:12位D/A转换器DAC1210
特性:
• 12位分辨率
• 电流型输出
• 外接参考电压-10V~+10V
• 可采用双缓冲、单缓冲或直接输入三种工作方式
• 单电源+5V~+15V
• 电流建立时间1μs
• R-2R T型解码网络
• 线性误差0.05%FS(FS为满量程)
• 数字输入与TTL兼容
A/D转换
常用:计数式、逐次逼近式、双积分式
• 计数式A/D转换器:最简单,但转换速度很低。
• 逐次逼近式A/D转换器:速度较高,比较简单,价格适中,各种指标比较适中,是微型机应用系统中最常用的外围接口电路。
• 双积分式A/D转换器:精度高,抗干扰能力强,但速度低,一般应用在要求精度高而速度不高的场合,例如仪器仪表等。
-1:基本过程:
原始模拟信号-->采样离散信号->量化数字信号
-采样:将模拟量变换为离散量,一般包括采样与保持两个步骤。
-量化:将离散量变换成数字量,一般包括量化与编码两个步骤。
-采样定理:对一个有限频谱(ω <+ω max)的连续信号进行采样,当采样频率f≥2fmax时(fmax是输入模拟信号的最高频率),则采样输出信号能无失真地恢复到原来的连续信号。
逐次逼近式A/D转换
将被测电压和由D/A转换生成的电压进行比较(大于为1,小于等于为0),用对分搜索的方法来逐次逼近被测电压。
主要指标:
• 分辨率:表明了能够分辨最小的量化信号的能力。它是输出数字量变化一个相邻数码所需输入模拟电压的变化量,即数字输出的最低有效位(LSB)[多小我才能够有反应]所对应的模拟输入电平值。
• 转换时间:指ADC完成一次转换所需的时间,即从启动信号开始到转换结束并得到稳定的数字输出量所需的时间。通常为微秒级。一般约定,转换时间大于1ms的为低速,1ms~1µs的为中速,小于1µs的为高速,小于1ns的为超高速。转换时间的倒数称为转换速率。例如ADC 0809的转换时间为100μs,则转换速率为每秒1万次。
• 量程:指ADC所能转换的输入电压范围
-8 位 A/D 转换器 ADC0809
特性:
• 8位分辨率,无漏码
• 电压输入0~+5V
• 转换时间100μs(640KHz条件)
• 时钟频率100KHz~1280KHz,标准时钟为640KHz
• 单一电源+5V
• 8路单端模拟量输入通道
• 参考电压+5V
• 总的不可调误差土1LSB
• 温度范围-40℃~+85℃,功耗低15mW
• 不需进行零点调整和满量程调整
• 可锁存的三态输出,输出与TTL电路兼容
结构:(逐次逼近原理)
--ADC0809与CPU的接口方法
A/D转换器与CPU的数据传送控制方式通常有3种:
等待方式,查询方式,中断方式
=等待方式:
在向A/D转换器发出启动指令后,进行软件延时(等待),此延时时间取决于A/D转换器完成A/D转换所需要的时间(如ADC 0809在640KHz时为100μs),经过延时后才可读入A/D转换数据。
• 在这种方式中,有时为了确保转换完成,不得不把延时时间适当延长,因此,比查询方式转换速度慢,但对硬件接口要求较低,可视系统CPU紧张程度选用
查询方式
就是先选通模拟量输入通道,发出启动A/D转换的信号,然后用程序查看EOC状态,若EOC=1,则表示A/D转换已结束,可以读入数据;若EOC=0,则说明A/D转换器正在转换过程中,应继续查询,直到EOC=1为止。
查询方式接口设计
采用查询方式,对现场8路模拟量输入信号循环采集一次,其数据存入数据缓冲区中
DATA SEGMENT
COUNT DB 00H ;采样次数
NUMBER DB 00H ;通道号
ADCBUF DB 8 DUP(?) ;采样数据缓冲区
DATA ENDS
ADCC EQU 84H ;A/D控制口地址
ADCS EQU 88H ;A/D状态口地址
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV BX,OFFSET ADCBUF ;设置A/D缓冲区
MOV CL,COUNT ;设置采样次数
MOV DL,NUMBER ;设置通道号
A1: MOV AL,DL
OUT ADDC,AL ;启动ADC 0809相应通道
A2: IN AL,ADCS ;读取状态口
TEST AL,80H ;析取EOC
JNZ A2 ;EOC≠0,ADC 0809未开始转换,等待
//开始了
A3: IN AL,ADCS
TEST AL,80H
JZ A3 ;EOC≠1,ADC 0809未转换完成,等待
//还在传
IN AL,ADCC ;读数据
MOV [BX],AL
INC BX ;指向下一个数据缓冲单元
INC DL ;指向下一个通道
INC CL ;采样次数加1
CMP CL,08H
JNZ A1
MOV AX,4C00H
INT 21H
CODE ENDS
END START
中断方式:
在这种方式中,CPU启动A/D转换后,即可转而处理其它事情。一旦A/D转换结束,则由A/D转换器发出转换结束信号
中断方式不需花费等待时间,但若中断后,保护现场、恢复现场等一系列操作过于繁锁,所占用的时间和A/D转换的时间相当,则中断方式就失去了它的优越性
12 位 A/D 转换器 AD574
特性:
• 12位分辨率
• 转换时间25μs(12位)、16μs(8位)
• 单通道模拟电压输入,无漏码
• 采用逐次逼近式原理
• 单极性电压输入0~10V、0~20V
• 双极性电压输入土5V、士10V
• 芯片内部具有稳定为10.00V士0.1V(max)的参考电压,片内具有输出三态缓冲器
-4:采样保持器
在对模拟信号进行采集与处理时,尽管A/D转换电路的速度很快,但是进行一次转换总需要一定的时间,在这一段时间内,要求被测信号保持不变,这就需要对被测信号进行采样和保持工作
优点:当转换快速变化的模拟信号时,采样保持器能够有效地减小孔径误差
--原理:
由控制信号来控制采样工作或保持工作(电容来保持)
主要指标:
采集时间 :从采样开始到输出稳定所需要的时间。一般以采样保持器输出跟踪一个跳变10V的输入模拟电压时,从采样开始到输出电压与输入电压相差0.01%所需要的时间定义为采集时间。
下跌率(衰减率):在保持阶段电容的放电速度,以伏/秒表示,这是由于开关的漏电流及保持电容的其它泄漏通路造成的。一般保持电容的选择应折衷地考虑采集时间和下跌率
LF398采样保持器
题目:
ADC0809的输入电压范围为0~5V、参考电压Vref+为5V, Vref-为0V。当CPU接收到的ADC0809数字量为32时,外部输入到ADC0809的电压是多少伏?
5/256 = V/32 , V = 32*5/256 = 5/8 = 0.125V
Vref/2^n = Vout/N
DAC0832的参考电压Vref为3V, 经过运算放大器后的输出电压范围为0~3V,若送到DAC0832的数字量是128,DAC0832输出电压是多少伏?
3/256 = V/128, V = 128*3/256 = 1.5V
Vref/2^n = Vout/N
8位DAC采用单极性输出,参考电压Vref为5V,输出电压范围为0V~+5V。假设运行如下程序,试画出DAC输出的电压波型,并在图上标出最大峰值电压和周期值。
org 100h
mov dx, PORT_DAC ; DAC端口地址
st: mov al, 0
nxt: out dx, al
inc al
call delay_1ms ; 延时1毫秒
cmp al, 80h
jbe nxt
jmp st
ret
答:
峰值电压= 5V*80H/256 = 5V*128/256 = 2.5V
每个周期输出0到80H, 共129个值,每个周期约等于1ms, 则周期为129*1ms = 129ms
DAC0832采用单极输出,参考电压Vref为5V,输出电压范围为0V~+5V。假设要输出如下图所示的方波,需要交替写入到DAC0832的数字量是哪两个数字量?交替写入DAC0832两个数字量之间的软件延时子程序的延时是什么毫秒?
3.125=5*N/256
交替输出0和160(0A0H),
1/2T
间隔 = (1/100)(1/2)秒 = 5ms
A/D和D/A转换器在微机应用中起什么作用?
A/D 转换器(模拟→数字)
- 功能:将连续模拟信号(如电压、温度、压力)转换为离散数字信号,供微机处理。
D/A 转换器(数字→模拟)
- 功能:将微机输出的数字信号转换为模拟信号,驱动外部设备(如电机、示波器)
为什么DAC 0832特别适用于多个模拟量同时输出的场合?其工作过程如何?
- 双缓冲寄存器结构:包含输入锁存器和 DAC 寄存器,支持 “先锁存数据,再同步转换”。
- 多通道同步控制:多个 DAC0832 可各自锁存数据,通过控制信号同时触发转换,实现多模拟量同步输出。
简述采样定理。
当采样的频率f>=2倍的信号最高频率,我们就认为我们可以无失真的恢复原来的信号
采样/保持器有什么作用?
简述A/D转换的基本过程。
原始模拟信号-->采样离散信号->量化数字信号
ADC0809的输入电压=5V、参考电压=5V,当CPU接收到的ADC0809数字量为32时,外部输入到ADC0809的电压是多少伏。
Vout = N * Vref /2^8
5/256 = V/32 , V = 32*5/256 = 5/8 = 0.125V
A/D转换接口中采样保持电路的作用是什么?省略采样保持电路的前提条件是什么?
A/D转换接口中采样保持电路的作用是:能把一个时间边续的信号变换为时间离散的信号,并将采样信号保持一段时间。
当外接模拟信号的变化速度相对于A/D转换速度来说足够慢,在转换期间可视为直流信号的情况下,可以省略采样保持电路。