微机原理与接口技术-模拟接口-课件_第1页
微机原理与接口技术-模拟接口-课件_第2页
微机原理与接口技术-模拟接口-课件_第3页
微机原理与接口技术-模拟接口-课件_第4页
微机原理与接口技术-模拟接口-课件_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

第12章模拟接口教学重点

DAC0832及其与主机的连接

ADC0809及其与主机的连接模拟量与数字量模拟量——连续变化的物理量:这里的连续有时间上的连续以及空间上的连续数字量——时间和数值上都离散的量模拟/数字转换器ADCDAC数字/模拟转换器12.1模拟输入输出系统的基本概念数字信号模拟信号现场信号1现场信号2现场信号n微型计算机放大器放大器放大器多路开关低通滤波传感器低通滤波传感器低通滤波传感器A/D转换器采样保持器数字信号受控对象控制信号模拟信号D/A转换器放大驱动电路…采样保持器:周期性地采样连续信号,并在A/D转换期间保持不变多路开关:把多个现场信号分时地接通到A/D转换器低通滤波器:用于降低噪声、滤去高频干扰,以增加信噪比放大器:把传感器输出的信号放大到ADC所需的量程范围传感器:将各种现场的物理量测量出来并转换成电信号(模拟电压或电流)1.采样模拟信号是一个连续的时间函数,如图(a);而计算机只能接受离散的数字量,因而要对连续信号采样。采样就是周期性地取连续信号的瞬时值,如图(b)。采样后的脉冲序列是离散信号,称为采样信号。0、1T、2T…各时间点称为采样时刻。T为采样周期。采样频率为1/T。由于A/D转换需要一定的时间,因此,采样后的信号必须保持τ时间以维持到转换结束。τ就称为保持时间。一、采样、量化和编码

2.量化采样后的信号,时间上是离散的,但它的值仍是连续的。将采样后的信号值,变成计算机能接受的数字量数据,称为量化。如一台字长为4位的计算机,它能接收的数字代码只能是0000、0001、0010、……、1111这16种。进行量化时每种代码对应一个确定的模拟电平。然而,采样值并不一定就是某一代码所确定的模拟电平值,所以此时只能将采样值用一个最接近它的代码表示,图(c)为量化的示意图。从图中可以明显地看出:量化过程中必然会引入误差,称之为量化误差。量化误差的最大值是1/2个量化单位。量化单位是相邻的两个确定模拟电平之差,是量化过程中所能分辨的最小电压值。由此可见:要减少量化误差,可以选用位数较多的ADC。二、D/A转换的基本原理数字量是由代码按数值组合起来表示的。如

1101B=1×23十1×22十0×21十1×20=13数/模转换器的核心器件。常用的解码网络有权电阻解码网络、T型解码网络等。目前大多采用后者。欲将数字量转换成模拟量,必须先把每一位代码按其权的大小转换成相应的模拟分量,然后将各模拟分量相加,其总和就是与数字量相应的模拟量。这就是D/A转换的基本原理。按这一原理构成的转换器,主要由电阻网络、电子开关和基准电压组成,如下图:D/A转换器的原理图(1)Iout2Iout1RfbRfbVout+_I1S1D1c2RRI2S2D2b2RRI0S0D0d2R2RRI3S3D3a2RVREF电阻网络基准电压电子开关:当该位为1时,开关将加权电阻与Ioutl输出端接通产生电流;当该位为0时,开关与Iout2端接通。并联后的等效电阻为R等效电阻为R虚地D/A转换器的原理图(2)Iout2Iout1RfbRfbVout+_I1S1D1c2RRI2S2D2b2RRI0S0D0d2R2RRI3S3D3a2RVREF阻抗=2R整个电路由若干个相同的电路环节组成。每个环节有两个电阻和一个开关。由于Iout2接地,Ioutl为虚地,所以从a、b、c和d各点向右看的阻抗都是2R,这样各点的电压分别为:

Va=VREF,Vb=VREF/2,Vc=VREF/4,Vd=VREF/8D/A转换器的原理图(2)Iout2Iout1RfbRfbVout+_I1S1D1c2RRI2S2D2b2RRI0S0D0d2R2RRI3S3D3a2RVREF当各位为1开关S接通Ioutl时,各点的电流为:I0=Vd/2R=(Vref/8)/2R I1=Vc/2R=(Vref/4)/2RI2=Vb/2R=(Vref/2)/2R I3=Vc/2R=(Vref/1)/2R总输出电流Iout1=I3+I2+I1+I0=(Vref/2R)*(1/1+1/2+1/4+1/8)=Vref/2R*(23+22+21+20)/23=(Vref/24R)*(23+22+21+20)D/A转换器的原理图(2)Iout2Iout1RfbRfbVout+_I1S1D1c2RRI2S2D2b2RRI0S0D0d2R2RRI3S3D3a2RVREF设开关S3~S0的状态为1010,则总输出电流Iout1为Iout1=I3+I2+I1+I0=(Vref/24R)*(1*23+0*22+1*21+0*20)由此通过解码网络在Iout1端得到了一个与输入数字量成比例关系的电流。三、D/A转换器特性及连接D/A转换器一般是根据自己的需要选择相应数据位宽度和速度的D/A转换器芯片,在选择D/A转换器芯片时一般考虑如下指标:(1)分辨率:指D/A转换器所能分辨的最小电压增量,或1个二进制增量所代表的模拟量大小。一般来说,D/A转换器位数越多,其分辨率就越高,分辨率的表示式为:分辨率=Vref/2位数

或分辨率=(V+REF-V-REF)/2位数如:若Vref=5V,8位的D/A转换器分辨率为5/256=20mV。(2)转换时间:指数字量输入到模拟量输出达到稳定所需的时间。一般电流型D/A转换器在几纳秒到几百微秒之内;而电压型D/A转换器转换较慢,取决于运算放大器的响应时间。(3)精度:指D/A转换器实际输出与理论值之间的误差,一般采用数字量的最低有效位(LSB)作为衡量单位,值为±1/2LSB。。如D/A分辨率为20mV,则精度为±10mV。(4)线性度:当数字量变化时,D/A转换器输出的模拟量按比例变化的程度。理想的D/A转换器是线性的,但实际有一定的误差,模拟输出偏离理想输出的最大值称为线性误差。12.2.2DAC0832芯片写信号1。在片选和允许输入两信号有效下,用它将数字输入量锁存于输入寄存器中。参考电压输入端。它的范围为+10V~-10V。放大器反馈电阻引出端。允许输入锁存。写信号2。在传送控制信号(XFER)有效下,用它将输入寄存器的数字传送到DAC寄存器,同时进入D/A转换器开始转换。模拟电流输出1,它是逻辑电平为1的各位输出电流之和。DAC0832是典型的8位电流输出型通用DAC芯片,其外部引脚如下12.2.2DAC0832芯片DAC0832的内部结构如下LE2LE1RfbAGNDDAC0832VccILEVREF输入寄存器DGNDDI0~DI7D/A转换器DAC寄存器Iout2Iout1CSWR1WR2XFER8位数字输入端DI0~DI7(DI0为最低位)输入寄存器(第1级锁存)的控制端ILE、CS*、WR1*DAC寄存器(第2级锁存)的控制端XFER*、WR2*DAC0832有三种工作方式(连接方式):(1)直通方式(2)单缓冲方式(3)双缓冲方式DAC0832的工作方式:直通方式LE1=LE2=1输入的数字数据直接进入D/A转换器:输入端DI7~DI0一旦输出数据就立即进行D/A转换。这种方式不使用缓冲寄存器,不能直接与CPU或系统总线相连。(可使其与8255相连)LE2LE1DAC0832输入寄存器DI0~DI7D/A转换器DAC寄存器Iout1DAC0832的工作方式:单缓冲方式(接线图p275)LE1=1,或LE2=1两个寄存器之一始终处于直通状态,另一个寄存器处于受控状态(缓冲状态):如把WR2,XFER接地,使DAC寄存器处于直通状态,ILE接+5V,WR1接CPU的IOW,CS接I/O地址译码器,针对CS进行数据写操作,数据写入后立即开始D/A转换。LE2LE1DAC0832输入寄存器DI0~DI7D/A转换器DAC寄存器Iout1DAC0832的工作方式:双缓冲方式两个寄存器都处于受控(缓冲)状态,能够对一个数据进行D/A转换的同时,输入另一个数据当ILE固定为十5V,IOW连接到WR1和WR2上,CS作为输入寄存器的选通信号,XFER作为DAC寄存器的选通信号,分别连接到两个I/O地址的译码输出。数据写入时分两次进行,首先写入待转换的数字量到8位输入寄存器,然后进行虚拟写操作(产生XFER信号),用于将8位输入寄存器中的数据锁存到DAC寄存器,开始D/A转换。双缓冲方式的优点是:在D/A转换的同时,可接收下一个转换数据,从而提高了转换速度。LE2LE1DAC0832输入寄存器DI0~DI7D/A转换器DAC寄存器Iout1采用单缓冲方式连接如图所示。ILE接十5V;WR1接CPU的IOW,CS接I/O地址译码器,WR2,XFER接地DAC0832的应用TRG:

MOV DX,200H MOV AL,0TN:

OUT DX,AL INC AL JMP TN利用DAC可实现任意波形(如锯齿波、三角波、正弦波等)的输出;如输出锯齿波的程序段如下(设DAC0832的端口地址为200H):2次数据输出的时间间隔02LSB1LSB255LSB254LSB锯齿波周期DAC0832的应用-输出锯齿波输出三角波的程序段如下:TRG:

MOV DX,200H MOV AL,0TNl:

OUT DX,AL INC AL JNZ TN1 MOV AL,0FFHTN2:

OUT DX,AL DEC AL JNZ TN2 JMP TN1利用上图所示的DAC0832单缓冲方式连接图,也可输出循环正弦波,由于DAC0832是一个单极性输出DAC芯片,因此在正弦波输出中应将0V平移到128数值上,其C语言控制程序如下:#include<stdio.h>#include<math.h>main(){unsigned char V0=128,VOUT;int i:while(!kbhit()){ i=0; while(i<=360)//角度最大为360度

{VOUT=V0+128*sin(3.1419*i/180);//计算每10度的正弦值

outportb(0x200,VOUT);//输出

i+=10;

}}}2.12位DAC连接由于8088的I/O指令一次只能输出8位数据,因此对于数据宽度大于8位的DAC只能分两次输入数据,为此一般大于8位数据宽度的DAC内部均设计有两级数据缓冲,如12位DACl210内部就有两级数据缓冲,内部结构如下图所示:由于DACl210有两级数据缓冲电路,其控制逻辑与CPU兼容,因此DACl210可以与CPU直接相连,如下图所示:输入数据线高8位DI11~DI4连接到数据总线的D7~D0输入数据线低4位DI3~DI0连接到数据总线的低4位D3~D0当译码器输出Y0=0,BYTE1/BYTE2为高电平,CPU向DACl210写入高8位数据;当Y1=0,BYTEl/BYTE2=0,CPU向DACl210写入低4位数据;当Y2=0、IOW=0时,则写入DACl210芯片的12位数据一起写入DACl210的DAC寄存器,进行D/A转换。设译码器Y0端口地址为200H,用该电路产生连续锯齿波输出程序如下:MOVAX,0TN:

MOV BX,AXMOV CL,4SHL AX,CL MOV AL,AH ;高8位数据

MOV DX,200HOUT DX,AL ;输出高8位数据

MOV AX,BXAND AL,0FH ;屏蔽高4位

INC DX ;低4位端口地址201HOUT DX,AL ;输出低4位

INC AXCMP AX,0FFFHJNZ TNMOV AX,0JMP TN……12.3A/D转换器模拟量数字量模拟/数字转换器ADC12.3.1A/D转换的基本原理存在多种A/D转换技术,各有特点,分别应用于不同的场合4种常用的转换技术计数器式逐次逼近式双积分式并行式1.计数器式以最低位为增减量单位的逐步计数法时钟复位数字输出比较器模拟输入计数器D/A转换器转换结束模拟量输入比较方法:8255的PA口由零开始输出,DAC输出一个逐步升起的梯形电压,输入的模拟电压和DAC生成的电压被送至比较器进行比较。当二者一致或基本一致(在允许的量化误差范围内)时,比较器输出一个指示信号,立即停止向PA口输出。此时,DAC的输出值就是采样信号的模拟近似值,其相应的数字量即为向PA口中写入的计数值。2.逐次逼近式从最高位开始的逐位试探法时钟复位数字输出转换结束比较器模拟输入寄存器D/A转换器逐次逼近式:转换前,PA口各位清除为0。转换时,写入的数据先由最高位置1,DAC输出值与被测的模拟值进行比较:如果“低于”,该位的1被保留;如果“高于”该位的1被清除。然后下一位再置1,再比较,决定是否保留……直至最低位完成同一过程。写入的数据从最高位到最低位都试探过一遍的最终值就是A/D转换的结果。由于每次送出的比较数字量是前次的一半,所以也称为二分搜索法。模拟量输入两种方法相比较:计数器式采用以最低位为增减量单位的逐步计数法,而逐次逼近式采用从最高位开始的逐位试探法。对n位ADC,逐次逼近式只要n次比较就可完成转换,而计数器式的比较次数不固定,最多可能需要2n次。模拟量输入3.双积分式两个积分阶段实质是电压/时间变换IREFIinVinVREF积分器比较器V/IV/I时钟启动计数计数器数字输出T2T1Vc固定斜率时间可变固定时间斜率可变转换结束双积分型A/D转换器是将输入电压变换成与平均值成正比的时间间隔,然后利用计数器测量时间间隔,如下图所示:双积分型A/D转换器完成一次模—数转换需要三个阶段:积分(采样:K1导通)、反积分(比较:K3导通)和结束阶段(K4导通)。在对Vin进行积分的阶段,其积分时间是固定的;而在对反极性的标准电压±VR进行积分的阶段,其斜率是固定的。转换过程-积分阶段(K1导通):在每次转换开始时,控制逻辑使开关接向Vin,设它的输出电流为Iin,它正比于Vin。此电流使积分电容器C的两极被充电,积分电路的输出电压Vc逐渐升高;此正斜率持续一个固定时间后,控制逻辑使开关接向K2或K3;反积分阶段(K2或K3导通):当开关接向基准电压K2或K3后,计数器重新开始对时钟计数。设IR是VR的输出电流,它的大小是固定的。由于设置VR与Vin的极性刚好相反,故IR是反向充电电流,即积分电容的放电电流。当逐渐降低的Vc电压超过零点时,比较器的输出发生变化而使计数器停止计数。这个最终的数值与输入电压的幅值成正比,它即是A/D转换的结果。双积分器对正极性电压输出波形如下图所示:通过输出波形可得:Vin/Nx=Vr/Nm=>Vin=Vr/Nm×Nx,=>Nx=Vin/Vr×Nm式中:Vr参考电压,Nm参考电压计数值,Nx输入电压计数值4.并行式速度快成本高直接比较法编码电路VinVREF数字输出比较器RRRRRRRR/212.3.2ADC0809芯片具有A/D转换的基本功能8位逐次逼近式ADC转换时间为100s包含扩展部件多路开关三态锁存缓冲器ADC0809的内部结构图ADC0809地址锁存和译码OE通道选择开关ADDAADDBADDC1N0IN1IN2IN3IN4IN5IN6IN78位三态锁存缓冲器DACVcc比较器CLOCKSTARTGNDVREF(+)VREF(-)ALE逐次逼近寄存器SAR定时和控制D0D1D2D3D4D5D6D7EOC1.ADC0809的模拟输入提供一个8通道的多路开关和寻址逻辑IN0~IN7:8个模拟电压输入端ADDA、ADDB、ADDC:3个地址输入线,其组合用于选择8个模拟输入中的一个ALE:地址锁存允许信号ALE的上升沿用于锁存3个地址输入的状态,然后由译码器从8个模拟输入中选择一个模拟输入端进行A/D转换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=5AH12.3.3ADC0809的应用ADC0809与微机连接有两种方式,一是通过8255,二是直接连接;ADC0809与微机数据传输有两种方式,一是查询方式,二是中断。本例ADC0809与微机之间通过8255连接,采用查询方式读取转换后的数字量。PB2PB1PB0=CBA=01

温馨提示

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

评论

0/150

提交评论