微处理器C51-8AD及DA工作原理及应用_第1页
微处理器C51-8AD及DA工作原理及应用_第2页
微处理器C51-8AD及DA工作原理及应用_第3页
微处理器C51-8AD及DA工作原理及应用_第4页
微处理器C51-8AD及DA工作原理及应用_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

D/A&A/D转换器及其与单片机接口ADC转换原理及主要技术指标ADC芯片DAC转换原理及主要技术指标DAC芯片内含ADC的8051芯片温度传感器实例模拟信号是一种连续的信号,自然界中的种种现象(如温度、湿度、光线、高度等)都属于这类信号。

数字信号则是一种0和1组成的非连续的信号,通常有TTL与CMOS两种电平。

人类直接感受的是模拟信号,但模拟信号不易存储、处理与传输,且容易失真;而数字信号比较容易存储与处理,传输中叶不易失真,成为目前信号处理的主流。

因此,以传感器测得的模拟信号,经模数转换器(ADC)将它转换成数字信号,这样可进行较高效率的处理、存储或传输。当处理完成后,再经数模转换器(DAC)将它转换成模拟信号,以驱动控制器件(如电热器、电磁阀和电机等)

ADC转换器的原理及主要技术指标1.并行式ADC的转换原理

这种模/数转换器是以多个比较器并行处理,又称比较器型模/数转换。

这种模/数转换以数个比较器同时检测输入的模拟信号,然后予以编码产生数字信号。如图所示。其特性:

转换速度快。需要的电路复杂,n位并行模/数转换需要2n个精密电阻,2n-1个比较器以及n位优先编码器。2.逐次逼近式ADC的转换原理successiveapproximationADC的转换电路如图。

首先N位寄存器最高位置1,经D/A转换器输出VN,与输入电压Vin比较,如果VN<Vin,则高位置1不变,否则高位复0;继续,直到N位寄存器的每一位确定为止。其特性:转换速度慢。3.双积分式ADC的转换原理

它采用定电流积分器,先用输入的模拟信号来充电,然后用固定的参考电压放电,放电期间用计数器计数,放电完毕,计数停止,计数结果就是所要输出的数字信号。其特点:转换速度慢。精度高,稳定性好。抗噪声好。4.A/D转换器的主要技术指标a.分辨率ADC的分辨率是指使输出数字量变化一个相邻数码所需输入模拟电压的变化量。常用二进制的位数表示。例如12位ADC的分辨率就是12位,或者说分辨率为满刻度FS的1/。一个10V满刻度的12位ADC能分辨输入电压变化最小值是10V×1/=2.4mV。b.量化误差ADC把模拟量变为数字量,用数字量近似表示模拟量,这个过程称为量化。量化误差是ADC的有限位数对模拟量进行量化而引起的误差。实际上,要准确表示模拟量,ADC的位数需很大甚至无穷大。一个分辨率有限的ADC的阶梯状转换特性曲线与具有无限分辨率的ADC转换特性曲线(直线)之间的最大偏差即是量化误差。

c.偏移误差偏移误差是指输入信号为零时,输出信号不为零的值,所以有时又称为零值误差。假定ADC没有非线性误差,则其转换特性曲线各阶梯中点的连线必定是直线,这条直线与横轴相交点所对应的输入电压值就是偏移误差。d.满刻度误差满刻度误差又称为增益误差。ADC的满刻度误差是指满刻度输出数码所对应的实际输入电压与理想输入电压之差。e.线性度线性度有时又称为非线性度,它是指转换器实际的转换特性与理想直线的最大偏差。f.绝对精度在一个转换器中,任何数码所对应的实际模拟量输入与理论模拟输入之差的最大值,称为绝对精度。对于ADC而言,可以在每一个阶梯的水平中点进行测量,它包括了所有的误差。g.转换速率ADC的转换速率是能够重复进行数据转换的速度,即每秒转换的次数。而完成一次A/D转换所需的时间(包括稳定时间),则是转换速率的倒数。ADC转换器模/数转换器种类很多,而ADC080X系列是教学中最常用的,特别是ADC0804与8X51完全兼容。

1.ADC0804特性:CMOS的逐步逼近式AD转换器。具有8位,转换时间100微秒。采用差动式模拟电压输入、三态式数字输出。模拟输入电压范围0-5V。

2.引脚:/CS:片选,接低电平时芯片选中;否则输出数据DB0-BD7呈高阻。/RD:数据读取/WR:开始转换/INTR:完成转换CLKIN:时钟脉冲输入,接100-1460KHz时钟脉冲。结合CLKR引脚,外接外加的电阻和电容,由内部电路自动产生时钟脉冲,其频率为:f=1/(1.1RC)CLKR:时钟脉冲输出,可接电阻以产生时钟脉冲。Vref/2:参考电压输入,其电压值为最大输入模拟电压值得一半。Vin+:模拟电压输入的正端。Vin-:模拟电压输入的负端。VCC:电源正。DGND:数字信号地。AGND:模拟信号地。DB0-DB7:数字输出引脚,三态输出。3.电压校准ADC0804的模拟电压输入至Vin+和Vin-,若要调整输入电压的输入水平,可利用一个运放进行电压水平调整,如图。4.操作方式

a.连续转换

如图所示,/CS与/RD引脚连接到地,/INTR与/WR连接,这样,微处理器就可以随时读取这个数据总线上的数据。b.交互式控制

如图,/CS接地,/WR和/RD接微处理器的输出,此信号为START或SOC(startofconvert),微处理器通过输出口向此输出一个低电平,ADC0804即可进行模/数转换。转换完成后,则由/INTR输出一个低电平脉冲,此信号称为IRQ,微处理器可以通过查询此信号或由此信号引起中断进行转换数据读取。ADC0804的操作时序如图所示。

当ADC0804的/CS与/WR为低电平时,ADC0804内部开始转换,转换期间,/INTR为高电平。当0804内部转换完毕,/INTR变成低电平,这时若/RD为低电平,则转换结果将随/INTR转为高电平时放至数据总线(DB0-DB7),以供微处理器读取。5.8051与ADC0804的连接

若ADC0804采用连续转换方式,直接将DB0-DB7连接8051的任意一个P口即可。

若采用交互式控制,除了数据线,需将其START及IRQ连接8051P口中的任一位。

如果将0804作为8051的外部存储器,则需将0804的/WR、/RD、/INTR信号分别和8051的/WR、/RD和INTx相连,而DB0-DB7与P0口相连。

要进行AD转换操作时,若使用汇编语言,可通过专用的外部存储器存取指令:MOVX@DPTR,A和MOVXA,@DPTR

若使用C51程序,则需将某个变量声明为xdata存储器形式,采用如下的程序代码:unsignedcharxdataadc;……adc=0xff;//startadc……result=adc;//readadcdataDAC转换原理及主要技术指标

1、D/A转换器的基本原理及分类基本上DAC转换器是由电阻网络所构成的,常见的是加权电阻网络及R-2R电阻网络两种。a.T型电阻网络D/A转换器VO=(D0×I0+D1×I1+D2×I2+D3×I3+D4×I4+……+D7×I7)×Rfb=(D0×I×1/28+……+D7×I×1/21)=VREF/R×2-8×Rfb×D=VREF/256×D(当Rfb=R)当有n位电阻网络时,VO=VREF/2n×D输出电压的大小与数字量具有对应的关系。特点:电路结构简单,电阻只有两种,容易实现。b.加权电阻网络如图

VO=-IR=-1/8

×(23V1+22V2+21V3+20V4)

其中V1、V2、V3和V4分别为数字数据的数字位的电压。

特点:电路简单,但制作不容易,电阻种类多,差异大。容易造成误差。2、D/A转换器的主要性能指标a.分辨率分辨率是指输入数字量的最低有效位(LSB)发生变化时,所对应的输出模拟量(电压或电流)的变化量。它反映了输出模拟量的最小变化值。分辨率与输入数字量的位数有确定的关系,可以表示成FS/。FS表示满量程输入值,n为二进制位数。对于5V的满量程,采用8位的DAC时,分辨率为5V/256=19.5mV;当采用12位的DAC时,分辨率则为5V/4096=1.22mV。显然,位数越多分辨率就越高。b.线性度线性度(也称非线性误差)是实际转换特性曲线与理想直线特性之间的最大偏差。常以相对于满量程的百分数表示。如±1%是指实际输出值与理论值之差在满刻度的±1%以内。c.绝对精度和相对精度绝对精度(简称精度)是指在整个刻度范围内,任一输入数码所对应的模拟量实际输出值与理论值之间的最大误差。绝对精度是由DAC的增益误差(当输入数码为全1时,实际输出值与理想输出值之差)、零点误差(数码输入为全0时,DAC的非零输出值)、非线性误差和噪声等引起的。绝对精度(即最大误差)应小于1个LSB。相对精度与绝对精度表示同一含义,用最大误差相对于满刻度的百分比表示。d.建立时间建立时间是指输入的数字量发生满刻度变化时,输出模拟信号达到满刻度值的±1/2LSB所需的时间。是描述D/A转换速率的一个动态指标。电流输出型DAC的建立时间短。电压输出型DAC的建立时间主要决定于运算放大器的响应时间。根据建立时间的长短,可以将DAC分成超高速(<1μS)、高速(10~1μS)、中速(100~10μS)、低速(≥100μS)几档。

应当注意,精度和分辨率具有一定的联系,但概念不同。DAC的位数多时,分辨率会提高,对应于影响精度的量化误差会减小。但其它误差(如温度漂移、线性不良等)的影响仍会使DAC的精度变差。DAC芯片

这里以DAC-08系列和DAC0832为例。DAC-08系列1、特性

电流型R-2R电阻网络的DA转换器。8位,转换时间300ns。电源可采用±15V双电源或+5V到+15V。2、引脚VLC:临界电压控制输入引脚,其功能是设置数字信号电平,接地即可。/IOUT:互补模拟电流输出引脚,/IOUT=IFS-IOUT,其中的IOUT为模拟输出电流,IFS为满刻度电流(约0.2-4mA)IFS=VREF/RREF×255/256VEE:负电源引脚,其电压范围-4.5到-18VIOUT:模拟电流输出引脚IOUT=(2n-1Dn-1+……+20D0)/2n×IREF;IREF=VREF/RREFA1-A8:数字输入,A1为最高位MSB,A8为最低位LSBVcc:电源+VREF+:正参考电压VREF-:负参考电压COPM:补偿引脚,外接补偿电容,避免高频振荡。3、操作方式如图为DAC-08的基本电路,若VREF=5V,IREF=5KΩRO=5KΩ,则VO=D/256×5V

如果输出直接接电阻,由于输出阻抗高,容易造成负载效应,其输出端一般接运放。

第一个电路中,其转换结果没有/VO,若要有VO和/VO对称性输出,则采用第二个电路。

4、8051与DAC-08的连接如图为DAC-08与8051的简单连接。DAC0832芯片DAC0832是使用非常普遍的8位D/A转换器,由于其片内有输入数据寄存器,故可以直接与单片机接口。DAC0832以电流形式输出,当需要转换为电压输出时,可外接运算放大器。属于该系列的芯片还有DAC0830、DAC0831,它们可以相互代换。DAC0832主要特性:分辨率8位;电流建立时间1μS;数据输入可采用双缓冲、单缓冲或直通方式;输出电流线性度可在满量程下调节;逻辑电平输入与TTL电平兼容;单一电源供电(+5V~+15V);低功耗,20mW。

1、DAC0832内部结构及引脚2、DAC0832与80C51单片机的接口a.单缓冲工作方式

此方式适用于只有一路模拟量输出,或有几路模拟量输出但并不要求同步的系统。双极性模拟输出电压

双极性输出时的分辨率比单极性输出时降低1/2,这是由于对双极性输出而言,最高位作为符号位,只有7位数值位。b.双缓冲工作方式多路D/A转换输出,如果要求同步进行,就应该采用双缓冲器同步方式。c.直通工作方式当DAC0832芯片的片选信号、写信号、及传送控制信号的引脚全部接地,允许输入锁存信号ILE引脚接+5V时,DAC0832芯片就处于直通工作方式,数字量一旦输入,就直接进入DAC寄存器,进行D/A转换。http://www.A/内含ADC的8051芯片大部分51单片机厂商都提供内部ADC的51单片机,以ATMEL公司为例,AT89C5115、AT89C51AC2及AT89C51AC3等,而这些单片机除内部10位ADC外,其内部资源也比标准的89C51强大很多。1、AT89C5115RAM:256BRAM、256BXRAMROM:16KBFlashROM14个中断源,3个16位定时器/计数器,1个全双工UART最高工作频率40MHzI/O口:16或20根数字I/O双通道16位PCA,可作为8位PWM两组数据指针寄存器,21位WDT,10位ADC提供Power-Down及Idle等两种节电方式电源:3-5.5V2、AT89C51AC2RAM:256BRAM、1KBXRAMROM:32KBFlashROM14个中断源,3个16位定时器/计数器,1个全双工UART最高工作频率40MHzI/O口:34根数字I/O双通道16位PCA,可作为8位PWM两组数据指针寄存器,21位WDT,10位ADC芯片内置仿真器逻辑即On-chipEmulatorLogic提供Power-Down及Idle等两种节电方式电源:3-5.5V3、AT89C51AC3RAM:256BRAM、2KBERAMROM:32KBFlashROM14个中断源,3个16位定时器/计数器,1个全双工UART最高工作频率60MHzI/O口:36根数字I/O双通道16位PCA,可作为8位PWM两组数据指针寄存器,21位WDT,10位ADC具有SPI接口,芯片内置仿真器逻辑提供Power-Down及Idle等两种节电方式电源:3-5.5V美国AnalogDevice公司的AD590是体积小、使用方便的温度传感器,如图。其特性如下:其输出电流与开氏温度成

正比,K=0时为0A,1μA/K有效测温范围-55℃-150℃电源范围4V到30V

应用方法如图,传感器串接一个10KΩ电阻,产生电压在0℃时VA=2.732V后面电路做减法,减去2.732V,使0℃时,VC=0V。温度传感器使用ADC0804将此电压转换为数字量,如图。1、电压测量——直接读取方式

如图,ADC0804接P0,/WR与/INTR相接,/RD和/CS接地,这样,ADC0804不断地进行转换,转换结果随时放在数据总线上。8051从P1口读取转换数据并适当处理后在4位LED数码管上显示此采样数据。results=adc*196;disp[3]=results/10000;disp[2]=(results/1000)%10;disp[1]=(results/100)%100;disp[0]=results%10;实例#include<reg51.h>CharcodeTAB[10]={0xc0,..,0x98};#defineADCP0#defineSCANPP1#defin

温馨提示

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

评论

0/150

提交评论