信息与通信DAC和ADC课件_第1页
信息与通信DAC和ADC课件_第2页
信息与通信DAC和ADC课件_第3页
信息与通信DAC和ADC课件_第4页
信息与通信DAC和ADC课件_第5页
已阅读5页,还剩261页未读 继续免费阅读

下载本文档

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

文档简介

第10章第10章1第10章模拟接口教学重点DAC0832及其与主机的连接ADC574、0809及其与主机的连接第10章模拟接口教学重点2模拟量与数字量模拟量——连续变化的物理量数字量——时间和数值上都离散的量模拟/数字转换器ADCDAC数字/模拟转换器模拟量与数字量模拟量——连续变化的物理量数字量——时间和数值3概念:模拟输入输出系统数字信号模拟信号现场信号1现场信号2现场信号n微型计算机放大器放大器放大器多路开关低通滤波传感器低通滤波传感器低通滤波传感器A/D转换器采样保持器数字信号受控对象控制信号模拟信号D/A转换器放大驱动电路…传感器将各种现场的物理量测量出来并转换成电信号(模拟电压或电流)

放大器把传感器输出的信号放大到ADC所需的量程范围低通滤波器用于降低噪声、滤去高频干扰,以增加信噪比多路开关把多个现场信号分时地接通到A/D转换器采样保持器周期性地采样连续信号,并在A/D转换期间保持不变概念:模拟输入输出系统数字信号模拟信号现场信号1现场信号410.1D/A转换器的接口方法DAC数字/模拟转换器模拟量数字量10.1D/A转换器的接口方法DAC模拟量数字量5数字量→按权相加→模拟量1101B=1×23+1×22+0×21+1×20=13一、D/A转换的基本原理

D/A(DigittoAnalog)转换器的作用是将二进制的数字量转换为相应的模拟量。数字量→按权相加→模拟量1101B=1×23+16-+V0RfViRV0=-RfRVi若输入端有n个支路,则输入和输出的关系可表示为:V0=-RfnI=1RVi1-+V0RfViRV0=-RfRVi若输入端有n个支路,7-+V0RfVref32RV0=-nI=12iSi1运算放大器的输入可以是权电阻网络,如图所示。2R4R8R16R64R128R256RS1S3S2S4S5S6S7S8Vref其中Vref为基准电压所有开关Si断开时,V0=0。所有开关Si闭合时,V0=-。256255Vref-+V0RfVref32RV0=-nI=12iSi1运8D/A转换器的原理图(1)Iout2Iout1RfbRfbVout+_I1S1D1c2RRI2S2D2b2RRI0S0D0d2R2RRI3S3D3a2RVREF电阻网络基准电压电子开关T型电阻网络D/A转换器的原理图(1)Iout2Iout1RfbRfbV9D/A转换器的原理图(2)Iout2Iout1RfbRfbVout+_I1S1D1c2RRI2S2D2b2RRI0S0D0d2R2RRI3S3D3a2RVREF阻抗=2R运算放大器虚地D/A转换器的原理图(2)Iout2Iout1RfbRfbV10D/A转换器的原理图(3)Va=VREFVb=VREF/2Vc=VREF/4Vd=VREF/8I0=Vd/2R=VREF/(8×2R)I1=Vd/2R=VREF/(4×2R)I2=Vd/2R=VREF/(2×2R)I3=Vd/2R=VREF/(1×2R)D/A转换器的原理图(3)Va=VREFI0=Vd/2R=V11D/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=-(D/2n)×VREFD/A转换器的原理图(4)Iout1=I0+I1+I2+I312实际的D/A转换电路的原理框图运算放大器电流开关电阻网络数据锁存器数据缓冲器N位数字量输入电压输出通常D/A转换器的输出电压范围有0~5V、0~10V、0~

25V、0~5V、0~10V几种。对于非标准的电压范围,可以在输出端再加运算放大器来调整。实际的D/A转换电路的原理框图运算电电数据锁存器数据缓冲器N13D/VD/I数字量输入数字量输入VOUTIOUTD/A转换器输出的两种形式电压输出型电流输出型相当于一个电压源相当于一个电流源数字量输入数字量输入VOUTIOUTD/A转换器14二、D/A转换器及其连接特性

D/A转换器的主要参数

⒈分辨率(resolution):DAC对模拟量的分辨能力,它是最低有效位(LSB)对应的模拟值,通常以二进制位数来表示。⒉精度(accuracy):DAC转换的精确程度①绝对精度(absolute):实际输出与理想输出之差。通常由增益误差,零点误差、线性误差、噪声等综合引起。(±LSB)二、D/A转换器及其连接特性D/A转换器的主要参数⒈分辨15②相对精度(relative):满量程值校准后,任一数字输入的模拟输出与它理论值之差。±1.0%(±1.0%VFS)。备注:精度为n位指:最大可能误差为VE=VFS精度:构成DAC各部件的精度及稳定性分辨率:取决于DAC位数⒊转换时间(建立时间)电流型较快:n百us~几us电压型较慢:(运放)⒋线性度:线性变化程度。还有温度系数、电源敏感系数等。②相对精度(relative):满量程值校准后,任一数字输16

D/A转换器的连接特性

⒈输入缓冲能力:三态输入缓冲/锁存器⒉输入数据宽度:单次、分次输入⒊输入码制:⒋模拟量类型:电流(运放→电压)、电压⒌模拟量极性:单极性、双极性D/A转换器的连接特性17二、DAC0832芯片DAC0832是典型的8位电流输出型通用DAC芯片LE2LE1

RfbAGNDDAC0832VccILEVREF输入寄存器

DGNDDI0~DI7D/A转换器DAC寄存器Iout2Iout1二、DAC0832芯片DAC0832是典型的8位电流输出18DAC0832的内部结构LE2LE1RfbAGNDDAC0832VccILEVREF输入寄存器DGNDDI0~DI7D/A转换器DAC寄存器Iout2Iout1CSWR1WR2XFERDAC0832的内部结构LE2LE1RfbAGNDDAC08191.DAC0832的数字接口8位数字输入端DI0~DI7(DI0为最低位)输入寄存器(第1级锁存)的控制端ILE、CS*、WR1*DAC寄存器(第2级锁存)的控制端XFER*、WR2*1.DAC0832的数字接口8位数字输入端20Iout1、Iout2——电流输出端Rfb——反馈电阻引出端(电阻在芯片内)VREF——参考电压输入端+10V~-10VAGND——模拟信号地VCC——电源电压输入端+5V~+15VDGND——数字信号地Iout1、Iout2——电流输出端21三、D/A转换器与微处理器的接口方法

CPU对DAC的数据传送是一种无条件传送。主要任务:解决CPU与DAC之间的数据缓冲问题。1.接口的任务2.接口电路结构形式

采用中小规模逻辑芯片构成接口与CPU连接。利用通用并行I/O接口芯片与CPU连接。采用GAL器件。三、D/A转换器与微处理器的接口方法CPU对DAC的数据传22REF(-)REF(-))REF(OUTV2n]VV[V+-=+NVREF(+):限定模拟电压的最大值VREF(-):限定模拟电压的最小值。(单极性、双极性)VREF(+)VREF(-):量程模拟电压V和数字量N之间的关系为:OUTREF(-)REF(-))REF(OUTV2n]VV[V+-23单极性:80H对应的输出电压:VOUT=(5-0)*128/256+0=2.5V能分辨的最小电压为5v/256=20mv双极性:则80H对应的输出电压:VOUT=(5+5)*128/256-5=0能分辨的最小电压为10v/256=40mv输出模拟量的极性:单极性:80H对应的输出电压:VOUT=(5-0)*124直通锁存器的工作方式两级缓冲寄存器都是直通锁存器LE=1,直通(输出等于输入)LE=0,锁存(输出保持不变)LE2LE1DAC0832输入寄存器DI0~DI7D/A转换器DAC寄存器Iout1直通锁存器的工作方式两级缓冲寄存器都是直通锁存器LE2LE125DAC0832的工作方式:直通方式LE1=LE2=1输入的数字数据直接进入D/A转换器LE2LE1DAC0832输入寄存器DI0~DI7D/A转换器DAC寄存器Iout1DAC0832的工作方式:直通方式LE1=LE2=1LE2L26DAC0832的工作方式:单缓冲方式LE1=1,或者LE2=1两个寄存器之一始终处于直通状态另一个寄存器处于受控状态(缓冲状态)LE2LE1DAC0832输入寄存器DI0~DI7D/A转换器DAC寄存器Iout1DAC0832的工作方式:单缓冲方式LE1=1,或者LE2=27DAC0832的工作方式:双缓冲方式两个寄存器都处于受控(缓冲)状态能够对一个数据进行D/A转换的同时;输入另一个数据LE2LE1DAC0832输入寄存器DI0~DI7D/A转换器DAC寄存器Iout1DAC0832的工作方式:双缓冲方式两个寄存器都处于受控(缓28单极性电压输出Vout=-Iout1×Rfb=-(D/28)×VREFRfbIout2Iout1Vout+_AGNDADIVREF单极性电压输出Vout=-Iout1×RfbRfbIout229单极性电压输出:例子设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单极性电压输出:例子设VREF=-5VVout=-(D/230双极性电压输出:电路R1(R)R3(2R)R2(2R)RfbIout2Iout1AGNDDIVREFVout1+_A1Vout2+_A2I1I2I1+I2=0双极性电压输出:电路R1(R)R3(2R)R2(2R)Rfb31双极性电压输出:公式取R2=R3=2R1得Vout2=-(2Vout1+VREF)因Vout1=-(D/28)×VREF故Vout2=[(D-27)/27)]×VREF双极性电压输出:公式取R2=R3=2R132双极性电压输出:例子设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)]×VREF双极性电压输出:例子设VREF=5VVout=[(D-27333.输出精度的调整RfbIout2Iout1Vout+_AGND调零电位器调满刻度电位器电源5VADI10K1M1KVREF3.输出精度的调整RfbIout2Iout1Vout+_A344.地线的连接DGNDAGND模拟电路数字电路ADCDAC模拟电路数字电路模拟地数字地公共接地点4.地线的连接DGNDAGND模拟电路数字电路ADCDAC35DAC芯片与主机的连接DAC芯片相当于一个“输出设备”,至少需要一级锁存器作为接口电路考虑到有些DAC芯片的数据位数大于主机数据总线宽度,所以分成两种情况:1.主机位数等于或大于DAC芯片位数2.主机位数小于DAC芯片位数DAC芯片与主机的连接DAC芯片相当于一个“输出设备”,至361.主机位数大于或等于DAC芯片的连接moval,bufmovdx,portdoutdx,al译码ABD0~D7CLKDACVout+_ALS273IOW1.主机位数大于或等于DAC芯片的连接moval,buf37DAC0832单缓冲方式WR1CSIOW5V+5VRfbIout2Iout1WR2XFERDGNDAGNDD0~D7DI0~D17VccILEVREFVout+_A译码ABDAC0832单缓冲方式WR1CSIOW5V+5VR382.主机位数小于DAC芯片的连接数字数据需要多次输出接口电路也需要多个(级)锁存器保存多次输出的数据并需要同时将完整的数字量提供给DAC转换器CPUDAC8位12位2.主机位数小于DAC芯片的连接数字数据需要多次输出CPU39两级锁存电路模拟输出12位DAC第2级12位锁存控制第1级低8位锁存控制第1级高4位锁存控制D0~D74位锁存器4位锁存器8位锁存器8位锁存器由同一个信号控制关键的一级锁存无需输出数据两级锁存电路模拟输出第2级12位锁存控制第1级低8位锁存控制40简化的两级锁存电路模拟输出12位DAC第2级12位锁存控制第1级低8位锁存控制D0~D74位锁存器8位锁存器8位锁存器由同一个信号控制关键的一级锁存需要输出高4位数据movdx,port1moval,bloutdx,almovdx,port2moval,bhoutdx,al简化的两级锁存电路模拟输出第2级12位锁存控制第1级低8位锁4110.2D/A转换器接口电路设计主要考虑:

①输入缓冲能力②分辨率

10.2D/A转换器接口电路设计主要考虑:42IORCPU≥1+5VAENIOWA0~9译码电路DB1~8I0GNDD1~8Q1~8CP≥1D0D0~7Y0Y1LM71074LS273DAC0808一、8位片内无缓存的D/A芯片的使用

应用:利用DAC0808制作数字电压表UORVREF(+)+5VVREF(+)U1Y0:318HY1:319HUOALAL74LS12574LS3374LS32C943VREF(-)+5VIOR≥1+5VAENIOWA0~9译码DB1~8I0D1~43二、片内有三态输入缓冲器的8位D/A接口设计1.要求通过D/A转换器DAC0832产生任意波形,如矩形波、梯形波、三角波、正弦波以及锯齿波等。2.分析(1)连接特性(P262图10.2)(2)DAC0832的工作特性(三种工作方式)直通式单缓冲式双缓冲式3.设计(P261程序)二、片内有三态输入缓冲器的8位D/A接口设计1.要求2.分44DAC0832的内部结构(P262图10.2)LE2LE1RfbAGNDDAC0832VccILEVREF输入寄存器DGNDDI0~DI7D/A转换器DAC寄存器Iout2Iout1CSWR1WR2XFERDAC0832的内部结构(P262图10.2)LE2LE1R45DATABUSCS1CS2WR1WR2XFER数据1输入到1#输入寄存器锁存2#输入寄存器锁存数据2输入到DAC输入寄存器锁存开始转换图10.3DAC0832时序图DATABUSCS1CS2WR1WR2XFER数据1输入到146应用:控制DAC0832输出三角波DI0~7ILECSWR1WR2XFERIO1IO2CPU8255APA0~7DAC0832PB4PB010000VOUTPB1PB2PB3P263线路图(1)硬件设计RFB应用:控制DAC0832输出三角波DI0~7ILECSWR147程序MOVDX,303HMOVAL,1000

0000BOUTDX,ALMOVDX,301HMOVAL,00010000BOUTDX,ALMOVDX,300HMOVAL,0HL1:OUTDX,ALINCALJNZL1;AL!=00HMOVAL,0FFHL2:OUTDX,ALINCALJNZL2JMPL1(2)软件编程程序MOVD48

2.锯齿波发生器MOVDX,0FFF0HMOVAL,00HL1:OUTDX,ALINCALJMPL13.方波发生器MOVDX,0FFF0HL1:MOVAL,00HOUTDX,ALCALLDELAYMOVAL,0FFHOUTDX,ALCALLDELAYJMPL1设DAC的输入寄存器的地址为FFF0H2.锯齿波发生器3.方波发生器设DAC的输入寄存器的地址49AENIOWA0~9D0~7D0~7Q0~7BUF1D0~7Q0~7BUF2D0~3Q0~3BUF3D0~7D8~11IO1IO2译码电路Y0Y1三、12位片内无缓存的D/A芯片的使用CCCD/AY0Y1200H201HFFH06HAENIOWA0~9D0~7D0~7Q0~7BUF1D50DAC芯片的应用 movdx,portd moval,0repeat: outdx,al incal jmprepeatDAC芯片的应用 movdx,portd51输出正向锯齿波2次数据输出的时间间隔02LSB1LSB255LSB254LSB锯齿波周期输出正向锯齿波2次数据输出的时间间隔02LSB1LSB2555210.3A/D转换器接口基本原理与方法模拟量数字量模拟/数字转换器ADC模拟量转换成数字量,通常经历采样、量化和编码3个步骤。10.3A/D转换器接口基本原理与方法模拟量数字量模拟/53按采样定理对模拟信号进行等时间间隔采样,将得到的一系列时域上的样值去代替u=f(t),即用u0、u1、…un代替u=f(t)。这些样值在时间上是离散的值,但在幅度上仍然是连续模拟量。1.采样1.采样54在幅值上再用离散值来表示。方法是用一个量化因子Q去度量;u0、u1、…,便得到整量化的数字量。u0=2.4Q2Q010u1=4.0Q4Q100u2=5.2Q5Q101u3=5.8Q5Q1012.量化2.量化553.编码

将整量化后的数字量进行编码,以便微机读入和识别;编码仅是对数字量的一种处理方法。例如:Q=0.5V/格,设用三位(二进编码)u0=2.4Q2Q…………(010)3.编码(010)56一、A/D转换的基本原理存在多种A/D转换技术,各有特点,分别应用于不同的场合4种常用的转换技术计数器式逐次逼近式双积分式并行式一、A/D转换的基本原理存在多种A/D转换技术,各有特点57[信息与通信]DAC和ADC课件58[信息与通信]DAC和ADC课件59[信息与通信]DAC和ADC课件60[信息与通信]DAC和ADC课件61分类:①按模拟量:分为时间/数字、电压/数字、机械变量/数字三种;②按原理:分为直接和间接两种;(逐次逼近型、双积分式等)③按输入方式:分为并行、串行、串并行三种;④按速度:分为低速>300us、中速20~300us、高速<20us、次超高速0.33~3.3us、超高速≤330ns;⑤按分辨率:分为4位、6位、8位、10位、14位、16位等;⑥按复杂程度:分为单一功能和多功能;分类:62A/D转换器的连接特性模拟信号输入线(多通道时须进行通道选择);数字量输出线:根数表示ADC分辨率;转换启动和结束信号。

A/D转换器的连接特性63

A/D转换器与CPU的接口⒈连接要点①ADC位数与CPU的DB位数若ADC位数高于CPU位数,则CPU分次读a)左对齐:最高位在最左边,缺位在右以0补齐b)右对齐:最低位在最右边,缺位在左以0补齐②ADC芯片是否带三态数据输出锁存器,它可分为直接挂和外加三态输出锁存。③ADC的启动信号电平启动:(AD570)整个转换过程中维持不变脉冲启动:(AD574)需一定脉冲宽即可A/D转换器与CPU的接口⒈连接要点64A/D转换器的外部特性(1)模拟信号输入线(2)数字量输出线(3)转换启动线(输入)(4)转换结束线(输出)P267表10.1A/D转换器的外部特性(1)模拟信号输入线(2)数字量输出线65二、A/D转换器与微处理器的接口方法A/D转换器与CPU的连接

需考虑的问题:(1)A/D转换器的分辨率(2)A/D转换器的输出锁存器(3)A/D转换器的启动信号二、A/D转换器与微处理器的接口方法A/D转换器与CPU的连662.A/D转换器接口的主要操作进行通道选择—以代码形式从数据线(或地址线)上发出发转换启动信号取回“转换结束”状态信号读取转换数据发采样/保持(S/H)控制信号2.A/D转换器接口的主要操作进行通道选择—以代码形式673.A/D转换器数据的传送

查询方式中断方式DMA方式设置RAM3.A/D转换器数据的传送查询方式684.A/D转换器接口电路的结构形式(1)采用中小规模逻辑电路(2)采用通用的可编程并行接口芯片(3)采用GAL器件4.A/D转换器接口电路的结构形式(1)采用中小规模逻辑电6910.4查询方式的A/D转换器接口电路设计主要考虑因素:输出锁存分辨率启动信号数据传送方式接口电路形式10.4查询方式的A/D转换器接口电路设计主要考虑因素:70[信息与通信]DAC和ADC课件71[信息与通信]DAC和ADC课件72[信息与通信]DAC和ADC课件73[信息与通信]DAC和ADC课件74[信息与通信]DAC和ADC课件7512/8csA0R/CREFINREFOUT10VINBIPOFF20VINAGNDSTSMSDLSD:+15V-15VDC-15v+15v100K100K100100010v020vAD57412/8csA0R/CREFINREFOUT10VINBIPOFF20VINAGNDSTSMSDLSD:+15V-15VDC1001005vAD574R2R2R110v(a)单极性输入(b)双极性输入R2模拟输入12/8csA0R/CREFINREFOUT10VINBIP76一、12位片内带有三态输出锁存器的A/D接口设计要求进行12位转换,转换结果分两次输出,以左对齐方式存放在首地址为400H的内存区。共采集64个数据。ADC与CPU之间采用查询方式交换数据。采用AD574作A/D转换器。2.分析(见P270-271)3.设计一、12位片内带有三态输出锁存器的A/D接口设计要求77AENIOWIORA0~9D0~D7DB11~4DB3~0CSSTSA0R/CCE12/8译码电路&&D7A0Y0Y1Y2AD574310H311H312HD0~D7

PC扩展槽VccVEE10VIN20VINREFINREFOUTBIPOFFDGAG(1)硬件连接+15V-15V74LS125AENIOWIORA0~9D0~D7DB11~4DB3~0C78(2)软件编程CECSR/CA0STSDB0-11(高阻)有效300ns200ns200ns300ns300ns0ns150ns300ns0ns200ns转换25s启动转换读转换数据图10.11AD574时序图(2)软件编程CECSR/CA0STSDB0-11(高阻)有79

MOVCX,40HMOVSI,400HSTART:MOVDX,312HMOVAL,0H

OUTDX,ALMOVDX,310HL:INAL,DXANDAL,10000000BJNZL;D7=1

MOVDX,311HINAL,DXANDAL,0F0HMOV[SI],ALINCSIMOVDX,312HINAL,DXMOV[SI],ALINCSIDECCXJNZSTARTMOVAH,4CHINT21HMOVCX,40HMOV80应用二:利用ADC1210(12位无缓存)设计接口电路,

查询方式采集数据。右对齐格式存放。D0…CCD7D8…D11SC……A0A7Y0Y7LS244(一)A0A7Y0Y7LS244(二)……AEND0…D7RDA0~9≥1≥1≥1译码电路CPUINAGGY0Y1Y2ADC1210332H331H330H应用二:利用ADC1210(12位无缓存)设计接口电路,

8174LS244Y0Y7A0A7G…………74LS244Y0Y7A0A7G…………82D7D6D5D4D0D1D2D3MOVDX,332H

INAL,DX

MOVDX,330HL:INAL,DXROLAL,1JCL;D7=1

MOVDX,330H

INAL,DXANDAL,0FHMOVBH,AL

MOVDX,331HINAL,DXMOVBL,ALHLTCFD7D6D5D4D0D1D2D3MOVDX,383三、用电平启动转换的A/D转换器接口设计1.要求:8位数据采集系统中,采用AD570作A/D转换。采集256个数据,用查询方式送到内存。2.分析B/CDRD07空白空白空白数据数据开始转换开始转换第二次启动转换结束结束转换时间转换时间此处DR不变低即无数据输出A2s25s25s1.5s<25s图10.13AD570的时序图转换启动信号转换结束信号三、用电平启动转换的A/D转换器接口设计1.要求:8位数据采84

3.设计(1)硬件连接分析:AD570转换芯片的数据无三态锁存器,不能直接与CPU数据总线相连,故选用8255A并行芯片作为AD570与CPU的接口电路。8255A的A口作数据口,用于读取AD570的数据,用C口的PC0提供转换启动信号PC7接收转换结束信号。CPUPA07PC0PC7GNDA07B/CDRDGIN8255AAD570A3.设计(1)硬件连接分析:AD570转换芯片的数据无85(2)软件编程MOVDX,303HMOVAL,98HOUTDX,ALMOVAL,01HOUTDX,ALMOVAL,0040HMOVES,AXMOVBX,00HMOVCX,0FFHAGAIN:MOVAL,00HOUTDX,ALWATT1:MOVDX,302HINAL,DXSHLAL,1JCWATT1MOVDX,300HINAL,DXMOVES:[BX],ALMOVDX,303HMOVAL,01HOUTDX,ALINCBXLOOPAGAINMOVAH,4CHINT21H(2)软件编程MOVDX,303HAGAIN:MOVA8610.5中断方式进行数据采集一、单板机系统的中断方式数据采集系统设计(P276)1.

要求:单通道模拟信号采集512个8位数据(ADC0804),采集到的数据以中断方式(8259A)读入内存,并送到D/A转换器(DAC0832)10.5中断方式进行数据采集一、单板机系统的中断方式数据87AENRDA0~9WRD0~7地址译码电路INTRCSRDWRDB0~7INADC0804INTAINTRTP86INTAINTRRDWRA0D0~7IR0IR7…CSA180HY0Y1DB0~7WR1WR2CSXFERILED/AIO2IO1DAC0832-+ARfb+5v图10.15单板机系统中方式A/D接口A2.分析与设计8259A启动转换信号转换结束信号AENRDA0~9WRD0~7地址译码INTRCSRDWR883.程序分析

中断向量装入关中断8259初始化

转换启动

开中断

等待中断

关中断采样次数到?返回监控NY

从ADC0804读数

向DAC0832写数

存数

发中断结束命令中断返回中断服务程序主程序初始化程序图10.16程序流程图3.程序分析中断向量装入关中断89:::;中断向量装入START:MOVAX,CODEMOVCS,AXMOVAX,DATAMOVDS,AXMOVAX,STACKMOVSS,AX:::;中断向量装入90MOVAX,00HMOVES,AXMOVBX,200HMOVES:[BX],OFFSETREAD_INTPUSHCSPOPAXMOVES:[BX+2],AXMOVDI,OFFSETBUFMOVCX,512MOVAX,00H91CLIMOVAL,00010011B;ICW1MOVDX,0FFDCH;引脚A0=0

OUTDX,ALMOVAL,10000000B;ICW2MOVDX,0FFDEH;引脚A0=1OUTDX,ALMOVDX,00000001B;ICW4OUTDX,AL;8259A初始化CLI;8259A初始化92;开放IR0中断请求MOVDX,0FFDEHINAL,DXANDAL,0FEHOUTDX,AL;写OCW1(允许IR0请求中断);开放IR0中断请求MOVDX,0FFDEH;写OCW1(93AGAIN:MOVAX,00HMOVDX,0FFD4H

OUTDX,ALSTIHLTCLIDECCXJNZAGAIN

;启动转换;启动转换(CS、WR同时有效);开中断;等待中断请求;关中断;次数未到,继续启动转换;次数减1AGAIN:MOVAX,00H;启动转换;启动转换(CS94;屏蔽IR0中断请求MOVDX,0FFDEHINAL,DXORAL,01HOUTDX,ALMOVAX,0FF00HPUSHAXMOVAX,0000HPUSHAXRET;8259A端口(A0=1);次数已到,屏蔽IR0;返回监控;屏蔽IR0中断请求MOVDX,0FFDEH;8259A端95;中断服务程序READ_INTPROCPUSHAXPUSHDXPUSHDIMOVDX,0FFD4H

INAL,DXNOPNOPMOV[DI],ALMOVDX,0FFD6OUTDX,ALINCDI;从ADC0804读入数据;读入的数据存入内存;向DAC0832输出数据;内存加1;中断服务程序READ_INTPROC;从ADC08096MOVAL,01100000B;OCW2(指定结束IRQ0)MOVDX,0FFDCH;8259A端口(A0=0)

OUTDX,ALIRET ;中断返回POPDIPOPDXPOPAXREAD_INTENDPCODEENDSENDSTARTREAD_INTENDP97ADC0809芯片具有A/D转换的基本功能CMOS工艺制作8位逐次逼近式ADC转换时间为100s包含扩展部件多路开关三态锁存缓冲器ADC0809芯片具有A/D转换的基本功能98ADC0809的内部结构图ADC0809地址锁存和译码OE通道选择开关ADDAADDBADDC1N0IN1IN2IN3IN4IN5IN6IN78位三态锁存缓冲器DACVcc比较器CLOCKSTARTGNDVREF(+)VREF(-)ALE逐次逼近寄存器SAR定时和控制D0D1D2D3D4D5D6D7EOCADC0809的内部结构图ADC0809地址锁存OEADDA991.ADC0809的模拟输入提供一个8通道的多路开关和寻址逻辑IN0~IN7:8个模拟电压输入端ADDA、ADDB、ADDC:3个地址输入线ALE:地址锁存允许信号ALE的上升沿用于锁存3个地址输入的状态,然后由译码器从8个模拟输入中选择一个模拟输入端进行A/D转换1.ADC0809的模拟输入提供一个8通道的多路开关和寻址1002.ADC0809的转换时序D0~D7OEEOCSTART/ALEADDA/B/CDATA100s2s+8T(最大)200ns(最小)转换启动信号转换结束信号2.ADC0809的转换时序D0~D7OEEOCSTART1013.ADC0809的数字输出ADC0809内部锁存转换后的数字量具有三态数字量输出端D0~D7配合输出允许信号OE当输出允许信号OE为高电平有效时,将三态锁存缓冲器的数字量从D0~D7输出3.ADC0809的数字输出ADC0809内部锁存转换后的1024.ADC0809的转换公式输入模拟电压输出数字量基准电压正极基准电压负极4.ADC0809的转换公式输入模拟电压输出数字量基准电压103单极性转换示例基准电压VREF(+)=5V,VREF(-)=0V输入模拟电压Vin=1.5V N=(1.5-0)÷(5-0)×256 =76.8≈77=4DH单极性转换示例基准电压VREF(+)=5V,VREF(-)=104双极性转换示例基准电压VREF(+)=+5V,VREF(-)=-5V输入模拟电压Vin=-1.5V N=(-1.5+5)÷(5+5)×256 =89.6≈90=5AH双极性转换示例基准电压VREF(+)=+5V,VREF(-)105ADC芯片与主机的连接ADC芯片相当于“输入设备”,需要接口电路提供数据缓冲器主机需要控制转换的启动主机还需要及时获知转换是否结束,并进行数据输入等处理ADC芯片与主机的连接ADC芯片相当于“输入设1061.数据输出线的连接与主机的连接可分成两种方式直接相连:用于输出带有三态锁存器的ADC芯片通过三态锁存器相连:适用于不带三态锁存器的ADC芯片,也适用带有三态锁存缓冲器的芯片ADC芯片的数字输出位数大于系统数据总线位数,需把数据分多次读取1.数据输出线的连接与主机的连接可分成两种方式1072.A/D转换的启动(1)启动信号一般有两种形式脉冲信号启动转换电平信号启动转换转换启动转换结束2.A/D转换的启动(1)启动信号一般有两种形式转换启动转1082.A/D转换的启动(2)主机产生启动信号有两种方法编程启动软件上,执行一个输出指令硬件上,利用输出指令产生ADC启动脉冲,或产生一个启动有效电平定时启动启动信号来自定时器输出2.A/D转换的启动(2)主机产生启动信号有两种方法1093.转换结束信号的处理不同的处理方式对应程序设计方法不同①

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

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

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

DMA方式——把结束信号作为DMA请求信号3.转换结束信号的处理不同的处理方式对应程序设计方法不同110二、PC机系统的中断方式数据采集系统设计

1.要求

(P279)

PC机以中断方式(8259A的IRQ2引入)进行8通道模拟信号采集(AD0809),共采集1K个数据,采集的数据在屏幕上显示,同时存放存放在内存的BUF区。端口地址分配为:

30CH作转换启动的控制口和转换结束的状态口;30DH作中断申请允许端口;

30EH作通道选择和读数据端口。二、PC机系统的中断方式数据采集系统设计端口地址分配为:1112.分析接口电路结构形式采用GAL20V8作接口电路。利用GAL器件对信号的转换功能,来协调CPU与ADC0809两者之间信号线的不兼容性。把CPU送来的控制线和地址线,作为GAL的输入信号,在GAL器件内部按一定的逻辑关系进行组合,生成一组新的功能信号输出,作A/D的接口信号,送到ADC0809,并需考虑这些输出信号的I/O地址。关键问题:找到GAL的输出与输入的关系。2.分析采用GAL20V8作接口电路。利用G112START=IOW•AEN•A9•A8•A7•A6•A5•A4•A3•A2•A1•A0D7=IOR•AEN•EOC•A9A8•A7•A6•A5•A4•A3•A2•A1•A0IRQ=IOW•AEN•D7•EOC•A9A8•A7•A6•A5•A4•A3•A2•A1•A0ALE=IOW•AEN•A9A8•A7•A6•A5•A4•A3•A2•A1•A0OE=IOR•AEN•A9A8•A7•A6•A5•A4•A3•A2•A1•A0GAL20V8输出的控制信号START=IOW•AEN•A9•A8•A7•A6113中断处理因利用系统的中断资源,故不需作中断系统的硬件设计和8259A的初始化。只需将ADC0809的转换结束信号EOC连接到系统总线的IRQ2上,并在程序中作两件事,一是中断向量的修改,二是对中断控制器8259A的中断屏蔽寄存器IMR和正在寄存器ISR进行操作。中断向量的修改步骤:用DOS系统功能调用的35H号功能,取出IRQ2的原中断向量,并保存;用25H号功能,置入新中断向量(用户的中断程序入口地址);在程序结束,退出前,用25H号功能恢复原中断向量。中断处理因利用系统的中断资源,故不需作中断114(2)对8259A两个寄存器IMR和ISR的操作,实际上是分别在主程序中用命令OCW1,屏蔽/开放中断请求,以及在服务程序中,返回主程序之前,用OCW2结束中断。数据显示两点:一是要把采集到的十六进制的数据转换成ASCII码,才能送到屏幕显示是显示格式,数据在屏幕上是采用一列显示,还是全屏显示或分区显示。(2)对8259A两个寄存器IMR和ISR的操作,实际上是分1153.设计1)硬件连接D0-D7IRQ2AENIOWIORA9A8A7A6A5A4A3A2A1A0A6IORI0I1F1F0F7I13ADDA-ADDCD0-D7ALESTARTOECLKREF(-)REF(+)EOCGNDVCCIN0IN1IN2IN3IN4IN5IN6IN7+5V模拟量输入D7GAL20V8ADC08095.000V500KHzPC插槽PC机中断方式A/D接口电路3.设计1)硬件连接D0-D7IRQ2AEN1162)软件编程分主程序和中断服务程序两部分。参考程序见教材P282-286选择通道号中断向量修改开放IRQ2中断等待中断判断采集次数关中断恢复中断向量屏蔽IRQ2中断请求读数据十六进制转换成ASCII码数据送屏幕显示发中断结束命令主程序中断服务程序2)软件编程分主程序和中断服务程序两部分。参考程序见教材P117法1数据总线选择ADC0809输入通道读EOC端口:300H,写通道、启动:308H,读出转换数据端口:310H&&STARTIOWD0D2D1D7.…≥1Y0Y1Y2E3CBAE2E1AENA7A6A5A4A374LS138IOR≥1VAEOCALESTARTOECBAADC0809CIN0IN1IN2IN3IN4IN5IN6IN7D0D7…D2D1100KHzCLK&A9A800法1数据总线选择ADC0809输入通道读EOC端口:3118用数据总线选择模拟输入通道的采集程序:ADSART: MOVCX,8 MOVBX,0START: MOVDX,308H ;启动地址 MOVAL,03H ;选择IN3通道 OUTDX,AL ;启动转换 MOVDX,300H ;查询地址WAIT: INAL,DX ;输入EOC状态 TESTAL,01H ;“转换结束”? JZWAIT ;未结束,查询等待 MOVDX,310H;输入地址 INAL,DX ;读结果 LOOPSTART

用数据总线选择模拟输入通道的采集程序:ADSART: MO119法2地址总线选择ADC0809输入通道&D0D2D1D7.…≥1Y0Y1Y2E3CBAE2E1A10AENA9A8A7A6A5A4A374LS138读EOC端口:300H,写通道、启动:30BH,读出转换数据端口:310HVAEOCALESTARTOECBAADC0809CIN0IN1IN2IN3IN4IN5IN6IN7D0D7…D2D1100KHzCLKIOR≥1&STARTIOWA2A1A0法2地址总线选择ADC0809输入通道&D0D2D7…120用数据总线选择模拟输入通道的采集程序:ADSTART: MOVCX,8 MOVBX,0START: MOVDX,30BH ;IN3启动地址 OUTDX,AL ;启动转换,AL可为任意值 MOVDX,300H ;查询地址WAIT: INAL,DX ;输入EOC状态 TESTAL,01H ;“转换结束”? JZWAIT ;未结束,查询等待 MOVDX,310H ;输入地址 INAL,DX ;读结果 ADDBL,AL ;求和 ADCBH,0 CALLDELAY ;延时10ms LOOPSTART MOVCL,3 SHRBX,CL ;取平均值 MOVADBUF,BL用数据总线选择模拟输入通道的采集程序:ADSTART: MO121ADC0809与CPU数据传输工作过程1.CPU用OUT指令送出通道选择数据(D2D1D0),并由IOW和IO地址译码产生有效信号锁存通道号,同时启动A/D,对选中的通道模拟信号开始转换,之后CPU等待转换结束或是执行其它程序段。CPU可以采用三种不同方式了解转换结束已知A/D转换时间情况下可在程序中插入等待延时采用查询方式在程序中,循环读取EOC信号状态采用中断方式直接将EOC信号接8259中断请求端2)A/D转换结束后发EOC有效信号(在中断方式下将启动中断请求)3)若采用查询方式,则CPU就可以读取A/D的输出数据。若采用中断方式,则CPU响应中断并在中断处理程序中,用IN指令读取数据线上的数据。IOR与IO地址译码有效信号将选通A/D输出锁存器。ADC0809与CPU数据传输工作过程1.CPU用OU122A/D接口注意:

1要发启动信号。有电平启动和脉冲启动之分,如AD570是低电平启动,AD574为脉冲启动。对于电平启动的ADC,其启动电平要在整个转换过程中维持不变,直到转换结束为止,若在转换结束之前撤销启动电平,就会中止转换过程,得不到正确的转换结果。对于脉冲方式启动的ADC,只要在转换开始后,即可撤除启动信号。

2A/D转换器的输出锁存器

3A/D转换器的分辨率。

4数据格式:左对齐和右对齐。A/D接口注意:

1要发启动信号。有电平启动和脉冲启动之分123[信息与通信]DAC和ADC课件124ADC芯片的应用例1

编程启动、转换结束中断处理例1

编程启动、转换结束查询处理ADC芯片的应用例1编程启动、转换结束中断处理125中断方式D0~D7220hIRQ2A0~A9译码VccD0~D7EOCADDAADDBADDCALE模拟输入(0~5V)500KHzCLOCKVREF(+)+5VIN0OESTARTGNDVREF(-)IORIOW中断方式D0~D7220hIRQ2A0~A9译码VccD0~126主程序 ;数据段 adtempdb0 ;给定一个临时变量 ;代码段 …… ;设置中断向量等工作 sti ;开中断

movdx,220h

outdx,al ;启动A/D转换 …… ;其他工作例12.2主程序 ;数据段例12.2127中断服务程序 adint proc sti ;开中断 pushax ;保护寄存器 pushdx pushds movax,@data ;设置数据段DS movds,ax

movdx,220h

inal,dx ;读A/D转换的数字量

movadtemp,al ;送入缓冲区例12.2中断服务程序 adint proc例12.2128中断服务程序 moval,20h ;发送EOI命令 out20h,al popds ;恢复寄存器 popdx popax iret ;中断返回adint endp例12.2中断服务程序 moval,20h ;发送EOI命令例12129查询方式8通道模拟输入(0~5V)VccD7A3~A9D0~D7D0~D7OEEOCA0A1A2ADDAADDBADDC

译码500KHzCLOCKSTARTGNDVREF(+)VREF(-)ALE+5VIN0IN1IN2IN3IN4IN5IN6IN7220h~227h238h~23fhIORIOW查询方式8通道VccD7A3~A9D0~D7D0~D7OEE130启动转换 ;数据段counter equ8buf dbcounterdup(0) ;数据缓冲区 ;代码段 movbx,offsetbuf movcx,counter

movdx,220h ;从IN0开始转换start1: outdx,al ;启动A/D转换 pushdx例12.3启动转换 ;数据段例12.3131查询读取

movdx,238h ;查询是否转换结束start2: inal,dx ;读入状态信息 testal,80h ;D7=1,转换结束否? jzstart2 ;没有结束,继续查询

popdx ;转换结束

inal,dx ;读取数据

mov[bx],al ;存入缓冲区 incbx

incdx loopstart1 ;转向下一个模拟通道例12.3查询读取 movdx,238h ;查询是否转换结束例12132第10章教学要求1.了解模拟输入输出系统及各部件功能2.理解D/A转换和A/D转换原理3.掌握DAC0832和ADC08094.理解DAC和ADC芯片与主机连接问题5.掌握ADC芯片的应用习题10(第299-300页)——

12.312.412.712.912.14第10章教学要求1.了解模拟输入输出系统及各部件功能133第10章第10章134第10章模拟接口教学重点DAC0832及其与主机的连接ADC574、0809及其与主机的连接第10章模拟接口教学重点135模拟量与数字量模拟量——连续变化的物理量数字量——时间和数值上都离散的量模拟/数字转换器ADCDAC数字/模拟转换器模拟量与数字量模拟量——连续变化的物理量数字量——时间和数值136概念:模拟输入输出系统数字信号模拟信号现场信号1现场信号2现场信号n微型计算机放大器放大器放大器多路开关低通滤波传感器低通滤波传感器低通滤波传感器A/D转换器采样保持器数字信号受控对象控制信号模拟信号D/A转换器放大驱动电路…传感器将各种现场的物理量测量出来并转换成电信号(模拟电压或电流)

放大器把传感器输出的信号放大到ADC所需的量程范围低通滤波器用于降低噪声、滤去高频干扰,以增加信噪比多路开关把多个现场信号分时地接通到A/D转换器采样保持器周期性地采样连续信号,并在A/D转换期间保持不变概念:模拟输入输出系统数字信号模拟信号现场信号1现场信号13710.1D/A转换器的接口方法DAC数字/模拟转换器模拟量数字量10.1D/A转换器的接口方法DAC模拟量数字量138数字量→按权相加→模拟量1101B=1×23+1×22+0×21+1×20=13一、D/A转换的基本原理

D/A(DigittoAnalog)转换器的作用是将二进制的数字量转换为相应的模拟量。数字量→按权相加→模拟量1101B=1×23+1139-+V0RfViRV0=-RfRVi若输入端有n个支路,则输入和输出的关系可表示为:V0=-RfnI=1RVi1-+V0RfViRV0=-RfRVi若输入端有n个支路,140-+V0RfVref32RV0=-nI=12iSi1运算放大器的输入可以是权电阻网络,如图所示。2R4R8R16R64R128R256RS1S3S2S4S5S6S7S8Vref其中Vref为基准电压所有开关Si断开时,V0=0。所有开关Si闭合时,V0=-。256255Vref-+V0RfVref32RV0=-nI=12iSi1运141D/A转换器的原理图(1)Iout2Iout1RfbRfbVout+_I1S1D1c2RRI2S2D2b2RRI0S0D0d2R2RRI3S3D3a2RVREF电阻网络基准电压电子开关T型电阻网络D/A转换器的原理图(1)Iout2Iout1RfbRfbV142D/A转换器的原理图(2)Iout2Iout1RfbRfbVout+_I1S1D1c2RRI2S2D2b2RRI0S0D0d2R2RRI3S3D3a2RVREF阻抗=2R运算放大器虚地D/A转换器的原理图(2)Iout2Iout1RfbRfbV143D/A转换器的原理图(3)Va=VREFVb=VREF/2Vc=VREF/4Vd=VREF/8I0=Vd/2R=VREF/(8×2R)I1=Vd/2R=VREF/(4×2R)I2=Vd/2R=VREF/(2×2R)I3=Vd/2R=VREF/(1×2R)D/A转换器的原理图(3)Va=VREFI0=Vd/2R=V144D/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=-(D/2n)×VREFD/A转换器的原理图(4)Iout1=I0+I1+I2+I3145实际的D/A转换电路的原理框图运算放大器电流开关电阻网络数据锁存器数据缓冲器N位数字量输入电压输出通常D/A转换器的输出电压范围有0~5V、0~10V、0~

25V、0~5V、0~10V几种。对于非标准的电压范围,可以在输出端再加运算放大器来调整。实际的D/A转换电路的原理框图运算电电数据锁存器数据缓冲器N146D/VD/I数字量输入数字量输入VOUTIOUTD/A转换器输出的两种形式电压输出型电流输出型相当于一个电压源相当于一个电流源数字量输入数字量输入VOUTIOUTD/A转换器147二、D/A转换器及其连接特性

D/A转换器的主要参数

⒈分辨率(resolution):DAC对模拟量的分辨能力,它是最低有效位(LSB)对应的模拟值,通常以二进制位数来表示。⒉精度(accuracy):DAC转换的精确程度①绝对精度(absolute):实际输出与理想输出之差。通常由增益误差,零点误差、线性误差、噪声等综合引起。(±LSB)二、D/A转换器及其连接特性D/A转换器的主要参数⒈分辨148②相对精度(relative):满量程值校准后,任一数字输入的模拟输出与它理论值之差。±1.0%(±1.0%VFS)。备注:精度为n位指:最大可能误差为VE=VFS精度:构成DAC各部件的精度及稳定性分辨率:取决于DAC位数⒊转换时间(建立时间)电流型较快:n百us~几us电压型较慢:(运放)⒋线性度:线性变化程度。还有温度系数、电源敏感系数等。②相对精度(relative):满量程值校准后,任一数字输149

D/A转换器的连接特性

⒈输入缓冲能力:三态输入缓冲/锁存器⒉输入数据宽度:单次、分次输入⒊输入码制:⒋模拟量类型:电流(运放→电压)、电压⒌模拟量极性:单极性、双极性D/A转换器的连接特性150二、DAC0832芯片DAC0832是典型的8位电流输出型通用DAC芯片LE2LE1

RfbAGNDDAC0832VccILEVREF输入寄存器

DGNDDI0~DI7D/A转换器DAC寄存器Iout2Iout1二、DAC0832芯片DAC0832是典型的8位电流输出151DAC0832的内部结构LE2LE1RfbAGNDDAC0832VccILEVREF输入寄存器DGNDDI0~DI7D/A转换器DAC寄存器Iout2Iout1CSWR1WR2XFERDAC0832的内部结构LE2LE1RfbAGNDDAC081521

温馨提示

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

评论

0/150

提交评论