《《微机原理与应用教学资料》第十一章ad-da.ppt》由会员分享,可在线阅读,更多相关《《微机原理与应用教学资料》第十一章ad-da.ppt(30页珍藏版)》请在三一办公上搜索。
1、1,第十一章:A/D和D/A转换,11-1 概述11-2 D/A转换11-3 A/D转换,电气学院学习部资料库,2,11-1 概述 一.一个实时控制系统,电气学院学习部资料库,3,二.多路模拟开关 输入:I/O07 输出:O/I 通道选择:A2A0 三.采样、量化和编码1.采样 图11-6,11-7采样定理 fs2fm,采样,保持,电气学院学习部资料库,4,2.量化 图11-5把采样所得信号变成数字设输入电压为07V,3位A/D转换器由表中可看出,量化过程会产生1/2LSB(即0.5V)的误差 对8位A/D,量程05V:量化单位(即每一分层所包含的最大电压和最小电压之差)q=电压量程范围/2n
2、=5.0V/2560.019V=19mV 1 LSB LSB数字量最低位 3.编码 数字量可用不同的代码来表示自然二进制编码双极性二进制编码,电气学院学习部资料库,5,11-2 D/A转换器,一、数/模 转换器原理 数字量 模拟量(电流、电压)图11-8 Si电子模拟开关 di=1si闭合 di=0si断开 则R-片内权电阻IOVO 理想运放 VO=IORf,Rf=R/2 最高位为dn-1,则 VO=VR/2n(dn-12n-1 dn-22n-2 dn-32n-3 d020)=VR/2n D D为数字量,电气学院学习部资料库,6,二、D/A转换器的性能指标1.分辨率 最大输出量和数字量的位数的
3、比率称为分辨率=FSR/2n 位数最多,分辨率越高2.精度 绝对精度=输出实际值-理想值 相对精度=绝对精度/最大量程3.建立时间:输入到输出稳定的时间 超高速的D/A转换器:ts100ns高速D/A转换器:ts=10s1s4.输入数字量 一般为自然二进制码5.输出模拟量 多数为电流输出型,Rf在片内,有专门引脚,电气学院学习部资料库,7,三、DAC0832芯片内部带有数据输入寄存器的8位D/A芯片1、内部结构和引脚功能:图11-13 DAC0832包括两级寄存器,1个D/A转换器 两个寄存器可以分别选通。8位输入寄存器 8路输入,8路输出 输入:DI7DI0,接CPU数据总线 输出:8位DA
4、C寄存器的输入,电气学院学习部资料库,8,8位DAC寄存器 8路输入,8路输出 输入:8位输入寄存器的输出 输出:8位D/A转换器8位D/A转换器 8路输入,2路输出 输入:8位DAC寄存器的输出输出:IOUT1 互补电流输出 IOUT2 加上I/V转换电路,则输出电压信号,电气学院学习部资料库,9,VREF-参考电压输入,转换的基准 Rfb-片内反馈电阻,与运放配合构成I/V转换器 VCC 工作电压输入端 DGND 数字地 AGND 模拟地(所有模拟地相连,所有数字地相连,提高抗干扰)2、工作方式(3种)ILE 接高电平 直通方式:全部直通 CS,WR1、WR2、XFER均接地.单缓冲方式
5、任一个缓冲器直通 CS,WR1并联,接译码器输出(地址!),WR2,XFER并联接地。当执行一条OUT指令,选中该端口,使IOW有效,CS,WR1有效,启动D/A转换,电气学院学习部资料库,10,双缓冲方式作用:可以在输出的同时,采集下一个数据,提高转换速度例1:图11-15,DAC0832双缓冲方式 硬件连接图 软件:MOV DX,320H;输入数据,DATA为被转换的MOV AL,DATA;数据 OUT DX,AL MOV DX,321H;转换 OUT DX,AL,电气学院学习部资料库,11,用于需同时输出多个参数的模拟量系统中,每一种参数用一片DAC0832,用CS和XFER分别控制两个
6、缓冲器例2:图11-16 各片的CS各接一个译码器输出,各片的XFER并联,接一个译码器输出,译码器用了3个片选端 程序段:设CS1的地址为30H,CS2的地址为31H,XFER的地址为32H MOV AL,DATA1;送第一个数 OUT 30H,AL MOV AL,DATA2;送第二个数 OUT 31H,AL OUT 32H,AL;同时转换,输出,电气学院学习部资料库,12,电气学院学习部资料库,13,例3:通过DAC0832产生一个周期为T的正向锯齿波 8位D/A:28=256,每个数据信号的维持时间为T/256(若要产生三角波,则每位维持时间T/512)硬件连接图:单缓冲方式,图11-1
7、1,FFH,00H,电气学院学习部资料库,14,DAC0832,电气学院学习部资料库,15,主:MOV DX,PORT;设PORT为DAC0832的口地址 MOV AL,0FFHROTATE:INC AL OUT DX,AL;往DAC0832输出数据 CALL DELAY;调用延时子程序 JMP ROTATE子:DELAY:MOV CX,DATA;延时程序,往CX中送延时常数DELAY1:LOOP DELAY1 RET如果要产生三角波,梯形波?,电气学院学习部资料库,16,11-3 A/D 转换器,模数转换器原理1.逐次逼近法原理 转换速度快,分辨率高 逐次逼近寄存器SAR 表11-5,电气学
8、院学习部资料库,17,2.双斜积分法原理 抗干扰能力强,转换速度较慢 固定时间积分,斜率正比于Vi,然后以同一斜率反向积分,用高频脉冲测定反向积分所花费的时间,电气学院学习部资料库,18,二、A/D转换器:ADC08091、ADC0809:8通道8位,逐次逼近方式2、ADC0809内部框图,电气学院学习部资料库,19,IN0IN7:8路模拟量输入,每一路通道都对应着8位输出C、B、A:通道选择ALE:通道锁存允许 H START:启动转换 H CLK:采样时钟频率 EOC:转换结束:未开始(H)转换(L)结束(H)VREF(+)、VREF():参考电压输入 VREF()接模拟地 VREF(+)
9、=5V,量程:05V OE:输出允许 H 当OE=H,将输出三态缓冲器内容输出 D7D0:8位输出 VCC:工作电压+5V GND:模拟地,电气学院学习部资料库,20,3、工作过程 选通道号(C B A)使ALE、START=H转换开始,EOC变低硬件完成转换结束,EOC变高使OE=H,输出4、ADC0809与CPU连接直接与CPU连接:由于有输出三态缓冲器,所以可以直接与CPU相连接例:ADC0809电路如图11-22,8个通道的地址为300H 307H,转换结束时EOC变高,用一个三态门接到数据线的D7,若结束,用一IN指令使OE为高,转换后的数据由数据线读出,设读通道0的转换数据。,电气
10、学院学习部资料库,21,电气学院学习部资料库,22,MOV DX,300H;由OUT指令选择通道0,并 OUT DX,AL;使IOW为0,启动转换,POLL:MOV DX,308H;转换开始了吗?EOC=0?IN AL,DX;若不是,等待 TEST AL,80H JNZ POLLNO-END:IN AL,DX;转换结束了吗?EOC=1?TEST AL,80H;若不是,等待 JZ NO-END MOV DX,300H;IN指令使IOR为0,由片选 IN AL,DX;信号共同使OE为高,打开 输出缓冲器,读入转换后数据若8个通道循环检测?若EOC接D5?,电气学院学习部资料库,23,通过并行接口芯
11、片 8255A例:编程一程序进行多通道数据采集,将结果存入附加段中以DATA-BUF为起始的数据缓冲区中,已知8255A端口地址:320H326H(在一个时刻只能对一个通道进行采集、通过轮流交替实行多通道数据采集)8255A:工作方式0 A口输入 C口 低4:输出 高4:输入 D7 D6 D5 D4 D3 D2 D1 D0 1 0 0 1 1 0,电气学院学习部资料库,24,电气学院学习部资料库,25,电气学院学习部资料库,26,采集子程序:AD-SUB PROC NEARMOV DX,326H MOV AL,10011000B OUT DX,AL;初始化8255AMOV CX,8;设定采集通
12、道数CLDMOV BL,00H;初始通道号LEA DI,DATA-BUF NEXT-IN:MOV DX,324HMOV AL,BLOUT DX,AL;送通道号MOV DX,326H MOV AL,0000 0111B;PC3置1,启动转换,电气学院学习部资料库,27,OUT DX,AL NOP NOP MOV AL,0000 0110B;PC3置0,ALE,OUT DX,AL;START 复位 MOV DX,324HNO-CONV:IN AL,DX TEST AL,80H JNZ NO-CONV;查PC7,转换开始?NO-EOC:IN AL,DX TEST AL,80H JZ NO-EOC;再
13、查PC7,转换结束否?MOV DX,320H IN AL,DX;从PA口读入数据 STOSB;存入缓冲区 INC BL;置下一通道号 LOOP NEXT-IN,电气学院学习部资料库,28,谢谢大家!,RETADSUB ENDP作业:11-3,6,电气学院学习部资料库,29,模拟信号 v、mv电压、电流 干净的几V电压、电流 信号预处理 可转换的模拟信号 数字信号一、采样、量化、编码1、采样:按相等的时间间隔t从模拟信号上截取一个个离散的瞬时值 采样率fs=1/t(fs越高,单位时间内采得的信号越多,越接近原信号)图 以电压为例采样 3.7 5.3 6.3 6.4 5.1 3.2 1.8 1.2量化 3 5 6 6 5 3 1 1编码 011 101 110 110 101 011 001 001,电气学院学习部资料库,30,2、量化:将满量程(FSR)电压值(由参考电压VR设定的)分为2n等分,然后将采样所得的模拟量与这些分层进行比较,落在哪个分层内,便量化为相应的数字量 量化单位q:每个分层所包含的最大值和最小值之差2n n=3 实际N位ADC N=8、10、12、16 2n3、编码:将量化所得的数字量用不同的代码来表示 自然二进制码 小数N N=di=0或1 最高有效位MSB 最低有效痊LSB,电气学院学习部资料库,