第十一章+模拟IO接口课件.ppt
11-1,第十一章 模拟I/O接口,11.0 概 述11.1 DAC及其与MPU的接口11.2 ADC及其与MPU的接口,11-2,11.0 概 述,模拟I/O接口即A/D、D/A转换器接口,A/D、D/A转换器及其与计算机的接口在计算机测控系统中的重要性。,应用示例,11-3,11.1.1 D/A转换器原理11.1.2 DAC的基本参数11.1.3 典型的DAC集成芯片11.1.4 DAC芯片与MPU接口技术,11.1 DAC及其与MPU的接口,11-4,11.1.1 D/A转换器原理,DAC是一种把二进制数字信号转换成模拟信号(电压或电流)的电路。,DAC按转换原理不同,可分为:,解码网络各不相同。,以T型和倒T型电阻DAC在集成产品中应用较多。,11-5,1.T型电阻解码网络DAC,11.1.1 D/A转换器原理,结构特点:,节点A、B、C、D都由三条支路相交而成,而且从任一节点向三条支路看过去的等效电阻都为2R;,从任一开关Si向上看过去的等效电阻都为3R。,11-6,输出电流io为:,io=io3+io2+io1+io0,从上述结构特点可直接分析推出:,T型电阻DAC的转换原理:,11.1.1 D/A转换器原理,11-7,所以:,进一步得到输出电压vo:,11.1.1 D/A转换器原理,11-8,11.1.1 D/A转换器原理,推广到一般情况:,当输入数字量为n位时,则有:,以上两式表明:,输出电流io和输出电压Vo都与输入二进制数Dn-1Dn-2D0的大小成正比,可见实现了从数字量到模拟量的转换。,11-9,主要优点:D/A转换的结果Vo只与电阻的比值(Rf/R)有关,而不取决于电阻的绝对值。,这为集成单元的制作提供了很大方便。,主要缺点:各位数码变化引起的电压变化到达“运放”输入端的时间明显不相同。这样,在输入数字量变化的动态过程中可能在输出端产生很大的尖峰脉冲,从而带来较大的动态误差,影响DAC的转换精度和转换速度。,T型电阻DAC的优缺点,11.1.1 D/A转换器原理,11-10,11.1.1 D/A转换器原理,2.倒T型电阻解码网络DAC,结构特点:,是对T型电阻解码网络DAC的改进,电阻网络中各支路的电流都直接流入“运放”输入端,相互间不存在传输时间差,所以转换速度较快,动态过程中输出端的尖峰脉冲较小。,11-11,io=D3I3+D2I2+D1I1+D0I0,倒T型电阻DAC的转换原理:,11.1.1 D/A转换器原理,11-12,11.1.1 D/A转换器原理,推广到n位转换器,则有:,同样可见:,输出的模拟信号io和Vo与输入的数字信号的大小成正比,从而实现了从数字量到模拟量的转换。,11-13,11.1.2 DAC的基本参数,1.精度参数,用于表明D/A转换的精确程度,一般用误差大小表示。,精度特性常以满量程电压VFS的百分数或以最低有效位LSB的分数形式给出,有时也用二进制位数的形式给出。如:,精度为0.1%指最大误差为VFS的0.1%。,11-14,主要是建立时间或转换时间,它通常指输入数字量为满刻度值时,从输入加上到输出模拟量达到满刻度值或满刻度值的某一百分比(如90%)所需的时间。,3.分辨率,表示DAC对微小模拟信号的分辨能力,是数字输入量的最低有效位(LSB)所对应的模拟值。分辨率通常用二进制位数表示。,4.精度和分辨率的区别:,精度取决于构成转换器的各个部件的误差和稳定性,而分辨率则取决于转换器的位数。,2.速度参数,11.1.2 DAC的基本参数,11-15,11.1.3 典型的DAC集成芯片,DAC集成芯片概述DAC集成芯片DAC0832DAC集成芯片DAC1210,11-16,1.DAC集成芯片概述,11.1 DAC及其与MPU的接口,从与CPU接口的角度看,DAC芯片有以下几类:,有单级输入缓存器的DAC,如AD7524等,无输入缓存器的DAC,如AD1408等,按片内有无缓存能力,有双级输入缓存器的DAC,如DAC0832等,11-17,11.1.3 典型的DAC集成芯片,8位DAC,如DAC0832、AD1408等,按位数,串行输入DAC,如AD7543等,串/并输入DAC,如AD7522等,并行输入DAC,按数字输入方式,分辨率高于8位的DAC,如DAC1210/1209(12位)等,11-18,DAC0832是8位R-2R T型电阻解码网络芯片,转换结果以一对差动电流IO1和IO2输出。,(1)内部结构与外部引脚:,1.DAC0832,11.1.3 典型的DAC集成芯片,11-19,优越性:可转换和接收并行工作,利于提高速度;适于需要多个模拟输出通道同时改变输出量的应用场合。,单缓冲方式下,数据只要一写入DAC芯片就立即进行数/模转换,省去一条输出指令。,(2)应用说明,11.1.3 典型的DAC集成芯片,11-20,这时得到的电压VO是单极性,极性与VR相反:,单极性电压输出,11.1.3 典型的DAC集成芯片,DAC0832直接输出的信号是模拟电流IO1、IO2,为得到电压输出,应加接一级运放:,11-21,双极性电压输出:,11.1.3 典型的DAC集成芯片,方法一:在单极性电压输出后再增加一级反相比例求和运放作为偏移电路。,若要得到双极性电压输出,还需在输出端引入一个偏移电路。通常有两种引入方法:,11-22,11.1.3 典型的DAC集成芯片,运放A2(反相比例求和电路)使A1的输出电压Vo的两倍与参考电压VR求和,即:,11-23,11.1.3 典型的DAC集成芯片,方法二:在第一级运放的求和点增加一个偏移电阻RB和一个偏移电压VB(=-VR)作为偏移电路。,11-24,11.1.3 典型的DAC集成芯片,对应于上述双极性Vo的输入数码称为偏移二进制码,简称偏移码。相应的双极性DAC则叫偏移码双极性DAC。,偏移码和原码、补码、反码同属双极性码。四者对应关系如下(以3位码为例):,补码输入双极性DAC:以偏移码双极性DAC为基础 构成。,11-25,(1)内部结构与外部引脚:,2.DAC1210,11.1.3 典型的DAC集成芯片,11-26,与DAC0832差不多,差别主要有两点:,单缓冲方式工作时(第二级直通),输出有尖峰干扰出现,故与8位CPU接口时,必须工作于双缓冲方式。,两次写数的顺序只能是:先写高8位,后写低4位。原因是两次写入都会使4位寄存器内容改变,而8位寄存器则不然。,(2)使用方法,11.1.3 典型的DAC集成芯片,11-27,11.1.4 DAC芯片与MPU接口技术,DAC电路与MPU的接口有两种基本形式 1.与MPU总线直接相连 2.通过I/O接口芯片与MPU总线相连,11-28,11.1.4 DAC芯片与MPU接口技术,1.与MPU总线直接相连,适于内部有输入缓存器且D/A转换器位数小于等于MPU数据总线位数的DAC芯片。,11-29,适于内部无输入缓存器或者虽有输入缓存器但D/A转换器位数多于MPU数据总线位数的DAC芯片。,(1)内部无输入缓存器的m位DAC与n位MPU(mn)的接口,2.通过I/O接口芯片与MPU总线相连,11.1.4 DAC芯片与MPU接口技术,11-30,这时要采用两级缓冲寄存器,具体接口方法又有两种(以12位DAC和8位MPU为例):,方法一:每级要两个锁存器,(2)mn时的m位DAC与n位MPU的接口,11.1.4 DAC芯片与MPU接口技术,11-31,方法二:低8位经两级缓存,高4位经一级缓存(反之也可),11.1.4 DAC芯片与MPU接口技术,11-32,(1)接口硬件逻辑:,例11.1 DAC1210与IBM PC总线的接口,11.1.4 DAC芯片与MPU接口技术,11-33,假定被转换的12位数据已事先存放在BX寄存器的低12位,编写完成一次D/A转换输出的接口驱动程序。,START:MOV DX,0220H;DAC基地址送DX寄存器 MOV CL,4 SHL BX,CL;BX中12位数向左对齐 MOV AL,BH OUT DX,AL;写入高8位 INC DX MOV AL,BL OUT DX,AL;写入低4位 INC DX OUT DX,AL;启动D/A转换(AL中为任意数均可)HLT,(2)接口驱动程序,11.1.4 DAC芯片与MPU接口技术,11-34,11.2.1 A/D转换的四个步骤11.2.2 A/D转换器原理11.2.3 ADC的性能参数11.2.4 典型的ADC集成芯片11.2.5 ADC芯片与MPU接口技术,11.2 ADC及其与MPU的接口,11-35,11.2.1 A/D转换的四个步骤,A/D转换的全过程通常分四步进行:,采样保持量化编码,保持-将采样得到的模拟量值保持下来,使之等于采样控制脉冲存在的最后瞬间的采样值。,11-36,通常采用等时间间隔采样,为使采样保持得到的输出信号在经过信号处理后可还原成原来的模拟输入信号,要满足下列条件(采样定理):fS2fimax 其中:fS为采样频率 fimax为输入信号Vi的最高次谐波分量的频率,采样保持电路基本原理图,11.2.1 A/D转换的四个步骤,11-37,量化-用基本的量化电平q的个数来表示采样保持的模拟电压值。,编码-把已经量化的模拟量值(一定为q的整数倍)用数码表示。,2.量化和编码,11.2.1 A/D转换的四个步骤,11-38,S(t),VI(t),VSH,Vq,4q,3q,2q,q,0,0,0,0,q,3q,2q,q,q,3q,4q,2q,3q,001 011 010 001 001 011 100 010 011,量化,编码,(只舍不入法),(二进制编码),(a)采样脉冲,(b)输入电压,(c)采样保持电压,(d)量化过程,采样、保持、量化、编码全过程示意图:,11.2.1 A/D转换的四个步骤,11-39,11.2.2 A/D转换器原理,通常所说的A/D转换器,是指将采样保持后得到的模拟电压值Vi转换为数字量的电路。转换过程包括量化和编码,但实际上这两步并无明显分界。,1.根据A/D转换原理和特点的不同,ADC可分成两类:,直接ADCVi直接转换成数码。常见的有:,并行转换式ADC,逐次逼近式ADC,计数式ADC,间接ADCVi中间变量数码。常见的有:,单积分式ADC,双积分式ADC,V/F转换式ADC,在集成ADC电路中以逐次逼近式ADC应用最广,11-40,基本特点:二分搜索 反馈比较 逐次逼近,原理框图,2.逐次逼近式ADC原理,11.2.2 A/D转换器原理,11-41,一般说来,n位ADC转换一个数需要n+1个时钟脉冲。若把将转换结果送入输出缓冲锁存器这个节拍也算在内,则需要n+2个时钟脉冲。,工作过程示意(以三位ADC为例),11.2.2 A/D转换器原理,11-42,11.2.3 ADC的性能参数,与DAC基本参数相似,也有三类主要参数。,1、分辨率,ADC对Vi 微小变化响应能力的度量。它是数字输出的最低位(LSB)所对应的模拟输入电平值,即量化电平q=VFS/2n。常用ADC位数表示。,2、转换时间,指完成一次A/D转换所需的时间,即从输入转换启动信号开始到转换结束所经历的时间。转换时间的倒数称为转换速率。,11-43,实际变换函数与理想变换函数的接近程度。通常用误差表示。,绝对精度:指对于一个给定的数字量输出,其实际上输入的模拟电压值与理论上应输入的模拟电压值之差。,相对精度:指在整个转换范围内,任一个数(不是指一个数)所对应的实际模拟输入电压与理论输入电压的差。相对精度实质上反映的是ADC的线性度好坏。,3.精 度,11.2.3 ADC的性能参数,11-44,数字误差即量化误差,主要由分辨率决定,属原理性误差,可通过增加位数来减小。,模拟误差即设备误差,主要来自比较器、DAC中解码电阻、基准电压源和模拟开关等模拟电路的误差。,ADC的转换误差来源于两个方面,即:数字误差和模拟误差,11.2.3 ADC的性能参数,11-45,11.2.4 典型的集成ADC芯片,集成ADC芯片概述集成ADC芯片ADC0808/0809集成ADC芯片AD574,11-46,1.集成ADC芯片概述,ADC芯片一般都有4种基本信号引线:,模拟信号输入端(单/双极性),数字量输出端(并行或串行),转换启动信号输入端,转换结束信号输出端,选用ADC芯片时,除必须考虑其技术要求外,通常还需了解芯片以下两方面特性:,数字输出方式是否有可控三态输出,启动转换的控制方式是脉冲控制式还是电平 控制式,11.2.4 典型的集成ADC芯片,11-47,11.2.4 典型的集成ADC芯片,2.ADC 0808/0809,8位逐次逼近型ADC。内含一个8通道模拟多路开关和通道寻址逻辑,可作为简单的数据采集系统。,(1)主要性能指标和特性,分辨率:8位,总的不可调误差:ADC0808为1/2LSB,ADC0809为1LSB,单一电源:+5V,具有可控三态输出缓存器,启动转换控制为脉冲式(正脉冲),上升沿使内部寄存器 清零,下降沿使A/D转换开始,使用时不需进行零点和满刻度调节,转换时间:取决于芯片时钟频率(CLK=500KHz,TCONV=128S),模拟输入电压范围:单极性05V;双极性5V,10V(需外 加电路),11-48,(2)内部结构和外部引脚,11.2.4 典型的集成ADC芯片,11-49,ADC0808/0809工作时序,(3)工作时序,11.2.4 典型的集成ADC芯片,11-50,通道选择ALE与转换启动START既可用两条写指令分开控制,也可合起来用一条写指令控制。,输入通道的选择可有两种方法:通过地址总线选择或通过数据总线选择。,如以中断驱动式作为ADC与CPU间的数据传输控制方式,应注意EOC的下降沿相对于启动信号有一段延时,防止由它产生虚假中断请求。为此,最好利用EOC的上升沿而不是高电平作为中断触发信号。,(4)使用说明,11.2.4 典型的集成ADC芯片,11-51,一种性价比较高、应用很广的混合集成12位逐次逼近式ADC芯片,分AJ、AK、AL、AS、AT、AU六个等级。,3.AD574A,11.2.4 典型的集成ADC芯片,11-52,(2)内部结构与引脚功能,11.2.4 典型的集成ADC芯片(AD574A),11-53,操作控制真值表,(3)操作控制与工作时序,11.2.4 典型的集成ADC芯片(AD574A),11-54,有普通和单独控制两种方式。,控制转换/读数方式:,11.2.4 典型的集成ADC芯片(AD574A),11-55,工作时序,11.2.4 典型的集成ADC芯片(AD574A),11-56,模拟输入连接方式:有单极性和双极性两种方式,(4)使用方法,11.2.4 典型的集成ADC芯片(AD574A),11-57,与16位以上微机总线接口时,可采用12位一次并行输出方式,既可按普通方式也可按单独方式发转换/读数控制信号。外部定时控制和内部软件控制均可。,数字输出连接方式(与微机接口方式),11.2.4 典型的集成ADC芯片(AD574A),11-58,11.2.5 ADC芯片与MPU的接口技术,1.概 述2.同步控制方式对ADC接口的影响3.ADC和MPU的位数对ADC接口的影响,11-59,11.2.5 ADC芯片与MPU的接口技术,ADC与MPU接口的基本功能:,向ADC转发启动转换信号,向CPU提供转换结束信号,把转换好的数据送入MPU,如采用软件或硬件延时等待式I/O同步,功能可以省略。,1.概 述,11-60,是脉冲启动还是电位启动。这决定了要不要为启动转换信号加锁存或保持电路。,启动转换方式,数据输出结构,CPU与ADC的同 步控制方式,ADC与CPU数据总 线的相对位数,是否有可控三态输出缓存器。这决定了要不要在ADC与MPU间加有三态功能的锁存器。,是中断驱动式、程序查询式、DMA方式还是等待式。这决定了把转换结束信号传给CPU的方法。,ADC位数是小于等于还是大于CPU数据总线位数。这决定了在ADC与CPU之间是加一级还是两级缓冲寄存器。,影响接口方法的主要因素(4方面),11.2.5 ADC芯片与MPU的接口技术,11-61,从同步控制方式的角度看,ADC与MPU的接口可分成以下4种类型:中断式接口 查询式接口 DMA式接口 等待式接口,2.同步控制方式对ADC接口的影响,11.2.5 ADC芯片与MPU的接口技术,11-62,(1)中断式接口,EOC作为中断请求信号。,11.2.5 ADC芯片与MPU的接口技术,2.同步控制方式对ADC接口的影响中断式接口查询式接口 DMA式接口等待式接口,11-63,中断式ADC接口程序流程:,11.2.5 ADC芯片与MPU的接口技术,2.同步控制方式对ADC接口的影响中断式接口查询式接口 DMA式接口等待式接口,11-64,(2)查询式接口,EOC作为被查询状态信号,11.2.5 ADC芯片与MPU的接口技术,2.同步控制方式对ADC接口的影响中断式接口查询式接口 DMA式接口等待式接口,11-65,2.同步控制方式对ADC接口的影响中断式接口查询式接口 DMA式接口等待式接口,(3)DMA式接口,11.2.5 ADC芯片与MPU的接口技术,EOC作为DMA请求信号。,11-66,(4)等待式接口,又有三种形式:,CPU等待型,软件延时等待型,硬件定时中断等待型,EOC作为CPU的等待信号(WAIT或READY),不用EOC信号,但等待时间一定要大于A/D转换时间。,11.2.5 ADC芯片与MPU的接口技术,2.同步控制方式对ADC接口的影响中断式接口查询式接口 DMA式接口等待式接口,11-67,从ADC与MPU的相对位数角度看,ADC与MPU的接口又有2类。ADC位数小于等于MPU位数时的接口 ADC位数大于MPU位数时的接口 分辨率大于MPU位数的ADC与MPU的接口实例,3.ADC和MPU的位数对ADC接口的影响,11.2.5 ADC芯片与MPU的接口技术,11-68,以ADC0804和IBM PC总线的接口为例,11.2.5 ADC芯片与MPU的接口技术,(1)ADC位数小于等于MPU位数时的接口,11-69,以上图的接口电路为基础,完成一次A/D转换,并将转换结果存入某指定存储单元M的程序如下:,驱动程序,11.2.5 ADC芯片与MPU的接口技术,MOV AX,SEG M;DS:BX指向M MOV DS,AX MOV BX,OFFSET M CONV:OUT Port1,AL;启动A/D转换OTHERS:;CPU执行其它任务POLL:IN AL,Port2;读INTR状态 AND AL,01H;只查询D0位 JNZ OTHERS;为1,再去执行其它任务 IN AL,Port1;为0,读转换结果 MOV BX,AL;将结果存入指定存储单元M,11-70,如采用中断式接口则电路更简单,只需提供一个端口地址Port1,同时将ADC0804的INTR直接(或经一反相器)连到总线上某个中断请求输入端即可。驱动程序也很简单:,主程序中主要用一条输出指令:OUT Port1,AL启动A/D转换。,中断服务程序中则主要以输入指令:IN AL,Port1读取转换结果。,11.2.5 ADC芯片与MPU的接口技术,11-71,(以12位ADC与8位MPU的接口为例),当ADC的分辨率超过MPU数据总线位数时,就不能只用一条输入指令,而必须用两条输入指令才能把A/D 转换的整个数字结果取到MPU中。,具体接口方法与ADC 芯片的数据输出控制特性有直接关系。,(2)ADC位数大于MPU位数时的接口,11.2.5 ADC芯片与MPU的接口技术,11-72,8位以上分辨率ADC与8位MPU接口方式之一,11.2.5 ADC芯片与MPU的接口技术,ADC芯片提供2个数据输出允许信号(高、低字节允许信号)时,比较简单,只需提供2个输入端口地址即可。,11-73,8位以上分辨率ADC与8位MPU接口方式之二,11.2.5 ADC芯片与MPU的接口技术,ADC芯片未提供2个数据输出允许信号时,必须在接口中加缓冲锁存器,以适应高、低字节分别读取的要求。,11-74,例11.2 AD574A同8位PC总线的查询式接口,硬件接口,(3)分辨率大于MPU位数的ADC与MPU的接口实例,11.2.5 ADC芯片与MPU的接口技术,11-75,MOV CX,64H;采集次数设置 MOV SI,400H;存放数据内存首址START:MOV DX,312H;启动12位转换(A0=0)OUT DX,AL MOV DX,310H;读状态,查STS是否为0LOOP$:IN AL,DX AND AL,80H JNZ LOOP$;不为0,仍在转换,循环查询 MOV DX,312H;为0,先读高8位 IN AL,DX MOV SI,AL;送内存 INC SI;内存地址加1 MOV DX,313H;再读低4位 IN AL,DX MOV SI,AL;送内存 INC SI;内存地址加1 DEC CX JNZ START;采集未完,继续 HLT;采集完,暂停,采集100个数据的软件驱动程序,11.2.5 ADC芯片与MPU的接口技术,