ch10模数和数模转换技术_第1页
ch10模数和数模转换技术_第2页
ch10模数和数模转换技术_第3页
ch10模数和数模转换技术_第4页
ch10模数和数模转换技术_第5页
已阅读5页,还剩88页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10章模/数和数/模转换技术

教学重点掌握D/A转换的原理重点掌握DAC0832产生各种波形的控制方法掌握A/D转换的原理重点掌握ADC0809的用法10.1模/数转换和数/模转换概述

模拟量——连续变化的物理量数字量——时间和数值上都离散的量模拟/数字转换器ADCDAC数字/模拟转换器模拟量与数字量计算机测控系统数字信号模拟信号现场信号1现场信号2现场信号n微型计算机放大器放大器放大器多路开关低通滤波传感器低通滤波传感器低通滤波传感器A/D转换器采样保持器数字信号受控对象控制信号模拟信号D/A转换器放大驱动电路…传感器将各种现场的物理量测量出来并转换成电信号(模拟电压或电流)放大器把传感器输出的信号放大到ADC所需的量程范围低通滤波器用于降低噪声、滤去高频干扰,以增加信噪比多路开关把多个现场信号分时地接通到A/D转换器采样保持器周期性地采样连续信号,并在A/D转换期间保持不变10.2D/A转换器DAC数字/模拟转换器模拟量数字量运算放大器(1)+RfbVout_1、开环放大倍数非常高,所需输入电压小2、输入阻抗非常大,输入电流很小3、输出阻抗非常小,驱动能力很强。运算放大器(2)RoVo_+RiViIoIiIi+Io=0 Vi/Ri=-Vo/RoVo=-Vi*Ro/Ri10.2.1D/A转换的基本原理数字量→按权相加

→模拟量1010B=1×23+0×22+1×21+0×20=10权电阻网络D/A转换器的工作原理权电阻网络型D/A转换原理图2.T型电阻网络D/A转换器的原理图(1)Iout2Iout1RfbRfbVout+_I1S1D1c2RRI2S2D2b2RRI0S0D0d2R2RRI3S3D3a2RVREF电阻网络基准电压电子开关2.T型电阻网络D/A转换器的原理图(2)Iout2Iout1RfbRfbVout+_I1S1D1c2RRI2S2D2b2RRI0S0D0d2R2RRI3S3D3a2RVREF阻抗=2R运算放大器虚地2.T型电阻网络D/A转换器的原理图(3)Va=VREFVb=VREF/2Vc=VREF/4Vd=VREF/8I0=Vd/2R=VREF/(8×2R)I1=Vc/2R=VREF/(4×2R)I2=Vb/2R=VREF/(2×2R)I3=Va/2R=VREF/(1×2R)2.T型电阻网络D/A转换器的原理图(4)Iout1=I0+I1+I2+I3

=VREF/2R×(1/8+1/4+1/2+1)Rfb=RVout=-Iout1×Rfb

=-VREF×[(20+21+22+23)/24]Vout=-(VREF/2n)×D3.D/A转换器主要指标(1)转换精度D/A转换精度可分为绝对精度和相对精度两种衡量标准。绝对精度是指对应于给定的满度数字量,D/A转换器实际输出值与理论值之间的误差。相对精度也称非线性度,指在满度已校正的标准情况下,在整个刻度范围内,对应于任一数码的模拟量输出与它的理论值之差。(2)分辨率分辨率指D/A转换器所能分辨最小量化信号的能力,这是对微小输入量变化的敏感程度的描述。位数越多,分辨率越高分辨率也可以表示为输入数字量等于1时的电压值与输入数字量等于最大值时的满刻度电压值之比。10.2.2DAC0832芯片及应用DAC的分类若按位数分类,可以分为8位、10位、12位、16位等;若按输出方式分类,有电流型和电压型两类;若按转换方式分类,可分为串行和并行两种;若按工艺分类,可分为TTL型和MOS型等。DAC0832是典型的8位电流输出型通用DAC芯片,采用T型电阻网络,转换结果以一组差动电流Iout1和Iout2输出,使用时必须外接运算放大器才可以实现电压输出1.DAC0832的内部结构LE2LE1RfbAGNDDAC0832VccILEVREF输入寄存器DGNDD0~D7D/A转换器DAC寄存器Iout2Iout1CSWR1WR2XFER2.DAC0832的数字输入信号8位数字输入端D0~D7(D0为最低位)输入寄存器(第1级锁存)的控制端ILE、CS#、WR1#DAC寄存器(第2级锁存)的控制端XFER#、WR2#直通锁存器的工作方式两级缓冲寄存器都是直通锁存器LE=1,直通(输出等于输入)LE=0,锁存(输出保持不变)LE2LE1DAC0832输入寄存器D0~D7D/A转换器DAC寄存器Iout1DAC0832的工作方式:直通方式LE1=LE2=1输入的数字数据直接进入D/A转换器LE2LE1DAC0832输入寄存器D0~D7D/A转换器DAC寄存器Iout1DAC0832的工作方式:单缓冲方式LE1=1,或者LE2=1两个寄存器之一始终处于直通状态另一个寄存器处于受控状态(缓冲状态)LE2LE1DAC0832输入寄存器D0~D7D/A转换器DAC寄存器Iout1DAC0832的工作方式:双缓冲方式两个寄存器都处于受控(缓冲)状态能够对一个数据进行D/A转换的同时;输入另一个数据LE2LE1DAC0832输入寄存器D0~D7D/A转换器DAC寄存器Iout13.DAC0832的模拟输出Iout1、Iout2——电流输出端Rfb——反馈电阻引出端(电阻在芯片内)VREF——参考电压输入端+10V~-10VAGND——模拟信号地VCC——电源电压输入端+5V~+15VDGND——数字信号地单缓冲单极性电压输出电路Vout=-Iout1×Rfb=-(D/28)×VREF单极性电压输出:例子设VREF=-5VD=FFH=255时,最大输出电压:Vmax=(255/256)×5V=4.98VD=00H时,最小输出电压:Vmin=(0/256)×5V=0VD=01H时,一个最低有效位(LSB)电压:VLSB=(1/256)×5V=0.02VVout=-(D/2n)×VREF单缓冲控制方式由图可知XFER#、WR2#接地,LE2有效,DAC寄存器处于直通状态输入寄存器受CS#和WR1#的控制,接收外部输入的数字信号假设端口地址为PORT,待转换的数据D已放在内存数据段DATA单元中。完成D/A转换的程序段如下:MOVAL,DATA ;取要转换的数据MOVDX,PORT ;

PORT为端口地址

OUTDX,AL双极性电压输出:电路双极性电压输出:公式取R2=R3=2R1得Vout2=-(2Vout1+VREF)因Vout1=-(D/28)×VREF故

Vout2=[(D-27)/27)]×VREF双极性电压输出:例子设VREF=5VD=FFH=255时,最大输出电压:Vmax=[(255-128)/128]×5V=4.96VD=00H时,最小输出电压:Vmin=[(0-128)/128]×5V=-5VD=81H=129时,一个最低有效位电压:VLSB=[(129-128/128]×5V=0.04VVout=[(D-27)/27)]×VREF4.输出精度的调整RfbIout2Iout1Vout+_AGND调零电位器调满刻度电位器电源5VADI10K1M1KVREF5.地线的连接DGNDAGND模拟电路数字电路ADCDAC模拟电路数字电路模拟地数字地公共接地点6.DAC芯片与主机的连接DAC芯片相当于一个“输出设备”,至少需要一级锁存器作为接口电路考虑到有些DAC芯片的数据位数大于主机数据总线宽度,所以分成两种情况:1.主机位数等于或大于DAC芯片位数2.主机位数小于DAC芯片位数(1)主机位数大于或等于DAC芯片的连接moval,bufmovdx,portdoutdx,al译码ABD0~D7CLKDACVout+_ALS273IOW(2)主机位数小于DAC芯片的连接数字数据需要多次输出接口电路也需要多个(级)锁存器保存多次输出的数据并需要同时将完整的数字量提供给DAC转换器CPUDAC8位12位两级锁存电路模拟输出12位DAC第2级12位锁存控制第1级低8位锁存控制第1级高4位锁存控制D0~D74位锁存器4位锁存器8位锁存器8位锁存器由同一个信号控制关键的一级锁存无需输出数据简化的两级锁存电路模拟输出12位DAC第2级12位锁存控制第1级低8位锁存控制D0~D74位锁存器8位锁存器8位锁存器由同一个信号控制关键的一级锁存需要输出高4位数据movdx,port1moval,bloutdx,almovdx,port2moval,bhoutdx,al7.DAC0832应用的举例(1)正向锯齿波的输出程序段 MOVDX,PORT ;PORT为D/A转换器端口地址

MOVAL,0FFH ;置初值

ROTAT:INCAL

OUTDX,AL ;往D/A转换器输出资料

CALLDELY ;调用延迟子程序

JMPROTAT

DELY:MOVCX,COUNT ;置延迟常数COUNT

DELY1:LOOPDELY1

RET用0832产生锯齿波要求锯齿波电压范围从1V到3V变化,0832口地址为98F0H。1V3V0V例2解方法:算出最低和最高电压对应数字量Dl和Dm,然后从低电压数字量开始送D/A,以后数字量加1最高值,再回到最低值,循环进行即可。由:可知:Dl=(Vl/Vref)*256=(1/5)*256=51=33HDm=(3/5)*256=153=99H例2程序片段MinD EQU33HMaxDEQU99H MOV DX,98F0H ;0832端口地址LP1: MOV AL,MinD-1;取最小值-1LP2: INC AL ;数字量增1

OUT DX,AL ;送0832输出

CALLDELAY ;调延时程序

TEST AL,MaxD;测试是否到最大值

JNZ LP2 ;未达最大继续加1输出

JMP LP1 ;到最大回到最小输出(2)三角波的输出1V4V三角波的最小值为1V,最大值为4V,根据公式Vout=-(D/28)×VREF,可算出最小数字量DMIN和最大数字量DMAX

。1V对应的最小数字量DMIN=1×256/5=51=33H。4V对应的最大数字量DMAX=4×256/5=205=0CDH三角波的程序如下:

MOV DX,PORT ;0832的端口地址为PORTMOV AL,DMIN ;从最小值开始输出DEC ALUP:INC AL ;产生上升波形OUT DX,ALCMP AL,DMAX ;是否到最大值JB UP ;还没到最大值,继续上升DOWN: DECAL ;产生下降波形OUT DX,ALCMP AL,DMIN ;判断是否到最小值JA DOWN ;未到最小值,继续下降JMP UP ;到最小值后,继续下一个周期(3)双缓冲控制

某控制系统由两个电机同时控制工作,Vx控制电机X的运动,Vy控制电机Y的运动PORTX

PORTY

控制程序LEASI,XDATA ;电机X的控制数据指针→SILEADI,YDATA ;电机Y的控制数据指针→DIMOVAL,[SI]MOVDX,PORTX ;DAC0832-1的一级锁存地址OUTDX,AL ;输出电机X的控制数据MOVAL,[DI]MOVDX,PORTY ;DAC0832-2的一级锁存地址OUTDX,AL ;输出电机Y的控制数据MOVDX,OUTDX,AL ;两个0832二级锁存同时有效,AL值无关CALLDELY ;调延迟子程序,使电机稳定工作 HLTDELY:┇RET10.3A/D转换器模拟量数字量模拟/数字转换器ADC10.3.1A/D转换的基本原理存在多种A/D转换技术,各有特点,分别应用于不同的场合4种常用的转换技术计数器式逐次逼近式双积分式并行式Σ-Δ型ADC1.A/D转换的一般步骤

t模拟输入原信号采样保持(1)采样和保持(2)量化和编码量化:是把采样值取整为最小单位的整数倍。最小单位称为量化单位△,它等于输入信号的最大范围/数字量的最大范围,对应于数字量1.如,把0~4V模拟电压转换为3位二进制数表示的数字量,则量化单位△=4/8=0.5V。编码:量化得到的数值通常用二进制表示,对于有正负极的模拟量一般采用偏移码表示。2.A/D转换原理以最低位为增减量单位的逐步计数法时钟复位数字输出比较器模拟输入计数器D/A转换器转换结束(1)计数器式(2)逐次逼近式从最高位开始的逐位试探法时钟复位数字输出转换结束比较器模拟输入寄存器D/A转换器(3)双积分式两个积分阶段实质是电压/时间变换IREFIinVinVREF积分器比较器V/IV/I时钟启动计数计数器数字输出T2T1Vc固定斜率时间可变固定时间斜率可变转换结束(4)并行式速度快成本高直接比较法编码电路VinVREF数字输出比较器RRRRRRR/2R/2(5)Σ-Δ型ADC10.3.2ADC0809芯片具有A/D转换的基本功能CMOS工艺制作8位逐次逼近式ADC转换时间为100s包含扩展部件多路开关三态锁存缓冲器ADC0809的内部结构图ADC0809地址锁存和译码OE通道选择开关ADDAADDBADDC1N0IN1IN2IN3IN4IN5IN6IN78位三态锁存缓冲器DACVcc比较器CLOCKSTARTGNDVREF(+)VREF(-)ALE逐次逼近寄存器SAR定时和控制D0D1D2D3D4D5D6D7EOC1.ADC0809的模拟输入提供一个8通道的多路开关和寻址逻辑IN0~IN7:8个模拟电压输入端ADDA、ADDB、ADDC:3个地址输入线ALE:地址锁存允许信号ALE的上升沿用于锁存3个地址输入的状态,然后由译码器从8个模拟输入中选择一个模拟输入端进行A/D转换2.ADC0809的转换时序D0~D7OEEOCSTART/ALEADDA/B/CDATA100s2s+8T(最大)200ns(最小)转换启动信号转换结束信号3.ADC0809的数字输出ADC0809内部锁存转换后的数字量具有三态数字量输出端D0~D7配合输出允许信号OE当输出允许信号OE为高电平有效时,将三态锁存缓冲器的数字量从D0~D7输出4.ADC0809的转换公式输入模拟电压输出数字量基准电压正极基准电压负极单极性转换示例基准电压VREF(+)=5V,VREF(-)=0V输入模拟电压Vin=1.5V N=(1.5-0)÷(5-0)×256

=76.8≈77=4DH双极性转换示例基准电压VREF(+)=+5V,VREF(-)=-5V输入模拟电压Vin=-1.5V N=(-1.5+5)÷(5+5)×256

=89.6≈90=5AH5.ADC芯片与主机的连接ADC芯片相当于“输入设备”,需要接口电路提供数据缓冲器主机需要控制转换的启动主机还需要及时获知转换是否结束,并进行数据输入等处理(1)数据输出线的连接与主机的连接可分成两种方式直接相连:用于输出带有三态锁存器的ADC芯片通过三态锁存器相连:适用于不带三态锁存器的ADC芯片,也适用带有三态锁存缓冲器的芯片ADC芯片的数字输出位数大于系统数据总线位数,需把数据分多次读取(2)A/D转换的启动(1)启动信号一般有两种形式脉冲信号启动转换电平信号启动转换转换启动转换结束(2)A/D转换的启动(2)主机产生启动信号有两种方法编程启动软件上,执行一个输出指令硬件上,利用输出指令产生ADC启动脉冲,或产生一个启动有效电平定时启动启动信号来自定时器输出(3)转换结束信号的处理不同的处理方式对应程序设计方法不同①

查询方式——把结束信号作为状态信号②

中断方式——把结束信号作为中断请求信号③

延时方式——不使用转换结束信号④

DMA方式——把结束信号作为DMA请求信号6.ADC0809接口技术ADC0809既可以直接与微处理器的数据总线相连,也可以通过某一并行接口和微处理器相连CPU可以通过查询方式或中断方式读取转换结束(1)简单I/O接口以查询方式进行传送ADC0809的控制方法产生通道选择信号的方法A2、A1、A0与ADDC、ADDB、ADDA相连,地址的低3位编码确定转换通道START和ALE信号产生的方法数据端口地址300H~307H译码信号与WR#信号组合EOC信号的用法EOC作为状态信号,通过一个三态缓冲器与D5位数据相连,状态端口为310H~317H。OE信号的产生方法数据端口地址300H~307H译码信号与RD#信号组合程序示例编写程序将IN0~IN7

这8个模拟输入信号转换成数字信号存放到缓冲区BUF中。数据段定义如下: BUFDB8DUP(0)代码段核心程序 LEA DI,BUF ;取缓冲器首地址 MOV CX,8

MOV DX,300H ;从IN0开始转换CONVERT:OUT DX,AL ;启动转换

PUSH DX

MOV DX,310HSTATE: IN AL,DX ;读EOC信号的状态 TEST AL,20H ;测试EOC(D5)是否为1 JZ STATE ;EOC为0,继续查询等待

POP DX ;EOC为1,读转换结果保存在缓冲器中 IN AL,DX MOV [DI],AL INC DX ;DX指向下一个模拟通道 INC DI LOOPCONVERT(2)简单I/O接口以中断方式进行传送

ADC0809的控制方法产生通道选择信号的方法D2、D1、D0与ADDC、ADDB、ADDA相连,数据的低3位编码确定转换通道START和ALE信号产生的方法数据端口地址300H译码信号与WR#信号组合EOC信号的用法EOC作为中断信号,通过8259A中断控制器向CPU申请中断OE信号的产生方法数据端口地址300H译码信号与RD#信号组合控制ADC0809的程序启动ADC0809对IN4输入的模拟量转换的代码:MOV AL,04H MOV DX,300H OUT DX,AL 读取转换结果:MOV DX,300H IN AL,DX ;从数据端口读出数据(3)ADC0809通过8255A接口芯片与CPU相连

ADC0809的控制方法产生通道选择信号的方法由8255A的PB2、PB1、PB0与ADDC、ADDB、ADDA相连,8255的端口B输出的数据的低3位编码确定转换通道START和ALE信号产生的方法由8255A的PC0来提供,通过程序产生的正脉冲信号控制EOC信号的用法利用EOC从低到高的跳变,通过单稳电路产生8255A的输入选通信号STB#,锁存转换后的数据。在8255A的INTEA=1中断允许的情况下,由8255A的PC3产生中断请求信号向8259A申请中断。OE信号的产生方法接高电平,始终保持有效,转换结束数据即输出程序示例假设8255A的端口地址为200H~203H,8259A的端口地址为80H和81H。8259A工作在单片、边沿触发、普通全嵌套方式、一般中断结束方式,中断类型号为50H~57H。编写程序以中断方式对IN3输入的模拟信号连续采样50次,并将结果保存在BUF中。解程序分为主程序和中断服务程序两部分。主程序:初始化工作后,启动第一次模/数转换,然后等待所有50次采样结束。中断服务程序从数据端口读出一次采样后的数据将其保存在存储器后,启动下一次转换,直到全部转换完毕。数据段定义

DONE DW 0 ;中断完成标志 POINT DW 0 ;缓冲区地址指针 COUNT DB 0 ;采样计数器,50次采样结束 BUF DB 50DUP(0)主程序——向量表初始化MOV AX,0 MOV ES,AX ;中断向量表段基地址为0000HMOV BX,51H*4 ;BX中预置中断向量地址,中断类型号为51HMOV AX,OFFSETINTRPROCMOV ES:[BX],AX ;向量表中低地址存放偏移地址MOV AX,SEGINTRPROCMOV ES:[BX+2],AX ;向量表中高地址存放段基地址

主程序——8259A初始化; MOV AL,00010011B ;ICW1:边沿触发,单片系统,需要ICW4 OUT 80H,AL MOV AL,01010000B ;ICW2:类型号从50H开始 OUT 81H,AL MOV AL,00000001B ;ICW4:完全嵌套方式,非缓冲,非自动结束 OUT 81H,AL

主程序——8255A初始化

MOV AL,10110000B ;PA口方式1输入,PB口方式0输出,PC输出MOV DX,203HOUT DX,AL

MOV AL,00001001B ;8255A的INTEA=1OUT DX,ALMOV AL,00000000B ;PC0=0,ADC0809启动信号无效OUT DX,ALMOV DX,201H ;输出3号通道的地址给ADC0809MOV AL,03HOUT DX,AL主程序——中断服务程序初始化 MOVDONE,0 ;完成标志清0 MOV POINT,0 ;缓冲区指针设置为0 MOV COUNT,0 ;采样次数设置为0

IN AL,81H ;设置8259A的IR1的中断允许位 AND AL,11111101B OUT 81H,AL STI主程序——启动对IN3的转换 MOV AL,01H ;通过PC0产生正脉冲信号,启动转换 MOV DX,203H OUT DX,AL DEC AL OUT DX,AL主程序——等待中断及结束中断WAIT: CMP DONE,1 ;DONE=1表示所有中断完成 JNZ WAITMOV DX,203HMOV AL,00001000B;INTEA=0,禁止8255A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论