微机原理第数模转换与模数转换接口.ppt

上传人:本田雅阁 文档编号:3195709 上传时间:2019-07-29 格式:PPT 页数:43 大小:460.51KB
返回 下载 相关 举报
微机原理第数模转换与模数转换接口.ppt_第1页
第1页 / 共43页
微机原理第数模转换与模数转换接口.ppt_第2页
第2页 / 共43页
微机原理第数模转换与模数转换接口.ppt_第3页
第3页 / 共43页
微机原理第数模转换与模数转换接口.ppt_第4页
第4页 / 共43页
微机原理第数模转换与模数转换接口.ppt_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《微机原理第数模转换与模数转换接口.ppt》由会员分享,可在线阅读,更多相关《微机原理第数模转换与模数转换接口.ppt(43页珍藏版)》请在三一文库上搜索。

1、第12章 数模转换与模数转换接口,12.1 D/A转换器接口 12.2 A/D转换器接口,本章重点,如何把D/A和A/D转换的芯片与CPU进行接口 用CPU控制这些转换的软件编程如何实现,模拟量,D/A,传感器,执行元件,A/D,数字量,数字量,模拟量,模拟量输入 (数据采集),模拟量输出 (过程控制),计算机,实际工业生产环境连续变化的模拟量 例如:电压、电流、压力、温度、位移、流量 计算机内部离散的数字量 二进制数、十进制数,模拟量I/O通道的组成:,12.1 D/A转换器接口,DAC的性能指标 分辨率 DAC所能分辨的最小电压增量。它反映了DAC对微小输入量变化的敏感性。分辨率的高低通常

2、用二进制输入量的位数来表示,例如分辨率是8位、10位、12位等。有时,也用最小输出电压与最大输出电压之比的百分数来表示。对于一个n位DAC,其分辨率为:1/2n-1。,转换精度 用最大的静态转换误差的形式表示,这个转换误差应包括非线性误差、比例系数误差以及漂移误差等综合误差,它反映了实际输出电压与理论输出电压之间的接近程度。 转换时间 DAC的输入数字量有满刻度值的变化时,其输出模拟信号电压达到满刻度值1/2LSB(最低有效位)时所需要的时间。,线性度 通常用非线性误差的大小表示DAC的线性度。在D/A转换时,若数据连续转换,则输出的模拟量应该是线性的。即在理想情况下,DAC的转换特性应是线性

3、的,实际转换中,把理想的输入输出特性的偏差与满刻度输入之比的百分数,称为非线性误差。 输出电平 不同型号的D/A转换器件的输出电平相差较大。一般为5V10V,有的高压输出型的输出电平则高达24V30V。,基本变换原理,如果用8位二进制代码来控制图中的S1S8(Di=1时Si闭合;Di=0时Si断开),则不同的二进制代码就对应不同输出电压VO; 当代码在0FFH之间变化时,VO相应地在0-(255/256)Vref之间变化;,12.1 CPU与8位D/A芯片的接口,补充:8位D/A转换器DAC0832,主要引脚功能,输入寄存器控制信号: D7D0:输入数据线 ILE:输入锁存允许 CS:片选信号

4、 WR1:写输入锁存器,用于DAC寄存器的控制信号: WR2:写DAC寄存器 XFER:允许输入锁存器的数据传送到DAC寄存器,其它引线: VREF:参考电压。 -10V+10V,一般为+5V或+10V IOUT1、IOUT2:D/A转换差动电流输出。 用于连接运算放大器的输入 Rfb:内部反馈电阻引脚,接运放输出 AGND、DGND:模拟地和数字地,工作模式,单缓冲模式 双缓冲模式 无缓冲模式,单缓冲模式,使输入锁存器或DAC寄存器二者之一处于直通,即芯片只占用一个端口地址。 CPU只需一次写入即开始转换。写入数据的程序为: MOV DX,PORT MOV AL,DATA OUT DX,AL

5、,双缓冲模式(标准模式),对输入寄存器和DAC寄存器均需控制; 当输入寄存器控制信号有效时,数据写入输入寄存器中;再在DAC寄存器控制信号有效时,数据才写入DAC寄存器,并启动变换; 此时芯片占用两个端口地址; 优点:数据接收与D/A转换可异步进行; 可实现多个DAC同步转换输出 分时写入、同步转换。,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,双缓冲模式的数据写入程序,双缓冲方式同步转换举例

6、,A10-A0,译码器,0832-1,0832-2,port1,port2,port3,直通模式,使内部的两个寄存器都处于直通状态。模拟输出始终跟随输入变化。 不能直接与数据总线连接,需外加并行接口(如74LS373、8255等)。,工作方式,单缓冲方式 使输入锁存器或DAC寄存器二者之一处于直通。CPU只需一次写入即开始转换。控制比较简单。见教材p352图。 双缓冲方式(标准方式) 转换要有两个步骤: 将数据写入输入寄存器 CS#=0、WR1#=0、ILE=1 将输入寄存器的内容写入DAC寄存器 WR2#=0、XFER#=0 优点:数据接收与D/A转换可异步进行; 可实现多个DAC同步转换输

7、出分时写入、同步转换 直通方式 使内部的两个寄存器都处于直通状态。模拟输出始终跟随输入变化。 不能直接与数据总线连接,需外加并行接口(如74LS373、8255等)。,8位Cpu与8位D/A芯片的接口设计,见课本P341 图121 1 数据线的连接 2 锁存器的加入,12.1.2 8位cpu与10位D/A转换器的接口,AD 7527 功能:是一种外部提供基准电压,双重寄存结构的可编程的CMOS D/A转换器,可直接与8or16位数据总线相接。VDD=+5V, VREF=+10V 引脚:,各引脚的功能分述如下:,RFB 片内反馈电阻引脚。 OUT1 器件的电流输出端,接外部运放输入端 AGND

8、模拟地 FCE1、FCE2 强制输入信号1、2 强制输入信号1 DOR 数据补偿输入,用于校准或复位 CONT1,CONT2 控制输入1、2 CLK 时钟输入,DB0DB9 10条数据输入线 DB0 DB1 若引脚10/8引脚为低电平,DB1规定数据是左对齐还是右对齐,DB0为数据的有效字节的控制输入 RD 读操作命令 RWE 读/写允许信号 WR 写操作输入 LDAC 装入DAC的控制信号 VREF 参考电压输入端 VDD +5V电压输入端。 R0FF 偏置电压,8位cpu与10位D/A转换器的接口方法,见课本P348图1212 方法:把10位分成两段,第一次微型计算机线输出低8位到锁存器,

9、第二次再把高两位送到另一个锁存器上。,10位D/A,锁 存 器,锁存器,OUT 55H,OUT 54H,D0,D7,D1,VOUT,CPU与10位D/A接口示意图,产生毛刺 如:课本P349,CPU用双缓冲方式与10位D/A接口示意图,10,74100 2,7475 1,54H,D0,D7,D1,VOUT,74100 1,7475 2,OUT,55H,56H,9,8,7,6,5,4,3,2,1,目的:避免毛刺的产生 方法:CPU输出时,先输出低8位给缓冲器1(此时缓冲器2不通,故输出不变),然后输出高两位。等这两者都输出后,再打开缓冲器2,把10位同时输给D/A转换,避免毛刺。,程序 ORG

10、2000H START: LEA BX,DATA MOV CL,64H DAC: MOV AL,BX OUT 54H,AL INC BX MOV AL,BX OUT 55H,AL,OUT 56H,AL INC BX DEC CL JNZ DAC ORG 3000H DATA DW W1,W2W100 END START,12.2 A/D转换器接口,12.1 概述,传感器 非电量电压、电流 量程放大器放大 低通滤波器 整形、滤波 多路开关 多选一 采样保持电路 保证变换时信号恒定不变 A/D变换器 模拟量转换为数字量,12.2.2 用软件实现A/D转换,1. 计数式A/D转换,转换原理:由计数器

11、对固定频率信号CLK进行计数,计数输出值送DAC,DAC的输出模拟量Vo与输入模拟量Vi在比较器中进行比较,随着计数的进行,Vo不断增加,当VoVi,计数器停止计数,此时的计数值即是模拟量Vi对应的数字量。,软件实现计数器式A/D转换:图见课本P351 图1216,ORG 2000H START: MOV CL,0 DALOOP: MOV AL,CL OUT 27H,AL IN AL,15H ;若VxVc,则D5=0 AND AL,20H JNZ DONE INC CL JMP DALOOP DONE: MOV AL,CL OUT 02H,AL HALT,2. 逐次逼近型A/D转换,转换原理:

12、数字量由逐次逼近寄存器SAR产生。SAR使用对分搜索法产生数字量,以8位数字量为例,SAR首先产生8位数字量的一半,即10000000B,试探模拟量的大小,若VoVi,清除最高位,若VoVi,保留最高位。在最高位确定后,SAR又以对分搜索法确定次高位,即以低7位的一半y1000000B(y为已确定位) 试探模拟量的大小。重复这一过程,直到最低位bit0被确定,转换结束,软件实现逐次逼近A/D转换 图见1216,ORG 2000H START: SUB AL,AL MOV DX,8000H MOV CL,8 AGAIN: OR AL,DH MOV DL,AL IN AL,15H ;若VxVc,则

13、D5=0 AND AL,20H JZ OK MOV AL,DH NOT AL AND AL,DL MOV DL,AL OK: SHR DH,1 MOV AL,DL DEC CL JNZ AGAIN DONE: HALT,如:在8位的情况下,要转换一个相当于113的模拟电压。 DH中放试探值,DL中放累加器的结果,CL为循环次数 第一次循环,先将DH80h,则转换后比实际值大,则清除掉试探位D70,若比实际值小,保留D7=1;再将D6=1,下一次循环时,再将新试探值与DL中值相加,得到的新值再与实际值相比较,若比实际值大,清除新的试探位D6;若比实际值小,则保留新的试探位;再进行下一轮循环 D7

14、=0,D6=1,D5=1,D4=0,D3=0,D2=0,D1=0,D0=1即06432160001113 D7 D6 D5 D4 D3 D2 D1 D0,12.2.3 典型的D/A转换器芯片,1 ADC0809: 8通道(8路)输入 8位字长 逐位逼近型 转换时间100s 内置三态输出缓冲器,ADC0809的内部结构 ADC0809芯片是CMOS型单片双列直插式模数转换器件,采用逐次逼近式转换方式,可对8路模拟电压分时进行转换。,主要引脚功能,D7D0:输出数据线(三态) IN0IN7:8通道(路)模拟输入 ADDA、ADDB、ADDC:通道地址 ALE:通道地址锁存 START:启动转换 E

15、OC:转换结束状态输出 OE:输出允许(打开输出三态门) CLK:时钟输入(10KHz1.2MHz),12.2.4 A/D转换芯片与CPU的接口,A/D芯片与CPU接口要注意的问题 (1) 启动信号 电平启动信号:通过并行接口对AD芯片发启动信号;或用D触发器使启动信号保持有效 脉冲启动信号:用CPU执行输出指令时所发出的片选信号和写信号在片内产生启动脉冲,开始转换。 (2) 转换结束与转换数据的读取 cpu采用四种方式和A/D转换器进行联络来实现对转换数据读取 一 程序查询方式 二 中断方式 三 cpu等待方式 四 固定的延迟程序方式,2. 8位转换器的接口,实际应用中,A/D的模拟输入端接

16、至采样/保持电路的输出,但转换的开始,要由CPU输出一条指令,而转换需要一定的时间才能完成,故A/D转换电路必须给出一个done/busy状态信息 一个典型的8位A/D转换的接口电路如图P361所示,ORG 2000H START: LEA BX,DATA CONV: OUT 37H,AL TEST: IN AL,66H AND AL,80H JZ TEST,IN AL,65H MOV BX,AL RET ORG 3000H DATA DB ? END,3 10位A/D转换接口,如何把一个多于8位的A/D转换芯片与8位的微机接口呢? 是一个典型的10位A/D转换的接口电路 P363,12.2.5 应用举例,D/A转换举例 见P364 A/D转换举例 见P364,作业,D/A转换器接口任务是什么? 利用教材种的图121电路,编制在输出端得到锯齿波(负向增长)的程序。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1