文档详情

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

M****1
实名认证
店铺
PPT
1.28MB
约72页
文档ID:568559466
微型计算机接口第9章ADDA转换器接口.ppt_第1页
1/72

2024/7/25计算机接口技术1第第9章章 A/D与与D/A转换器接口转换器接口本章主要内容本章主要内容Ø模拟量接口的作用模拟量接口的作用Ø A/D转换器接口设计的任务与方法转换器接口设计的任务与方法ØA/D转换器转换器接口应用设计举例接口应用设计举例ØD/A转换器接口设计的任务与方法转换器接口设计的任务与方法ØD/A转换器接口应用设计举例转换器接口应用设计举例 2024/7/25计算机接口技术29.1 模拟量接口的作用模拟量接口的作用 微微型型计计算算机机在在实时控制、动态测量和对物理过程进行监控,以及图像、语音处理领域的应用中,都要与与一一些些连连续续变变化化的的模模拟拟量量(如温度、压力、流量、位移、速度、光亮度、声音、颜色等)打打交交道道,但数字计算机本身只能识别和处理数字量,因此,必必须须经经过过转转换换器器,把模模拟拟量量A转换成数数字字量量D,或将数数字字量量D转换成模模拟拟量量A,才能实现CPU与被控对象之间的信息交换 显然,微机在面向过程控制、自动测量和自动监控系统与各种被控 、被测对象发生关系时,需要设置一种需要设置一种““模拟量接口模拟量接口””。

2024/7/25计算机接口技术3 模拟量接口电路的作用模拟量接口电路的作用:把把微处理器系统的离散的离散的数字信号数字信号与模拟设备中连续变化的模拟信号模拟设备中连续变化的模拟信号电压、电流之间建立起适配关系建立起适配关系,以便计算机执行控制与测量任务 从硬件角度来看,模拟量接口模拟量接口就是微处理器微处理器与A/D转换器转换器和D/A转换器转换器之间的连接电路连接电路,前者称为模入接口模入接口,后者称为模出接口模出接口 2024/7/25计算机接口技术49.2 A/D转换器转换器 在数据采集和过程控制中,被采集对象往往是连续变化的物理量(如温度、压力声波等),由于计算机只能处理离散的数字量,需要对连续变化的物理转换为数字量,这一操作过程就是A/D转换Ø功能功能::把模拟量变换成数字量把模拟量变换成数字量Ø分类分类::按分辨率按分辨率可分为4位、6位、8位、10位、14位、16位和BCD码的312位、512位等 ;Ø按照转换速度按照转换速度可分为超高速、高速、中速及低速等;Ø 按转换原理按转换原理可分为直接ADC(有逐次逼近型、并联比较型等 )和间接ADC (有电压/时间转换型(积分型)、电压/频率转换型、电压/脉宽转换型等 )。

2024/7/25计算机接口技术59.2.1 A/D转换器的主要技术指标转换器的主要技术指标1.1.分辨率分辨率 分分辨辨率率是指ADC能能够够把把模模拟拟量量转转换换成成二二进进制制数数的的位位数数例如,用1个10位ADC转换一个满量程为5V的电压,则它能分辨的最小电压为5000mV/1024≈5mV若模拟输入值的变化小于5mV的电压,则ADC无反映,输出保持不变,即只能分辨出5mV以上的变化同样 5V电 压 , 若 采 用 12位 ADC, 则 它 能 分 辨 的 最 小 电 压 为5000mV/4096≈1mV可见,ADC的的数数字字量量输输出出位位数数越越多多,,其其分分辨辨率就越高率就越高 2024/7/25计算机接口技术6 ADC的分辨率反映在它的输出数据线的宽度上的分辨率反映在它的输出数据线的宽度上,如ADC0809的分辨率是8位,它的数据线也是8根;AD574A的分辨率是12位,它的数据线也是12根 分分辨辨率率不不同同会影响ADC接接口口与与系系统统数数据据总总线线的的连连接接当分辨率即ADC的输出数据线宽度大于微机系统数据总线宽度时,就不能一次传输,而需两次传输,要增加附加电路(缓冲寄存器),从而影响接口电路的组成及数据传输的途径。

2024/7/25计算机接口技术72.2.转换时间转换时间 转换时间转换时间是从输入启动转换信号开始到转换结束从输入启动转换信号开始到转换结束,得到得到稳定的数字量输出为止所需的时间稳定的数字量输出为止所需的时间,一般为ms级和μs级 一般一般: : 常见有超高速(转换时间常见有超高速(转换时间<1ns<1ns)、)、 高速(转换时间高速(转换时间<1<1µs s)、)、 中速(转换时间中速(转换时间<1ms<1ms)和低速(转换时间)和低速(转换时间<1s)<1s)等 如果采集对象是动态连续信号,要求如果采集对象是动态连续信号,要求f f采采≥≥2 f2 f信信,也就是说必须在,也就是说必须在信号的一个周期内采集信号的一个周期内采集2 2个以上的数据,才能保证信号形态被还原(避个以上的数据,才能保证信号形态被还原(避免出殃免出殃“假频假频”),这就是),这就是“最小采样最小采样”原理 转转换换时时间间的的快快慢慢将会影响ADC接接口口与与CPU交交换换数数据据的的方方式式。

低速和中速ADC一般采用查询或中断方式,而高速ADC就应采用DMA方式 3.3.绝对精度:绝对精度:指A/D转换器实际输出与理论值之间的误差,一般采用数字量的最低有效位作为衡量单位(如±1/2LSB)4.4.相对精度:相对精度:当模拟量变化时,A/D转换器输出的数字量按比例变化的程度 nA/D转换器的控制步骤:转换器的控制步骤: 发启动换转信号发启动换转信号——取转换结束标志取转换结束标志——读结果nA/D转换器与转换器与CPU进行数据交换的方式:进行数据交换的方式: 查询方式和中断方式查询方式和中断方式n影响影响A/D转换器接口的转换器接口的因素:因素:((1)转换器分辨率)转换器分辨率 能够输出的二进制数据的位数能够输出的二进制数据的位数((2)转换器的数据输出结构)转换器的数据输出结构 是否是可控三态输出,可控则是否是可控三态输出,可控则….. 不可控不可控……((3)转换器的启动方式)转换器的启动方式 有脉冲和电平两种方式有脉冲和电平两种方式((4)读取结果的数据传送方式)读取结果的数据传送方式 数据的传送方式有查询方式、中断方式、数据的传送方式有查询方式、中断方式、DMA方式方式 2024/7/25计算机接口技术109.2.2 A/D转换器的外部特性转换器的外部特性 由于A/D转转换换器器内部一般没没有有设设置置供供用用户户访访问问的的寄寄存存器器,也没有命令字。

它的转换操作是由其内部硬件逻辑电路完成的,而不是它执行内部的命令完成的,因此,它不不好好用用可可编编程程特特性性的的编编程程模模型型来来表表述述在分析A/D转换器芯片时,主主要要是是看看它它的的外外部部连连接接特特性性,其中转换启动信号是CPU对A/D转换器唯一的控制信号 从从外外部部特特性性来来看看,无论是哪种ADC芯片,都必不可少地设设置置有4种种基基本本外外部部信信号号线这些信号线是实现A/D转换操作的条件,也是是设计ADC接接口口硬件硬件电路的依据电路的依据 2024/7/25计算机接口技术111 1.模拟信号输入线.模拟信号输入线 来自被转换对象的模拟量输入线来自被转换对象的模拟量输入线,有单通道输入与多通道输入之分接口硬件电路的依据2 2.数字量输出线.数字量输出线 ADC的数字量数据输出线的数字量数据输出线数据线的根数表示ADC的分辨率3 3.转换启动线.转换启动线 外部控制信号外部控制信号,此信号一到,A/D转换才能开始转换才能开始,启动转换信号不到,ADC不会自动开始转换,并且是发一次启动信号只能转换一发一次启动信号只能转换一次,次,采集一个数据。

4 4.转换结束线.转换结束线 转换完毕后由ADCADC发出出A/D转换结束束信号信号,利用它以查询或中断方式向微处理器报告转换已经完成只有转换结束信号出现时只有转换结束信号出现时,微处理器才可以开始读取数据才可以开始读取数据 2024/7/25计算机接口技术12几种A/D转换器芯片相同功能的引脚对照相同功能的引脚对照如表如表9.1所示所示 ADCADC实例实例((1 1))8 8位位ADCADC连接与编程连接与编程ADC0809ADC0809是逐次逼近式的是逐次逼近式的8 8位位ADCADC芯片,引脚芯片,引脚和内部结构图和内部结构图lIN0-IN7IN0-IN7八路模拟量输入端;八路模拟量输入端;lADDA,ADDB,ADDCADDA,ADDB,ADDC地址输入端,选通输入端;地址输入端,选通输入端;(它们的编码决定(它们的编码决定8 8个输入中的一个)个输入中的一个)lALEALE地址锁存允许信号;地址锁存允许信号;lSTARTSTART转换启动信号输入端;转换启动信号输入端;lD0-D7D0-D7数字量输出端;数字量输出端;lEOCEOC转换结束信息输入端;转换结束信息输入端;lOEOE输出允许信号;输出允许信号;lVCC,GNDVCC,GND电压输入端和地线;电压输入端和地线;lVREF+,VREF-VREF+,VREF-正负基准电压输入端正负基准电压输入端lCLOCKCLOCK时钟信号输入端时钟信号输入端2827262524232221201912345678910IN2IN1IN0ADDAADDBADDCALED7D6D5IN3IN4IN5IN6IN7STARTEOCD3OECLK1112131418171615D4D0VREF-D2VCCVREF+GNDD1ADC0809(a) 8路模拟开关地址锁存译码电子开关逐次逼近寄存器控制与时序解码网络STARTCLK三态门VCCGNDVREF(+) VREF(-)OEEOCIN0IN7ADDCADDBADDAALE··ADC0809引脚与内部结构 2024/7/25计算机接口技术159.3 A/D转换器接口设计的任务与方法转换器接口设计的任务与方法由于接接口口连接接的的对象象A/D转换器自身的的操操作作比比较单一一,因而要求外部对它它实施施的的控控制制比比较简单,所以转换器接口只需少数几根信号线,采用并行接口就绰绰有余,甚至使用一些IC芯片也能满足接口功能要求。

但是,转换器器与CPU交交换数数据据的的方方式式多多种种多多样,查询、中断、DMA方式都有可能,因此在转换器接接口口设计中中会会牵涉涉到到对系系统中中断断、、DMA资源的的应用 A/D转转换换器器接接口口设设计计的的任任务务,,主要有有两两个个方方面面::ADC如如何何与与CPU进进行行连连接接和如如何何与与CPU交交换换数数据据,有时还要考虑对所采集的数据进行处理 2024/7/25计算机接口技术169.3.1 A/D转换器与转换器与CPU的连接的连接在A/D转换器与CPU的进行连接时,要注意分析它的4种外部信号线的特点,采用不同的方法1.ADC1.ADC转换的启动信号转换的启动信号 1))ADC的的转转换换启启动动方方式式有脉脉冲冲启启动动和电电平平启启动动之分若是脉脉冲冲启启动动,则则只需接口电路提提供供1个个宽宽度度满满足足启启动动要要求求的的脉脉冲冲信信号号即可一般采用IOW或IOR的脉宽就可以了若是电电平平启启动动,则则要要求求启启动动信信号号的的电电平平在在转转换换过过程程中中保保持持不不变变,否则(如中途撤销)就会停止转换而产生错误的结果为此,就应增加附加电路(如D触发器、单稳电路)或采用可编程并行I/O接口芯片来锁存这个启动信号,使之在转换过程中维持不变。

2024/7/25计算机接口技术17 2))ADC的转换启动信号的转换启动信号有单个信号启动单个信号启动和由多个信号组合多个信号组合起来的复合信号起来的复合信号启动之分若是由单个信号启动由单个信号启动,如ADC0809的START,则只需接口电路提供1个START正脉冲信号若是由复合信号启动由复合信号启动,如AD574A的CE(R/C=0), CS,则 CE 、R/C=0和 CS三个信号要同时满足要求才能启动 2.ADC2.ADC模拟量输入的控制信号模拟量输入的控制信号 1))ADC的模拟信号输入信号的模拟信号输入信号有多通道多通道和单通道单通道之分若是多通道多通道,则则要求接口电路提供通道地址线提供通道地址线及通道地址锁存信号线通道地址锁存信号线,以便选择与确定输入模拟量的通道号若是单通道单通道,则不需要处理则不需要处理 2024/7/25计算机接口技术18 3.ADC3.ADC数字量输出的控制信号数字量输出的控制信号 1))ADC的的数数据据输输出出是是否否是是三三态态锁锁存存器器若若是是,则ADC的的输输出出数数据据线线可可直直接接挂挂在在CPU的的数数据据总总线线上上;否否则则,必须在ADC的输出数据线与CPU的数据总线之间外加三态锁存器才能连接外加三态锁存器才能连接。

2))ADC的的分分辨辨率率与与系系统统数数据据总总线线宽宽度度是是否否一一致致若若一一致致,则数据只需1次传输,数数据据线线可可直直接接连连接接;若若不不一一致致,则数据需分批传输,应增增加附加电路加附加电路(缓冲寄存器) 2024/7/25计算机接口技术19 4.ADC4.ADC的转换结束信号的转换结束信号 A/D转换结束后,用转换结束信号通知CPU,转换已经结束,请求读取数据转换结束信号转换结束信号的逻辑定义,有的是高电平有效有的是高电平有效,有的是有的是低电平有效低电平有效转换结束信号可用于查询方式、中断方式、DMA方式的申请信号 2024/7/25计算机接口技术209.3.2 A/D转换器与转换器与CPU之间的数据交换方式之间的数据交换方式 采集的数据用什么方式采集的数据用什么方式传输到内存到内存,是是A/D转换器接口器接口设计,也是数据采集系数据采集系统设计中的一个重要内容中的一个重要内容,因为数据传输速度是关系到数据采集速率的重要因素假定ADC的转换时间转换时间为T,每次转换后将数据传输到数据传输到指定的内存内存单元所需的时间的时间为τ,则采集采集速率的上限速率的上限为f0=1/(T+τ)。

所以,为了提高数据采集速率,一是采用高速A/D转换芯片,使T尽量小;一是减少数据传输过程中所花的时间τ,特别是高速或超高速数据采集系高速或超高速数据采集系统统,τ的减少显得尤为重要的减少显得尤为重要因此,需要研究ADC与CPU之间数据交换采用什么方式的问题 2024/7/25计算机接口技术21ADC与与内内存存之之间交交换数数据据,根据不同的要求,可可采采用用查询、、中中断断、、DMA方方式式,,以以及及在在板板RAM技技术不不同同的的方方式式使ADC接接口口电路的路的组成不同成不同,编程的方法也不同程的方法也不同所所谓在在板板RAM技技术术是针对超高速数据采集系统,其ADC速度非常快,采用DMA方式传输也跟不上转换的速度,故在在ADC板板上上设置置RAM,,把把采采集集的的数数据据先先就就近近存存放放在在RAM中中,然然后后,再再从从板板上上的的RAM取取出出数数据据送送到到内内存存这也是是数据采集系统中为解决解决转换速度快,而速度快,而传输速度跟不上的一种方法速度跟不上的一种方法 2024/7/25计算机接口技术229.3.3 A/D转换器的数据处理转换器的数据处理实际应用中,对采集到的数据一般都要进行一些处理对采集到的数据一般都要进行一些处理,包括生成数生成数据文件据文件、存盘存盘、显示显示、打印打印、远距离传输远距离传输等。

有的还要将采集的数据作为重要参数参与运算,进行进一步的加工虽然这些处理不属于ADC接口控制程序的内容,但它们是是A/DA/D转换之后,常常遇到的操作转换之后,常常遇到的操作,因此,往往也把其中的一些操作放在A/D转换程序之中例如,将采集到的数据在屏幕上显示出来,以便观察A/D转换的结果是否正确又如,将前端机采集的数据生成数据文件,再传输到上位机去进行加工等 2024/7/25计算机接口技术239.3.4 A/D转换器接口设计需考虑的问题转换器接口设计需考虑的问题1.ADC的模的模拟量量输入是否是多通道?入是否是多通道?是是,则需选择通道号,应提提供通道供通道选择线;不是不是,则不做不做处理理2.ADC的分辨率是否大于系的分辨率是否大于系统数据数据总线宽度?度?是是,则要分两次传输,故需增加故需增加锁存器存器,并提供锁存器选通信号;不是不是,则不做不做处理理3.ADC芯片内部是否有三芯片内部是否有三态输出出锁存器?存器?无无,则ADC的数据线不能与系统的数据线直接连接,故需增加三需增加三态锁存器存器,并提供锁存允许信号;有有,则不做不做处理理4.ADC的启的启动方式是脉冲触方式是脉冲触发还是是电平触平触发??是脉冲是脉冲,则提供脉冲信号;是是电平平,则提供电平信号,并保持到转换结束。

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

接口接口电路采用普通路采用普通ICIC芯片芯片组成2.分析.分析按按照照9.3.4节节的的方方法法进进行行分分析析,ADC0804是单单个个模模拟拟量量输输入入,故不提供通道选择信号ADC0804的分分辨辨率率为为8位位,并具具有有三三态态输输出出锁锁存存器器,故可与系统数据总线直接相连ADC0804的启启动动方方式式为脉脉冲冲启启动动,当它的输入引脚 CS和WR 两个信号同时有效,就开始转换转换换结结束束信信号号是 INTR,当INTR =0,表示转换结束数据传输方式为查询方方式式,故需将转换结束状态信号作为查询的对象 2024/7/25计算机接口技术273..设计((1 1)硬件设计)硬件设计由由以以上上分分析析可可知知,本本接接口口电电路路的的任任务务是提提供供转转换换启启动动信信号号和转转换换结结束束状状态态信信号号,以及输输入入8 8位位数数据据的的通通路路为此,要要设设计计端端口口地地址址译译码码电电路路,产产生生 CSCS,并由由 C CS S和和W WR R 共共同同组组成成启启动动信信号号同时,还要要设设置置一一个个三三态态门门,将转转换换结结束束信信号号I INTRNTR引到数数据据线线的的D7D7上上,以便CPU读读取状态取状态。

而转换器的转换器的8 8位数据线位数据线直接与系统数据线连接系统数据线连接接口电路原理接口电路原理如图如图9.19.1所示所示 2024/7/25计算机接口技术28图9.1 查询方式ADC接口电路原理图 2024/7/25计算机接口技术29 (2) (2)软件编程软件编程 ADCADC接口控制程序接口控制程序,,也就是数据采集程序数据采集程序,,其程序的基本其程序的基本结构是循环程序结构是循环程序因为数据采集往往要采样多个点的数据,而每一次启动,只能采集(转换)1个数据,所以,采集程序要循环执行多次,直至采样次数已到为止 查询方式数据采集流程数据采集流程图如如图9.2所示所示查询方式数据采集汇编语言程序段和C语言程序段,见教材见教材P166~167. 图9.2 查询方式数据采集程序流程 2024/7/25计算机接口技术309.5 中断方式的中断方式的ADC接口设计接口设计 例例9.2 中断方式的中断方式的ADC接口设计接口设计 1. 1.要求要求 采用采用ADC0809,从通道通道7采集100个字节数据个字节数据,采集的数据以中断方式传中断方式传输输到内存缓冲区,并将转换结束信号EOC连到IRQ4上,请求中断。

2.2.分析分析 要实现上述设计要求,至少有3个个方方面面的的问题需要考虑:被控对象ADC0809的外部特性的外部特性、接口接口电路路结构形式构形式、中断中断处理理下面分别进行分析 ((1))ADC0809的外部特性的外部特性 ADC0809的外部的外部引脚引脚如图如图9.3所示所示,内部逻辑内部逻辑如图如图9.4所示所示 ADC0809的时序的时序如图如图9.5所示所示 2024/7/25计算机接口技术31图9.4 ADC0809内部逻辑原理图 图9.3 ADC0809引脚图 2024/7/25计算机接口技术32ADC0809的的时序序如如图9.5所示所示图9.5 ADC0809的时序 2024/7/25计算机接口技术33 按照按照9.3.4节的方法,结合图节的方法,结合图9.3、图、图9.4进行分析进行分析,ADC0809有8个模个模拟量量输入端入端(IN0~IN7),相相应设置置3根模根模拟量通道地址量通道地址线(ADDA~ADDC),用以编码来选择8个模拟量输入通道并且还设置置1根通道地址根通道地址锁存允存允许信号信号ALE,高电平有效。

当选择通道地址时,需使ALE变高,锁存由ADDA~ADDC编码所选中的通道号,将该通道的模拟量接入ADC ADC0809的分辨分辨为8,有有8根数字量根数字量输出出线(D7~D0),带有三有三态输出出锁存存缓冲器冲器并设置了置了1根数据数据输出允出允许信号信号OE,高电平有效当读数据时,要使OE置高,打开三态输出缓冲器,把转换的数字量送到数据线上 2024/7/25计算机接口技术34(2)接口接口电路路结构形式构形式接口电路采用采用可编程并行接口芯片并行接口芯片82C55A,并把把转换结束信号束信号EOC连到到系统总线的IRQ4实现中断中断传送送3)中断中断处理理由于本例题是利用系利用系统的中断的中断资源源,故不需要进行中断系统的硬件设计和82C59A的初始化,只需做两件事只需做两件事:①① 中断向量的修改中断向量的修改:修改的对象是IRQ4的中断向量,修改的步骤和方法见第5.9.1节②② 对82C59A两个命令的使用两个命令的使用:在主程序中用命令在主程序中用命令OCW1屏蔽屏蔽/开放开放IRQ4的中断的中断请求求;在服在服务程序中程序中返回主程序之前,用用OCW2发中断中断结束束EOI,清除IRQ4在中断控制器内部ISR寄存器中置1的位。

2024/7/25计算机接口技术353 3.设计.设计((1)硬件)硬件设计根据上述分析可知根据上述分析可知,本接口本接口电路路要提供提供ADC0809模模拟量通道号量通道号选择信号信号、启启动转换信号信号、读数据允数据允许信号信号这些信号都可由些信号都可由82C55A接口芯片接口芯片实现而EOC的中断的中断请求直接求直接连到到系统总线的IRQ4上中断方式的中断方式的ADC接口电路接口电路如图如图9.6所示所示 2024/7/25计算机接口技术36图9.6 中断方式的ADC接口电路原理 2024/7/25计算机接口技术37(a)主程序流程 (b)中断服务程序((2 2)软件设计)软件设计本例的程程序序流流程程图如如图9.7所所示示整个程序分主程序和中断服务程序两部分 2024/7/25计算机接口技术38中断方式数据采集中断方式数据采集汇编语言程序段和言程序段和C语言程序段语言程序段见教材见教材P170~172 2024/7/25计算机接口技术399.6 DMA方式的方式的ADC接口接口设计例例9.3 DMA方式的方式的ADC接口接口设计1 1.要求.要求 8位ADC共采集4KB数据,采集的数据采集的数据用DMA方式送到送到从30400H单元开始的内存单元开始的内存保存,以待处理,内存地址以加1方式递增。

使用DMAC 82C37的通道1,采用单一的传输方式2 2.分析与设计.分析与设计 1)接口电路组成)接口电路组成 采用采用DMA方式的数据采集系统电路方式的数据采集系统电路如图如图9.8所示所示 2024/7/25计算机接口技术40 DMA方式的方式的ADC接口接口电路路包括ADC、采采样保持器保持器S/H、A/D转换启启动逻辑U1、DMA申申请寄存器寄存器U2及DMA回答信号回答信号DACK1逻辑等部分DMA控制器82C37A未在图9.8中画出,只在图9.8的左侧画出了它的部分信号线 图9.8 DMA方式的ADC接口原理图 2024/7/25计算机接口技术413..DMAC传输参数的参数的设置置 从从6.6节节用户对系统DMA资源的应用可可知知,由于系统的DMA控制器初始化已经被系统在上电时设置好了,用用户要要做做的的仅仅是是设置置相相关关的的DMA传输参参数数,然后等待A/D转换器申请DMA传送在传送开始之前,还要要填填写写页面面地地址址寄寄存存器器,将高于16位以上的地址写入页面地址寄存器例如,假设传送的内存首地址是32000H,则页面寄存器的内容为3,基地址寄存器中内容为2000H。

如如果果寻址址范范围不不超超过16位位地址地址,则可不使用写可不使用写页面地址寄存器面地址寄存器 本例根据题意,需要启用通道1的页面地址寄存器 2024/7/25计算机接口技术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的页面寄存器 2024/7/25计算机接口技术43 ;设置基地址(低16位) MOV 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 2024/7/25计算机接口技术44//数据采集中数据采集中DMA传输参数参数设置的置的C语言程序段如下言程序段如下::void ADC_Setup(){disable();//关中断outportb(0x0a,0x05);//屏蔽通道1,禁止DREQ1申请 outportb(0x0b,0x45);//工作方式字:单传方式,地址 //加1,非自动预置,DMA写,通道outportb(0x0c,0x45);//清先/后触发器(软命令)//设置页面地址(最高4位地址)outportb(0x83,0x03);//页面地址(最高4位地址)//设置基地址(低16位)outportb(0x02,0x00);//低8位地址outportb(0x02,0x04);//高8位地址 2024/7/25计算机接口技术45 //设置字节数outportb(0x03,0x0ff);//字节数低8位outportb(0x03,0x0f);//字节数高8位enable();//开中断outportb(0x0a,0x01);//开通通道1,允许DREQ1申请} 以上程序可作为数据采集系统的一个子程序供主程序调用。

主程序应包括A/D转换定时启动等部分,不在此列出 2024/7/25计算机接口技术469.7 D/A转换器器 9.7.1 D/A转换器的主要技器的主要技术指指标 D/A转换器一般是根据自己的需要器一般是根据自己的需要选择相相应数据位数据位宽度和速度度和速度的的D/A转换芯片,在芯片,在选择D/A转换器芯片器芯片时一般考一般考虑如下指如下指标(主要参数主要参数)::1 1.分辨率.分辨率分分辨辨率率是指DAC能能够把把多多少少位位二二进制制数数转换成成模模拟量量,,或或1个个二二进制制增增量量所所代代表表的的模模拟量量大大小小例如,DAC0832能够把8位二进制数转换成电流,故DAC0832的分辨率是8位((1/2551/255));AD390能够把12位二进制数转换成电压,故AD390的分辨率是12位分分辨辨率率体体现在在DAC的的数数据据输入入线的的宽度度,因此,不同的分分辨辨率率将影影响响DAC与与CPU的的数数据据线连接接当分辨率大于数据总线宽度时,数据分几次传输,需增加附加电路(缓冲寄存器)2 2.转换时间.转换时间转换时间是指数数字字量量从从输入入到到DAC开开始始至至完完成成转换,模拟量输出达到最终值所需的所需的时间。

DAC的转换时间很快,一般为μs级和ns级 3.3.绝对精度精度￿￿￿￿指D/A转换器实际输出与理论值之间的误差,一般采用数字量的最低有效位作为衡量单位(如1/2LSB)如D/A分辨率为20mV,则精度为±10mV.4.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连接接￿￿￿￿￿￿￿￿￿￿￿￿DAC0832是一片典型的是一片典型的8位位DAC芯片,芯片,其引脚和内部其引脚和内部结构如构如图所示￿￿￿￿￿￿有两有两级输入入锁存器,以差存器,以差动电流的形式流的形式输出出模模拟量2019181716151413121112345678910VCCILEWR2XFERDI4DI5DI6DI7IOUT1IOUT2CSWR1AGNDDI3DI2DI1DI0VREFRFBDGNDDAC0832 2024/7/25计算机接口技术499.7.2 D/A转换器的外部特性器的外部特性DAC的外部引脚信号外部引脚信号线包括:1. 数字信号输入线;2. 模拟信号输出线;3. CS信号线和WR (或WR1 ,WR2 )信号线,,用于将数字量打入DAC转换器;4. 数据输入锁存控制线;5. 模拟量输出通道地址线 2024/7/25计算机接口技术50其中,前3种信号线是DAC的基本信号,后2种是附加信号线附加信号线有时也集成在DAC芯片内部当DAC芯片内部设置了三态输入锁存器,则在外部就有输入锁存允许信号线有的芯片(如DAC0832)设置了两级输入锁存器,相应地在外部就有两级输入锁存允许信号线。

如果有的芯片(如AD390)设置了输出模拟量开关,则在外部就有模拟量输出通道地址选择信号另外,在在DAC的的外外部部信信号号线中,没没有有像像ADC那那样专门的“转换启启动”信号线,也没有也没有“转换结束束”信号线 2024/7/25计算机接口技术519.8 D/A转换器接口器接口设计的任的任务与方法与方法9.8.1 D/A9.8.1 D/A转换器与转换器与CPUCPU的连接的连接DAC转转换换器器与ADC转转换换器器的操作有不不同同的的特特点点,首首先先,DAC工作时,只只要要CPU把把数数据据送到它的输入端,写写入入DAC,DAC就就开开始始转转换换,而不不需需设设置置专专门门的的启启动动信信号号去触发转换开始其其次次,DAC也也不不提提供供转转换换结结束束之之类类的的状状态态信信号号,所以CPU向DAC传输数据时,也不不必必查查询询DAC的的状状态态,只要两次传输数据之间的间隔不小于DAC的转换时间,就能得到正确结果正因为DAC不设专门的转换启动信号线和转换结束信号线,使接接口口对对DAC提提供供的的信信号号线线少少,连连接也就接也就更简单更简单 2024/7/25计算机接口技术529.8.2 D/A转换器与器与CPU之之间的数据交的数据交换方式方式 D/AD/A转转换换器器与与CPUCPU交交换换数数据据的的方方式式很很单单一一,既不用查询,也不用中断,更不用DMA方式,是是采采用用无无条条件件方方式式与CPU交换数据,因此软件编程很简单,其主主要要工工作作是是向向DACDAC写写数数据据和解解决决CPUCPU与与DACDAC之间的之间的数据缓冲问题数据缓冲问题。

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

2024/7/25计算机接口技术549.9 锯齿波三角波波三角波发生器器接口生器器接口设计例例9.4 DAC0832接口设计接口设计1.要求要求要求通过DAC0832产生锯齿波产生锯齿波和三角波三角波,按任意键,停止波形输出2.分析因为被连的对象是DAC0832,故首先按按照照9.8.3节节的的方方法法,分分析析DAC0832的连连接接特特性性及工工作作方方式式然后根据外部连接特性及工作方式进行接口设计 2024/7/25计算机接口技术55((1)外部特性)外部特性 DAC0832是分辨率为8位的乘法型DAC,芯片内部带有两级缓冲寄存器,DAC0832的的内内部部结结构构和和外外部部引引脚脚如如图图9.9所示所示图9.9 DAC 0832的内部结构和外部引脚 2024/7/25计算机接口技术56DAC0832的工作原理的工作原理 图9.9中DAC0832有两个独立的缓冲器两个独立的缓冲器,要转换的数据先送到第一级缓冲器,但不进行转换,只有数据送到第二级缓冲器时才能开始转换,因而称为双缓冲称为双缓冲为此,设置了为此,设置了5个信号控制这两个信号控制这两个个缓冲缓冲器器进行数据的锁存数据的锁存。

其中其中,ILE(输入锁存允许)、CS(片选)和WR1(写信号1)3个信号组合控制第一级缓冲器的组合控制第一级缓冲器的锁存锁存,WR2(写信号2)和XFER(传递控制)两个信号组合控组合控制第二级缓冲寄存器的锁存制第二级缓冲寄存器的锁存 对于锁存控制信号LE1和LE2,当LE1((LE2))=1时,不锁存不锁存;当LE1((LE2))=0时,进行锁存进行锁存因此当ILE端为高电平,并且CPU执行OUT指令时,则与同时为低电平,使得LE1=1,8位数据送到第一级缓冲器;只有当CPU写操作完毕,和都变高电平时,才能使LE1=0,对输入数据锁存,实现第一级缓冲实现第一级缓冲同理,当XFER与WR2同时为低电平时,使得LE2=1,第一级缓冲的数据送到第二级缓冲器;当XFER和WR2上升沿使LE2=0时,将这个数据锁存在第二级缓冲器中,实现第二级缓冲实现第二级缓冲,并开始转换并开始转换 2024/7/25计算机接口技术57DAC0832工作的时序关系工作的时序关系DAC0832DAC0832工作的时序关系工作的时序关系如图如图9.109.10所示所示图中表示,两个数据,数据数据1 1和数据数据2 2分别用用CS1CS1和CS2CS2锁存到锁存到两个DAC0832的第一级缓冲器第一级缓冲器中,最后用最后用XFERXFER信号的上升沿将它们同时锁存到锁存到各自的第二级缓冲器第二级缓冲器,开始D/A转换。

图9.10 DAC0832时序图 2024/7/25计算机接口技术58((2))DAC0832的工作方式的工作方式DAC0832有单缓冲单缓冲、双缓冲双缓冲和直通直通3种工作方式种工作方式直直通通就是不不进进行行缓缓冲冲,CPU送来的数字量直接送到第二级缓冲器,并开始转换此时,ILE端加高电平,其他控制信号都接低电平单单缓缓冲冲是只只进进行行一一级级缓缓冲冲,具体可用第一组或第二组控制信号对第一级或第二级缓冲器进行控制双双缓缓冲冲是进进行行两两级级缓缓冲冲,用两组控制信号分别进行控制一般用于多片DAC0832同时开始转换 2024/7/25计算机接口技术59 3.设计设计(1)硬件设计硬件设计采用82C55A作为DAC与CPU之间的接口芯片,并把82C55A的A口口作作为为数数据据输输出出,而B口口的PB0~~PB4 5根线作作为为控控制制信信号号来控制DAC0832的工作方式及转换操作DAC0832的接口电路的接口电路如图如图9.11所示所示图9.11 DAC0832作函数波形发生器 2024/7/25计算机接口技术60(2)软件编程软件编程 根据设计要求产生连续的锯齿波产生连续的锯齿波,可知本例的本例的D/A转换程序是一个循环结构转换程序是一个循环结构,其程序流程图程序流程图如图如图9.12所示所示。

图9.12 产生锯齿波的程序流程图 2024/7/25计算机接口技术61① 锯齿波发生器程序段锯齿波发生器锯齿波发生器汇编语言程序段汇编语言程序段如下如下: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 2024/7/25计算机接口技术62 ;生成;生成锯齿波的循波的循环 MOV AL,0H ;输出数据从数据从0开始开始 LOP: MOV DX,300H ;82C55A的A口地址 OUT DX,AL ;AL的值送DAC0832 MOV BL,AL ;保存AL→BL 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 2024/7/25计算机接口技术63//锯齿波发生器锯齿波发生器C语言程序段如下:语言程序段如下: 2024/7/25计算机接口技术64② ② 三角波发生器程序段三角波发生器程序段若要求产生三角波,则程序只需将生成锯齿波的循环修改为生成三角波的循环,程序的其他部分保持不变。

2024/7/25计算机接口技术65 //三角波发生器三角波发生器的汇编语言程序汇编语言程序段如下: ;生成三角波的循;生成三角波的循环 MOV DX,300H ;82C55A的A口地址 MOV AL,0H ;输出数据从数据从0开始开始L1: OUT DX,AL MOV BL,AL ;保存AL→BL 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 2024/7/25计算机接口技术66 L2: OUT DX,AL MOV BL,AL ;保存AL→BL 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 2024/7/25计算机接口技术67//三角波发生器三角波发生器C语言程序段如下:段如下: 2024/7/25计算机接口技术68 4. 讨论讨论① 利用利用DAC产生锯齿波输出产生锯齿波输出的方法是的方法是,将从0开始逐渐递增的数据送到DAC,直到FFH,再回到0。

重复上述过程,就可得到周期性的锯齿波实际上,从0到FFH,中间分为256个小台阶,但从宏观上看,是一个线性增长的直线② 实际上,本例是利用DAC作为函数波形发生器,可以产生任何一种波形如果要求产生正弦波,程序应如何编写 5.12位位DAC连接连接￿￿￿由于微机的I/O指令一次只能输出8位数据,因此对于数据宽度大于8位DAC只能分两次输入数据,为此一般大于8位数据宽度的DAC内部均设计有两级数据缓冲,如12位DAC1210内部就有两级数据缓冲,内部结构如图9-4所示D0D3D4D11D0D4D7D7左对齐D0D7D8D11D0D0D3D7右对齐 8位输入锁存器4位输入锁存器12位DAC寄存器12位相乘型D/A转换器LE1LE2LE3LSBMSBDI11 15DI10 16DI9 17DI8 18DI7 19DI6 20DI5 4DI4 5DI3 6DI2 7DI1 8DI0 9BYTE1 23/BYTE2CS 1 WR1 2XFER 21WR2 2210 Vref14 Iout213 Iout111 Rfb24 Vcc3 AGND24 DGNDDAC1210内部结构 D7D6D5D4D3D2D1D0DI11DI10DI9DI8DI7DI6DI5DI4D3D2D1D0译码器Y0IOWAENABY1Y2系统总线WR1WR2BYTE1/BYTE2XFERCSVccAGND-+A1-+A2Rfb+-A310110222k-12V+12VW110k10kVoutW222k-12VVrefDGND+5V+12V2DW7C470200W31K1004.7uFDAC1210与CPU连接D4D5D11 2024/7/25计算机接口技术72本章小结本章小结ØA/D与与D/A转转换换器器接接口口是是数数据据采采集集与与实实时时控控制制系系统统的的重要组成部分重要组成部分Ø本本章章讨讨论论的的A/D与与D/A转转换换器器接接口口仍仍然然是是一一种种并并行行接接口,但也有串行接口存在口,但也有串行接口存在Ø本本章章重重点点讨讨论论了了查查询询、、中中断断以以及及DMA 3种种不不同同方方式式的的ADC接口设计接口设计Ø讨论了锯齿波与三角波发生器的设计讨论了锯齿波与三角波发生器的设计 。

下载提示
相似文档
正为您匹配相似的精品文档
相关文档