收藏 分销(赏)

第十章十一章数模及模数转换.ppt

上传人:a199****6536 文档编号:12559341 上传时间:2025-10-30 格式:PPT 页数:72 大小:1.04MB 下载积分:16 金币
下载 相关 举报
第十章十一章数模及模数转换.ppt_第1页
第1页 / 共72页
第十章十一章数模及模数转换.ppt_第2页
第2页 / 共72页


点击查看更多>>
资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,*,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第十章十一章数模及模数转换,量程:测量仪器的变化范围。对,D,/,A,转换器而言,则指其输出模拟量,(,电压或电流,),的变化范围。其最大值称为满量程。,最低有效位,(,LSB),:,输入数字量允许变化的最小单位。对,D,/,A,转换器来说,输入量是二进制代码,其,LSB=1,。,设输入数字量的位数为,n,位,转换器的满量程输出为,M,。,模,/,数转换技术规定:相对于数字量变化的最小单位,1,LSB,,,模拟输出量变化的最小单位为,=,M,/,2,n,。,于是有:,M=,2,n,。,注意,数字量的最大输入值为,2,n,-1,,,其对应的输出模拟量值为,(2,n,-1)=,2,n,-,=M-,。,可见,它比满量程小,1,个,LSB,所对应的输出量,(,M/2,n,),。,2,2,D,A,转换器的主要参数,衡量一个,D/A,转换器的性能的主要参数:,分辨率,指,D/A,转换器的,1,LSB,输入量的变化所对应的输出变化量。通常用,D/A,转换器能够转换的二进制数的位数或,D/A,转换器所能分辨的最小电压值来表示。位数多,分辨率就高。,例如,一个,D/A,转换器能够转换,8,位二进制数,则其分辩率为,8,位。若转换后的电压满量程是,5,V,,,则它能分辨的最小电压,=5,V/256=20mV,。,所以,又可称其分辨率为,20,mV(,即每增减,1,LSB,,,输出电压的变化就是,20,mV),。,如果是,10,位分辨率的,D/A,转换器,对同样的转换电压,则它能分辨的最小电压,=5,V/1024=5mV,。,可见其分辨率高于,8,位的,D/A,转换器。,3,转换时间,指数字量输入到完成转换输出达到最终值并稳定为止所需的时间。电流型,DA,转换较快。电压型,D/A,转换较慢,取决于运算放大器的响应时间。,一般在几,ns,到几百,s,之内。,精度,指,D/A,转换器实际输出电压与理论值之间的误差。一般采用数字量的最低有效位作为衡量单位。,例如,,1/2,LSB,。,如果分辨率为,8,位,则它的精度是:,(1/2)(1/256)=,1/512,。,4,精度,指,D/A,转换器实际输出电压与理论值之间的误差。有绝对误差和相对误差两种。,前者一般采用数字量的最低有效位作为衡量单位。后者则用:输出量绝对误差,/,满量程,100,。,例如,一个数模转换器精度为,1/2,LSB,,,表示该转换器的实际输出值与其理想输出值间最大偏差为最低有效位所对应的模拟输出值的一半。,再如,某分辨率为,8,位的,D/A,转换器。其精度为,1/2,LSB,。,如果用相对误差表示其精度,则它的精度是:,(,1/2,LSB,)/(,2,8,)=(,1/2LSB)/2,8,=(,1/2)/2,8,=,1/512,。,5,线性度,当数字量变化时,,D/A,转换器输出的模拟量按比例关系变化的程度。,理想情况下,,D/A,转换器输出模拟量与输入数字量的关系应该是线性的,但实际上输出特性并不是理想线性的。我们可以用线性误差来反映线性度。,线性误差:在满量程的范围内,实际转换的模拟输出偏离理想输出的最大值。通常,使用(1/,n)LSB,来给出最大偏差的数值。,线性误差越小越好,一般应,1/2,LSB,。,6,3,.,D/A,转换器,(,DAC),的连接特性,输入缓冲能力,DAC,是否带有三态输入缓冲器或锁存器来保存输入数字量,这对不能长时间在数据总线上保持数据的微机系统来说至关重要:,带有三态输入缓冲器或锁存器的,DAC,,,其输入数据线能与系统数据总线直接连接。,反之,需要外接三态缓冲器。,输入数据的宽度,DAC,有,8,位、,10,位、,12,位、,14,位等。当,DAC,的位数,(,即分辨率,),高于微机系统数据总线的宽度时,需分两次输入数字量。,7,电流型还是电压型即,DAC,的输出是电流还是电压。,对电流输出型,其电流在几,mA,到十几,mA,;,对电压输出型,其电压一般在,510,V,之间。有些高电压型可达,2430,V,。,若需将电流输出转换成电压输出,则采用运算放大器进行转换。,输入码制,DAC,能接收不同码制的数字量输入。,一般来说:,单极性输出的,DAC,只接收二进制码或,BCD,码;,双极性输出的,DAC,只接收偏移二进制码或补码。,8,单极性码与偏移码,代码,111,110,101,100,011,010,001,000,单极性代码,+7,+6,+5,+4,+3,+2,+1,0,偏移码,+3,+2,+1,0,-1,-2,-3,-4,可见,单极性码是正数,偏移码是单极性码加上一个偏移量而得(本例的偏移量为-4),。,9,输出模拟量的极性,有单极性输出、双极性输出。,对需要正负电压控制的设备,要使用双极性,DAC,,,或在输出电路中采取措施,使输出电压有极性变化。,10,二、,D/A,转换器与微处理器的接口方法,接口的任务,主要任务是要解决,CPU,与,DAC,之间数据缓冲问题。,原因之一在于,CPU,的输出数据在数据总线上出现的时间很短暂,只有几个时钟周期。因此,,D/A,转换器接口必须能将数据保存起来供转换之用。,原因之二在于,若,CPU,的数据总线宽度与,DAC,的分辨率不一致,则需要分两次送数,就必须把先后两次送入的数分别锁存,然后同时送入,D/A,转换器进行完整的转换。,11,2.,接口电路的结构形式,接口电路的实现,可采用中小规模集成电路、,GAL,器件、通用可编程并行接口芯片。,3.,接口电路的实现方法,直接与,CPU,相连,用于,DAC,自身带有三态输入缓冲器,/,锁存器的情况。,利用外加三态缓冲器或数据寄存器与,CPU,相连,用于,DAC,自身不带三态输入缓冲器,/,锁存器的情况。,利用并行,I/O,接口芯片与,CPU,相连。,用于,DAC,自身不带三态输入缓冲器,/,锁存器的情况,12,注意:,这三种接口方法并非彼此无关或一成不变,例如,当,CPU,的数据总线宽度小于,D/A,转换器的分辨率时,即使,D/A,转换器内部带有数据缓冲器,也采用第二种接口形式,并且是两级缓冲,以消除由于两次传送数据而产生的尖锋,(,毛刺,),。,另外,在系统中,,D/A,转换器也是一种微机的外围设备,因此,在实际使用中,无论,D/A,转换器的内部是否带有数据锁存器,都经常利用并行,I/O,接口芯片与,CPU,相连,这样,在时序配合和驱动能力上都容易和,CPU,一致,使设计简化和调试方便。并增加系统的可靠性。,13,10.2,D/A,转换器接口电路设计,DAC,接口设计应考虑的问题是被控对象,DAC,的输入缓冲能力和分辨率。,从,DAC,的输入缓冲能力,可分为,DAC,芯片内有三态输入缓冲器和无三态输入缓冲器;,从,DAC,的分辨率,可分为分辨率,8,位和分辨率,8,位。,因为这两方面的特性不同,使,DAC,与系统数据总线的连接方法不同,从而使接口电路的设计也不同。,本节以片内有三态输入缓冲器的,8,位,D/A,转换器接口芯片,DAC0832,为例进行介绍。,14,一、,DAC0832,的连接特性,DAC0832,是分辨率为,8,位的乘法型,DAC,转换器,内部带有两级缓冲寄存器,它的内部结构和外部引脚如图所示。,15,由图可知,,DAC0832,内部由二级缓冲寄存器,(,一个,8,位输入寄存器和一个,8,位,DAC,寄存器,),和一个,D/A,转换器,(,R-2R T,型电阻解码网络,),及转换控制电路组成。,两个,8,位输入寄存器可以分别选通,从而使,DAC0832,实现双缓冲工作方式,即可把从,CPU,送来的数据先打入输入寄存器,在需要进行转换时再选通,DAC,寄存器,实现,D/A,转换,这种工作方式称为双缓冲工作方式。,16,各引脚功能说明如下:,ILE,:,输入锁存允许信号,输入,高电平有效。,CS:,片选信号,输入、低电平有效,与,ILE,共同决定,WR1,是否起作用。,WR1:,写信号,1,,它作为输入寄存器的写选通信号,(,锁存信号,),。,WR1,必须与,CS,,ILE,同时有效,(,即当,ILE,为高电平,,WR1,和,CS,同为低电平,),时,,LE1,为高电平,输入寄存器的输出随输入而变化,(,即输入不锁存,),。当,WR1,变为高电平时,,LE1,变为低电平,输入数据被锁存在输入寄存器中。输入寄存器的输出不再随外部数据的变化,17,WR2:,写信号,2,,即,DAC,寄存器的写选通信号。,XFER:,数据传送控制信号,输入、低电平有效。,当,XFER,与,WR2,同时为有效,(,低电平,),时使得,LE2,1,,,8,位,DAC,寄存器的输出随寄存器的输入而变化,,WR2,上升沿将输入寄存器的信息锁存在,DAC,寄存器中。,DI,7,-DI,0,:,8,位数字量输入端。,I,OUT1,:,DAC,电流输出,1,,它是数字输入端逻辑电平为,1,的各位输出电流之和。,DAC,寄存器内容随输入代码线性变化,当,DAC,寄存器的内容为全,1,时,,I,OUT1,为最大;,DAC,寄存器的内容为全,0,时,,I,OUT1,为最小,18,I,OUT2,:,DAC,电流输出,2,,,R,FB,:,片内反馈电阻引脚,与外接运算放大器配合构成,I/V,转换器。,V,REF,:,参考电源或叫基准电源输入端,此端可接一个正电压或一个负电压,范围为:,+10,V-10V,,,由于它是转换的基准,要求电压准确、稳定性好。,V,CC,:,芯片供电电压端范围为,+5,V+15V,,,最佳值为,+15,V,。,A,GND,:,模拟地,即芯片模拟电路接地点,所有的模拟地要连在一起。,D,GND,:,数字地,即芯片数字电路接地点。所有的数字电路地连地一起。使用时,再将模拟地和数字地连到一个公共接地点,以提高系统的抗干扰能力。,19,对要求多片,DAC0832,同时进行转换的系统,各芯片的选片信号不同,这样可由选片信号,CS,与,WR1,将数据分别输入到每片的输入寄存器中。各片的,XFER,与,WR2,分别接在一起,公用一组信号,在,XFER,与,WR2,同时为低电平时,数据将在同一时刻由8位输入寄存器传送到对应的8位,DAC,寄存器,并靠,WR2,或,XFER,的上升沿将信号锁存在,DAC,寄存器中,与此同时,多个,DAC0832,芯片开始转换,其时间关系如图所示。,20,为保证,DAC0832,可靠地工作,要求,,WR1,和,WR2,的宽度不小于,500,ns,。,若,V,CC,=+15V,,,则宽度为,100,ns,。,输人数据的保持时间应不小于,90,ns,。,此外,对于不用的数字输入端不能悬空,应根据要求接地或,Vcc,。,21,二、,DAC0832,的三种工作方式:改变几个转换控制信号的时序和电平,就可使,DAC0832,处于三种不同的工作方式。,1.,直通方式:直通方式就是使,DAC0832,内部的两个寄存器,(,输入寄存器和,DAC,寄存器,),处于不锁存状态,数据一旦到达输入端,DI,7,一,DI,0,就直接送人,D/A,转换器,被转换成模拟量。输入数据变化,,D/A,转换器的输出模拟量跟着变化。为实现直通方式,必须使,ILE,为高电平,,CS,,WR1,WR2,和,XFER,端都须接数字地,这时锁存信号,LE1,LE2,均为高电平输入寄存器和,DAC,寄存器便均处于不锁存状态,即直通方式。,22,2.,单缓冲方式:单缓冲方式就是使两个寄存器中的一个处于直通方式,另一个处于锁存方式,输入数据只经过一级缓冲器送入,D/A,转换器,通常的做法是将,WR2,和,XFER,均接地,使,DAC,寄存器处于直通方式,而把,ILE,接高电平,,CS,接端口地址译码信号,,WR1,接,CPU,系统总线的,IOW,信号,使输入寄存器处于锁存方式,这样便可通过执行一条,OUT,指令选中该端口,使,CS,和,WR1,有效,从而启动,D/A,转换。单缓冲方式只需执行一次写操作即可完成,D/A,转换。,一般当不需要多个模拟量同时输出时可采用单缓冲方式。,23,3.,双缓冲方式:双缓冲方式就是使输入寄存器和,DAC,寄存器均处于锁存状态,数据要经过两级锁存,(,即两级缓冲,),后再送入,D/A,转换器,这就是说,要执行两次写操作才能完成一次,D/A,转换。利用双缓冲方式可在,D,A,转换的同时,进行下一个数据的输入,这样可有效地提高转换速度。,只要将,ILE,接高电平,,WR1,和,WR2,接,CPU,的,IOW,CS,和,XFER,分别接两个不同的,I/O,地址译码信号。当执行,OUT,指令时,,WR1,和,WR2,均变为有效低电平。这样,可先执行一条,OUT,指令选中,CS,端口把数据写入输入寄存器;再执行第二条,OUT,指令,选中,XFER,端口,把输入寄存器内容写入,DAC,寄存器,实现,D/A,转换。,24,下图所示为,DAC0832,工作于双缓冲方式下,与具有8位数据总线的微处理器相连的逻辑图。,25,将一个数据经两次锁存,通过,D/A,转换器输出模拟量的控制程序段如下:,MOV DX,320H,:,指向输入寄存器,MOV AL,,,DATA,;,DATA,为被转换的数据,OUT DX,,,AL,;,输入数据打入输入寄存器,INC DX,;,指向,DAC,寄存器,OUT DX,,,AL,;,选通,DAC,寄存器启动,D/A,转换,双缓冲方式,除用作上述的单路,D/A,转换外,更主要的应用是适用于要求同时输出多个模拟量的场合,这时要用多片,DAC0832,芯片组成模拟输出系统,每片对应一个模拟量。这时,利用双缓冲功能,可先用多条输出指令把要转换的数据分别打入各,DAC,的输入寄存器,当数据就绪后,再由一个转换命令,(,即执行一次写操作,),同时启动多个,DAC,的转换。,26,三、设计举例,例,1,:采用单缓冲方式,通过,DAC0832,输出产生三角波,三角波最高电压,5,V,,,最低电压,0,V,。,电路设计所要考虑的问题,从,CPU,送来的数据能否被保存,DAC0832,内部有二级锁存寄存器,从,CPU,送来的数据能被保存,不用外加锁存器可直接与,CPU,数据总线相连。,27,二级输入寄存器如何工作,按题意采用单缓冲方式,即经一级输入寄存器锁存。,假设我们采用第一级锁存,第二级直通,那么第二级的控制端,WR2,和,XFER,应处于有效电平状态,使第二级锁存寄存器一直处于打开状态。第一级寄存器具有锁存功能的条件是,ILE,、CS、WR1,都要满足有效电平。为减少控制线条数,可使,ILE,一直处于高电平状态,控制,WR1,和,CS,端。,电路连接如图所示。,28,输出电压极性,按题意输出波形变化范围为,0,V5V,,,需单极性电压输出,29,软件设计所要考虑的问题,单缓冲方式下输出数据的指令仅需一条输出指令即可。上图所示,CS,端与译码电路的输出端相连,其地址值既是选中该,DAC 0832,芯片的片选信号,也是第一级寄存器打开的控制信号。,另外由于,CPU,的控制信号,WR,与,DAC0832,的写信号,WR1,相连,当执行,OUT,指令时,,CPU,使,WR1,写信号有效,与,CS,信号一起,打开第一级寄存器,输人数据被锁存。,设,DA0832,地址为,0300,H,,,输出,0,V,电压程序如下:,MOV AL,,,00H,;,设置输出电压值,MOV DX,,,0300H,;,DAC0832,片选地址,OUT DX,,,AL,;,输出数据使,DAC0832,输出,;端得到,0,V,模拟电压输出,30,按题意产生三角波电压范围为,0,V5V,,,那么所对应输出数据,00,H0FFH,。,所以三角波上升部分,从,00,H,起加,1,,直到,FFH,。,三角波下降部分从,FFH,起减,1,,直到,00,H,,,流程图如下。,31,32,例,2,:采用直通方式,利用,DAC0832,产生锯齿波,波形范围为,0,V5V,。,分析:,(1),由于采用直通方式即,DAC0832,的,8,位输入寄存器、,8,位,DAC,寄存器一直处于直通状态,因此要求控制端,ILE,接高电平,,CS、WR1、WR2、XFER,接地。,33,(2)由于采用直通方式,,CPU,输出的数据可直接到达,DAC0832,的8位,D/A,转换器进行转换。在这种情况下,如果还是把,DAC0832D/A,转换器的数据输入端直接连在,CPU,数据总线上,会造成,CPU,数据总线上只能有,D/A,转换所需要的数据流。数据总线上的任何数据都会导致,D/A,进行变换和输出,这在实际工程中是不可能的。因而,DAC0832DA,转换器的数据输入端不能直接连在,CPU,数据总线上。来自,CPU,数据总线上的数据必须经锁存后才能传送到,DAC0832D/A,转换器的输入端。本题采用将,DAC0832,数据输入端连接到8255,A,的,A,口,通过8255,A,的,A,口将来自,CPU,的数据锁存。,34,设,8255,A,的,A,、,B,、,C,及控制口地址分别为,04,A0H,、,04A2H,、,04A4H,、,04A6H,。,可用,A2,、,A1,作,8255,A,片内端口寻址。用,A15A3,、,A0,配合,AEN,实现对,8255,A,的片选。,35,(3),波形范围为,0,V-5V,,,单极性输出。,(4),锯齿波上升部分,采用数据值加,1,的方法,使输出数据由,00,H,变化到,FFH,。,在开始一个新的锯齿波时,不采用重新赋,00,H,的方法,而是由上一锯齿波对应的最大数据,FFH,加,1,自动变为,00,H,。,36,程序段:,MOV DX,04A6H ;8255A,控制口地址送,DX,MOv AL,80H ;,设置8255,A,工作方式字,OUT DX,AL,MOV DX,04A0H ;,设置8255,A,的,A,口地址,MOV AL,00H ;,输出电压0,V,对应的数值,AA1:OUT DX,AL,INC AL ;,数值加1,JMP AA1,37,10.3,A/D,转换器接口基本原理与方法,A/D,转换器是用来通过一定的电路将模拟量转变为数字量。,在,A/D,转换前,输入到,A/D,转换器的输入信号必须经各种传感器把各种物理量转换成电压信号。,A/D,转换后,输出的数字信号可以有,8,位、,10,位、,12,位和,16,位等。,38,分辨率CPU的数据总线宽度,ADC输出线与数据总线对应相连。,MOV AL,00H ;,所以,又可称其分辨率为20mV(即每增减1LSB,输出电压的变化就是20mV)。,若VCC=+15V,则宽度为100ns。,AA1:OUT DX,AL,NOP NOP NOP,按题意产生三角波电压范围为0V5V,那么所对应输出数据00H0FFH。,两个8位输入寄存器可以分别选通,从而使DAC0832实现双缓冲工作方式,即可把从CPU送来的数据先打入输入寄存器,在需要进行转换时再选通DAC寄存器,实现D/A转换,这种工作方式称为双缓冲工作方式。,8255A控制口地址 MOV AL,98H ;,设置8255A的A口地址,输出通道号 MOV DX,223H MOV AL,07H OUT DX,AL ;,右对齐:ADC输出线由低位向高位与数据总线对应连接;,如果用相对误差表示其精度,则它的精度是:,分析:(1)由于采用直通方式即DAC0832的8位输入寄存器、8位DAC寄存器一直处于直通状态,因此要求控制端ILE接高电平,CS、WR1、WR2、XFER接地。,A/D,转换器按转换原理可分为直接,A/D,转换器和间接,A/D,转换器。,所谓直接,A/D,转换器,是把模拟信号直接转换成数字信号,间接,A/D,转换器是先把模拟量转换成中间量,然后再转换成数字量,如电压,/,频率转换型,有些转换器还将多路开关、基准电压源、时钟电路、二十译码器和转换电路集成在一个芯片内,已超出了单纯,A/D,转换功能,使用十分方便。,39,一、,A/D,转换器及其连接特性,1,A/D,转换器的主要参数,(1),分辨率,指,A/D,转换器可转换成二进制数的位数。,例如:,10,位,A/D,转换器,转换一个满量程为,5,V(,指转换器输出的最大数值与,5,V,电压对应,),的电压,则它能分辨的最小电压为,5000,mV/1024,5mV,。,小于,5,mV,的电压,,A/D,转换器将无法转换。,同样,5,V,电压,若采用,12,位,A/D,转换器。则它能分辨的最小电压为,5000,mV/4096,1mV,。,可见,A/D,转换器的数字量输出位数越多,其分辨率就越高。,40,(2),转换时间,指从输入启动转换信号开始到转换结束,得到稳定的数字输出量为止的时间。,(3),量程,量程是指所能转换的输人电压范围。,其它参数与,D,A,转换器类似。,41,2,A/D,转换器的外部特性,A/D,转换芯片产品型号繁多、引脚命名不统一。,A/D,转换芯片一般具有以下输入输出信号线。,转换启动线,(,输入,),:它是由系统控制器发出的一种控制信号,此信号一到,立即开始一次,A/D,转换。,转换结束线,(,输出,),:转换完毕后由,ADC,发出的一种状态信号,可由它申请中断或,DMA,传送,或作查询之用。,模拟信号输入线:来自被转换的对象,有单通道输入与多通道输入之分。多通道,ADC,还有用于进行通道选择的地址线。,数字量输出线:,ADC,将数字量送给,CPU,的数据线。数据线的根数表示,ADC,的分辨率。,42,二、,A/D,转换器与微处理器接口方法,1.,A/D,转换器与,CPU,连接时的有关问题,ADC,分辨率,分辨率,CPU,的数据总线宽度,ADC,输出线与数据总线对应相连。一次读入全部转换数据。,分辨率,CPU,的数据总线宽度,ADC,输出线与低位数据总线对应相连。一次读入全部转换数据,并把读入的数据中的多余的若干高位屏蔽,(,即清,0),。,43,分辨率,CPU,的数据总线宽度,转换数据需分,2,次,读取,,ADC,输出线与数据总线的连接有,2,种方式:,.,左对齐:,ADC,输出线由高位向低位与数据总线对应连接;剩余低位的,ADC,输出线再按由高到低位的顺序也与数据总线对应连接,多余的低位数据总线则不用。,在读取低,4,位的转换数据时,只需把读入到,AL,中的数据的低,4,位屏蔽,(,即:清,0),即可。,44,C口地址 MOV AL,BL OUT DX,AL ;,所以三角波上升部分,从00H起加1,直到FFH。,START的上升沿将逐次逼近寄存器复位,下降沿启动AD转换。,该信号是在中断请求允许(即向端口30DH写入00H,置D7=0)时,当转换结束,EOC变高,就使IRQ有效,向CPU申请中断。,因此,可以直接与CPU系统总线连接而不必通过I/O接口芯片连接。,指D/A转换器的1LSB输入量的变化所对应的输出变化量。,MOV AL,00H ;,一次读入全部转换数据。,设置8255A的A口地址,量程是指所能转换的输人电压范围。,MOV DX,04A6H ;,取回“转换结束”状态信号。,线性误差:在满量程的范围内,实际转换的模拟输出偏离理想输出的最大值。,DMA方式:利用DMAC使数据从ADC到内存进行直接传送。,CPU发出的通道号可以从数据总线或地址总线发出。,.,右对齐:,ADC,输出线由低位向高位与数据总线对应连接;剩余高位的,ADC,输出线再按由低位向高位的顺序也与数据总线对应连接,多余的高位数据总线则不用。,在读取高,4,位的转换数据时,只需把读入到,AL,中的数据的高,4,位屏蔽,(,即:清,0),即可。,在,ADC,无片内锁存器时,需在,ADC,输出线与数据总线间外加三态锁存器。,45,ADC,的转换启动信号,电平启动:此种,ADC,要求启动电平保持到转换结束为止,否则得不到正确的转换结果。如,,ADC574,。,2.,A/D,转换器接口的主要操作,脉冲启动:此种,ADC,只要在启动开始后便可撤除启动信号。但要求的一定的脉冲宽度,通常采用、的脉宽即可。对要求较大脉宽的,ADC,,,可附加延长脉宽的逻辑电路。,46,2.,A/D,转换器接口的主要操作,通道选择:用于多模拟量输入通道的,ADC,。,CPU,发出的通道号可以从数据总线或地址总线发出。,发转换启动信号:,取回,“,转换结束,”,状态信号。,读取转换数据:在,CPU,控制下,用查询或中断方式将数据读入内存,或在,DMAC,控制下,直接输入内存。,发采样,/,保持信号,(,S/H),控制信号:对高速信号的,A/D,转换,需要设置采样,/,保持电路,因此需要向它发控制信号,以进行采样与保持操作。,47,3.,A/D,转换器数据的传送,数据采集速率的上限值:,f,0,=1/(T+),其中,,T,是,ADC,的转换时间,,是把数据存入指定内存单元所需的传输时间。,可见,要提高采样速率,应选用高速,ADC,、,并缩短传输时间。,48,ADC,与内存间的数据交换方法:,查询方式:,49,中断方式:,50,DMA,方式:利用,DMAC,使数据从,ADC,到内存进行直接传送。,对超高速数据采集系统,由于,A/D,转换速度极快,故在,A/D,转换器板上设置,RAM,,,用于暂时就近存放数据,然后再由,CPU,从板上,RAM,中读数据存入内存。,51,4.,A/D,转换器接口电路的结构形式,接口电路的实现,可采用中小规模集成电路、,GAL,器件、通用可编程并行接口芯片。,5.,A/D,转换器接口电路的实现方法,与,CPU,直接连接:用于有三态锁存器的,ADC,芯片。,通过三态锁存器与,CPU,相连:用于无三态锁存器的,ADC,。,通过可编程接口芯片与,CPU,相连:如,8255,A,。,52,10.4,ADC0809,接口电路分析与设计,一、,ADC0809,外部特性,1.内部逻辑结构,53,取回“转换结束”状态信号。,A/D转换后,输出的数字信号可以有8位、10位、12位和16位等。,DAC0832是分辨率为8位的乘法型DAC转换器,内部带有两级缓冲寄存器,它的内部结构和外部引脚如图所示。,使用时,再将模拟地和数字地连到一个公共接地点,以提高系统的抗干扰能力。,A/D转换器数据的传送,双缓冲方式:双缓冲方式就是使输入寄存器和DAC寄存器均处于锁存状态,数据要经过两级锁存(即两级缓冲)后再送入D/A转换器,这就是说,要执行两次写操作才能完成一次D/A转换。,对电压输出型,其电压一般在510V之间。,ADC输出线与数据总线对应相连。,(4)锯齿波上升部分,采用数据值加1的方法,使输出数据由00H变化到FFH。,输出数据使DAC0832输出,ADC0809工作时序,通过可编程接口芯片与CPU相连:如8255A。,例3:设计以GAL20V8作为ADC0809与CPU的接口的硬件电路。,为保证DAC0832可靠地工作,要求,WR1和WR2的宽度不小于500ns。,所谓直接A/D转换器,是把模拟信号直接转换成数字信号,ADC0809,是,8,路模拟输入单片型逐次逼近式,8,位,A/D,转换器,芯片内部带有三态输出锁存缓冲器。因此,可以直接与,CPU,系统总线连接而不必通过,I/O,接口芯片连接。,由图可知,,ADC0809,由两大部分组成:模拟多路开关和逐次逼近式,ADC,。,8,路模拟多路开关和,3,位地址锁存器和译码器实现对,8,路输入模拟量,IN,0,IN,7,的选择。,当,ALE(,地址锁存允许,),控制信号有效,(,为高电平,),时,将,3,位地址,ADDA,、,ADDB,、,ADDC,锁入地址锁存器中,经译码选择,8,路模拟量中的一路。,54,2.,各引脚功能:,IN,7,IN,0,:,8,路,(8,通道,),模拟量输入端。,D,7,D,0,:,8,位数字量输出,其中,D,7,为最高位,(,MSB),,,D,0,为最低位,(,LSB),。,START,:,启动转换命令输入端。在该脚上加一高电平,转换开始。,EOC,:,转换结束指示端,该信号平时为高电平,,转换开始后,先保持极短时间的高电平,然后转为低电平,并在转换中均为低电平。转换结束又变为高电平。,OE,:,输出使能,(,允许,),端,此引脚上加高电平,即打开输出缓冲器三态门,输出数据。,ADD,C,、,ADD,B,、,ADD,A,:,通道号选择输入端,用来选择,8,路输入中的一路。,ADD,C,是高位,ADD,A,是低位。,111000,对应,IN,7,IN,0,55,ALE,:,通道号锁存控制端。当,ALE,为高电平时,将,ADD,C,、,ADD,B,和,ADD,A,三个输入引脚上的通道号锁存,也就是使相应通道的模拟开关处于闭合状态。实际使用时常将,ALE,与启动信号,START,连在一起,当在,START,端加一高电平时,同时将通道号也锁存起来。,CLK,:,时钟脉冲输入端,该时钟供,ADC0809,内部工作定时用。当,V,CC,+5V,时,允许的最高频率为,1280,kHZ,,,转换速率可达,50,S,,,典型的时钟频率为,640,kHZ,,,转换时间也是,100,S,。,REF(+),和,REF(-),:,两个参考电压输入引脚,通常参考电压从,REF(+),端引人,而,REF(-),与模拟地,A,GND,相连。当,REF(+),加,+5,V,时,输入电压范围为,0,V+5V,。,56,3.,ADC0809,工作时序,57,由图知,对指定通道采集一个数据的过程是:,首先输入,3,位通道号编码送到,ADD,C,、,ADD,B,和,ADD,A,引脚上。,ALE,端加一正脉冲信号,将通道号编码锁存,并使该路模拟信号经选择开关达到比较器的输入端。,在,START,引脚上加一正脉冲信号,启动,A/D,转换。,START,的上升沿将逐次逼近寄存器复位,下降沿启动,A,D,转换。,启动脉冲可通过执行,OUT,指令产生负脉冲再经反相后形成正脉冲,也可以由专门定时电路或可编程定时器,(,如,8253),产生。,58,转换开始后,EOC,先保持原高电平约2,S+8T,的时间,然后变为低电平,经过约100,S,后,转换结束,,EOC,又变为高电平,该信号状态可作转换结束标志来查询或申请中断。,转换结束后,可通过执行,IN,指令,设法在,OE,端产生一个正脉冲打开输出缓冲器三态门,让转换后的数字量出现在数据总线上,再由,CPU,读取。,59,例,1,:设计以,8255,A,作为,ADC0809,与,CPU,的接口的硬件电路,并设计程序,用查询法实现对,8,个模拟通道顺序采集一个数据,存入偏移地址从,DATA_BUF,开始的存储单元中。设系统分配给,8255,A,的端口地址为,220,H223H,1.,硬件分析与设计,ADC0809,的数据输出线,D7D0,与,8255,的,A,口相连,将,A,口设为方式,0,、输入。,用,C,口来产生控制信号,实现对,ADC0809,的控制:,选,PC3,与,ADC0809,的,START,和,ALE,两端相连,由,CPU,控制,PC3,向,0809,发启动信号和通道号锁存信号。,二、,ADC0809,接口电路设计举例,60,选,PC2,、,PC1,、,PC0,分别与通道号输入端,ADDC,、,ADDB,、,ADDA,相连,用以传送通道号。,选,PC7,与转换结束信号,EOC,和输出允许信号,OE,同时相连,这样,,CPu,通过查询,PC7,的状态即可控制数据的读入过程。,鉴于对,C,口引脚的使用安排,可确定把,C,口设为方式,0,,,C,口高,4,位定为输入,低,4,位定为输出。,工作时钟,CLOCK,由系统时钟,CLK,经,8,分频后提供。,61,62,2.,编程:,转换结束信号,EOC,和输出允许信号,OE,相连后与,PC7,相接,这样,,CPU,通过查询,PC7,的状态即可控制数据的读入过程。,根据,ADC0809,的工作时序,在启动脉冲结束后,先要查到,EOC,为低电平,表示转换已开始。然后再继续查,EOC,,,一旦发现,EOC,变为高电平,说明转换已结束,,又由于输出允许端,OE,与,EOC,相连当,EOC,变高时,,OE,也为变高,从而使,ADC0809,的输出缓冲器打开,输出数据出现在,8255,A,的,A,口上,这时可用,IN,指令读入,CPU,。,63,64,MOV DX,223H ;8255A,控制口地址,MOV AL,98H ;,初始化命令字,各口为方式0,,A,口,OUT DX,AL ;,输入,,C,口高4位输入,低4位输出,MOV CX,8 ;,数据个数,MOV BL,00H ;,首先把通道号0送入,BL LEA DI,DATA_BUFNEXT_IN:MOV DX,222H ;C,口地址,MOV AL,BL OUT DX,AL ;,输出通道号,MOV DX,223H MOV AL,07H OUT DX,AL ;,使,PC3,置1,发启动信号的上升沿。,NOP NOP NOP,65,MOV AL,06H ;,使,PC3,复位,,OUT DX,AL ;,启动信号恢复低电平,转换开始。,MOV DX,222HNOCONV:IN AL,DX ;,读,C,口内容,TEST AL,80H;,查,PC7=?JNZ NOCONV ;=1,,说明未开始转换,则等待,NOEOC:IN AL,DX ;,已开始转换,则读,C,口,TEST AL,80H;,查,PC7=?JZ NOEOC ;=0,,则转换未结束,等待,MOV DX,220H;,转换结束,则从,A,口读取转换数据,IN AL,DX MOV DI,AL ;,数据存入指定位置,INC DI INC BL LOOP NEXT_IN RET,66,例3:设计以,GAL20V8,作为,ADC0809,与,CPU,的接口的硬件电路。并采用中断方式实现8个通道数据采集,采集1,KB。,采集的数据在屏幕上显示。,1.,硬件电路分析与设计,由于要求以,GAL20V8,作接口电路,则必须对它的进出信号进行分析。这些信号分成两类:一类是输出信号,另一类是输入信号。,输出信号:包含面向,ADC0809,的信号和面向,CPU,的信号。,面向,ADC0809,的信号:,67,START,:,0809,的启动信号,对,GAL,来说是输出。,0809,本质上是作为,CPU,的外设,因此,,GAL,接口电路只要给,0809,提供一个接入其,START,引脚的信号即可。,GAL,作为接口,其输出的控制信号,START,必定来自于,CPU,。,为此,可以向,CPU,提供一个,GAL,的端口地址,然后用,OUT,指令由,CPU,把所需信号写入该端口内即可。,具体实现时,我们并不是用某种寄存器来形成端口去接收,CPU,发的控制信号,而是用,CPU,执行,OUT,指令时产生的该端口的地址信号,再配合以,OUT,指令产生的,IOW,及附加的,AEN,信号,经过,GAL,组合译码来生成一个输出信号,该信号接入,0809,的,START,引脚就成了,START,信号。,68,设,GAL,中启动控制信号的口地址为,30,CH,,,则,START,信号的组合逻辑表达式为:,ALE,:,通道选择控制信号,(,地址锁存信号,),,对,GAL,来说是输出。,该信号同样需要一个,OUT,指令来产生。原理同,START,。,设,GAL,中通道选择控制信号的口地址为,30,EH,,,则有:,69,OE,:,0809,的输出允许信号,对,GAL,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服