MCS-51与DA、AD的接口-杭电_第1页
MCS-51与DA、AD的接口-杭电_第2页
MCS-51与DA、AD的接口-杭电_第3页
MCS-51与DA、AD的接口-杭电_第4页
MCS-51与DA、AD的接口-杭电_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

8.3D/A转换器的接口与应用概述为什么要用D/A、A/D转换器件

能将模拟量转换为数字量的电路称为模数转换器,简称A/D转换器或ADC;能将数字量转换为模拟量的电路称为数模转换器,简称D/A转换器或DAC。ADC和DAC是沟通模拟电路和数字电路的桥梁,也可称之为两者之间的接口。8.3.1DAC的转换原理及分类1.转换原理DAC的基本原理是把数字量的每一位按照权重转换成相应的模拟分量,然后根据叠加定理将每一位对应的模拟分量相加,输出相应的电流或电压。2.DAC的分类1)根据DAC内部结构不同权电阻网络型“T”型电阻网络型2)根据输出结构的不同

电压输出型(如TLC5620)电流输出型(如THS5661A)3)根据与单片机接口方式不同并行接口DAC(如DAC0832、DAC0808)串行接口DAC(TLC5615等)1.权电阻型DAC权电阻型DAC核心思想在于用等比例的电阻在参考电压的作用下产生和权重对应的权电流,权电流在数字开关的作用下进行合成模拟信号。

参考电压源、模拟开关、比例电阻、求和放大器8.3.1四位权电阻网络DAC结构权电阻网络型DAC优缺点:优点:是电路结构简单,使用电阻数量较少;各位数码同时转换,速度较快。缺点:是电阻译码网络中电阻种类较多、取值相差较大,随着输入信号位数的增多,电阻网络中电阻取值的差距加大;在相当宽的范围内保证电阻取值的精度较困难,对电路的集成化不利。该电路比较适用于输入信号位数较低的场合。2.T型电阻网络型DACT型电阻网络型DAC克服了权电阻型DAC电阻阻值较多的缺点,如图8.3.3所示,S0~S3为模拟开关,R—2R电阻解码网络呈倒T形,运算放大器A构成求和电路。图8.3.3倒T形电阻网络D/A转换器D/A转换原理--倒T型电阻网络D/A转换电路原理倒T型电阻网络D/A转换原理图R2R2R2R2RRRRRD0D1D2D3节点3节点2节点1节点0IVREF+-VOUTI3I2I1I0图中D3D2D1D0是4位二进制数字量输入,当D3D2D1D0中的某一位状态为1时,图中开关打向右方,为0时,开关打向左方。RFIOUT1IOUT2VREF为基准电压输入,Vout是电压模拟量输出。由运算放大器概念可知:Vout=-RF•Iout1Iout1是开关打向右端的各支路电流Ii之和,实际上(其中就是数字量D3D2D1D0的某一位)Di(b)等效电路图R2R2R2R2RRRRRD0D1D2D3节点3节点2节点1节点0IVREFI3I2I1I0由等效电路图(b)可知,各支路电流分别为:上式右边表示的就是数字量D3D2D1D0的值(按权展开),而左边是模拟量输出值,可见模拟量输出正比于数字量输入,即实现了D/A转换。D/A转换器的主要技术指标:1)分辩率(Resolution)指最小模拟输出量(对应数字量仅最低位为‘1’)与最大量(对应数字量所有有效位为‘1’)之比。分辨率也可以用D/A转换器的最小输出电压与最大输出电压的比值来表示。10位D/A转换器的分辨率为:2)建立时间(SettingTime)是将一个数字量转换为稳定模拟信号所需的时间,也可以认为是转换时间。D/A中常用建立时间来描述其速度,而不是A/D中常用的转换速率。一般地,电流输出D/A建立时间较短,电压输出D/A则较长。其他指标还有线性度(Linearity)、转换精度、温度系数/漂移等。8.3.2并行接口DAC并行DAC按照转换位数分为8位、10位、12位、16位等,考虑单片机接口便利程度这里以经典的DAC0832D/A转换器介绍并行接口DAC。DAC0832特点:DAC0832是一个8位通用型D/A转换器,该芯片具有以下特点:单电源供电,从+5V~+15V均可正常工作基准电压的范围为-10~+10V;电流建立时间为1uS;四象限电流输出型;CMOS工艺,低功耗20mW。DAC0832芯片及其与单片机接口与应用一.DAC0832的引脚(20PIN)及结构0832----8位D/A0832引脚功能IOUT2电流输出2CS选片WR1输入写DI0~DI7数据线CSWR1AGNDDI3DI2DI1DI0VREFRFRDGNDVccILEWR2XFERDI4DI5DI6DI7IOUT2IOUT1DAC0832DAC写WR2IOUT1电流输出1数据锁存ILE数据传送XFER图9-4DAC0832的引脚分布图二、DAC0832的控制信号引脚功能电流输出1输入写DAC写数据传送输入寄存器的使用1、ILE=1,WR1=0输入寄存器直通2、ILE=1,WR1=1输入寄存器锁存DAC寄存器的使用1、XFER=0,WR2=0DAC寄存器直通2、XFER=0,WR2=1DAC寄存器锁存已知:cs=0三.DAC0832的工作方式DAC0832有三种方式:直通方式、单缓冲方式和双缓冲方式。1.直通方式:、、、直接接地,ILE接电源,DAC0832工作于直通方式,此时,8位输入寄存器和8位DAC寄存器都直接处于导通状态,8位数字量到达DI0~DI7,就立即进行D/A转换,从输出端得到转换的模拟量。

当引脚8031P2.7P1DI7~DI0CSXFERWR1WR2DAC0832IOUT2IOUT1+-RFRILE+5V8031P3.6P2.7P1DI7~DI0CSXFERWR1WR2DAC0832IOUT2IOUT1+-RFRDAC0832单缓冲方式接口电路ILE+5V2.单缓冲方式:当连接引脚、、、,使得两个锁存器的一个处于直通状态,另一个处于受控制状态,或者两个被控制同时导通,DAC0832就工作于单缓冲方式,例如下图就是一种单缓冲方式的连接对于下图的单缓冲连接,只要数据DAC0832写入8位输入锁存器,就立即开始转换,转换结果通过输出端输出。3.双缓冲方式:当8位输入锁存器和8位DAC寄存器分开控制导通时,DAC0832工作于双缓冲方式,双缓冲方式时单片机对DAC0832的操作分两步,第一步,使8位输入锁存器导通,将8位数字量写入8位输入锁存器中;第二步,使8位DAC寄存器导通,8位数字量从8位输入锁存器送入8位DAC寄存器。第二步只使DAC寄存器导通,在数据输入端写入的数据无意义。下图就是一种双缓冲方式的连接。P2.7P2.6P3.6P1.0~P1.78051

Vout-VCCILECSXFERWR1WR2DI0~DI7DGNDAGNDVREFRfbIOUT1IOUT2+5V--5V--A+-四、电压输出方法DAC0832是一个电流输出型DAC,要想输出电压要增加电流/电压变换环节,常用运算放大器实现转换(如图8.3.6所示,图中DAC0832工作于直通方式),图中图8.3.6单极性输出图8.3.7双极性输出五.DAC0832的应用

D/A转换器在实际中经常作为波形发生器使用,通过它可以产生各种各样的波形。它的基本原理如下:利用D/A转换器输出模拟量与输入数字量成正比这一特点,通过程序控制CPU向D/A转换器送出随时间呈一定规律变化的数字,则D/A转换器输出端就可以输出随时间按一定规律变化的波形。00H0FFHA=00A=0FFHA=00A=0FFH直通方式举例程序实例1:输出正锯齿波Main(){ While(1) P1++;//这里假设P1口接数据输入}程序实例2:输出负锯齿波Main(){While(1) P1--; //这里假设P1口接数据输入} 程序实例3:输出三角波Main(){P1=0;While(1){ While(1){If(P1!=0xFF)P1++; //这里假设P1口接数据输入 Else Break;}While(1) {If(P1!=0x00)P1--;//这里假设P1口接数据输入 Else Break; }}}8.3.3串行接口DAC近年来,随着串行总线(SPI、IIC、QSPI等)的飞速发展及串行总线在单片机的普及,采用串行接口的低成本DAC越来越多。这里以TLC5615为例介绍串行接口DAC。

TLC5615的特点:(1)10位CMOS电压输出;(2)5V单电源供电;(3)与CPU三线串行接口;(4)最大输出电压可达基准电压的二倍;(5)输出电压具有和基准电压相同极性;(6)建立时间12.5uS;(7)内部上电复位;(8)低功耗,最大仅1.75mW。图8.3.10TLC5615内部结构TLC5615工作时序:当片选为低电平时,输入数据DIN由时钟SCLK同步输入,而且最高有效位在前,低有效位在后。输入时SCLK的上升沿把串行输入数据DIN移入内部的16位移位寄存器,片选的上升沿把数据传送至DAC寄存器。图8.3.11TLC5615典型工作时序结论:要想串行输入数据和输出数据必须满足两个条件:1、时钟SCLK的有效跳变;2、片选CS为低电平。Note:为了使时钟的内部馈通最小,当片选为高电平时,输入时钟SCLK应当为低电平。例:在电路中,AT89S51单片机的P3.0-P3.2分别控制TLC5615的片选,串行时钟输入SCLK和串行数据输入DIN。电路的连接采用非级联方式(12位方式),参考电压2V,最大输出电压4V。//TI10位DACTLC5615的示例程序#defineSPI_CLK P3_1#defineSPI_DATA P3_2#defineCS_DA P3_0voidda5615(unsignedintdat){unsignedchari;dat<<=6;//D/A数据最高位移到dat最高位,低6位补零CS_DA=0;SPI_CLK=0;for(i=0;i<12;i++){SPI_DATA=(bit)(dat&0x8000);SPI_CLK=1;

dat<<=1;SPI_CLK=0;}CS_DA=1;SPI_CLK=0;for(i=0;i<100;i++);}8.4A/D转换器的接口与应用A/D转换器(AnalogtoDigitalConverter)是将模拟量转换成数字量的器件,通常也用ADC表示,它可以将模拟量比例地转换成数字量,是模拟量测量的基本器件。8.4.1ADC的转换原理及分类8.4.2并行接口ADC(ADC0809)8.4.3串行接口ADC(TLC549)模拟电子开关S在采样脉冲CPS的控制下重复接通、断开的过程。S接通时,ui(t)对C充电,为采样过程;S断开时,C上的电压保持不变,为保持过程。在保持过程中,采样的模拟电压经数字化编码电路转换成一组n位的二进制数输出。8.4.1ADC的转换原理及分类2.ADC的分类ADC的种类很多,根据转换原理,常见的ADC主要有逐次逼近式和双积分式等类型。1)逐次逼近式原理逐次逼近转换过程与用天平称物重过程非常相似,按照天平称重的思路,逐次比较型A/D转换器,就是将输入模拟信号与不同的参考电压做多次比较,使转换所得的数字量在数值上逐次逼近输入模拟量的对应值。逐次逼近式ADC具有较快的转换速率和较高的精度,转换速率介于全并式和双积分式之间,应用非常广泛,常用的集成逐次比较型A/D转换器有ADC0808/0809系列(8)位、AD575(10位)、AD1674A(12位)等。转换开始前先将所有寄存器清零。开始转换以后,时钟脉冲首先将寄存器最高位置成1,使输出数字为100…0。这个数码被D/A转换器转换成相应的模拟电压uo,送到比较器中与ui进行比较。若uo>ui,说明数字过大了,故将最高位的1清除;若uo<ui,说明数字还不够大,应将这一位保留。然后,再按同样的方式将次高位置成1,并且经过比较以后确定这个1是否应该保留。这样逐位比较下去,一直到最低位为止。比较完毕后,寄存器中的状态就是所要求的数字量输出。原理框图基本原理3位逐次逼近型A/D转换器转换开始前,先使Q1=Q2=Q3=Q4=0,Q5=1,第一个CP到来后,Q1=1,Q2=Q3=Q4=Q5=0,于是FFA被置1,FFB和FFC被置0。这时加到D/A转换器输入端的代码为100,并在D/A转换器的输出端得到相应的模拟电压输出uo。uo和ui在比较器中比较,当若ui<uo时,比较器输出uc=1;当ui≥uo时,uc=0。第二个CP到来后,环形计数器右移一位,变成Q2=1,Q1=Q3=Q4=Q5=0,这时门G1打开,若原来uc=1,则FFA被置0,若原来uc=0,则FFA的1状态保留。与此同时,Q2的高电平将FFB置1。第三个CP到来后,环形计数器又右移一位,一方面将FFC置1,同时将门G2打开,并根据比较器的输出决定FFB的1状态是否应该保留。第四个CP到来后,环形计数器Q4=1,Q1=Q2=Q3=Q5=0,门G3打开,根据比较器的输出决定FFC的1状态是否应该保留。第五个CP到来后,环形计数器Q5=1,Q1=Q2=Q3=Q4=0,FFA、FFB、FFC的状态作为转换结果,通过门G6、G7、G8送出。工作原理1)并联比较型A/D转换器:转换速度快,主要缺点是要使用的比较器和触发器很多,随着分辨率的提高,所需元件数目按几何级数增加。2)双积分型A/D转换器:性能比较稳定,转换精度高,具有很高的抗干扰能力,电路结构简单,其缺点是工作速度较低,在对转换精度要求较高,而对转换速度要求较低的场合,如数字万用表等检测仪器中.3)逐次逼近型A/D转换器:分辨率较高、误差较低、转换速度较快,在一定程度上兼顾了以上两种转换器的优点,因此得到普遍应用。ADC转换器比较8.4.2并行接口ADC一.ADC0809的特点和结构(1)主要特性:①8路8位A/D转换器,即分辨率8位。②具有转换起停控制端。③转换时间为100μs。④单个+5V电源供电。⑤模拟输入电压范围0~+5V,不需零点和满刻度校准。⑥工作温度范围为.40~+85摄氏度。⑦低功耗,约15mW。图3ADC0809的结构框图8路模拟量开关地址锁存与译码8位A/D转换器三态输出锁存器STARTCLKIN0··IN7D0··D7ABCALEVR(+)VR(-)EOCOE二.ADC0809的引脚ADC0809芯片有28个引脚,采用双列直插式封装,如图。其中:IN0~IN7:8路模拟量输入端。D0~D7:8位数字量输出端。ADDA、ADDB、ADDC:3位地址输入线,用于选择8路模拟通道中的一路,选择情况见表。ADDCADDBADDA选择通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7ALE:地址锁存允许信号,输入,高电平有效。START:A/D转换启动信号,输入,高电平有效。EOC:A/D转换结束信号,输出。当启动转换时,该引脚为低电平,当A/D转换结束时,该线脚输出高电平。OE:数据输出允许信号,输入,高电平有效。当转换结束后,如果从该引脚输入高电平,则打开输出三态门,输出锁存器的数据从D0~D7送出。CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ,通常使用频率为500kHz.REF+、REF-:基准电压输入端。Vcc:电源,接+5V电源。GND:地。ADC0809的工作流程如图所示:1.输入3位地址,并使ALE=1,将地址存入地址锁存器中,经地址译码器译码从8路模拟通道中选通一路模拟量送到比较器。2.送START一高脉冲,START的上升沿使逐次逼近寄存器复位,下降沿启动A/D转换,并使EOC信号为低电平。3.当转换结束时,转换的结果送入到输出三态锁存器,并使EOC信号回到高电平,通知CPU已转换结束。4.CPU使OE为高电平,从输出端D0~D7读入数据。三.ADC0809的工作流程2.ADC0809的接口(模拟时序方式)和编程 #defineALE P2_4 #defineSTART P2_5 #defineOE P2_6 #defineEOC P2_7#include<reg51.h>#include<intrins.h>

unsignedcharadc_0809(unsignedcharchanel){ //地址信息放在chanel变量中 unsignedchardd; //临时变量 P2&=0Xf8; P2|=chanel; //P2低三位输出地址 ALE=1; //锁存地址 START=1; //复位逐次逼近寄存器 ALE=0; START=0; //开始转换 _nop_(); _nop_(); //延时 while(EOC==0); //等待转换结束,转换时间100us OE=1; //输出使能 dd=P1; //数据暂存 OE=0; Return(dd); //返回转换值}8.4.3串行接口ADCTLC549是德州仪器公司推出的广泛应用的CMOS8位A/D转换器。该芯片有一个模拟输入端口,3态的数据串行输出接口可以方便的和微处理器或外围设备连接。TLC549仅仅使用输入/输出时钟(I/OCLOCK)和芯片选择(cs)信号控制数据。最大的输入输出时钟(I/OCLOCK)为1.1MHz。

图8.4.4TLC549内部结构图一组通常的控制时序为:(1)将CS置低。内部电路在测得CS下降沿后,再等待两个内部时钟上升沿和一个下降沿后,然后确认这一变化,最后自动将前一次转换结果的最高位(D7)位输出到DATAOUT端上。(2)前四个I/OCLOCK周期的下降沿依次移出第2、3、4和第5个位(D6、D5、D4、D3),片上采样保持电路在第4个I/OCLOCK下降沿开始采样模拟输入。(3)接下来的3个I/OCLOCK周期的下降沿移出第6、7、8(D2、D1、D0)个转换位,(4)最后,片上采样保持电路在第8个I/OCLOCK周期的下降沿开始保持,CS必须为高,或I/OCLOCK保持低电平,这种状态需要维持36个内部系统时钟周期以等待保持和转换工作的完成。NOTE:如果CS为低时I/OCLOCK上出现一个有效干扰脉冲,则微处理器/控制器将与器件的I/O时序失去同步;若CS为高时出现一次有效低电平,则将使引脚重新初始化,从而脱离原转换过程。在36个内部系统时钟周期结束之前,实施步骤(1)-(4),可重新启动一次新的A/D转换,与此同时,正在进行的转换终止,此时的输出是前一次的转换结果而不是正在进行的转换结果。若要在特定的时刻采样模拟信号,应使第8个I/OCLOCK时钟的下降沿与该时刻对应,因为芯片虽在第4个I/OCLOCK时钟下降沿开始采样,却在第8个I/OCLOCK的下降沿开始保存。

举例#include"intrins.h"#defineWait1us _nop_();#defineWait2us {_nop_();_nop_();}#defineWait4us {Wait2us;Wait2us;}#defineWait8us {Wait4us;Wait4us;}#defineWait10us {Wait8us;Wait2us;}#defineWait30us {Wait10us;Wait10us;Wait10us;}/************定义接口总线**************/sbitClock=P1^2;//时钟口线sbitDataOut=P1^3;//数据输出口线sbitChipSelect=P1^4;//片选口线unsignedcharADCSelChannel(void){unsignedcharConvertValue=0;unsignedchari;ChipSelect=1;//芯片复位ChipSelect=0;ChipSelect=1;Clock=0;Wait4us;ChipSelect=0;//芯片起始Wait4us;//等待延时for(i=0;i<8;i++)//输入采样转换时钟{Clock=1;Clock=0;}ChipSelect=1;//开始转换Wait30us;//等待转换结束ChipSelect=0;//读取转换结果Wait4us;for(i=0;i<8;i++)//读取8位串行数据{Clock=1;ConvertValue<<=1;if(DataOut){ConvertValue|=0x1;}Clock=0;}ChipSelect=1;return(ConvertValue);//返回转换结果}作业P223第6题8031WRP2.7P0DI7~DI0CSXFERWR1WR2DAC0832IOUT2IOUT1+-RFRDAC0832单缓冲方式接口电路ILE+5V【补充举例1】利用单缓冲方式(总线方式),编程从DAC0832输出端分别产生锯齿波、三角波和方波。

分析:根据单缓冲方式图的连接,DAC0832的口地址为7FFFH。汇编语言编程:锯齿波 MOVDPTR,#7FFFH CLRALOOP:MOVX@DPTR,A INCA SJMPLOOP三角波: MOVDPTR,#7FFFH CLRALOOP1:MOVX@DPTR,A INCA CJNEA,#0FFH,LOOP1LOOP2:MOVX@DPTR,A DECA JNZLOOP2 SJMPLOOP1方波: MOVDPTR,#7FFFHLOOP:MOVA,#00H MOVX@DPTR,A ACALLDELAY MOVA,#FFH MOVX@DPTR,A ACALLDELAY SJMPLOOPDELAY:MOVR7,#0FFH DJNZR7,$ RETC语言编程:锯齿波:#include<absacc.h>//定义绝对地址访问#defineucharunsignedchar#defineDAC0832XBYTE[0x7FFF]voidmain(){ uchari; while(1) { for(i=0;i<0xff;i++) {DAC0832=i;} }}三角波:#include<absacc.h>//定义绝对地址访问#defineucharunsignedchar#defineDAC0832XBYTE[0x7FFF]voidmain(){ uchari; while(1) { for(i=0;i<0xff;i++) {DAC0832=i;} for(i=0xff;i>0;i--) {DAC0832=i;} }}方波:#include<absacc.h>//定义绝对地址访问#defineucharunsignedchar#defineDAC0832XBYTE[0x7FFF]voiddelay(void);voidmain(){ uchari; while(1) { DAC0832=0;//输出低电平 delay();//延时 DAC0832=0xff;//输出高电平 delay();//延时 }}voiddelay()//延时函数{ uchari; for(i=0;i<0xff;i++);}四.ADC0809与MCS-51单片机的接口(总线方式)下图是一个ADC0809与8051的一个接口电路图。1.硬件连接P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7ALEWR

P2.7RDINTO+++5VGNDD0D1D2D3D4D5D6D7ADDAADDBADDCCLKALESTARTOEEOCIN0IN1IN2IN3IN4IN5IN6IN7

VREF+VREF-ADC08098051分频器2.软件编程例题1:设接口电路用于一个8路模拟量输入的巡回检测系统,使用中断方式采样数据,把采样转换所得的数字量按序存于片内RAM的30H~37H单元中。采样完一遍后停止采集。ADC0809的编程涉及3个步骤:1、8路模拟通道选择2、ADC的启动3、转换完成后转换数据的传送分析:1、8通道的地址分别为:0x0000~0x0007 2、对8个地址写操作MOVX@DPTR,A 3、读入转换完的数据MOVXA,@DPTR ORG0000H AJMPMAIN ORG0003H LJMPINT0 ORG0100H;主程序MA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论