《微机原理第12章-DA与AD转换接口.ppt》由会员分享,可在线阅读,更多相关《微机原理第12章-DA与AD转换接口.ppt(28页珍藏版)》请在三一办公上搜索。
1、有关D/A、A/D的基本概念 DAC及其接口 ADC及其接口 A/D、D/A应用举例,了解微机控制系统的一般组成 了解D/A、A/D的基本原理 了解DAC、ADC的主要性能指标 掌握DAC、ADC与CPU的接口及其应用,12.1 D/A与A/D接口概述,一、一个典型的计算机自动控制系统,数/模(D/A)和模/数(A/D)转换技术主要用于计算机实时控制和自动测量系统中。在工业控制和参数测量时,经常会遇到如温度、压力、流量等连续变化的物理量(通称模拟量)。用计算机处理这些模拟量必须先将其转换为电信号,然后再经A/D转换器将其转换为数字量。对于大多数的被控对象,计算机加工处理后输出的数字形式控制信号
2、还应经D/A转换变成模拟量。才能推动执行机构工作。,一个包含A/D和D/A转换的计算机闭环自动控制系统如下图所示,图12.1 典型的计算机自动控制系统,二、模/数转换器(ADC)的主要性能参数,分辨率(Resolution),它表明A/D对模拟信号的分辨能力,由它确定能被A/D辨别的最小模拟量变化。,2.量化误差(Quantizing error),在A/D转换中由于整量化产生的固有误差。量化误差在1/2LSB(最低有效位)之间。,3.转换时间(Conversion time),转换时间是A/D完成一次转换所需要的时间。一般转换速度越快越好,常见有高速(转换时间1us)、中速(转换时间1ms)
3、和低速(转换时间1s)等。,4.绝对精度,对于A/D,指的是对应于一个给定量,A/D转换器的误差,其误差大小由实际模拟量输入值与理论值之差来度量。,5.相对精度,对于A/D,指的是满度值校准以后,任一数字输出所对应的实际模拟输入值(中间值)与理论值(中间值)之差。例如,对于一个8位0+5V的A/D转换器,如果其相对误差为1LSB,则其绝对误差为19.5mV,相对误差为0.39%。,三、数/模转换器(DAC)的主要性能参数,分辨率(Resolution),分辨率表明DAC对模拟量的分辨能力,它是最低有效位(LSB)所对应的模拟量,它确定了能由D/A产生的最小模拟量的变化。通常用二进制数的位数表示
4、DAC的分辨率,如分辨率为8位的D/A能给出满量程电压的1/28的分辨能力,显然DAC的位数越多,则分辨率越高。,2.线性误差(Linearity error),D/A的实际转换值偏离理想转换特性的最大偏差与满量程之间的百分比称为线性误差。,3.建立时间(Setting time),这是D/A的一个重要性能参数,定义为:在数字输入端发生满量程码的变化以后,D/A的模拟输出稳定到最终值1/2LSB时所需要的时间。,4.温度灵敏度,它是指数字输入不变的情况下,模拟输出信号随温度的变化。一般D/A转换器的温度灵敏度为50PPM/。PPM为百万分之一。,5.输出电平,不同型号的D/A转换器的输出电平相
5、差较大,一般为5V10V,有的高压输出型的输出电平高达24V30V。,12.2 DAC0832数/模转换器,一、DAC0832的内部结构与引脚图,图12.2 给出了DAC0832的内部结构。图12.3 给出了DAC0832的引脚图。,DAC0832是一种相当普遍且成本较低的数/模转换器。该器件是一个8位转换器,它将一个8位的二进制数转换成模拟电压。,图12.2 DAC0832的内部结构,图12.3 DAC0832引脚图,各引脚的功能如下:,D0D7:8位数据输入端。,IOUT1和IOUT2:互补的电流输出端。,RFB:反馈电阻,被制作在芯片内,与外接的运 算放大器配合构成电流/电压转换电路。V
6、REF:转换器的基准电压。VCC:工作电源输入端。AGND:模拟地,模拟电路接地点。DGND:数字地,数字电路接地点。,RFB:反馈电阻,被制作在芯片内,与外接的运 算放大器配合构成电流/电压转换电路。VREF:转换器的基准电压。VCC:工作电源输入端。AGND:模拟地,模拟电路接地点。DGND:数字地,数字电路接地点。,(1)直通方式,二、DAC0832 的工作方式,DAC0832可工作在三种不同的工作模式:,(2)单缓冲方式,单缓冲方式是将一个锁存器处于缓冲方式,另一个锁存器处于直通方式,输入数据经过一级缓冲送入D/A转换器。,(3)双缓冲方式,即数据通过两个寄存器锁存后再送入D/A转换电
7、路,执行两次写操作才能完成一次D/A转换。,三、DAC0832与CPU的连接,由于DAC0832内部含有数据锁存器,在与CPU相连时,使其可直接挂在数据总线上。,I1 I2 I3 I4 I5 I6 I7 I8 I9 I10,O1 O2 O3 O4 O5 O6 O7 O8,GAL16V8,WR A0 A1 A2 A3 A4 A5 A6 A7 M/IO,+5V,10K,20H,CS WR1 WR2 DGND,D0D7,D0D7,ILE,XFER,VREF,IOUT1 IOUT2,AGND,_+,RFB,LM741,+5V,U0,DAC0832,图12.4 DAC0832与CPU的单缓冲方式连接电路
8、,下面举例说明如何编写D/A转换程序。,分析:三角波电压范围02.5V,对应的数字量 00H7FH。三角波的下降部分,从7FH 减1,直到数字量降为00H;上升部分则 从00H加1,直到7FH。,相应的程序如下:,MOV AL,7FH;设2.5V初值DOWN:OUT 20H,AL;输出模拟信号到端口20H,三角波下降;段 DEC AL;输出值减1 CMP AL,00H;输出值到达0V?JNZ DOWN;输出值未达到0V,则跳到DOWN UP:OUT 20H,AL;输出模拟量到端口20H,三角波上升段 INC AL;输出值加1 CMP AL,7FH;判别输出值是否到达2.5V JNZ UP;输出
9、值未达到2.5V则跳到UP JMP DOWN;输出值达到2.5V则跳到DOWN循环。,本例中DAC0832输出的三角波如图12.5所示。若8086的时钟频率为5MHz,则可计算出该三角波的周期大约为1.53ms,即频率约为654Hz。如果要进一步降低三角波的频率(增大其周期),可在每次D/A转换之后加入适当的延时。,图12.5 DAC0832输出的三角波形图,12.3 ADC0809模/数转换器,一、ADC0809的内部结构与引脚图,ADC0809是一种普遍使用且成本较低的CMOS材料A/D转换器。它具有8个模拟量输入通道,可将模拟量转换为8位二进制数字量。,图12.6 给出了ADC0809的
10、内部结构。图12.7 给出了ADC0809的引脚图。,图12.6 ADC0809转换器的内部结构图,图12.7 ADC0809的引脚图,二、ADC0809与CPU的连接,ADC0809与CPU的连接,主要是正确处理数据输出线(D0D7),启动信号START和转换结束信号EOC与系统总线的连接问题。,图12.8给出了ADC0809与CPU的典型连接图。,图12.8 ADC0809与CPU的连接图,下面举例说明如何编写A/D转换程序。,相应的采集程序如下:,AD:MOV CX,0008H;通道计数单元CX赋初值 MOV DI,OFFSET ADDBUF;寻址数据区,结果保存;在ADDBUF存储区S
11、TART:MOV DX,300H;取IN0启动地址LOOP1:OUT DX,AL;启动A/D转换,AL可为;任意值 PUSH DX;保存通道地址 MOV DX,308H;取查询EOC状态的端口;地址WAIT:IN AL,DX;读EOC状态 TEST AL,80H;测试A/D转换是否结束 JZ WAIT;未结束,则跳到WAIT;处,MOV DX,300H;取读A/D转换结果寄存器的;端口地址IN AL,DX;读A/D转换结果MOV DI,AL;保存转换结果INC DI;指向下一保存单元POP DX;恢复通道地址INC DX;指向下一个模拟通道LOOP LOOP1;未完,转入下一通道采样CALL DELAY;延时100ms JMP AD;进行下一次循环采样,跳至;AD处。,