您好,欢迎访问三七文档
第9章系统前向、后向通道配置及接口技术图9-1是具有模拟量输入、模拟量输出以及键盘、显示器、打印机等配置的人-机通道系统。9.1后向通道中的D/A接口技术9.1.1D/A转换器概述在选择D/A转换器时,通常要考虑数字量的输入方式、是否有锁存器、数字量的位数、模拟量的输出形式、参考电源、转换速率等因素。1.D/A转换器的输入方式D/A转换器数字量的输入方式:串行方式和并行方式。串行方式的D/A转换器通常用在要求转换速度不高的系统中,占用接口资源少,方便连接。并行方式的D/A转换器通常用在转换数据量较大,且要求转换速度较高的应用系统中。2.D/A转换器的输出形式D/A转换器有两种输出形式:电压输出和电流输出。所谓电压输出,就是指输出的模拟量为电压信号。电压输出又有单极性(如0~5V、0~12V等)和双极性(如±5V、±12V等)之分,可根据需要选择。所谓电流输出,就是指输出的模拟量为电流信号。在实际应用中如需要模拟电压,对于电流输出的D/A转换器,可在其输出端加运算放大器,通过运算放大器构成电流-电压转换电路,将转换器的电流输出变为电压输出。3.D/A转换器的锁存器由于D/A转换总是需要一定的时间,在这段时间内待转换的数字量应保持稳定,因此D/A转换器对输入端是否具有锁存功能也是必须考虑的因素之一,它直接关系到D/A转换器与单片机的接口设计。对于内部无锁存功能的D/A转换器,可直接与具有锁存功能的I/O接口(如单片机的P1、P2口)相连。但是,与不具备锁存器的I/O接口连接时,必须在转换器与接口之间增加锁存器。这类D/A转换器有:DAC800、AD7520等。对于内部有锁存器的D/A转换器,一般内部都附加有地址译码器,有的还具有双重或多重数据缓冲电路,可以非常方便地与单片机相连。这类D/A转换器有:DAC0832、AD7542等。4.D/A转换器的主要技术指标(1)分辨率分辨率反映了输出模拟电压的最小变化量,通常用数字的位数来表示。对于n位的D/A转换器,其分辨率为满刻度的2-n。如n=8,表示它可以对满量程的1/256的增量作出反应。(2)精度精度分绝对精度与相对精度,是由于非线性、零点刻度、满量程刻度及温漂等因素引起的误差。精度表示D/A转换器实际输出与其理论值的误差。转换器中任何数码所对应的实际模拟电压与其理想的电压值之差,并非是一个常数,这个差值的最大值就是绝对精度。相对精度是将最大偏差表示为满刻度模拟电压的百分比,或者用二进制分数来表示相对应的数字量。(3)建立时间建立时间也称稳定时间或转换时间。是指D/A中输入代码有满刻度值的变化时,其输出模拟信号达到满刻度值±LSB/2(或与满刻度值差百分之多少)所需的时间。一般从几毫微秒到几个微秒。它是D/A转换器的一个重要参数。(4)线性度线性度也称非线性度。指转换器实际的转换特性曲线与理想直线的最大偏差。通常由满量程的百分率或最低位(LSB)的分数来表示,如±LSB/2。一般为0.01~0.03%。(5)转换速率转换速率指能够重复转换数据的速度,即每秒转换的次数。而完成一次转换所需要的时间,则是转换速率的倒数。9.1.2典型D/A转换芯片DAC0832DAC0832是有双缓冲器的8位D/A转换芯片,具有价廉,接口简单和转换控制方便等优点,是目前国内用得较普遍的D/A转换器。1.DAC0832主要特性DAC0832是采用CMOS/Si-Cr工艺制成的双列直插式单片D/A转换器。它可直接与Z80,8085,8080等CPU相连,也可同8031相连,以电流形式输出;当需要转换为电压输出时,可外接运算放大器。其主要特性如下:①转换时间为1μs。②输出电流线性度可在满量程下调节。③数据输入可采用双缓冲、单缓冲或直通方式。④增益温度补偿为0.02%FS/℃。⑤每次输入数字为8位二进制数。⑥功耗20mW。⑦逻辑电平输入与TTL兼容。⑧供电电源为单一电源,可在+5~+15V内。2.DAC0832的结构及引脚DAC0832的内部结构如图9-2a所示。由一个数据寄存器、DAC寄存器和D/A转换器三大部分组成。DAC0832内部采用R-2R梯形电阻网络。两个寄存器(输入数据寄存器和DAC寄存器)用以实现两次缓冲,故在输出的同时,尚可采集一个数字,这就提高了转换速度。当多芯片同时工作时,可用同步信号实现各模拟量同时输出。DAC0832为20脚双列直插式封装,图9-2b示出了DAC0832的外部引脚。9.1.3DAC0832和MCS-51的接口根据数据在芯片内部传送的过程不同,DAC0832具有直通式、单缓冲和双缓冲三种工作方式:①直通工作方式是将ILE、CS、WR1、WR2和XFER控制信号预先置为有效,使二个寄存器都处于开放状态,无需控制信号。DAC0832的输出随时跟输入数字的变化而变化,处于直通工作方式,8位数字量一旦输入,就直接进入DAC寄存器进行D/A转换。②单缓冲工作方式是指两级缓冲器之一受CPU送来的控制信号控制,另一个寄存器为直通状态。如将WR2和XFER控制信号直接接地,或者将两个寄存器的控制信号连接在一起,并作一个寄存器使用。这种方式适用于只有一路模拟量输出(如波形发生器)或几路模拟量不需要同步输出的系统。③双缓冲工作方式指的是片内的两个寄存器分别进行控制。使用时,首先通过ILE、CS和WR1信号同时有效,把数据锁存到输入寄存器,然后通过WR2和XFER信号有效,再把数据打入DAC寄存器,并进入D/A转换器进行D/A转换。这种方式适用于几路模拟量需要同步输出的系统。DAC0832与单片机的连接既可以是单缓冲方式也可以是双缓冲方式。1.单缓冲方式的接口与应用单缓冲方式只适合于要求单路输出模拟量的应用场合。图9-3为单极性单缓冲接口电路。图中ILE接+5V,IOUT2接地,IOUT1输出电流经运放uA741变换后输出一单极性电压,范围为0~+5V。片选信号CS和传送控制信号XFER都接到8031的地址线A15(P2.7),故输入锁存器和DAC寄存器地址都可选为7FFFH。WR1、WR2都与8031的写信号线WR连接。CPU对DAC0832执行一次写操作,则将一个数据直接写入DAC寄存器,DAC0832的输出模拟量随之变化。执行下列三条指令,即可将一个数字量转换为模拟量:MOVDPTR,#07FFFHMOVA,#dataMOVX@DPTR,A【例9-1】用DAC0832单缓冲方式产生一锯齿波电压信号。解:【例9-2】用DAC0832单缓冲方式产生一方波电压信号。解:要产生方波信号,只需交替给D/A转换器送00H和FFH即可,改变数字信号送出后的延时时间可改变方波信号的频率。硬件电路如图9-3所示。【例9-3】用DAC0832单缓冲方式产生一三角波电压信号。解:要产生三角波信号,可先给D/A转换器送递增的数字信号,当数字信号增加到要求的数值后,再开始给D/A转换器送递减的数字信号,然后再送递增的数字信号,如此反复即可。硬件电路如图9-3所示。2.双缓冲方式的接口与应用DAC0832的双缓冲工作方式,适合于要求同时输出多路模拟信号的应用场合,每一路模拟量输出需一片DAC0832,因此,构成了多片DAC0832同步输出系统。图9-4中用了两片DAC0832,都工作于双缓冲方式。ALE都固定接+5V,WR1和WR2都接到8031的WR端,两片的CS分别接P2.5和P2.6,两片的XFER都接到P2.7,这样两片的输入寄存器具有不同的地址(0DFFFH、0BFFFH),而这两片的DAC寄存器具有相同的地址(7FFFH)。9.2前向通道中的A/D转换接口技术A/D转换器能把输入的模拟信号转换成数字形式。常用的A/D转换器有:计数式、双积分式、逐次逼近式和并行式。双积分式的转换精度高,抗干扰性好,价格便宜,但转换速度低。计数式硬件结构简单,转换速度低。并行式转换速度最高,但价格也高。逐次逼近式的性能兼顾了转换精度和转换速度,在精度、速度、价格上都适中,是目前在计算机应用系统中最广泛采用A/D转换器。9.2.1A/D转换器的基本原理及技术指标1.逐次逼近式A/D转换器的基本原理逐次逼近式A/D转换器是一种速度较快、精度较高的A/D转换器,其转换原理是“逐位比较”,比较过程类似于用砝码在天平上称物体的质量。一个N位的逐次逼近法A/D转换器的原理图如图9-5所示。这种A/D转换器是以D/A转换为基础,加上比较器、N位逐次逼近寄存器、置数控制逻辑电路以及时钟等组成。其转换原理如下:2.A/D转换器的主要技术指标(1)分辨率表示输出数字量变化一个相邻数码所需的输入模拟电压的变化量。通常用数字量的位数表示,如8位,10位,12位,16位分辨率等。分辨率越高,转换时对输入量的微小变化的反应越灵敏。(2)量程即所能转换的电压范围,如5V、10V等。(3)精度有绝对精度和相对精度两种表示方法,常用数字量的位数作为度量绝对精度的单位,如精度为±1/2LSB,而用百分比来表示满量程时的相对误差,如±0.05%。精度和分辨率是不同的概念,精度指的是转换后所得结果相对于实际值的准确度,而分辨率指的是能对转换结果发生影响的最小输入量。分辨率很高者可能由于温度漂移,线性不良等原因而并不具有很高的精度。(4)转换时间对于计数或双积分型的转换器而言,不同的输入幅度可能会引起转换时间的差异,在厂家给出的转换时间的指标中,它应当是最长转换时间的典型值。不同型式、不同分辨率的器件,其转换时间的长短相差很大,可为几μs至几百ms。(5)转换速度每秒转换数据的次数。选择使用ADC集成电路芯片时,除考虑上述性能指标外,还应注意芯片的输入电压范围,输入阻抗、数字输入特性,以及供电电压,工作环境(周围温度、湿度等)和保存环境(保存温度、湿度等)等性能指标。9.2.2典型逐次逼近式A/D转换芯片ADC0809ADC0809是一种8路8位逐位近逼近式A/D转换器。1.ADC0809的主要特性①分辨率为8位;②转换电压为-5~+5V;③转换路数为八路模拟量;④转换时间为100μs;⑤转换绝对误差小于±1LSB;⑥功耗仅为15mW;⑦单一+5V电源。2.ADC0809内部结构及外部引脚9.2.3ADC0809和MCS-51的接口电路连接主要涉及两个问题:8路模拟通道选择和A/D转换完成后,转换结果以什么样的方式传送到单片机。1.8路模拟通道选择2.转换数据的传送转换数据传送的关键问题是如何确认A/D转换的完成,因为只有确认转换完成后,才能进行数据传送,而传送数据却非常简单,只要执行“MOVXA,@DPTR”指令即可。判断转换完成的方法有以下3种:(1)定时方式对于指定的A/D转换器来说,当转换时钟确定以后,其转换时间是固定的,例如ADC0809当转换时钟为640KHz时,转换时间为100μs。可根据转换时间设计一个延时程序,当延时到时A/D转换完成,因此可定时读取A/D转换的结果。(2)查询方式A/D转换器有一个转换结束信号(EOC),因此可以用查询方式确定转换是否完成。按图9-9所示电路,可以使用“JBP3.3,$”之类的指令来查询。(3)中断方式1.定时转换方式的应用【例9-4】按图9-7以定时方式实现A/D转换。对八路模拟信号轮流采样一次,并依次把转换结果存储到片内RAM以30H为起始地址的连续单元中。解:将ADC0809作为一个外部扩展并行I/O口,图9-7所示电路中,由于系统低三位地址线分别加到ADC0809的ADDA、ADDB和ADDC端,所以选中ADC0809的IN0~IN7通道的地址为7FF8H~7FFFH。【例9-5】按图9-8以定时方式实现A/D转换,实现与例9_4相同的功能。解:图9-8所示电路中,由于ADDA、ADDB和ADDC直接与P0.0~P0.2连接,所以在DPTR为0XXXH的前提下,累加器A的值为00H~07H时,分别选中IN0~IN7。2.查询转换方式的应用【例9-6】按图9-7以查询方式实现A/D转换,实现与例9_4相同的功能解:程序清单如下:【例9-7】按图9-7以中断方式完成A/D转换,实现与例9_
本文标题:单片机9
链接地址:https://www.777doc.com/doc-5538921 .html