1、第十一章第十一章 模数和数模转换模数和数模转换11.1 概述概述问题的提出:问题的提出:n模拟量模拟量:自然界连续变化的物理量。所谓连续,包括两方面的含自然界连续变化的物理量。所谓连续,包括两方面的含义:义:n一方面从时间上来说,它是随时间连续变化的;一方面从时间上来说,它是随时间连续变化的;n另一方面从数值上来说,它的数值也是连续变化的。这种另一方面从数值上来说,它的数值也是连续变化的。这种连续变化的物理量通常称为模拟量。连续变化的物理量通常称为模拟量。n数字量:计算机内部处理的是不连续变化的量数字量:计算机内部处理的是不连续变化的量当计算机用于数据采集和过程控制的时候,采集对象往当计算机用
2、于数据采集和过程控制的时候,采集对象往往是连续变化的物理量(如温度、压力、声波等),但计算机往是连续变化的物理量(如温度、压力、声波等),但计算机处理的是离散的数字量,因此需要对连接变化的物理量(模拟处理的是离散的数字量,因此需要对连接变化的物理量(模拟量)进行量)进行A/D转换为不连续的数字量交给计算机处理、保存等。转换为不连续的数字量交给计算机处理、保存等。计算机输出的数字量有时需要通过计算机输出的数字量有时需要通过D/A转换为模拟量去控制某转换为模拟量去控制某些执行元件(如声卡播放音乐等)。些执行元件(如声卡播放音乐等)。A/D转换器完成模拟量转换器完成模拟量数定量的转换,数定量的转换,
3、D/A转换器完成数字量转换器完成数字量模拟量的转换。模拟量的转换。11.1.1 计算机控制系统控制对象传感器放大滤波传感器放大滤波多路开关MUX采样保持器S/HA/D转换器I/O接口D/A转换器执行部件I/O接口计算机多路开关MUX n传感器:是把非电量的模拟量(如温度、压力、流量等)转换成电压或电流信号n量程放大器:把微弱的传感器信号(通常为毫伏或微伏级)放大到A/D转换器所需的量程范围。n低通滤波器:用来降低噪声,滤去不必要的干扰,以增加信噪比。n多路开关:可以使多个模拟信号共用一个A/D转换器。n采样-保持电路:(Sample/hold circuit)把转换的信号采样后还保持一段时间,
4、以便给A/D转换器转换。11.1.2 采样、量化和编码1.采样n采样就是按相等的时间间隔t从电压信号上截取一个个离散的电压瞬时值。n采样定理:为了能从采样后的信号能够无失真的恢复原信号,必须满足两个条件:被采样的模拟信号必须是频带受限的,即它有频率上限值fm;采样频率fs 2fm。在实际应用中常取fs=(34)fm2.量化n对05V(或010V)电压进行2n等分(n8、10、12、16),形成2n个区间n采样后的模拟电压落在哪个区间,就以该区间的下限值表示该电压值量化的实例3.编码n自然二进制编码:0电压用数字量全0表示;满量程(FSR)电压用数字量全1表示(实际上全1并不等于满量程电压)。n
5、双极性二进制编码:负满量程电压用全0表示,正满量程电压用全1表示(实际上全1也不等于正满量程电压)。自然二进制编码(n=4)输入模拟量输入模拟量输出数码输出数码对应电压对应电压FSR(满量程满量程)=+5VFSR(满量程满量程)=+10V000000.00000.0001/16 FSR(满量程满量程)00010.31250.6252/16 FSR00100.62501.2503/16 FSR00110.93751.8754/16 FSR01001.25002.5005/16 FSR01011.56253.1256/16 FSR01101.87503.7507/16 FSR01112.18754
6、.3758/16 FSR10002.50005.0009/16 FSR10012.81255.62510/16 FSR10103.12506.25011/16 FSR10113.43756.87512/16 FSR11003.75007.50013/16 FSR11014.06258.12514/16 FSR11104.37508.75015/16 FSR11114.68759.375双极性二进制编码(n=4)输入模拟量输入模拟量输出数码输出数码对应电压对应电压FSR=5V+7/8FSR(满量程满量程)1111+4.375+6/8 FSR1110+3.750+5/8 FSR1101+3.125
7、+4/8 FSR1100+2.500+3/8 FSR1011+1.875+2/8 FSR1010+1.250+1/8 FSR1001+0.625010000.000-1/8 FSR0111-0.625-2/8 FSR0110-1.250-3/8 FSR0101-1.875-4/8 FSR0100-2.500-5/8 FSR0011-3.125-6/8 FSR0010-3.750-7/8 FSR0001-4.375-8/8 FSR0000-5.00011.2 DA转换器n1权电阻式D/A转换器n2T型电阻网络式D/A转换器基准电压模拟转换基准电压运算放大器电流Ii模拟电压数字开关控制数字接口数字
8、量输入图图11-2 D/A转换器的基本部件转换器的基本部件1权电阻式D/A转换器I0 D0 2n-1RI1 D1 2n-2RI2 D2 2n-3RIn-1 Dn-1 2RRfVrefV0_ A+图图11-3 权电阻权电阻D/A转换原理转换原理2T型电阻网络式D/A转换器B0 B1 B2 B3A0 A1 A2 A3D0 D1 D2 D3I0 I1 I2 I32R 2R 2R 2R2R R R R0 1 2 3RfV0_+AVref图图11-4 T型电阻网络式型电阻网络式D/A转换器转换器DA转换器的性能指标11.2.3 典型的DA转换器nAD7524nDAC0832nDAC1210AD7524数
9、据总线地址总线利用AD7524产生锯齿波、三角波、方波和正弦波n编程实现输出0.5V到2.5V的三角波n如何输出方波?n如何输出正弦波?锯齿波的生成(P389)编程实现输出从编程实现输出从0到到4.98V线形增长的周期性锯齿波线形增长的周期性锯齿波Start:mov al,0ffh;初值Again:inc al;out 80h,al;进行DA转换call delay;延时jmp again三角波的生成Begin:mov al,1ah;下限值Up:out 80h,al;DA转换inc alcmp al,81h;同上限值比较jnz updec alDown:out 80h,aldec alCmp
10、al,19hJnz downJmp begin2.DAC0832n主要参数n引脚图n工作方式DAC0832主要参数DAC0832采用了二次缓冲输入数据方式(输入寄存器及DAC寄存器)。可以在输出的同时采集下一个数字量,以提高转换速度。能够用于需要同时输出多个参数的模拟量系统。n分辨率:8位n转换时间:1usn满量程误差:1LSBn参考电压:10Vn单电源:+5V+15VCSWR1ILEDI7DI0LE1LE2IOUT2VREFIOUT1Rfb模拟地DGNDAGNDVCC数字地8位输入寄存器8位DAC寄存器8位D/A转换器图图11-10 DAC0832逻辑结构框图逻辑结构框图WR2XFERDAC
11、0832逻辑结构框图逻辑结构框图DAC0832引脚图1234567891020191817161514131211DAC0832CS1WRAGND3DI2DI1DI0DIREFVfbRDGND1OUTI2OUTI7DI6DI5DI4DIXFER2WRILEVCC 引脚名称信号名称DI7DI0数据输入线IOUT1 IOUT2互补电流输出端AGND DGND模拟地 数字地ILE输入锁存使能RFB片内反馈电阻VCC工作电压VREF参考电压CSWR1 WR2XFER片选写输入命令传输控制信号DAC0832工作方式(1)直通方式。当CS、WR1、WR2、XFER都接数字地,ILE接高电平时,使得输入寄存
12、器和DAC寄存器均处于直通状态,8位数字一旦到达DI7-DI0输入端,就立即加到8位D/A转换器,被转换成模拟量。(2)单缓冲方式。此方式是使两个寄存器中任一个处于直通状态,另一个工作于受控锁存器状态(3)双缓冲方式。双缓冲方式的一大用途是数据接收和启动转换可以异步进行,即在对某数据转换的同时,能进行下一数据的接收,以提高转换速率 DAC0832工作方式工作方式ILECSWR1WR2XFER直通方式 高电平接地接地接地接地单缓冲方式高电平地址译码信号IOW信号接地接地双缓冲方式(单DAC系统)高电平地址译码信号1CPU的IOW信号地址译码信号2双缓冲方式(多路DAC系统)高电平每个DAC的CS
13、各接一个地址译码信号CPU的IOW信号所有的XFER信号连在一起双缓冲方式(单DAC)12位D/A转换器DAC1210VCCAGNDDGNDRfbVREFIOUT1IOUT2DI11DI4DI3DI0WR1WR2CSXFERLELELEB1/B28位输入寄存器4位输入寄存器12位DAC寄存器12位D/A转换器图11-14 DAC1210逻辑结构框图11.3 AD转换器nAD转换的基本原理n典型的AD转换器件11.3.1 AD转换的基本原理存在多种A/D转换技术,各有特点,分别应用于不同的场合有4种常用的转换技术计数器式逐次逼近式双积分式并行式11.3.2 典型的AD转换器件n8位 ADC080
14、9n12位 AD574A1.ADC0809n引脚图n工作过程n多通道数据采集方案ADC0809引脚引脚名称引脚功能IN7IN08通道模拟量输入端D7D0结果数据输出端START启动转换命令输入端,该引脚加高电平,开始转换EOC转换结束指示引脚,平时为高电平,转换开始及转换过程中为低电平,转换一结束又变回高电平OE输出允许。高电平允许输出数据C、B、A 通道号选择输入端ALE通道号锁存控制端CLK外接时钟REF(+)REF(-)两个参考电压输入端,通常将REF(-)接模拟地,参考电压从REF(+)引入。ADC0809内部结构图ADC0809工作过程n选择当前转换的通道n在START和ALE引脚上
15、加一个正脉冲,启动AD转换n转换开始后,EOC变低,转换结束,EOC变高n转换结束后,可通过执行IN指令读取转换后的数字量用ADC0809设计多通道数据采集系统n设计多通道数据采集系统的注意事项n控制采样率n转换结束的检测n设计通道选择方案n多通道AD转换时,必须等一个通道转换结束后,才能启动另一个通道的转换,不可同时启动AD转换n具体实例具体实例n需求:在PC/XT机上采用ADC0809设计一块8通道数据采集卡,要求以200Hz的速率对每个通道均采集1024个数据,也就是每隔5ms对各通道轮流采集一个数据,然后将它们存到数据段中以BUFF开始的数据缓冲区中。n方案设计:n采样率的控制n转换结
16、束的检测n通道选择方案n具体实现电路n具体实现代码采样率的控制n通过8253的0通道的输出引脚接到8259A的IR2引脚,在8259A的控制下定时向CPU发出中断请求,在每次中断时进行采样。n在每次中断出现后,在中断服务程序中用OUT指令启动转换,然后查询EOC引脚的状态,当EOC为高时,表示转换结束,这时可用IN指令读入结果。转换结果的检测nADC0809的EOC引脚通过一个三态门接到数据总线中D7构成一个状态口(地址为308H)。在启动脉冲结束后,先查EOC是否为低电平,若为低表示转换已开始,再查EOC是否为高,若为高,说明转换已结束,用IN指令读取转换的结果。通道选择方案n地址线的A9A
17、3经I/O地址译码器形成片选信号CS,选中8个I/O地址300H307H。n地址线的A2、A1、A0接到ADC0809的C、B、A引脚,使每个I/O地址对应一个模拟量输入通道。具体实现电路n参考第406页 图11-22具体实现代码n设置数据段,开辟缓冲区存放采集后的数据n主程序n设置中断矢量n8259A的初始化n8253的初始化n设置缓冲区首地址SI,存放数据计数器初值BXn开中断n循环等待中断n数据采集结束返回n中断服务子程序中断服务子程序n设置通道计数初值(总通道数)CXn0通道地址DXn启动AD转换n检测EOC引脚,若为高,表明AD转换还未开始,等待;n检测EOC引脚,若为低,表明AD转
18、换已经开始了,等待转换结束;n检测EOC引脚,若为高,表明AD转换已经结束了,读取AD转换的结果nDXDX+1,指向下一个通道nSISI+1,指向下一个缓冲区nCXCX-1,进行下一个通道的转换n全部通道转换完后,BXBX-1,缓冲区计数器减1n结束中断,中断返回对某一通道进行采集AD574An该节的内容作为自学内容思考题n第414页 第3、6、7题一个计算机探伤系统多路模拟开关n多路模拟开关用来切换模拟信号。n对于AD通道,需要多路输入、一路输出的模拟开关,保证每次只转换一个通道的模拟信号n对于DA通道,需要一路输入、多路输出的模拟开关,使输出的模拟信号轮流分配到各模拟通道多路模拟开关的例子
19、用于选择通道号DA转换的基本原理n利用权电阻网络和运算放大器实现输出电流Io的计算)2222(284244332211432144332211ddddRVRVdRVdRVdRVdIdIdIdIdIRRRRRoAD转换举例已知:n=4,VI=3.7V,VR=5V,即把3.7V的电压转化为4位数字量。4个电子砝码与电压的对应关系:电子砝码相应的电压(V)10002.501001.2500100.62500010.3125AD转换举例4位逐次逼近式AD转换过程(VI=3.7V,VR=5V):次序试探码DA输出去留本次结果110002.5VVI去1000310103.125VVI留1010410113.4375VVI留1011