1、模拟量与数字量n模拟量模拟量连续变化的物理量连续变化的物理量n数字量数字量时间和数值上都离散的量时间和数值上都离散的量模拟模拟/数字转换器数字转换器ADCDAC数字数字/模拟转换器模拟转换器数字信号数字信号模拟信号模拟信号现场信号现场信号1现场信号现场信号2现场信号现场信号n微型微型计算机计算机放大器放大器放大器放大器放大器放大器多多路路开开关关低通滤波低通滤波传感器传感器低通滤波低通滤波传感器传感器低通滤波低通滤波传感器传感器A/D转换器转换器采样保持器采样保持器数字信号数字信号受控对象受控对象控制信号控制信号模拟信号模拟信号D/A转换器转换器放大驱动电路放大驱动电路传感器传感器将各种现场的
2、物理量测量出来将各种现场的物理量测量出来并转换成电信号(模拟电压或电流)并转换成电信号(模拟电压或电流) 放大器放大器把传感器输出的信号放大到把传感器输出的信号放大到ADC所需所需的量程范围的量程范围低通滤波器低通滤波器用于降低噪声、滤去高频干扰,用于降低噪声、滤去高频干扰,以增加信噪比以增加信噪比多路开关多路开关把多个现场信号分时地接通到把多个现场信号分时地接通到A/D转换器转换器采样保持器采样保持器周期性地采样连续信号,周期性地采样连续信号,并在并在A/D转换期间保持不变转换期间保持不变第一节 D/A接口芯片DAC数字数字/模拟转换器模拟转换器模拟量模拟量数字量数字量一、D/A转换的基本原
3、理数字量数字量 模拟量模拟量1101B 13D/A转换器的原理图(1)Iout2Iout1RfbRfbVout+_I1S1D1c2RRI2S2D2b2RRI0S0D0d2R2RRI3S3D3a2RVREF电阻网络电阻网络基准电压基准电压电子开关电子开关D/A转换器的原理图(2)Iout2Iout1RfbRfbVout+_I1S1D1c2RRI2S2D2b2RRI0S0D0d2R2RRI3S3D3a2RVREF阻抗阻抗2R运算放大器运算放大器虚地虚地D/A转换器的原理图(3)VaVREFVbVREF/2VcVREF/4VdVREF/8I0Vd/2RVREF/(82R)I1Vd/2RVREF/(4
4、2R)I2Vd/2RVREF/(22R)I3Vd/2RVREF/(12R)D/A转换器的原理图(4)Iout1I0I1I2I3VREF/2R(1/81/41/21)RfbRVoutIout1RfbVREF(20212223)/24Vout(D/2n)VREF二、DAC0832芯片nDAC0832是典型的是典型的8位电流输出型通用位电流输出型通用DAC芯片芯片DAC0832的内部结构LE2LE1RfbAGNDDAC0832VccILEVREF输入输入寄寄存存器器DGNDDI0DI7D/A转转换换器器DAC寄寄存存器器Iout2Iout1CSWR1WR2XFER1. DAC0832的数字接口n8位
5、数字输入端位数字输入端nDI0DI7(DI0为最低位)为最低位)n输入寄存器(第输入寄存器(第1级锁存)的控制端级锁存)的控制端nILE、CS、WR1nDAC寄存器(第寄存器(第2级锁存)的控制端级锁存)的控制端nXFER、WR2直通锁存器的工作方式两级缓冲寄存器都是直通锁存器两级缓冲寄存器都是直通锁存器nLE1,直通(输出等于输入),直通(输出等于输入)nLE0,锁存(输出保持不变),锁存(输出保持不变)LE2LE1DAC0832输入输入寄寄存存器器DI0DI7D/A转转换换器器DAC寄寄存存器器Iout1DAC0832的工作方式:直通方式nLE1LE21n输入的数字数据直接进入输入的数字数
6、据直接进入D/A转换器转换器LE2LE1DAC0832输入输入寄寄存存器器DI0DI7D/A转转换换器器DAC寄寄存存器器Iout1DAC0832的工作方式:单缓冲方式nLE11,或者,或者LE21n两个寄存器之一始终处于直通状态两个寄存器之一始终处于直通状态n另一个寄存器处于受控状态(缓冲状态)另一个寄存器处于受控状态(缓冲状态)LE2LE1DAC0832输入输入寄寄存存器器DI0DI7D/A转转换换器器DAC寄寄存存器器Iout1DAC0832的工作方式:双缓冲方式n两个寄存器都处于受控(缓冲)状态两个寄存器都处于受控(缓冲)状态n能够对一个数据进行能够对一个数据进行D/A转换的同时;输入
7、转换的同时;输入另一个数据另一个数据LE2LE1DAC0832输入输入寄寄存存器器DI0DI7D/A转转换换器器DAC寄寄存存器器Iout12. DAC0832的模拟输出nIout1、Iout2电流输出端电流输出端nRfb反馈电阻引出端(电阻在芯片内)反馈电阻引出端(电阻在芯片内)nVREF参考电压输入端参考电压输入端n10V10VnAGND模拟信号地模拟信号地nVCC电源电压输入端电源电压输入端n5V15VnDGND数字信号地数字信号地单极性电压输出VoutIout1Rfb(D/28)VREFRfbIout2Iout1Vout+_AGNDADIVREF单极性电压输出:例子设设 VREF5Vn
8、DFFH255时,最大输出电压:时,最大输出电压:Vmax(255/256)5V4.98VnD00H时,最小输出电压:时,最小输出电压:Vmin(0/256)5V0VnD01H时,一个最低有效位(时,一个最低有效位(LSB)电压:)电压:VLSB(1/256)5V0.02VVout(D/2n)VREF双极性电压输出:电路R1(R)R3(2R)R2(2R)RfbIout2Iout1AGNDDIVREFVout1+_A1Vout2+_A2I1I2I1I20双极性电压输出:公式取取 R2R32R1得得 Vout2(2Vout1VREF)因因 Vout1(D/28)VREF故故 Vout2(D27)/
9、27)VREF双极性电压输出:例子设设 VREF5VnDFFH255时,最大输出电压:时,最大输出电压:Vmax(255128)/1285V4.96VnD00H时,最小输出电压:时,最小输出电压:Vmin(0128)/1285V5VnD81H129时,一个最低有效位电压:时,一个最低有效位电压:VLSB(129128/1285V0.04VVout(D27)/27)VREF3. 输出精度的调整RfbIout2Iout1Vout+_AGND调零调零电位器电位器调满刻度调满刻度电位器电位器电源电源 5VADI10K1M1KVREF三、DAC芯片与主机的连接nDAC芯片相当于一个芯片相当于一个“输出设
10、备输出设备”,至,至少需要一级锁存器作为接口电路少需要一级锁存器作为接口电路n考虑到有些考虑到有些DAC芯片的数据位数大于主芯片的数据位数大于主机数据总线宽度,所以分成两种情况:机数据总线宽度,所以分成两种情况:1. 主机位数等于或大于主机位数等于或大于DAC芯片位数芯片位数2. 主机位数小于主机位数小于DAC芯片位数芯片位数1. 主机位数大于或等于DAC芯片的连接mov al,bufmov dx,portdout dx,al译码译码ABD0D7CSDACVout+_ALS273 IOWDAC0832单缓冲方式 WR1 CS IOW 5V+5VRfbIout2Iout1 WR2XFERDGND
11、 AGNDD0D7DI0D17VccILEVREFVout+_A译码译码AB2. 主机位数小于DAC芯片的连接n数字数据需要多次输出数字数据需要多次输出n接口电路也需要多个(级)锁存器保存接口电路也需要多个(级)锁存器保存多次输出的数据多次输出的数据n并需要同时将完整的数字量提供给并需要同时将完整的数字量提供给DAC转换器转换器8位位12位位两级锁存电路模拟输出模拟输出12位位DAC第第2级级12位锁存控制位锁存控制第第1级低级低8位锁存控制位锁存控制第第1级高级高4位锁存控制位锁存控制D0D74位位锁存器锁存器4位位锁存器锁存器8位位锁存器锁存器8位位锁存器锁存器由同一个信号控制由同一个信号
12、控制关键的一级锁存关键的一级锁存简化的两级锁存电路模拟输出模拟输出12位位DAC第第2级级12位锁存控制位锁存控制第第1级低级低8位锁存控制位锁存控制D0D74位位锁存器锁存器8位位锁存器锁存器8位位锁存器锁存器由同一个信号控制由同一个信号控制关键的一级锁存关键的一级锁存mov dx,port1mov al,blout dx,almov dx,port2mov al,bhout dx,al四、DAC芯片的应用mov dx,portdmov al,0repeat: out dx,alinc aljmp repeat输出正向锯齿波2次数据输出的时间间隔次数据输出的时间间隔02LSB1LSB255L
13、SB254LSB锯齿波周期锯齿波周期第二节 A/D转换器模拟量模拟量数字量数字量模拟模拟/数字转换器数字转换器ADC一、A/D转换的基本原理n存在多种存在多种A/D转换技术,各有特点,转换技术,各有特点,分别应用于不同的场合分别应用于不同的场合n4种常用的转换技术种常用的转换技术计数器式计数器式逐次逼近式逐次逼近式双积分式双积分式并行式并行式1. 计数器式以最低位为增减量以最低位为增减量单位的逐步计数法单位的逐步计数法时钟时钟复位复位数字输出数字输出比较器比较器模拟输入模拟输入计数器计数器D/A转换器转换器转换结束转换结束2. 逐次逼近式从最高位开始从最高位开始的逐位试探法的逐位试探法时钟时钟
14、复位复位数字输出数字输出转换结束转换结束比较器比较器模拟输入模拟输入寄存器寄存器D/A转换器转换器3. 双积分式两个积分阶段两个积分阶段实质是电压实质是电压/时间变换时间变换IREFIinVinVREF积分器积分器比较器比较器V/IV/I时钟时钟启动计数启动计数计数器计数器数字输出数字输出T2T1Vc固定斜率固定斜率时间可变时间可变固定时间固定时间斜率可变斜率可变转换结束转换结束4. 并行式速度快成本高速度快成本高直接比较法直接比较法编编码码电电路路VinVREF数字输出数字输出比较器比较器RRRRRRR/2R/2二、ADC0809芯片n具有具有A/D转换的基本功能转换的基本功能vCMOS工艺
15、制作工艺制作v8位逐次逼近式位逐次逼近式ADCv转换时间为转换时间为100 sn包含扩展部件包含扩展部件多路开关多路开关三态锁存缓冲器三态锁存缓冲器ADC0809的内部结构图ADC0809地址锁存地址锁存和译码和译码OE通道通道选择选择开关开关ADDAADDBADDC1N0IN1IN2IN3IN4IN5IN6IN78位位三态三态锁存锁存缓冲器缓冲器DACVcc比较器比较器CLOCKSTARTGND VREF(+)VREF(-)ALE逐次逼近逐次逼近寄存器寄存器SAR定时和控制定时和控制D0D1D2D3D4D5D6D7EOC1. ADC0809的模拟输入n提供一个提供一个8通道的多路开关和寻址逻
16、辑通道的多路开关和寻址逻辑IN0IN7:8个模拟电压输入端个模拟电压输入端ADDA、ADDB、ADDC:3个地址输入线个地址输入线ALE:地址锁存允许信号地址锁存允许信号nALE的上升沿用于锁存的上升沿用于锁存3个地址输入的状个地址输入的状态,然后由译码器从态,然后由译码器从8个模拟输入中选择个模拟输入中选择一个模拟输入端进行一个模拟输入端进行A/D转换转换2. ADC0809的转换时序D0D7OEEOCSTART/ALEADDA/B/CDATA100 s2 s+8T(最大最大)200ns(最小最小)转换启动信号转换启动信号转换结束信号转换结束信号3. ADC0809的数字输出nADC0809
17、内部锁存转换后的数字量内部锁存转换后的数字量n具有三态数字量输出端具有三态数字量输出端D0D7n配合输出允许信号配合输出允许信号OEo当输出允许信号当输出允许信号OE为高电平有效时,将为高电平有效时,将三态锁存缓冲器的数字量从三态锁存缓冲器的数字量从D0D7输输出出4. ADC0809的转换公式输入模拟电压输入模拟电压输出数字量输出数字量基准电压基准电压正正极极基准电压基准电压负负极极单极性转换示例n基准电压基准电压VREF(+)5V,VREF()0Vn输入模拟电压输入模拟电压Vin1.5VN (1.50)(50)25676.8774DH双极性转换示例n基准电压基准电压VREF(+)5V,VR
18、EF()5Vn输入模拟电压输入模拟电压Vin1.5VN (1.55)(55)25689.6905AH三、ADC芯片与主机的连接nADC芯片相当于芯片相当于“输入设备输入设备”,需要接,需要接口电路提供数据缓冲器口电路提供数据缓冲器n主机需要控制转换的启动主机需要控制转换的启动n主机还需要及时获知转换是否结束,并主机还需要及时获知转换是否结束,并进行数据输入等处理进行数据输入等处理1. 数据输出线的连接n与主机的连接可分成两种方式与主机的连接可分成两种方式q直接相连直接相连:用于输出带有三态锁存器的:用于输出带有三态锁存器的ADC芯片芯片q通过三态锁存器相连通过三态锁存器相连:适用于不带三态锁:
19、适用于不带三态锁存器的存器的ADC芯片,也适用带有三态锁存缓芯片,也适用带有三态锁存缓冲器的芯片冲器的芯片nADC芯片的数字输出位数大于系统数据芯片的数字输出位数大于系统数据总线位数,需把数据分多次读取总线位数,需把数据分多次读取2. A/D转换的启动(1)n启动信号一般有两种形式启动信号一般有两种形式q脉冲信号启动转换脉冲信号启动转换q电平信号启动转换电平信号启动转换转换启动转换启动转换结束转换结束2. A/D转换的启动(2)n主机产生启动信号有两种方法主机产生启动信号有两种方法q编程启动编程启动软件上,执行一个输出指令软件上,执行一个输出指令硬件上,利用输出指令产生硬件上,利用输出指令产生
20、ADC启动脉启动脉冲,或产生一个启动有效电平冲,或产生一个启动有效电平q定时启动定时启动启动信号来自定时器输出启动信号来自定时器输出3. 转换结束信号的处理v不同的处理方式对应程序设计方法不同不同的处理方式对应程序设计方法不同 查询方式查询方式把结束信号作为状态信号把结束信号作为状态信号 中断方式中断方式把结束信号作为中断请求信号把结束信号作为中断请求信号 延时方式延时方式不使用转换结束信号不使用转换结束信号 DMA方式方式把结束信号作为把结束信号作为DMA请求信号请求信号四、ADC芯片的应用n编程启动、转换结编程启动、转换结束中断处理束中断处理n编程启动、转换结编程启动、转换结束查询处理束查
21、询处理中断方式D0D7220hIRQ2A0A9译码译码VccD0D7EOCADDAADDBADDCALE模拟输入模拟输入(05V)500KHzCLOCKVREF(+)+5VIN0OESTARTGNDVREF(-) IOR IOW主程序;数据段数据段adtemp db 0;给定一个临时变量给定一个临时变量;代码段代码段;设置中断向量等工作设置中断向量等工作sti;开中断开中断mov dx,220hout dx,al;启动启动A/D转换转换;其他工作其他工作中断服务程序adint procsti;开中断开中断push ax;保护寄存器保护寄存器push dxpush dsmov ax, data;
22、设置数据段设置数据段DSmov ds,axmov dx,220hin al,dx;读读A/D转换的数字量转换的数字量mov adtemp,al ;送入缓冲区送入缓冲区中断服务程序mov al,20h;发送发送EOI命令命令out 20h,alpop ds;恢复寄存器恢复寄存器pop dxpop axiret;中断返回中断返回adintendp查询方式8通道通道模拟输入模拟输入(05V)VccD7A3A9D0D7D0D7OEEOCA0A1A2ADDAADDBADDC 译码译码500KHzCLOCKSTARTGNDVREF(+)VREF(-)ALE+5VIN0IN1IN2IN3IN4IN5IN6I
23、N7220h227h238h23fh IOR IOW启动转换;数据段数据段counter equ 8bufdb counter dup(0);数据缓冲区数据缓冲区;代码段代码段mov bx,offset bufmov cx,countermov dx,220h ;从从IN0开始转换开始转换start1: out dx,al;启动启动A/D转换转换push dx查询读取mov dx,238h ;查询是否转换结束查询是否转换结束start2: in al,dx;读入状态信息读入状态信息test al,80h;D71,转换结束否,转换结束否?jz start2;没有结束,继续查询没有结束,继续查询pop dx;转换结束转换结束in al,dx;读取数据读取数据mov bx,al;存入缓冲区存入缓冲区inc bxinc dxloop start1;转向下一个模拟通道转向下一个模拟通道