微型计算机接口第9章ADDA转换器接口.ppt

上传人:sccc 文档编号:5293739 上传时间:2023-06-23 格式:PPT 页数:72 大小:1.28MB
返回 下载 相关 举报
微型计算机接口第9章ADDA转换器接口.ppt_第1页
第1页 / 共72页
微型计算机接口第9章ADDA转换器接口.ppt_第2页
第2页 / 共72页
微型计算机接口第9章ADDA转换器接口.ppt_第3页
第3页 / 共72页
微型计算机接口第9章ADDA转换器接口.ppt_第4页
第4页 / 共72页
微型计算机接口第9章ADDA转换器接口.ppt_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《微型计算机接口第9章ADDA转换器接口.ppt》由会员分享,可在线阅读,更多相关《微型计算机接口第9章ADDA转换器接口.ppt(72页珍藏版)》请在三一办公上搜索。

1、2023/6/23,计算机接口技术,1,第9章 A/D与D/A转换器接口,本章主要内容模拟量接口的作用 A/D转换器接口设计的任务与方法A/D转换器接口应用设计举例D/A转换器接口设计的任务与方法D/A转换器接口应用设计举例,2023/6/23,计算机接口技术,2,9.1 模拟量接口的作用,微型计算机在实时控制、在线动态测量和对物理过程进行监控,以及图像、语音处理领域的应用中,都要与一些连续变化的模拟量(如温度、压力、流量、位移、速度、光亮度、声音、颜色等)打交道,但数字计算机本身只能识别和处理数字量,因此,必须经过转换器,把模拟量A转换成数字量D,或将数字量D转换成模拟量A,才能实现CPU与

2、被控对象之间的信息交换。显然,微机在面向过程控制、自动测量和自动监控系统与各种被控、被测对象发生关系时,需要设置一种“模拟量接口”。,2023/6/23,计算机接口技术,3,模拟量接口电路的作用:把微处理器系统的离散的数字信号与模拟设备中连续变化的模拟信号电压、电流之间建立起适配关系,以便计算机执行控制与测量任务。从硬件角度来看,模拟量接口就是微处理器与A/D转换器和D/A转换器之间的连接电路,前者称为模入接口,后者称为模出接口。,2023/6/23,计算机接口技术,4,9.2 A/D转换器,在数据采集和过程控制中,被采集对象往往是连续变化的物理量(如温度、压力。声波等),由于计算机只能处理离

3、散的数字量,需要对连续变化的物理转换为数字量,这一操作过程就是A/D转换。功能:把模拟量变换成数字量分类:按分辨率可分为4位、6位、8位、10位、14位、16位和BCD码的312位、512位等;按照转换速度可分为超高速、高速、中速及低速等;按转换原理可分为直接ADC(有逐次逼近型、并联比较型等)和间接ADC(有电压时间转换型(积分型)、电压频率转换型、电压脉宽转换型等)。,2023/6/23,计算机接口技术,5,9.2.1 A/D转换器的主要技术指标,1.分辨率 分辨率是指ADC能够把模拟量转换成二进制数的位数。例如,用1个10位ADC转换一个满量程为5V的电压,则它能分辨的最小电压为5000

4、mV/10245mV。若模拟输入值的变化小于5mV的电压,则ADC无反映,输出保持不变,即只能分辨出5mV以上的变化。同样5V电压,若采用12位ADC,则它能分辨的最小电压为5000mV/40961mV。可见,ADC的数字量输出位数越多,其分辨率就越高。,2023/6/23,计算机接口技术,6,ADC的分辨率反映在它的输出数据线的宽度上,如ADC0809的分辨率是8位,它的数据线也是8根;AD574A的分辨率是12位,它的数据线也是12根。分辨率不同会影响ADC接口与系统数据总线的连接。当分辨率即ADC的输出数据线宽度大于微机系统数据总线宽度时,就不能一次传输,而需两次传输,要增加附加电路(缓

5、冲寄存器),从而影响接口电路的组成及数据传输的途径。,2023/6/23,计算机接口技术,7,2.转换时间 转换时间是从输入启动转换信号开始到转换结束,得到稳定的数字量输出为止所需的时间,一般为ms级和s级。一般:常见有超高速(转换时间1ns)、高速(转换时间1s)、中速(转换时间1ms)和低速(转换时间1s)等。如果采集对象是动态连续信号,要求f采2 f信,也就是说必须在信号的一个周期内采集2个以上的数据,才能保证信号形态被还原(避免出殃“假频”),这就是“最小采样”原理。转换时间的快慢将会影响ADC接口与CPU交换数据的方式。低速和中速ADC一般采用查询或中断方式,而高速ADC就应采用DM

6、A方式。,3.绝对精度:指A/D转换器实际输出与理论值之间的误差,一般采用数字量的最低有效位作为衡量单位(如1/2LSB)。4.相对精度:当模拟量变化时,A/D转换器输出的数字量按比例变化的程度。,A/D转换器的控制步骤:发启动换转信号取转换结束标志读结果。A/D转换器与CPU进行数据交换的方式:查询方式和中断方式影响A/D转换器接口的因素:(1)转换器分辨率 能够输出的二进制数据的位数(2)转换器的数据输出结构 是否是可控三态输出,可控则.不可控(3)转换器的启动方式 有脉冲和电平两种方式(4)读取结果的数据传送方式 数据的传送方式有查询方式、中断方式、DMA方式,2023/6/23,计算机

7、接口技术,10,9.2.2 A/D转换器的外部特性 由于A/D转换器内部一般没有设置供用户访问的寄存器,也没有命令字。它的转换操作是由其内部硬件逻辑电路完成的,而不是它执行内部的命令完成的,因此,它不好用可编程特性的编程模型来表述。在分析A/D转换器芯片时,主要是看它的外部连接特性,其中转换启动信号是CPU对A/D转换器唯一的控制信号。从外部特性来看,无论是哪种ADC芯片,都必不可少地设置有4种基本外部信号线。这些信号线是实现A/D转换操作的条件,也是设计ADC接口硬件电路的依据。,2023/6/23,计算机接口技术,11,1模拟信号输入线 来自被转换对象的模拟量输入线,有单通道输入与多通道输

8、入之分接口硬件电路的依据。2数字量输出线 ADC的数字量数据输出线。数据线的根数表示ADC的分辨率。3转换启动线 外部控制信号,此信号一到,A/D转换才能开始,启动转换信号不到,ADC不会自动开始转换,并且是发一次启动信号只能转换一次,采集一个数据。4转换结束线 转换完毕后由ADC发出A/D转换结束信号,利用它以查询或中断方式向微处理器报告转换已经完成。只有转换结束信号出现时,微处理器才可以开始读取数据。,2023/6/23,计算机接口技术,12,几种A/D转换器芯片相同功能的引脚对照如表9.1所示。,ADC实例(1)8位ADC连接与编程ADC0809是逐次逼近式的8位ADC芯片,引脚和内部结

9、构图。IN0-IN7八路模拟量输入端;ADDA,ADDB,ADDC地址输入端,选通输入端;(它们的编码决定8个输入中的一个)ALE地址锁存允许信号;START转换启动信号输入端;D0-D7数字量输出端;EOC转换结束信息输入端;OE输出允许信号;VCC,GND电压输入端和地线;VREF+,VREF-正负基准电压输入端CLOCK时钟信号输入端,(a),2023/6/23,计算机接口技术,15,9.3 A/D转换器接口设计的任务与方法,由于接口连接的对象A/D转换器自身的操作比较单一,因而要求外部对它实施的控制比较简单,所以转换器接口只需少数几根信号线,采用并行接口就绰绰有余,甚至使用一些IC芯片

10、也能满足接口功能要求。但是,转换器与CPU交换数据的方式多种多样,查询、中断、DMA方式都有可能,因此在转换器接口设计中会牵涉到对系统中断、DMA资源的应用。A/D转换器接口设计的任务,主要有两个方面:ADC如何与CPU进行连接和如何与CPU交换数据,有时还要考虑对所采集的数据进行在线处理。,2023/6/23,计算机接口技术,16,9.3.1 A/D转换器与CPU的连接,在A/D转换器与CPU的进行连接时,要注意分析它的4种外部信号线的特点,采用不同的方法。1.ADC转换的启动信号 1)ADC的转换启动方式有脉冲启动和电平启动之分。若是脉冲启动,则只需接口电路提供1个宽度满足启动要求的脉冲信

11、号即可。一般采用IOW或IOR的脉宽就可以了。若是电平启动,则要求启动信号的电平在转换过程中保持不变,否则(如中途撤销)就会停止转换而产生错误的结果。为此,就应增加附加电路(如D触发器、单稳电路)或采用可编程并行I/O接口芯片来锁存这个启动信号,使之在转换过程中维持不变。,2023/6/23,计算机接口技术,17,2)ADC的转换启动信号有单个信号启动和由多个信号组合起来的复合信号启动之分。若是由单个信号启动,如ADC0809的START,则只需接口电路提供1个START正脉冲信号。若是由复合信号启动,如AD574A的CE(R/C=0),CS,则 CE、R/C=0和 CS三个信号要同时满足要求

12、才能启动。,2.ADC模拟量输入的控制信号 1)ADC的模拟信号输入信号有多通道和单通道之分。若是多通道,则要求接口电路提供通道地址线及通道地址锁存信号线,以便选择与确定输入模拟量的通道号。若是单通道,则不需要处理。,2023/6/23,计算机接口技术,18,3.ADC数字量输出的控制信号 1)ADC的数据输出是否是三态锁存器。若是,则ADC的输出数据线可直接挂在CPU的数据总线上;否则,必须在ADC的输出数据线与CPU的数据总线之间外加三态锁存器才能连接。2)ADC的分辨率与系统数据总线宽度是否一致。若一致,则数据只需1次传输,数据线可直接连接;若不一致,则数据需分批传输,应增加附加电路(缓

13、冲寄存器)。,2023/6/23,计算机接口技术,19,4.ADC的转换结束信号 A/D转换结束后,用转换结束信号通知CPU,转换已经结束,请求读取数据。转换结束信号的逻辑定义,有的是高电平有效,有的是低电平有效。转换结束信号可用于查询方式、中断方式、DMA方式的申请信号。,2023/6/23,计算机接口技术,20,9.3.2 A/D转换器与CPU之间的数据交换方式,采集的数据用什么方式传输到内存,是A/D转换器接口设计,也是数据采集系统设计中的一个重要内容,因为数据传输速度是关系到数据采集速率的重要因素。假定ADC的转换时间为T,每次转换后将数据传输到指定的内存单元所需的时间为,则采集速率的

14、上限为f0=1/(T+)。所以,为了提高数据采集速率,一是采用高速A/D转换芯片,使T尽量小;一是减少数据传输过程中所花的时间,特别是高速或超高速数据采集系统,的减少显得尤为重要。因此,需要研究ADC与CPU之间数据交换采用什么方式的问题。,2023/6/23,计算机接口技术,21,ADC与内存之间交换数据,根据不同的要求,可采用查询、中断、DMA方式,以及在板RAM技术。不同的方式使ADC接口电路的组成不同,编程的方法也不同。所谓在板RAM技术是针对超高速数据采集系统,其ADC速度非常快,采用DMA方式传输也跟不上转换的速度,故在ADC板上设置RAM,把采集的数据先就近存放在RAM中,然后,

15、再从板上的RAM取出数据送到内存。这也是数据采集系统中为解决转换速度快,而传输速度跟不上的一种方法。,2023/6/23,计算机接口技术,22,9.3.3 A/D转换器的数据在线处理实际应用中,对采集到的数据一般都要进行一些处理,包括生成数据文件、存盘、显示、打印、远距离传输等。有的还要将采集的数据作为重要参数参与运算,进行进一步的加工。虽然这些处理不属于ADC接口控制程序的内容,但它们是A/D转换之后,常常遇到的操作,因此,往往也把其中的一些操作放在A/D转换程序之中。例如,将采集到的数据在屏幕上显示出来,以便观察A/D转换的结果是否正确。又如,将前端机采集的数据生成数据文件,再传输到上位机

16、去进行加工等。,2023/6/23,计算机接口技术,23,9.3.4 A/D转换器接口设计需考虑的问题1.ADC的模拟量输入是否是多通道?是,则需选择通道号,应提供通道选择线;不是,则不做处理。2.ADC的分辨率是否大于系统数据总线宽度?是,则要分两次传输,故需增加锁存器,并提供锁存器选通信号;不是,则不做处理。3.ADC芯片内部是否有三态输出锁存器?无,则ADC的数据线不能与系统的数据线直接连接,故需增加三态锁存器,并提供锁存允许信号;有,则不做处理。4.ADC的启动方式是脉冲触发还是电平触发?是脉冲,则提供脉冲信号;是电平,则提供电平信号,并保持到转换结束。,2023/6/23,计算机接口

17、技术,24,5.A/D转换的数据采用哪种传输方式?有无条件传输、查询方式、中断方式和DMA方式等多种方式选择。传输的方式不同,接口的硬件组成和软件编程就不同。6.对A/D转换的数据进行什么样的处理?有显示、打印、生成文件存盘、远距离传输等多种处理。7.ADC接口电路采用什么元器件组成?有普通IC芯片、可编程并行口芯片、GAL器件等多种选择。前面4项是由接口对象ADC决定的(可从芯片手册中查到),用户无法改变,只能按照它的要求在设计中给予满足。后面3项是可以改变的,设计者应根据设计目标灵活选用。,(1)设ADC0809的8个模拟通道地址为300H 307H,画连线试将图中左侧的信号与图中右侧的有

18、关引脚连接起来。(2)若对IN0通道的模拟电压进行转换得到的数字量为9BH,计算输入的模拟电压UIN0。,2023/6/23,计算机接口技术,26,9.4 查询方式的ADC接口设,例9.1 查询方式的ADC接口设计,1要求要求利用ADC0804采集100个字节数据,采集的数据以查询方式传输到内存BUFR区。接口电路采用普通IC芯片组成。2分析按照9.3.4节的方法进行分析,ADC0804是单个模拟量输入,故不提供通道选择信号。ADC0804的分辨率为8位,并具有三态输出锁存器,故可与系统数据总线直接相连。ADC0804的启动方式为脉冲启动,当它的输入引脚 CS和WR 两个信号同时有效,就开始转

19、换。转换结束信号是 INTR,当INTR=0,表示转换结束。数据传输方式为查询方式,故需将转换结束状态信号作为查询的对象。,2023/6/23,计算机接口技术,27,3设计(1)硬件设计由以上分析可知,本接口电路的任务是提供转换启动信号和转换结束状态信号,以及输入8位数据的通路。为此,要设计端口地址译码电路,产生 CS,并由 CS和WR 共同组成启动信号。同时,还要设置一个三态门,将转换结束信号INTR引到数据线的D7上,以便CPU读取状态。而转换器的8位数据线直接与系统数据线连接。接口电路原理如图9.1所示。,2023/6/23,计算机接口技术,28,图9.1 查询方式ADC接口电路原理图,

20、2023/6/23,计算机接口技术,29,(2)软件编程 ADC接口控制程序,也就是数据采集程序,其程序的基本结构是循环程序。因为数据采集往往要采样多个点的数据,而每一次启动,只能采集(转换)1个数据,所以,采集程序要循环执行多次,直至采样次数已到为止。查询方式数据采集流程图如图9.2所示。查询方式数据采集汇编语言程序段和C语言程序段,见教材P166167.,图9.2 查询方式数据采集程序流程,2023/6/23,计算机接口技术,30,9.5 中断方式的ADC接口设计 例9.2 中断方式的ADC接口设计 1.要求 采用ADC0809,从通道7采集100个字节数据,采集的数据以中断方式传输到内存

21、缓冲区,并将转换结束信号EOC连到IRQ4上,请求中断。2.分析 要实现上述设计要求,至少有3个方面的问题需要考虑:被控对象ADC0809的外部特性、接口电路结构形式、中断处理。下面分别进行分析。(1)ADC0809的外部特性 ADC0809的外部引脚如图9.3所示,内部逻辑如图9.4所示。ADC0809的时序如图9.5所示。,2023/6/23,计算机接口技术,31,图9.4 ADC0809内部逻辑原理图,图9.3 ADC0809引脚图,2023/6/23,计算机接口技术,32,ADC0809的时序如图9.5所示。,图9.5 ADC0809的时序,2023/6/23,计算机接口技术,33,按

22、照9.3.4节的方法,结合图9.3、图9.4进行分析,ADC0809有8个模拟量输入端(IN0IN7),相应设置3根模拟量通道地址线(ADDAADDC),用以编码来选择8个模拟量输入通道。并且还设置1根通道地址锁存允许信号ALE,高电平有效。当选择通道地址时,需使ALE变高,锁存由ADDAADDC编码所选中的通道号,将该通道的模拟量接入ADC。ADC0809的分辨为8,有8根数字量输出线(D7D0),带有三态输出锁存缓冲器。并设置了1根数据输出允许信号OE,高电平有效。当读数据时,要使OE置高,打开三态输出缓冲器,把转换的数字量送到数据线上。,2023/6/23,计算机接口技术,34,(2)接

23、口电路结构形式接口电路采用可编程并行接口芯片82C55A,并把转换结束信号EOC连到系统总线的IRQ4实现中断传送。(3)中断处理由于本例题是利用系统的中断资源,故不需要进行中断系统的硬件设计和82C59A的初始化,只需做两件事:中断向量的修改:修改的对象是IRQ4的中断向量,修改的步骤和方法见第5.9.1节。对82C59A两个命令的使用:在主程序中用命令OCW1屏蔽/开放IRQ4的中断请求;在服务程序中返回主程序之前,用OCW2发中断结束EOI,清除IRQ4在中断控制器内部ISR寄存器中置1的位。,2023/6/23,计算机接口技术,35,3设计(1)硬件设计根据上述分析可知,本接口电路要提

24、供ADC0809模拟量通道号选择信号、启动转换信号、读数据允许信号。这些信号都可由82C55A接口芯片实现。而EOC的中断请求直接连到系统总线的IRQ4上。中断方式的ADC接口电路如图9.6所示。,2023/6/23,计算机接口技术,36,图9.6 中断方式的ADC接口电路原理,2023/6/23,计算机接口技术,37,(a)主程序流程,(b)中断服务程序,(2)软件设计本例的程序流程图如图9.7所示。整个程序分主程序和中断服务程序两部分。,2023/6/23,计算机接口技术,38,中断方式数据采集汇编语言程序段和C语言程序段见教材P170172,2023/6/23,计算机接口技术,39,9.

25、6 DMA方式的ADC接口设计,例9.3 DMA方式的ADC接口设计,1要求 8位ADC共采集4KB数据,采集的数据用DMA方式送到从30400H单元开始的内存保存,以待处理,内存地址以加1方式递增。使用DMAC 82C37的通道1,采用单一的传输方式。,2分析与设计 1)接口电路组成 采用DMA方式的数据采集系统电路如图9.8所示。,2023/6/23,计算机接口技术,40,DMA方式的ADC接口电路包括ADC、采样保持器S/H、A/D转换启动逻辑U1、DMA申请寄存器U2及DMA回答信号DACK1逻辑等部分。DMA控制器82C37A未在图9.8中画出,只在图9.8的左侧画出了它的部分信号线

26、。,图9.8 DMA方式的ADC接口原理图,2023/6/23,计算机接口技术,41,3DMAC传输参数的设置,从6.6节用户对系统DMA资源的应用可知,由于系统的DMA控制器初始化已经被系统在上电时设置好了,用户要做的仅仅是设置相关的DMA传输参数,然后等待A/D转换器申请DMA传送。在传送开始之前,还要填写页面地址寄存器,将高于16位以上的地址写入页面地址寄存器。例如,假设传送的内存首地址是32000H,则页面寄存器的内容为3,基地址寄存器中内容为2000H。如果寻址范围不超过16位地址,则可不使用写页面地址寄存器。本例根据题意,需要启用通道1的页面地址寄存器。,2023/6/23,计算机

27、接口技术,42,数据采集中DMA传输参数设置的汇编语言程序段如下:,ADC_SETUP PROC NEAR CLI;关中断;设置工作方式 MOV AL,00000101B;屏蔽通道1,禁止DREQ1的申请 OUT 0AH,AL MOV AL,01000101B;方式命令字(通道1,单传方式,地址加1,;非自动预置,DMA写)OUT OBH,AL;送入方式寄存器 OUT OCH,AL;清先/后触发器(软命令);设置页面地址(最高4位地址)MOV AL,03H;页面地址(最高4位地址)OUT 83H,AL;通道1的页面寄存器,2023/6/23,计算机接口技术,43,;设置基地址(低16位)MOV

28、 AL,00H;低8位地址 OUT 02H,AL;通道1的基地址寄存器 MOV AL,04H;高8位地址 OUT 02H,AL;通道1的基地址寄存器;设置字节数 MOV AL,0FFH;字节数低8位 OUT 03H,AL;通道1的字节计数器 MOV AL,0FH;字节数高8位 OUT 03H,AL;通道1的字节计数器 STI;开中断 MOV AL,00000001B;开通通道1,准备接受DREQ1的申请 OUT 0AH,AL RETADC_SETUP ENDP,2023/6/23,计算机接口技术,44,/数据采集中DMA传输参数设置的C语言程序段如下:,void ADC_Setup()disa

29、ble();/关中断outportb(0 x0a,0 x05);/屏蔽通道1,禁止DREQ1申请 outportb(0 x0b,0 x45);/工作方式字:单传方式,地址/加1,非自动预置,DMA写,通道outportb(0 x0c,0 x45);/清先后触发器(软命令)/设置页面地址(最高4位地址)outportb(0 x83,0 x03);/页面地址(最高4位地址)/设置基地址(低16位)outportb(0 x02,0 x00);/低8位地址outportb(0 x02,0 x04);/高8位地址,2023/6/23,计算机接口技术,45,/设置字节数outportb(0 x03,0 x

30、0ff);/字节数低8位outportb(0 x03,0 x0f);/字节数高8位enable();/开中断outportb(0 x0a,0 x01);/开通通道1,允许DREQ1申请,以上程序可作为数据采集系统的一个子程序供主程序调用。主程序应包括A/D转换定时启动等部分,不在此列出。,2023/6/23,计算机接口技术,46,9.7 D/A转换器 9.7.1 D/A转换器的主要技术指标 D/A转换器一般是根据自己的需要选择相应数据位宽度和速度的D/A转换芯片,在选择D/A转换器芯片时一般考虑如下指标(主要参数):,1分辨率分辨率是指DAC能够把多少位二进制数转换成模拟量,或1个二进制增量所

31、代表的模拟量大小。例如,DAC0832能够把8位二进制数转换成电流,故DAC0832的分辨率是8位(1/255);AD390能够把12位二进制数转换成电压,故AD390的分辨率是12位。分辨率体现在DAC的数据输入线的宽度,因此,不同的分辨率将影响DAC与CPU的数据线连接。当分辨率大于数据总线宽度时,数据分几次传输,需增加附加电路(缓冲寄存器)。2转换时间转换时间是指数字量从输入到DAC开始至完成转换,模拟量输出达到最终值所需的时间。DAC的转换时间很快,一般为s级和ns级。,3.绝对精度 指D/A转换器实际输出与理论值之间的误差,一般采用数字量的最低有效位作为衡量单位(如1/2LSB)。如

32、D/A分辨率为20mV,则精度为10mV.4.相对精度:当数字量变化时,D/A转换器输出的模拟量按比例变化的程度。,DAC芯片与CPU或系统总路线连接时,可从数据总线宽度是否与DAC位数据匹配、DAC是否具有数据寄存器两个方面来虑,一般有下面几种情况:(1)当DAC位数与数据总线宽度相同,具有数据缓冲能力时,可直接与CPU连接。(2)当DAC位数与数据总线宽度相同,DAC没有数据寄存器时,必须外加锁存器或I/O接口芯片(如8255A等)才能与CPU连接。当DAC位数大于数据总线宽度,DAC无论有无数据寄存器时,都必须外加锁存器或I/O接口芯片才能与CPU相连接。1.8位DAC连接 DAC083

33、2是一片典型的8位DAC芯片,其引脚和内部结构如图所示。有两级输入锁存器,以差动电流的形式输出模拟量。,DAC0832,2023/6/23,计算机接口技术,49,9.7.2 D/A转换器的外部特性,DAC的外部引脚信号线包括:1.数字信号输入线;2.模拟信号输出线;3.CS信号线和WR(或WR1,WR2)信号线,,用于将数字量打入DAC转换器;4.数据输入锁存控制线;5.模拟量输出通道地址线。,2023/6/23,计算机接口技术,50,其中,前3种信号线是DAC的基本信号,后2种是附加信号线。附加信号线有时也集成在DAC芯片内部。当DAC芯片内部设置了三态输入锁存器,则在外部就有输入锁存允许信

34、号线。有的芯片(如DAC0832)设置了两级输入锁存器,相应地在外部就有两级输入锁存允许信号线。如果有的芯片(如AD390)设置了输出模拟量开关,则在外部就有模拟量输出通道地址选择信号。另外,在DAC的外部信号线中,没有像ADC那样专门的“转换启动”信号线,也没有“转换结束”信号线。,2023/6/23,计算机接口技术,51,9.8 D/A转换器接口设计的任务与方法,9.8.1 D/A转换器与CPU的连接,DAC转换器与ADC转换器的操作有不同的特点,首先,DAC工作时,只要CPU把数据送到它的输入端,写入DAC,DAC就开始转换,而不需设置专门的启动信号去触发转换开始。其次,DAC也不提供转

35、换结束之类的状态信号,所以CPU向DAC传输数据时,也不必查询DAC的状态,只要两次传输数据之间的间隔不小于DAC的转换时间,就能得到正确结果。正因为DAC不设专门的转换启动信号线和转换结束信号线,使接口对DAC提供的信号线少,连接也就更简单。,2023/6/23,计算机接口技术,52,9.8.2 D/A转换器与CPU之间的数据交换方式,D/A转换器与CPU交换数据的方式很单一,既不用查询,也不用中断,更不用DMA方式,是采用无条件方式与CPU交换数据,因此软件编程很简单,其主要工作是向DAC写数据和解决CPU与DAC之间的数据缓冲问题。,2023/6/23,计算机接口技术,53,9.8.3

36、D/A转换器接口设计需考虑的问题,分析与设计DAC接口,相对于ADC接口来讲,比较简单,可从以下几个方面入手:1.DAC的分辨率是否大于系统数据总线的宽度?是,则要分两次传 输,故需增加锁存器,并提供锁存选通信号;不是,则不做处理2.DAC芯片内部是否有三态输入锁存器?无,则数据线不能与系统 的DB直接连接,故需增加三态输入锁存器,并提供锁存允许信 号;有,则不做处理。3.DAC的模拟量输出是否是多通道?是,则需选择通道号,并提供 选择线;不是,则不做处理。4.DAC的启动方式,只有脉冲触发一种。DAC不设专门的转换启 动信号,是利用 CS和 IOW共同进行假写操作,来实现脉冲启动的。5.DA

37、C的数据传输方式,只有无条件传输一种。6.DAC接口电路采用什么元器件组成?有普通IC芯片、可编程并行口芯片、GAL器件等多种选择。,2023/6/23,计算机接口技术,54,9.9 锯齿波三角波发生器器接口设计,例9.4 DAC0832接口设计,1要求要求通过DAC0832产生锯齿波和三角波,按任意键,停止波形输出。2分析因为被连的对象是DAC0832,故首先按照9.8.3节的方法,分析DAC0832的连接特性及工作方式。然后根据外部连接特性及工作方式进行接口设计。,2023/6/23,计算机接口技术,55,(1)外部特性 DAC0832是分辨率为8位的乘法型DAC,芯片内部带有两级缓冲寄存

38、器,DAC0832的内部结构和外部引脚如图9.9所示。,图9.9 DAC 0832的内部结构和外部引脚,2023/6/23,计算机接口技术,56,DAC0832的工作原理 图9.9中DAC0832有两个独立的缓冲器,要转换的数据先送到第一级缓冲器,但不进行转换,只有数据送到第二级缓冲器时才能开始转换,因而称为双缓冲。为此,设置了5个信号控制这两个缓冲器进行数据的锁存。其中,ILE(输入锁存允许)、CS(片选)和WR1(写信号1)3个信号组合控制第一级缓冲器的锁存,WR2(写信号2)和XFER(传递控制)两个信号组合控制第二级缓冲寄存器的锁存。对于锁存控制信号LE1和LE2,当LE1(LE2)=

39、1时,不锁存;当LE1(LE2)=0时,进行锁存。因此当ILE端为高电平,并且CPU执行OUT指令时,则与同时为低电平,使得LE1=1,8位数据送到第一级缓冲器;只有当CPU写操作完毕,和都变高电平时,才能使LE1=0,对输入数据锁存,实现第一级缓冲。同理,当XFER与WR2同时为低电平时,使得LE2=1,第一级缓冲的数据送到第二级缓冲器;当XFER和WR2上升沿使LE2=0时,将这个数据锁存在第二级缓冲器中,实现第二级缓冲,并开始转换。,2023/6/23,计算机接口技术,57,DAC0832工作的时序关系DAC0832工作的时序关系如图9.10所示。图中表示,两个数据,数据1和数据2分别用

40、CS1和CS2锁存到两个DAC0832的第一级缓冲器中,最后用XFER信号的上升沿将它们同时锁存到各自的第二级缓冲器,开始D/A转换。,图9.10 DAC0832时序图,2023/6/23,计算机接口技术,58,(2)DAC0832的工作方式,DAC0832有单缓冲、双缓冲和直通3种工作方式。直通就是不进行缓冲,CPU送来的数字量直接送到第二级缓冲器,并开始转换。此时,ILE端加高电平,其他控制信号都接低电平。单缓冲是只进行一级缓冲,具体可用第一组或第二组控制信号对第一级或第二级缓冲器进行控制。双缓冲是进行两级缓冲,用两组控制信号分别进行控制。一般用于多片DAC0832同时开始转换。,2023

41、/6/23,计算机接口技术,59,3.设计,(1)硬件设计采用82C55A作为DAC与CPU之间的接口芯片,并把82C55A的A口作为数据输出,而B口的PB0PB4 5根线作为控制信号来控制DAC0832的工作方式及转换操作。DAC0832的接口电路如图9.11所示。,图9.11 DAC0832作函数波形发生器,2023/6/23,计算机接口技术,60,(2)软件编程 根据设计要求产生连续的锯齿波,可知本例的D/A转换程序是一个循环结构,其程序流程图如图9.12所示。,图9.12 产生锯齿波的程序流程图,2023/6/23,计算机接口技术,61,锯齿波发生器程序段锯齿波发生器汇编语言程序段如下

42、:CODE SEGMENT ASSUME CS:CODE,DS:CODE ORG 100HSTART:MOV AX,CS MOV DS,AX;8255A初始化 MOV DX,303H;82C55A的命令口 MOV AL,10000000B;82C55A的方式字 OUT DX,AL;指派B口控制DAC的转换 MOV DX,301H;82C55A的B口地址 MOV AL,00010000B;置DAC0832为直通工作方式,ILE置1;CS、WR1、WR2、XFER均置为0 OUT DX,AL,2023/6/23,计算机接口技术,62,;生成锯齿波的循环 MOV AL,0H;输出数据从0开始 LOP

43、:MOV DX,300H;82C55A的A口地址 OUT DX,AL;AL的值送DAC0832 MOV BL,AL;保存ALBL MOV AH,0BH;检查是否有任意键按下 INT 21H CMP AL,0FFH JE STOP;有,则停止输出波形 MOV AL,BL;无,恢复AL的值 INC AL;数据加1 JMP LOP;继续循环输出波形 STOP:MOV AX,4C00H;退出 INT 21HCODE ENDS END START,2023/6/23,计算机接口技术,63,/锯齿波发生器C语言程序段如下:,2023/6/23,计算机接口技术,64,三角波发生器程序段若要求产生三角波,则程

44、序只需将生成锯齿波的循环修改为生成三角波的循环,程序的其他部分保持不变。,2023/6/23,计算机接口技术,65,/三角波发生器的汇编语言程序段如下:;生成三角波的循环 MOV DX,300H;82C55A的A口地址 MOV AL,0H;输出数据从0开始L1:OUT DX,AL MOV BL,AL;保存ALBL MOV AH,0BH;检查是否有任意键按下 INT 21H CMP AL,0FFH JE STOP;有任意键按下,则停止输出波形 MOV AL,BL;无,恢复AL的值 INC AL;数据加1 JNZ L1;AL是否加满FFH,未满,继续 MOV AL,0FFH;已满,AL置全1,20

45、23/6/23,计算机接口技术,66,L2:OUT DX,AL MOV BL,AL;保存ALBL MOV AH,0BH;检查是否有任意键按下 INT 21H CMP AL,0FFH JE STOP;有,则停止输出波形 MOV AL,BL DEC AL;输出数据减1 JNZ L2;数据是否减到0,不为0,继续 JMP L1;为0,数据加1STOP:MOV AX,4COOH INT 21H,2023/6/23,计算机接口技术,67,/三角波发生器C语言程序段如下:,2023/6/23,计算机接口技术,68,4.讨论,利用DAC产生锯齿波输出的方法是,将从0开始逐渐递增的数据送到DAC,直到FFH,

46、再回到0。重复上述过程,就可得到周期性的锯齿波。实际上,从0到FFH,中间分为256个小台阶,但从宏观上看,是一个线性增长的直线。实际上,本例是利用DAC作为函数波形发生器,可以产生任何一种波形。如果要求产生正弦波,程序应如何编写。,5.12位DAC连接 由于微机的I/O指令一次只能输出8位数据,因此对于数据宽度大于8位DAC只能分两次输入数据,为此一般大于8位数据宽度的DAC内部均设计有两级数据缓冲,如12位DAC1210内部就有两级数据缓冲,内部结构如图9-4所示。,D0,D7,D8,D11,D0,D0,D3,D7,右对齐,D7,D6,D5,D4,D3,D2,D1,D0,DI11,DI10

47、,DI9,DI8,DI7,DI6,DI5,DI4,D3,D2,D1,D0,译码器,Y0,IOW,AEN,AB,Y1,Y2,系统总线,WR1,WR2,BYTE1/BYTE2,XFER,CS,Vcc,AGND,Rfb,101,102,22k,-12V,+12V,W1,10k,10k,Vout,W2,22k,-12V,Vref,DGND,+5V,+12V,2DW7C,470,200,W3,1K,100,4.7uF,DAC1210与CPU连接,D4,D5,D11,2023/6/23,计算机接口技术,72,本章小结,A/D与D/A转换器接口是数据采集与实时控制系统的重要组成部分本章讨论的A/D与D/A转换器接口仍然是一种并行接口,但也有串行接口存在本章重点讨论了查询、中断以及DMA 3种不同方式的ADC接口设计讨论了锯齿波与三角波发生器的设计,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号