《第8微机原理与接口技术课件清华大学.ppt》由会员分享,可在线阅读,更多相关《第8微机原理与接口技术课件清华大学.ppt(60页珍藏版)》请在三一文库上搜索。
1、1,第8章 模拟量的输入输出,2,主要内容:,模拟量输入输出通道的组成 D/A转换器的工作原理、连接及编程 A/D转换器的工作原理、连接及编程,3,模拟量的输入输出通道,4,模拟量I/O通道:,模拟接口电路的任务,模拟电路的任务,00101101,10101100,工 业 生 产 过 程,传感器,放大 滤波,多路转换 & 采样保持,A/D 转换,放大 驱动,D/A 转换,输出 接口,微 型 计 算 机,执行机构,输入 接口,物理量 变换,信号 处理,信号 变换,I/O 接口,输入通道,输出通道,变 送 器,5,模拟量的输入通道,传感器(Transducer) 非电量电压、电流 变送器(Tran
2、sformer) 转换成标准的电信号 信号处理(Signal Processing) 放大、整形、滤波,6,模拟量的输入通道,多路转换开关(Multiplexer) 多选一 采样保持电路(Sample Holder,S/H) 保证变换时信号恒定不变 A/D变换器(A/D Converter) 模拟量转换为数字量,7,模拟量的输出通道,D/A变换器(D/A Converter) 数字量转换为模拟量 低通滤波 平滑输出波形 放大驱动 提供足够的驱动电压,电流,8,数/模(D/A)变换器,9,掌握:,D/A变换器的工作原理 D/A变换器的主要技术指标 DAC0832的三种工作模式 DAC0832的应
3、用,10,一、D/A变换器的工作原理,模拟开关 电阻网络 运算放大器,11,基本变换原理,运放的放大倍数足够大时,输出电压VO与输入 电压Vin的关系为:,12,基本变换原理,若输入端有n个支路, 则输出电压VO与输入电压Vi的关系为:,13,权电阻网络,2R 4R 8R 16R 32R 64R 128R 256R,Vref,Rf,VO,S1 S2 S3 S4 S5 S6 S7 S8,这里,上式中的n=8,14,基本变换原理,如果每个支路由一个开关Si控制,Si=1表示Si合上,Si=0表示Si断开,则上式变换为,若Si=1,该项对VO有贡献; 若Si=0,该项对VO无贡献,15,基本变换原理
4、,如果用8位二进制代码来控制图中的S1S8(Di=1时Si闭合;Di=0时Si断开),则不同的二进制代码就对应不同输出电压VO; 当代码在0FFH之间变化时,VO相应地在 0(255/256)Vref之间变化; 为控制电阻网络各支路电阻值的精度,实际的D/A转换器采用R-2R梯形电阻网络,它只用两种阻值的电阻(R和2R)。,16,实际的D/A转换器 R-2R梯形电阻网络,17,二、主要技术指标,分辨率(Resolution) 输入的二进制数每1个最低有效位 (LSB)使输出变化的程度。 表示: 可用输入数字量的位数来表示,如8位、10位等; 也可用一个LSB (Least Significan
5、t Bit)使输出变化的程度来表示。,18,分辩率例,一个满量程为5V的10位D/A变换器,1 LSB的变化将使输出变化: 5/(210-1) = 5/1023 = 0.04888V = 48.88mV,19,转换精度(误差),实际输出值与理论值之间的最大偏差 影响转换精度的因素: 分辩率 电源波动 温度变化 ,20,转换时间,从开始转换到与满量程值相差1/2 LSB所对应的模拟量所需要的时间,21,三、典型的D/A转换器DAC0832,特点: 8位电流输出型D/A转换器 T型电阻网络 差动输出,22,DAC0832的内部结构,23,主要引脚功能,输入寄存器控制信号: D7D0:输入数据线 I
6、LE:输入锁存允许 CS:片选信号 WR1:写输入锁存器,24,主要引脚功能,用于DAC寄存器的控制信号: WR2:写DAC寄存器 XFER:允许输入锁存器的数据传送到DAC寄存器,25,主要引脚功能,其它引线: VREF:参考电压。 -10V+10V,一般为+5V或+10V IOUT1、IOUT2:D/A转换差动电流输出。 用于连接运算放大器的输入 Rfb:内部反馈电阻引脚,接运放输出 AGND、DGND:模拟地和数字地,26,工作模式,单缓冲模式 双缓冲模式 无缓冲模式,27,单缓冲模式,使输入锁存器或DAC寄存器二者之一处于直通,即芯片只占用一个端口地址。 CPU只需一次写入即开始转换。
7、写入数据的程序为: MOV DX,PORT MOV AL,DATA OUT DX,AL,与系统的连接见教材p332图,28,双缓冲模式(标准模式),对输入寄存器和DAC寄存器均需控制。 当输入寄存器控制信号有效时,数据写入输入 寄存器中;再在DAC寄存器控制信号有效时, 数据才写入DAC寄存器,并启动变换。 此时芯片占用两个端口地址。 优点: 数据接收与D/A转换可异步进行; 可实现多个DAC同步转换输出 分时写入、同步转换,29,工作时序,写输入寄存器,写DAC寄存器,30,双缓冲模式同步转换例,31,MOV AL,data MOV DX,port1 OUT DX,AL MOV DX,por
8、t2 OUT DX,AL MOV DX,port3 OUT DX,AL HLT,双缓冲模式的数据写入程序,0832-1的输入寄存器地址,0832-2的输入寄存器地址,DAC寄存器地址,32,无缓冲器模式,使内部的两个寄存器都处于直通状态。模拟输出始终跟随输入变化。 不能直接与数据总线连接,需外加并行接口(如74LS373、8255等)。,33,四、D/A转换器的应用,信号发生器 用于闭环控制系统,向D/A转换器写入某种按规律变化的数据,即可在输出端获得相应的各种波形,34,模/数(A/D)转换器,35,要点:,A/D转换器的一般工作原理; A/D转换器的主要技术指标; A/D转换器的应用 与系
9、统的连接 数据采集程序的编写,36,A/D转换器,37,A/D转换器类型,计数型A/D转换器 -速度慢、价格低,适用于慢速系统 双积分型A/D转换器 -分辩率高、抗干扰性好、转换速度慢,适用于中速 系统 逐位反馈型A/D转换器 -转换精度高、速度快、抗干扰性差,38,一、A/D转换器的工作原理,逐位反馈型A/D转换器 类似天平称重量时的尝试法,逐步用砝码的累积重量去逼近被称物体,39,二、主要技术指标,转换精度 量化误差 非线性误差 其它误差 总误差=各误差的均方根,40,量化间隔,一个最低有效位对应的模拟量 =Vmax /(2n-1) 例:某8位ADC的满量程电压为5V,则其分辨率为: 5V
10、/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,输入动态范围,允许转换的电压的范围。 如05V、010V等。,44,三、典型的A/D转换器芯片,ADC0809: 8通道(8路)输入 8位字长 逐位逼近型 转换时间100s 内置三态输出缓冲器,45,主要引脚功能,D7D0:输出数据线(三态)
11、IN0IN7:8通道(路)模拟输入 ADDA、ADDB、ADDC:通道地址 ALE:通道地址锁存 START:启动转换 EOC:转换结束状态输出 OE:输出允许(打开输出三态门) CLK:时钟输入(10KHz1.2MHz),46,内部结构,IN7,IN0,8 个模拟输入通道,47,工作时序,48,ADC0809的工作过程,由时序图知ADC0809的工作过程如下: 送通道地址,以选择要转换的模拟输入; 锁存通道地址到内部地址锁存器; 启动A/D变换; 判断转换是否结束; 读转换结果,49,ADC0809的应用,芯片与系统的连接 编写相应的数据采集程序,50,芯片与系统的连接,模拟输入端Ini :
12、 单路输入 多路输入,多路输入时,ADDC ADDB ADDA,IN0 IN1 IN2 IN3 IN4,ADC0809,输入0 输入1 输入2 输入3 输入4,CPU指定 通道号,51,通道地址线ADDA-ADDC的连接,多路输入时,地址线不能接死,要通过一个接口芯片与数据总线连接。接口芯片可以选用:,简单接口芯片74LS273,74LS373等(占用一个I/O地址) 可编程并行接口8255(占用四个I/O地址),ADDC ADDB ADDA,IN0 IN1 IN2 IN3 IN4,ADC0809,输 入,DB,74LS273,Q2 Q1 Q0,CP,来自I/O译码,D0-D7,ADDC AD
13、DB ADDA,IN0 IN1 IN2 IN3 IN4,ADC0809,DB,8255,PB2 PB1 PB0,CS#,来自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,DI,DO,E1# E2#,53,ALE和START端的连接,独立连接:用两个信号分别进行控制需占用两个I/O端口或两个I/O线; 统一连接
14、:用一个脉冲信号的上升沿进行地址锁存,下降沿实现启动转换只需占用一个I/O端口或一个I/O线。,ADC0809,ALE START,独立连接,来自I/O译码1,来自I/O译码2,ADC0809,ALE START,统一连接,来自I/O译码,54,ADC0809与系统的连接例,D0,IN0,A15-A0 IOR IOW,D7-D0,D7-D0 EOC OE START ALE ADDC ADDB ADDA,译 码 器,ADC0809,I/O 接 口,55,判断转换结束的方法,软件延时等待(比如延时1ms) 此时不用EOC信号,CPU效率最低 软件查询EOC状态。 把EOC作为中断申请信号,接到8
15、259的IN端。 在中断服务程序中读入转换结果,效率较高,56,数据采集程序流程,初始化,送通道地址,送ALE信号,送START信号,读EOC状态,送读允许OE信号,EOC=1?,读转换结果,采集结束否?,N,Y,结 束,Y,送下一路通道地址,(1),(1),N,57,第7章作业解,试分别编写产生从C口的PC7引脚输出一个正脉冲和从PC3引脚输出一个负脉冲的程序段(PA、PB、PC和控制寄存器的地址为320H、321H、322H、323H),58,第7章作业解,MOV DX,322H MOV AL,10000000B OUT DX,AL CALL DELAY MOV AL,00001000B OUT DX,AL,MOV DX,323H MOV AL,10000000B OUT DX,AL MOV AL,00001110B OUT DX,AL MOV AL,00000111B,59,第7章作业解,DELAY PROC PUSH CX MOV CX,0 A:LOOP A POP CX RET DELAY ENDP,60,作业:,8.5 8.7 8.8 8.13 8.14,谢谢!,
链接地址:https://www.31doc.com/p-2552549.html