接口技术模拟接口_第1页
接口技术模拟接口_第2页
接口技术模拟接口_第3页
接口技术模拟接口_第4页
接口技术模拟接口_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

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

文档简介

接口技术模拟接口第1页,课件共85页,创作于2023年2月当计算机用于数据采集和过程控制的时候,采集对象往往是连续变化的物理量(如温度、压力、声波等),但计算机处理的是离散的数字量,因此需要对连接变化的物理量(模拟量)进行采样、保持,再把模拟量转换为数字量交给计算机处理、保存等。计算机输出的数字量有时需要转换为模拟量去控制某些执行元件(如声卡播放音乐等)。A/D转换器ADC完成模拟量→数字量的转换,D/A转换器DAC完成数字量→模拟量的转换。信号及处理第2页,课件共85页,创作于2023年2月模拟输入输出系统第3页,课件共85页,创作于2023年2月1)传感器传感器是用于将工业生产现场的某些非电物理量转换为电量(电流、电压)的器件。例如,热电偶能够将温度这个物理量转换成几毫伏或几十毫伏的电压信号,所以可用它作为温度传感器;而压力传感器可以把物理量压力的变化转换为电信号,等等。2)变送器一般来讲,传感器输出的电信号都比较微弱,有些传感器的输出甚至是电阻值、电容值等非电量。为了易于与信号处理环节衔接,就需要将这些微弱电信号及电阻值等非电量转换成一种统一的电信号,变送器就是实现这一功能的器件。它将传感器的输出信号转换成0~10mA或4~20mA的统一电流信号或者0~5V的电压信号3)信号处理环节信号处理环节主要包括信号的放大及干扰信号的去除。它将变送器输出的信号进行放大或处理成与A/D(AnalogtoDigital)转换器所要求的输入相适应的电平。另外,传感器通常都安装在现场,环境比较恶劣,其输出常叠加有高频干扰信号。因此,信号处理环节通常是低通滤波电路,如RC滤波器或由运算放大器构成的有源滤波电路等。第4页,课件共85页,创作于2023年2月4)多路转换开关在生产过程中,要监测或控制的模拟量往往不止一个,尤其是数据采集系统中,需要采集的模拟量一般比较多,而且不少模拟量是缓慢变化的信号。对这类模拟信号的采集,可采用多路模拟开关,使多个模拟信号共用一个A/D转换器进行采样和转换,以降低成本。5)采样保持电路在数据采样期间,保持输入信号不变的电路称为采样保持电路。由于输入模拟信号是连续变化的,而A/D转换器完成一次转换需要一定的时间,这段时间称为转换时间。不同的A/D转换芯片,其转换时间不同。对于变化较快的模拟输入信号,如果不在转换期间保持输入信号不变,就可能引起转换误差。A/D转换芯片的转换时间越长,对同样频率模拟信号的转换精度的影响就越大。所以,在A/D转换器前面要增加一级采样保持电路,以保证在转换过程中,输入信号保持在其采样期间的值不变。6)模数转换器A/D这是模拟量输入通道的中心环节,它的作用是将输入的模拟信号转换成计算机能够识别的数字信号,以便计算机进行分析和处理。第5页,课件共85页,创作于2023年2月模拟量的输出通道计算机的输出信号是数字信号,而有些控制执行元件要求提供模拟的输入电流或电压信号,这就需要将计算机输出的数字量转换为模拟量,这个过程的实现由模拟量的输出通道来完成。输出通道的核心部件是D/A(DigitaltoAnalog)转换器,由于将数字量转换为模拟量同样需要一定的转换时间,也就要求在整个转换过程中待转换的数字量要保持不变。而计算机的运行速度很快,其输出的数据在数据总线上稳定的时间很短,因此,在计算机与D/A转换器之间必须加一级锁存器以保持数字量的稳定。D/A转换器的输出端一般还要加上低通滤波器,以平滑输出波形。另外,为了能够驱动执行器件,还需要设置驱动放大电路将输出的小功率模拟量加以放大,以足够驱动执行元件动作。第6页,课件共85页,创作于2023年2月12.1数/模(D/A)转换

D/A转换器完成数字量→模拟量的转换,这在计算机和虚拟信号发生器中应用非常普遍。一、D/A转换原理数/模转换器的核心器件是“解码网络”常用的解码网络有权电阻解码网络、T型解码网络、开关树型DAC、双极性输出DAC等第7页,课件共85页,创作于2023年2月求和元件RRRR2R2R2R2R2R节点7节点6节点5节点0S7S6S5S6图10-1T型解码网络原理图原理:其中Di=0或1(i=0,1,2,…,n-1)。第8页,课件共85页,创作于2023年2月图中Vref为参考电压,S7、S6……SO为8个电子开关,受计算机输出的二进制数据控制其导通/关断。解码网络相邻两节点之间的电阻都为R,但节点7与运算放大器之间,节点0与地之间的电阻为2R,各支路电阻为2R。不论电子开关导通/关断,从任一节点向左、向右看(不包含支路电阻)的等效电阻都是2R。用叠加原理分析输入到运算放大器的总电流:依次假设S7~S0中只有一个电子开关接通Vref,其他电子开关接地,可求出总电流为:总电流=D7×I×2-1+D6×I×2-2+……D0×I×2-8

=I×2-8(D7×27+D6×26+……D0×20)=N×2-8(Verf/3R)由于Verf和3R均为固定值总电流只与输入的二进制数N有关,所以通过解码网络可得到一个与输入数字量成比例关系的电流。第9页,课件共85页,创作于2023年2月集成化的D/A转换芯片按输入二进制的位数常见的有8、12、16、20位D/A转换器。二、D/A转换器特性及连接D/A转换器一般是根据自己的需要选择相应数据位宽度和速度的D/A转换芯片,在选择D/A转换器芯片时一般考虑如下指标:(1)分辨率:

指D/A转换器能分辨的最小电压增量,或1个二进制增量所代表的模拟量大小。分辨率的表示式为:分辨率=Vref/2位数或分辨率=(V+ref+V-ref)/2位数若Vref=5V,8位的D/A转换器分辨率为5/256=20mV。第10页,课件共85页,创作于2023年2月(2)转换时间:

指数字量输入到模拟量输出达到稳定所需的时间。一般电流型D/A转换器在几秒到几百微秒之内;而电压型D/A转换器转换较慢,取决于运算放大器的响应时间。(3)精度:

指D/A转换器实际输出与理论值之间的误差,一般采用数字量的最低有效位作为衡量单位(如1/2LSB)。如D/A分辨率为20mV,则精度为±10mV.(4)线性度:

当数字量变化时,D/A转换器输出的模拟量按比例变化的程度。第11页,课件共85页,创作于2023年2月DAC(数字模拟变换集成电路)是系统或设备中的一个功能器件,当将它接入系统时,不同的应用场合对其输入输出有不同的要求,一般考虑以下几方面:(1)输入缓冲能力:

DAC的输入缓冲能力是非常重要的,具有缓冲能力(数据寄存器)的DAC芯片可直接与CPU或系统总线相连,否则必须添加锁存器。(2)输入码制:

DAC输入有二进制BCD码两种,对于单极性DAC可接收二进制和BCD码;双极性DAC接收偏移二进制或补码。第12页,课件共85页,创作于2023年2月(3)输出类型:DAC输出有电流型和电压型两种,用户可根据需要选择,也可进行电流→电压转换。(4)输出极性:DC有单极性和双极性两种,如果要求输出有正负变化,则必须使用双极性DAC芯片。三、DAC典型连接DAC芯片与CPU或系统总路线连接时,可从数据总线宽度是否与DAC位数据匹配、DAC是否具有数据寄存器两个方面来虑,一般有下面几种情况:(1)当DAC位数与数据总线宽度相同,具有数据缓冲能力时,可直接与CPU连接。第13页,课件共85页,创作于2023年2月(2)当DAC位数与数据总线宽度相同,DAC没有数据寄存器时,必须外加锁存器或I/O接口芯片(如8255A等)才能与CPU连接。当DAC位数大于数据总线宽度,DAC无论有无数据寄存器时,都必须外加锁存器或I/O接口芯片才能与CPU相连接。1.8位DAC连接DAC0832是一片典型的8位DAC芯片,其引脚和内部结构如图10-2所示。

2019181716151413121112345678910VCCILEWR2XFERDI4DI5DI6DI7IOUT1IOUT2CSWR1AGNDDI3DI2DI1DI0VREFRFBDGND第14页,课件共85页,创作于2023年2月8位输入寄存器8位DAC寄存器8位D/A转换器DI7~DI10ILELE1LE2CSWR1WR2XFERVREFIOUT2IOUT1RFBAGND(模拟地)图10-2DAC0832引脚及内部结构第15页,课件共85页,创作于2023年2月CS——片选信号输入端,低电平有效。ILE——数据锁存允许信号输入端,高电平有效。WR1——输入锁存器写选通信号,低电平有效。它作为第一级锁存信号将输入数据锁存到输入锁存器中。WR1必须在CS和ILE均有效时才能起操控作用。WR2——DAC寄存器写选通信号,低电平有效。它将锁存在输入锁存器中可用的8位数据送到DAC寄存器中进行锁存。此时,传送控制信号XFER必须有效。XFER——传送控制信号,低电平有效。当XFER为低电平时,将允许。D0-D7——8位数据输入端,D7为最高位。第16页,课件共85页,创作于2023年2月IOUT1、IOUT2——模拟电流输出端,转换结果以一组差动电流(IOUT1,IOUT2)输出。当DAC寄存器中的数字码全为“l”时,IOUT1最大;全为“0”时,IOUT1为零。IOUT1+IOUT2=常数,IOUT1、IOUT2随DAC寄存器的内容线性变化。RFB——反馈电阻引出端,DAC0830内部已有反馈电阻,所以RFB端可以直接接到外部运算放大器的输出端,这样,相当于将一个反馈电阻接在运算放大器的输入端和输出端之间。VCC——电源电压输入端,范围为+5——+15V,以+15V时工作为最佳。VREF——参考电压输入端,此端可接一个正电压,也可接负电压。范围为-10——+10V。外部标准电压通过VREF与T型电阻网络相连。此电压越稳定,模拟输出精度就越高。AGND——模拟地。DGND——数字地。第17页,课件共85页,创作于2023年2月D7~D0IOWA9~A0AEN系统总线DI0~7WR1ILECSDAC0832译码器WR2XFERDGNDVerfRfbI01I02AGND+-AR+5VVout图10-3DAC0832单缓冲方式连接+5V200H第18页,课件共85页,创作于2023年2月DAC0832有三种工作方式:(1)双缓冲方式(2)单缓冲方式(3)直通方式注:在DAC实际连接中,要注意区分“模拟地”和“数字地”的连接,为了避免信号串扰,数字量部分只能连接到数字地,而模所量部分只能连接到模拟地。采用单缓冲方式连接如图10-3所示。利用DAC可实现任意波形(如锯齿波、三角波、正弦波等)的输出,如输出锯齿波、三角波的程序段如下:TRG:MOVDX,200HMOVAL,0HTN1:OUTDX,ALINCAL第19页,课件共85页,创作于2023年2月

JNZTN1MOVAL,0FFHTN2:OUTDX,ALDECALJNZTN1

…………输出锯齿波程序段如下:TRG:MOVDX,200HMOVAL,0HTN:OUTDX,ALINCALJMPTN…………第20页,课件共85页,创作于2023年2月利用图所示的DAC0832单缓冲方式连接图,也可输出正弦波,由于DAC0832是一个单极性输出DAC芯片,因此在正弦波输出中应将0V平移到128数值上,其C语言控制程序如下:#include<stdio.h>#include<math.h>Main(){unsignedcharV0=128,VOUT;inti; Next:i=0;while(i<=360){∥角度最大为360度VOUT=V0+128*sin(3.14159*i/180);∥计算每10度的正弦值outportb(0x200,VOUT);∥输出i=i+10;∥角度+10}while(!kbhit()){∥等待键盘gotonext∥键盘无键按下,重复输出正弦波}}第21页,课件共85页,创作于2023年2月双缓冲方式计算机屏幕上某点的颜色由R、G、B共3个颜色枪控制,每一枪若用DAC0832(片选分别为CSR、CSG、CSB)的模拟信号输出进行驱动控制。(还可以有X、Y分量控制)。请设计颜色点的显示控制系统。要求画出设计图,并编写一子程序DISPCLR显示此点的颜色(待显示点的颜色值在变量COLOR开始的3个字节内,DAC0832的输出只需画Iout端即可)。

第22页,课件共85页,创作于2023年2月第23页,课件共85页,创作于2023年2月采用双缓冲工作方式。再选择CSX作为2级缓冲XFER的控制信号。DISPCLRPROCNEARMOVDX,CSRMOVAL,COLOROUTDX,ALNOPMOVDX,CSGMOVAL,COLOR+1OUTDX,ALNOP

MOVDX,CSBMOVAL,COLOR+2OUTDX,ALNOPMOVDX,CSX;XFER-OUTDX,ALNOPRETDISPCLRENDP第24页,课件共85页,创作于2023年2月2.12位DAC连接由于微机的I/O指令一次只能输出8位数据,因此对于数据宽度大于8位DAC只能分两次输入数据,为此一般大于8位数据宽度的DAC内部均设计有两级数据缓冲,如12位DAC1210内部就有两级数据缓冲,内部结构如图10-4所示。第25页,课件共85页,创作于2023年2月8位输入锁存器4位输入锁存器12位DAC存储器12位相乘型D/A转换器LELELELSBMSBDI1115DI1016DI917DI818DI719DI620DI54DI45DI36DI27DI18DI09BYTE123/BYTE2CS1WR12XFER21WR22210Vref14Iout213Iout111Rfb24Vcc3AGND24DGND图10-4DAC1210内部结构第26页,课件共85页,创作于2023年2月D7D6D5D4D3D2D1D0DI11DI10DI9DI8DI7DI6DI5DI4DI3DI2DI1DI0译码器Y0IOWAENABY1Y2系统总线WR1WR2BYTE1/BYTE2XFERCSVccAGND-+A1-+A2Rfb+-A310110222k-12V+12VW110k10kVoutW222k-12VVrefDGND+5V+12V2DW7C470200W31K1004.7uF图10-5DAC121与CPU连接第27页,课件共85页,创作于2023年2月在图10-5所示的DAC1210连接电路中,电位器W2用于调零、W1用于DAC满刻度修正。设译码器YO端口地址为200H,用该电路产生连续锯齿波输出程序如下:MOVDX,200HMOVAL,DATAHOUTDX,AL;输出高8位数据INCDX;MOVAL,DATAL ;低4位数据输出OUTDX,AL

MOVDX,202H;XFER-OUTDX,AL;输出12位数据

第28页,课件共85页,创作于2023年2月四、D/A转换器应用1、函数DAC可以产生任意波形、幅度和频率的信号,如三角波、方波、函数波等。在图10-6所示的DAC电路中,设CS=200H,产生Y=2*COS(200t)*SIN(100t)的函数信号程序。第29页,课件共85页,创作于2023年2月ADC0832RFBD7~D0IOUT1IOUT2D7~D0D7~D0XFERCSAGNDVccDGNDWR1WR2ILFVREF200~20FHCSA0IOW+5V+12V10K-12V200PAOUT+12V10K1K1MLF351图10-6DAC0832电路第30页,课件共85页,创作于2023年2月2.A/D转换器

用DAC来构成ADC的应用情况较少,图10-7所示为DAC构成ADC的一种应用方法。LM710+-4.7K-12VRfbI01I02AGNDDI7~DI0VccVrefDGNDDAC0832++5V8255APC0PA7~PA7CS200H~207HDB7~DB0图5-7DAC构成ADC原理图+12V+5V4.7K第31页,课件共85页,创作于2023年2月12.2A/D转换接口在数据采集和过程控制中,被采集对象往往是连续变化的物理量(如温度、压力。声波等),由于计算机只能处理离散的数字量,需要对连续变化的物理转换为数字量,这一操作过程就是A/D转换。一、A/D转换原理A/D转换的原理很多,常见的有双积分式、逐次逼近式、计数式等,输出码制有二进制、BCD码等,输出数据宽度有8位、12位、16位、20位等(二进制)和位、位于(BCD码)。作过程就是A/D转换。第32页,课件共85页,创作于2023年2月在模/数转换中,一般要完成采样、量化和编码三个内容采样:被转换的模拟信号在时间上是连续的,它有无限多个瞬时值,而模/数转换总是需要一定时间的,不可能把每一个瞬时值都一一转换为数字量。因此,必须在连续变化的模拟量上按一定的规律(周期地)取出其中的某一些瞬时值来代表这个连续的模拟量,这个过程就是采样。为了保证采样不丢失的信息,即采样后的离散信号能代替或能恢复原来的连续信号,采样必须遵循采样定理。采样定理,又称奈奎斯特(Nyquist)定理,是说对信号采样时,采样频率必须大于或等于信号最高频率的两倍。实际上,一般应用时均高于两倍,对于混在信号中的其它信号,要用滤波器将其滤掉,否则高频混入,将会使采样后的信号发生畸变。第33页,课件共85页,创作于2023年2月第34页,课件共85页,创作于2023年2月采样是通过采样保持电路实现的,该电路通常由保持电容器,输入输出缓冲放大器,模拟开关及控制电路组成,当状态控制输入为“1”时,开关闭合,使电容器上的电压与输入电压相等。放大器A1除提供输入缓冲作用外,还供给存储电容器快速充电所需的电流,而高增益反馈回路则提供了很高的跟踪精度。当状态控制改为“0”时,开关断开,输出保持固定,其大小等于电容器两端所存储的电压。放大器A2的输入电流和场效应晶体管开关的关断漏电流都很小,致使电容器的电荷漏泄最小,因此,输出电压的衰减也最小。有的采样一保持单片集成电路,省去了电容器,电路中的电容器由用户针对具体的用途进行选择。第35页,课件共85页,创作于2023年2月1.计数式A/D转换

当启动脉冲到来时,二进制计数器清零,门打开,此时输入电压Vi和D/A转换器的输出v。进行比较,若Vi>Vo,比较器输出1,则时钟脉冲通过门而使计数器计数一次,此时计数值再转换成电压由D/A输出。然后Vo又和Vi比较,若Vi>V0,则时钟脉冲又通过门使计数器又计数_次,此过程一直继续到DAC输出电压V。等于输入电压V;为止。这时比较器输出相等信号,关闭计数门,同时送到控制逻辑,使其发出转换结束信号EOC,这时二进制计数器的值就是转换结果。由于此方法是DAC产生一个增长的斜坡电压,去和输入电压不断比较,故而又叫斜坡法。第36页,课件共85页,创作于2023年2月2.双积分型A/D转换器双积分型A/D转换器是将输入电压变换成与平均值成正比的时间间隔,然后利用计数器测量时间间隔,如图10-8所示。

±Vin+VR-VR+-+-控制逻辑计数器/锁存器译码器/显示器时钟发生器K4K1K2K3COMPoutC积分器比较器R图10-8双积分型A/D转换器框图第37页,课件共85页,创作于2023年2月双积分型A/D转换器完成一次模一数转换需要三个阶段:积分(采样:K1导通)、反积分(比较:K3导通)和结束阶段(K4导通)。双积器对正极性电压输出波形如图10-9所示。t1t2t3t4t1t2t3t4T1T2T3V2V10-V1+V2图10-9双积分型A/D转换器输出波形第38页,课件共85页,创作于2023年2月通过输出波形可求出:Vin=VR/Nm×NX,式中:VR参考电压,Nm参考电压计数值,NX输入电压计数值。可见,双积分型A/D转换器输出与时间常数RC无关,消除了斜坡电压的各种误差,由于经过两次积分可消除干扰对转换结果的影响。3.逐次逼近式A/D转换器逐次逼近式A/D转换器原理如图10-10所示,当转换器接收到启动信号后,逐次逼近寄存器清0,通过内部D/A转换器输出使输出电压V0为0,启动信号结束后开始A/D转换。第39页,课件共85页,创作于2023年2月8位D/A转换器逐次逼近寄存器缓冲寄存器控制电路D7~D0CLK启动信号转换结束比较器:Vi>V0输出为“1”Vi≤V0输出为“0”Vi输出模拟电压V0+-图10-10逐次逼近式A/D转换器第40页,课件共85页,创作于2023年2月(1)分辨率:指A/D转换器可转换成数字量的最小电压(量化阶梯),如8为ADC满量程为5V,则分辨率为5000mV/256=20mV,也就是说当模拟电压小于20mV,ADC就不能转换了,所以分辨率一般表示式为:分辨率=Vref/2位数(单极性)或分辨率=(V+ref-V-ref)/2位数(双极性)(2)转换时间:指从输入启动转换信号到转换结束,得到稳定的数字量输出的时间。一般转换速度越好(特别是动态信号采集),常见有超高速(转换时间<1ns)、高速(转换时间<1µs)、中速(转换时间<1ms)和低速(转换时间<1s)等。如果采集对象是动态连续信号,要求f采≥2f信,也就是说必须在信号的一个周期内采集2个以上的数据,才能保证信号形态被还原(避免出殃“假频”),这就是“最小采样”原理。若f信=20kHz,则f采≥40kHz,其转换时间要求≤25µs.二、A/D转换器特性A/D转换器的功能是把模拟量转换为数字量,其主要参数有:第41页,课件共85页,创作于2023年2月(3)量化精度:指A/D转换器实际输出与理论值之间的误差,一般采用数字量的最低有效位作为衡量单位(如±1/2LSB)。(4)线性度:当模拟量变化时,A/D转换器输出的数字量按比例变化的程度。三、A/D转换电路1.接口形式(1)与CPU直接相连:当ADC芯片内部带有数据输出锁存器和三态门时(如AD574、ADC0809等),它们的数据输出可直接与CPU或数据总线相连。(2)用三态门与CPU相连:对于内部不带数据输出锁存器的ADC芯片(如ADC1210、AD570等),需外接三态锁存器后才能与CPU或系统总线相连。(3)通过I/O接口芯片与CPU相连:无论ADC内部有无数据锁存器,都可以通过I/O接口芯片(并行或串行)与CPU或系统总线相连的,这样可简化接口电路。第42页,课件共85页,创作于2023年2月(4)DMA传送数据:当ADC采样速率很高(fs>1MHz),一般数据传送方式不能达到数据传送要求,导致数据丢失。2.ADC连接实例(1)8位ADC连接与编程ADC0809是逐次逼近式的8位ADC芯片,引脚和内部结构图10-11(a)(b)所示。2827262524232221201912345678910IN2IN1IN0ADDAADDBADDCALED7D6D5IN3IN4IN5IN6IN7STARTEOCD3OECLK1112131418171615D4D0VREF-D2VCCVREF+GNDD1ADC0809(a)第43页,课件共85页,创作于2023年2月8路模拟开关地址锁存译码电子开关逐次逼近寄存器控制与时序解码网络STARTCLK三态门VCCGNDVREF(+)VREF(-)OEEOCIN0IN7ADDCADDBADDAALE··图10-11ADC0809引脚与内部结构第44页,课件共85页,创作于2023年2月第45页,课件共85页,创作于2023年2月转换由START为高电平来启动(START对CLOCK可不同步),START的上升沿将SAR复位,真正转换从START的下降沿开始。在START上升沿之后的2µs再加8个时钟周期内(不定),EOC状态输出信号将变低,以指示转换操作正在进行中。EOC保持低电平直到转换完成后再变成高电平。当OE被置为高电平时,三态门打开,数据锁存器的内容输出到数据总线上。模拟输入通道的选择,可以相对于转换开始独立地进行,然而通常是把通道选择和启动转换结合起来完成,这样可以用一条写指令完成选择模拟通道和启动转换。如用EOC信号去产生中断申请,要特别注意EOC的变低相对于启动信号有2ps和8个时钟周期的延迟,要设法使它不致产生虚假的中断申请。第46页,课件共85页,创作于2023年2月START是ADC0809的A/D转换启动信号,高电平时内部逐次逼近寄存器清0,由1→0变化时开始A/D转换,信号宽度>100ns.CLK为时钟信号,最大为600KHz.ADC0809设图10-12所示电路的CS=220~227H,采用中断方式的采集程序如下:IN0IN1IN2IN3IN4IN5IN6IN7Q0Q1Q2Q31ACLKOEStartALEA0A1A2IRQ2EOC+5V+5V8MHzIORIOW220H~227H图10-12ADC0809典型连接第47页,课件共85页,创作于2023年2月第48页,课件共85页,创作于2023年2月若把8个模拟量,轮流输入至内存缓冲区,程序如下:START:MOVDI,DATA;设输入缓冲区指针MOVCX,08H;通道数一CXMOVDX,PORTBASE;口地址一BXSTI;开中断L1:OUTDX,AL;启动转换HLT、;停机,等待转换结束MOV[DI]AL;转换结果送缓冲区INCDI;修改缓冲区指针INCDX;修改口地地LOOPL1;判断是否8个模拟量全输入完否:;中断处理程序:INAL,DX;输入结果STI;开中断IRET;返回第49页,课件共85页,创作于2023年2月#include<stdio.h>#include<dos.h>Voidinterruptfaradc-proc();Main(){void(interruptfar*mode)();disable();∥关中断mode=getvect(0x0a);∥取IRQ2中断向量setvect(0x0a,adc-proc);∥设置中断向量Enable();∥开中断outportb(0x220,00);∥启动ADC转器,选择IN0通道while(!Kbhit()){}∥等待键盘setvect(0x0a,mode);∥有键按下时,恢复IRQ2中断向量}第50页,课件共85页,创作于2023年2月voidinterruptfaradc-proc(){∥中断服务程序unsignedcharresult;Disable();∥关中断Result=inportb(0x220);∥取ADC转换结果Printf(“DIGIAL=%d/n”,result);∥显示转换数据Outportb(0x220,00);∥启动下一次ADC转换,选择IN0通道Outprotb(0x20,0x20);∥向8259送EOI信号Enable();∥开中断}(2)12位ADC连接与编程ADC574A是具有三态输出锁存器的12位逐次比较ADC芯片,转换速度快(25us),是目前国内使用最广泛的ADC芯片之一。ADC574A可并行输出12位数据,也可以分两次输出(先高8位,第51页,课件共85页,创作于2023年2月后低4位)数据;既可进行8位转换,也可进行12位A/D转换。ADC574的引脚定义和控制信号工作时序如图10-13所示。2827262524232221201912345678910STSDB11DB10DB9DB8DB7DB6DB5DB4DB3+5V12/8CSA0R/CCE+15VREFOUTAGNDREFIN1112131418171615DB2DB1DB0DGND-15VBIP10VIN20VINADC574ACSCER/CA0STSDB7~DB0图5-13AD574A引脚定义和工作时序第52页,课件共85页,创作于2023年2月设图10-14所示电路中译码器对A9~A1进行译码,Y0=210H、D7~D0译码器PC总线AENA9~A0IOWIORADC574ADB11~DB4DB3~DB0STSCSA0R/CCE12/8VccVee10Vin20VinREFinREFoutBIPOFFDCACVin+15V-15V图10-14AD574通过并行接口芯片与系统总线相连D3~D0第53页,课件共85页,创作于2023年2月Y1=212H~213H,因此ADC574A的CS=211H~213H分另用于高位和低位数据的读取,采用查询方式的数据采集程序如下:#include<stdio.h>#include<dos.h>Main()unsignedintDATA[256];∥采集数据存放数组unsignedcharstatus,datah,datal,id;id=1;while(!kbhit()){∥等待键盘,按任意键结束outportb(0x212,0x00);∥启动12位转换,CS、A0、R/C=0,CE=1do{status=inportb(0x210);∥读取状态第54页,课件共85页,创作于2023年2月status=status0x80;∥D7(STS)=1?}while(status!=0);∥STS不等于0,等待A/D转换完,再读状态datah=inportb(0x212);∥A/D转换完成,读取高8位datal=inportb(0x213);∥读取低8位数据DATA[id]=16*datah+datal;∥合成高8位数据与低4位数据id++;∥数组下标+1}}A/D转换采集程序一般采用中断方式编写(MS-DOS)环境或Windows95/98环境)或线程方式编写(Windows95/98环境),用软件查询方式可能会导致数据丢失,因此使用较少。第55页,课件共85页,创作于2023年2月四、数据采集系统设计该数据采集接口板可对16路模拟信号进行采集,A/D变换精度为5V/212=1.2mV,接口板具有数据保持电路,可对变化的模拟信号进行实时采集。1.多路转换开关16路模拟信通过多路转换开关芯片AD7506进行切换,AD7506是一个16→1的模式电子开关,用于切换16个被测模拟信号输入端,使16路模式信号的采集共享一片ADC转换器。2.采样/保持器接口板的采样/保持器采用AD582芯片,采样/保持状态的控制由差分逻辑输入端+LogicIN和-Logicin完成,模拟信号的输入通过IN+和IN-端输入。第56页,课件共85页,创作于2023年2月3.ADC与DAC转换器接口板的A/D转换采用ADC574芯片,DAC采用DAC1210芯片,这两个芯片均是12位的ADC和DAC转换芯片,可保证A/D的信号通过D/A转换器进行完全的回放。4.地址译码器接口板的地址译码器采用3片74LS136异或门芯片和一片74LS138译码器芯片构成,接口板采用跳线K对I/O地址进行设置和改变。5.工作原理及程序控制该接口板的主要操作有通道选择命令、启动ADC转换命令、查询ADC转换是否结束、读取ADC转换数据等A/D转换器方面的命令,以及发送DAC转换数据、启动DAC转换器等。第57页,课件共85页,创作于2023年2月虚拟仪器软件GPIB接口ADC接口DAC接口VXI接口LAN接口虚拟仪器物理硬件图10-15虚拟仪器构成五、虚拟仪器技术1.虚拟仪器基本结构虚拟仪器由仪器物理硬件、硬件接口和计算机上运行的虚拟器软件三部分构成,如图10-15所示。第58页,课件共85页,创作于2023年2月2.虚拟仪器主要技术传统仪器由信号采集和控制、信号分析和处理、结果表达和输出三部分组成,虚拟仪器也不例外,它需要能实现信号采集和控制的插卡、接口等硬件支持,同时还需要能实现各种信号分析、处理,以满足多种测试功能的分析的支持。3.虚拟仪器软件虚拟仪器的软件主要由硬件驱动程序、控制软件和图形化用户接口等三部分组成。4.虚拟仪器应用目前,虚拟仪器的应用越来越广,在基于计算机的测试、测量、数据采集、监控、控制等方面占有重要的地位。第59页,课件共85页,创作于2023年2月12.4A/D转换器接口电路设计-----查询方式一、12位A/D转换器接口设计1、要求进行12位转换,转换结果分两次输出,以左对齐方式存放在首址为400H的内存区。共采集64个数据。ADC与CPU之间采用查询方式交换数据,采用AD574A作为A/D转换器。2、分析AD574A是具有三态输出锁存器的A/D转换器,它可以作12位转换,也可作8位转换。3、设计

(1)硬件连接第60页,课件共85页,创作于2023年2月扩展槽D0~D7PCAENAO~9IOWIORDB4~11DB0~3STSAD574ACS-A0R/CCE12/8VccVee10VIN20VINREFINREFOUTBIPOFFDGAGD774LS125译码A0&&Y1Y0Y2+15V-15V图12.10AD574与CPU连接原理图第61页,课件共85页,创作于2023年2月AD574内部有三态输出锁存器,故数据输出线可直接与系统数据线相连,将AD574A的12条输出数据线的高8位接到系统总线的D0~D7,而把低4位接到数据总线的高4位,低4位补0,以实现左对齐。转换结束状态信号STS,通过三态门74LS125接到数据线D7上。要求分两次传送,故将12/8接数字地。CE接VCC,允许工作。图中I/O端口地址译码有三个端口地址:Y0=310,为状态口;Y1=311H,为数据口(低4位);Y2=312上,为转换启动控制口/数据口(高8位)。例如:转换启动端口设置为312H,其中包含A0=0,以实现12位转换。读数据端口设置了两个,一个是312H,包含A0=0,读高字节;一个是311H,包含A0=1,读低字节。第62页,课件共85页,创作于2023年2月(2)软件编程根据题目的要求和信号的时序关系,其数据采集的程序段如下: MOVCX,40H;采集次数MOVSI,400H;存放数据内存首址START:MOVDX,312H;12位转换(A0=0) MOVAL,0H;写入的数据可以取任意值 OUTDX,AL;转换启动(CS,及R/C均置0,CE置1)MOVDX,310H;读状态,Y0=0,打开三态门L:INAL,DXANDAL,80H;检查D7=STS=0?JNZL;不为0,转换已结束,则等待MOVDX,311H;为0,转换已结束,先读低4位 (A0=1)第63页,课件共85页,创作于2023年2月INAL,DXANDAL,0F0H;屏蔽低4位MOV[SI],AL;送内存INCSI;内存地址加1MOVDX,312H;再读高8位(A0=0)INAL,DX MOV[SI],AL;送内存 INCSI;内存地址+1 DECCX;采集次数减1 JNZSTART;未完,继续 MOVAX,4C00H;已完,程序退出 INT21H第64页,课件共85页,创作于2023年2月第65页,课件共85页,创作于2023年2月

12.5A/D转换器接口电路设计----中断方式一、单板机系统的中断方式数据采集系统设计1、要求2、电路分析与设计1、硬件ADC0804,DAC0832,8259中断控制器;(P276,图12.15)2、程序设计(P277)第66页,课件共85页,创作于2023年2月D0D7D8D11D0-D7D0-D3D0D3D4D11D0-D7D7-D4第67页,课件共85页,创作于2023年2月

12.6A/D转换器接口电路设计----DMA方式一、采用DMA方式的A/D转换器接口电路分析与设计1、要求要求8位A/D转换器,共采集4K个字节数据,采集的数据用DMA方式,送到从30400H开始的内存保存,以待处理,内存地址以+1方式修改。使用DMAC8237A-5的通道1,单一传送方式。2、电路分析与设计根据上述要求,采用如图12.22所示的电路可以实现DMA方式的数据采集任务。第68页,课件共85页,创作于2023年2月CDU1QRA/DEOCSTARTINS/HAQPRRU2&1RDD0~7DACK1RESET≥1IORDIRABLS245GD0~7LS32LS08DREQ1Vcc至CMAC图12.22DMA方式的A/D接口原理图第69页,课件共85页,创作于2023年2月二、初始化编程1、分析在PC机系列微机中,由于BIOS已对8237A-5进行了初始化,故用户程序并不需要对所有16个寄存器逐一编程,根据题意只涉及以下几个操作及对应的寄存器。①选定传送通道及工作方式,使用工作方式及对应的寄存器。②设置DMA屏蔽字,使用屏蔽寄存器,端口=0BH。③设定传输的总字节数,使用字节数寄存器,端口=03H(通道1)。④设定传送的存储器地址,使用地址寄存器,端口=02H(通道1)。⑤写清除先/后触发器,使用地址寄存器,端口=0CH。2、编程第70页,课件共85页,创作于2023年2月12.7超高速数据采集系统一、超高速视频闪烁A/D转换器

近年来VISI技术的突破性成就使得采用全并行直接转换方式的闪烁型ADC能达到较高分辨率,一般为4~10位,其采样速率高达1~800MSA/s。如模拟器件公司生产的AD9048,采样速率可达35MSA/s,分辨率为8位。1、AD9048闪烁A/D转换器原理一种典型的闪烁A/D转换器的原理框图如图12.23所示。第71页,课件共85页,创作于2023年2月+VREF模拟量输入+-+-+-+-+-解码逻辑输出寄存器2N-1R比较器RRRR-VREF采样时钟NN……图12.23N位闪烁ADC内部框图第72页,课件共85页,创作于2023年2月在闪烁ADC中,模拟输入信号被同时加在2N-1个可锁存的比较器上,这里N为ADC的分辨率位数。AD9048内部主要由3个功能块构成:比较器阵列、解码逻辑和输出锁存器。在比较器阵列内,模拟输入信号将与255个参电压进行比较,当模拟输入信号电压比参考电压高,比较器的输出为高(1),反之输出为低(0)。输入到解码逻辑中并被换成二进制码,二、一个30MHz采样频率的数据采集系统的设计1、在板存储器方式虽然8237A-5DMAC能够为存储器和I/O之间提供高达1.5MB/s的数据传输率,但对采用AD9048可达35MSA/s的数据采集系统还是不能满足实时传送的要求。为此,一般采用在板存储器(on-boardRAM)方式传送数据。第73页,课件共85页,创作于2023年2月地址计数器高速缓存器D0~D7(至PC内存)闪烁ADC控制电路A(模拟量输入)CLK(转换时钟)图12.25在板存储器的结构框图第74页,课件共85页,创作于2023年2月2.硬件设计图12.26为一个30MHz超高速数据采集系统的接口电路原理图,其中包括了闪烁A/D转换器AD9048,高速RAM,地址计数器和相应的控制逻辑。(1)数据采集和在板存储操作(2)数据读取操作3.软件编程设在板RAM的容量为8KB,要求将采集的数据存入内存从32000H开始的连续空间内,其程序段如下:;写端口定义RESET-ADDRESSEQU?;地址计数器清零端口STARTEQU?;启动转换端口第75页,课件共85页,创作于2023年2月ADCVINAD9048D1~8CONVERTA高速缓冲器RAMWECEA74LS244(2)YIG2GA74LS244(2)YIG2G至PCD0~D7OSC≥174LS32&A0~19CP地址计数器TCPERD-DATA1

温馨提示

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

最新文档

评论

0/150

提交评论