STCC与ADDA转换器的接口

上传人:可**** 文档编号:121277842 上传时间:2022-07-18 格式:PPTX 页数:69 大小:4.28MB
收藏 版权申诉 举报 下载
STCC与ADDA转换器的接口_第1页
第1页 / 共69页
STCC与ADDA转换器的接口_第2页
第2页 / 共69页
STCC与ADDA转换器的接口_第3页
第3页 / 共69页
资源描述:

《STCC与ADDA转换器的接口》由会员分享,可在线阅读,更多相关《STCC与ADDA转换器的接口(69页珍藏版)》请在装配图网上搜索。

1、D/A转换器转换器(Digital to Analog Converter)能把数字量转换为模拟量的电子器件(简称为DAC)。A/D转换器转换器(Analog to Digital Converter)能把模拟量转换成相应数字量的电子器件(简称为ADC)。第1页/共69页第一页,编辑于星期六:二十二点 三十分。11.1 STC89C52与A/D转换器的接口1.概述 A/D转换器把模拟量转换成数字量,以便于单片机进行数据处理。A/D转换一般要经过采样、保持、量化及编码4个过程。在实际电路中,有些过程是合并进行的,如采样和保持,量化和编码在转换过程中是同时实现的。目前单片的ADC芯片较多,对设计者

2、来说,只需合理的选择芯片即可。现在部分的单片机片内集成了A/D转换器,仅在片内A/D转换器不能满足需要的情况下,需外扩。当然作为扩展A/D转换器的基本方法,还是应该掌握。第2页/共69页第二页,编辑于星期六:二十二点 三十分。AD转换器的分类 尽管A/D转换器的种类很多种类很多,但目前广泛应用在单片机应用系统中的主要有逐次比较型转换器逐次比较型转换器和双积分型转换器双积分型转换器,此外-式式转换器转换器逐渐得到重视和较为广泛的应用。逐次比较型逐次比较型A/DA/D转换器转换器,在精度、速度和价格上都适中,是最常用的最常用的A/DA/D转换器转换器。第3页/共69页第三页,编辑于星期六:二十二点

3、 三十分。双积分型双积分型A/DA/D转换器转换器,具有精度高、抗干扰性好、价格低廉等优点,与逐次比较型A/D转换器相比,转换速度较慢,近年来在单片机应用领域中也得到广泛应用得到广泛应用。-式式ADCADC具有积分式与逐次比较型ADC的双重优点。它对工业现场的串模干扰具有较强的抑制能力,不亚于双积分ADC,它比双积分ADC有较高的转换速度,与逐次比较型ADC相比,有较高的信噪比,分辨率高,线性度好,不需要采样保持电路。A/DA/D转换器按照转换速度可大致分为转换器按照转换速度可大致分为超高速超高速(转换时间1ns)、高速高速(转换时间1s)、中速中速(转换时间1ms)、低速低速(转换时间1s)

4、等几种不同转换速度的芯片。按照输出数字量的有效位数分为按照输出数字量的有效位数分为4 4位、位、8 8位、位、1010位、位、1212位、位、1414位、位、1616位并行输出位并行输出以及BCDBCD码输出码输出的3位半、4位半、5位半等多种。第4页/共69页第四页,编辑于星期六:二十二点 三十分。目前,除并行输出A/D转换器外,随着单片机串行扩展方式的日益增多,带有带有同步同步SPISPI串行接口串行接口的的A/DA/D转换器的使用也逐渐增多转换器的使用也逐渐增多。串行输出的A/D转换器具有占用端口线少、使用方便、接口简单占用端口线少、使用方便、接口简单等优点。较较为典型的串行为典型的串行

5、A/DA/D转换器为美国转换器为美国TITI公司公司的TLC549(8位)、TLC1549(10位)以及TLC1543(10位)和TLC2543(12位)。第5页/共69页第五页,编辑于星期六:二十二点 三十分。2.ADC主要技术指标 (1 1)转换时间和转换速率)转换时间和转换速率 A/D完成一次转换所需要的时间所需要的时间。转换时间的倒数为转换速率。(2 2)分辨率)分辨率 分辨率是衡量A/D转换器能够分辨出能够分辨出输入模拟量最小变化输入模拟量最小变化程度的技术指标程度的技术指标。分辨率取决于A/DA/D转换器的转换器的位数位数,习惯上用输出的二进制位数或BCD码位数表示。例如,例如,A

6、D1674AD1674的满量程输入电压为5V,可输出12位二进制数,即用212个数进行量化,其分分辨率为辨率为1212位位,或A/D转换器能分辨出输入电压分辨出输入电压5V/25V/21212=1.22mV=1.22mV的变化。第6页/共69页第六页,编辑于星期六:二十二点 三十分。(3 3)量化误差)量化误差 量化过程引起的误差称为量化误差量化误差。是由于有限位数字量对模拟量进行量化有限位数字量对模拟量进行量化而引起的误差。理论上规定为一个单位分辨率的-1/2-+1/2LSB,提高A/D位数既可以提高分辨率,又能够减少量化误差。(4 4)转换精度)转换精度 转换精度定义为一个实际A/D转换器

7、与一个理想A/D转换器在量化值上的差值,可用绝对误差或相对误差表示。第7页/共69页第七页,编辑于星期六:二十二点 三十分。3.逐次逼近式ADC的工作原理 转换过程中的逐次逼近是按照对分比较或者对分搜索的原理进转换过程中的逐次逼近是按照对分比较或者对分搜索的原理进行。行。工作原理:工作原理:在时钟脉冲的同步下,控制逻辑先使N位寄存器的D7位置1(其余位为),此时该寄存器输出的内容为10000000,此值经DAC转换为模拟量输出VN,与待转换的模拟输入信号VIN 相比较,若VIN=VN,则比较器输出为1。于是在时钟脉冲的同步下,保留最高位D7=1,并使下一位D6=1,所得新值(11000000B

8、)再经DAC转换得到新的VN,与VIN比较,重复前述过程。反之,若使D7=1后,经比较VIN=VN,则使D7=0,D6=1,所得新值VN再与VIN比较,重复前述过程。依次类推,从D7到D0都比较完毕后,控制逻辑使EOC变为高电平,表示A/D转换结束,此时的D7D0即为对应于模拟输入信号VIN的数字量。第8页/共69页第八页,编辑于星期六:二十二点 三十分。11.1.2 STC89C52与并型8位A/D转换器ADC0809的接口1.ADC0809芯片-逐次比较型ADC芯片分辨率为位 转换时间00S 工作量程为05V功耗为15m工作电压为+5V具有锁存控制的8路模拟开关输出与TTL电平兼容 第9页

9、/共69页第九页,编辑于星期六:二十二点 三十分。8路模拟输入信号用三根地址线A,B,C选通IN0IN7;A、B、C分别与单片机的三条地址线相连,三位编码对应三位编码对应8 8个通道地址端口个通道地址端口。C C、B B、A=000A=000111111分别对应IN0IN0IN7IN7通道的地址。引脚START启动AD转换,CLOCK转换时钟,VR参考电压,EOC转换结束标志,OE输出使能,ALE地址锁存。ADC0809的结构组成第10页/共69页第十页,编辑于星期六:二十二点 三十分。工作时序ALEALE锁存ADDAADDA、ADDBADDB、ADDCADDCSTARTSTART正脉冲启动A

10、D转换 EOCEOC由高变低(ADAD启动后)保持低电平(转换期间)由低变高(转换结束)OEOE正脉冲,打开三态门输出第11页/共69页第十一页,编辑于星期六:二十二点 三十分。2.STC89C52与ADC0809的接口 单片机读取ADC的转换结果时,可采用查询和中断控制两种方式。(1)查询方式 查询方式是在单片机把启动信号送到ADC之后,执行其他程序,同时对ADC0809的EOC脚不断进行检测,以查询ADC变换是否已经结束,如查询到变换已经结束,则读入转换完毕的数据。第12页/共69页第十二页,编辑于星期六:二十二点 三十分。由于ADC0809片内无时钟,可利用单片机提供的地址锁存允许信号A

11、LE经D触发器二分频后获得,ALE引脚的频率是STC89C52单片机时钟频率的1/6。如果单片机时钟频率采用6MHz,则ALE引脚的输出频率为1MHz,再二分频后为500kHz,符合ADC0809对时钟频率的要求。当然,也可采用独立的时钟源输出,直接加到ADC的CLK脚。第13页/共69页第十三页,编辑于星期六:二十二点 三十分。ADC0809具有输出三态锁存器,其8位数据输出引脚D0D7可直接与单片机的P0口相连。第14页/共69页第十四页,编辑于星期六:二十二点 三十分。单片机的写信号 和P2.7控制ADC的地址锁存和转换启动由于ALE和START连在一起,因此ADC0809在锁存通道地址

12、的同时启动并进行转换。第15页/共69页第十五页,编辑于星期六:二十二点 三十分。读取转换结果时,用低电平的读信号 和P2.7引脚经一级“或非门”后产生的正脉冲作为OE信号,用来打开三态输出锁存器。第16页/共69页第十六页,编辑于星期六:二十二点 三十分。【例11-1】采用ADC0809设计数据采集电路.该电路通过调节滑线变阻器,调节IN5的输入电压,A/D转换结果存放至片内数据存储器50H单元,并通过两个BCD数码管显示出来。第17页/共69页第十七页,编辑于星期六:二十二点 三十分。IN0IN7的地址分别为0 x7FF80 x7FFF。ADC0809的EOC引脚经非门74HC14与单片机

13、的外部中断输入引脚 相连,A/D转换结束后变为低电平,单片机采用查询或中断方式读取A/D转换结果。(1)查询方式)查询方式#include#include#define AD_IN0 XBYTE0X7FF8/IN0通道地址通道地址sbit ad_busy=P33;unsigned char data temp _at_ 0 x50;void main(void)while(1)AD_IN0=0;/启动启动A/D信号信号,是一个是一个虚写虚写操作。操作。while(ad_busy=1);/等待等待A/D转换结束转换结束temp=AD_IN0;/转换数据存到片内转换数据存到片内50H单元单元P1=

14、temp;/转换数据显示转换数据显示Keil uVision4第18页/共69页第十八页,编辑于星期六:二十二点 三十分。(2)中断方式 采用中断方式完成对IN0通道的输入模拟量信号的采集,当A/D转换结束后,EOC发出一个脉冲向单片机提出中断申请,单片机响应中断请求后,由外部中断1的中断服务程序读取A/D转换结果,并启动ADC0809的下一次转换。外部中断1采用边沿触发方式。中断控制方式效率高,所以特别适合于转换时间较长的ADC。#include#include#define AD_IN0XBYTE0 x7FF8/IN5通道地址通道地址unsigned char temp _at_ 0 x5

15、0;void main(void)IE=0 x84;/CPU开放中断开放中断,允许外部中断允许外部中断1中断中断IT1=1;/外部中断外部中断1采用边沿触发采用边沿触发AD_IN0=0;/启动启动A/D信号信号while(1)第19页/共69页第十九页,编辑于星期六:二十二点 三十分。void data_acquisition(void)interrupt 2 EA=0;temp=AD_IN0;/转换数据显示转换数据显示 P1=temp;AD_IN0=0;/启动启动A/D信号信号EA=1;Keil uVision4第20页/共69页第二十页,编辑于星期六:二十二点 三十分。11.1.3 STC

16、89C52与并型12位A/D转换器AD1674的接口 在某些应用中,8位ADC常常不够,必须选择分辨率大于8位的芯片,由于10位、16位接口与12位类似,因此仅以常用的12位A/D转换器AD1674为例进行介绍。1AD1674简介简介 美国AD公司1212位逐次比较型位逐次比较型A/DA/D转换器转换器。转换时间为转换时间为1010 s s,单通道最大采最大采集速率集速率100kHz100kHz。第21页/共69页第二十一页,编辑于星期六:二十二点 三十分。28引脚双列直插式封装图第22页/共69页第二十二页,编辑于星期六:二十二点 三十分。由于芯片内有三态输出缓冲电路,因而可直接与各种典型的

17、8位或16位的单片机相连,AD1674片内集成有高精度的基准电压源和时钟电路,从而使该芯片在不需要任何外加电路和时钟信号的情况下完成A/D转换,使用非常方便。AD1674是AD574A/674A的更新换代产品。它们的基本相同,引脚功能与AD574A/674A完全兼容,可以直接替换AD574、AD674使用,但最大转换时间由25s提高到10s。第23页/共69页第二十三页,编辑于星期六:二十二点 三十分。与AD574A/674AAD574A/674A相比相比,AD1674AD1674的内部结构更加紧凑的内部结构更加紧凑,集成度更高,工作性集成度更高,工作性能(尤其是高低温稳定性)更好能(尤其是高

18、低温稳定性)更好,而且可以使设计板面积大大减小,因而可以降低成本并提高系统的可靠性。目前,片内带有采样保持器的AD1674正以其优良的性能价格比,取代AD574A和AD674A。AD1674共有6个控制引脚个控制引脚,功能如下::芯片选择。CE:芯:芯片启动信号。当CE=1时,究竟是启动转换还是读取结果与R/有关。R/:读出/转换控制信号。CSCC第24页/共69页第二十四页,编辑于星期六:二十二点 三十分。12/:数据输出格式选择信号引脚。当12/=1时,12条数据线并行输出转换结果;当12/=0 时,与A0配合,转换结果分两次输出,即只有高8位或低4位有效。注意:注意:12/端与TTL电平

19、不兼容,故只能直接接至+5V或0V上。8888第25页/共69页第二十五页,编辑于星期六:二十二点 三十分。A0:字节选择控制。在转换期间在转换期间:当A0=0A0=0时,AD1674进行全12位转换。当A0=1A0=1时,仅进行8位转换。在读出期间在读出期间,与12/12/=0配合:当A0=0A0=0时,高8位数据有效;当A0=1A0=1时,低4位数据有效,中间4位为0,高4位为高阻态。8第26页/共69页第二十六页,编辑于星期六:二十二点 三十分。上述5个控制信号组合的真值表如下:当采用两次读出的采用两次读出的12位数据位数据遵循左对齐左对齐格式,如下所示:第27页/共69页第二十七页,编

20、辑于星期六:二十二点 三十分。STSSTS:输出状态信号引脚。转换开始时转换开始时,STS为高电平,转换过程中转换过程中保持高电平。转换完成时转换完成时,为低电平。STS可以作为状态信息被CPU查询,也可用下跳沿向单片机发出中断申请,通知单片机A/D转换已完成,可读取转换结果。第28页/共69页第二十八页,编辑于星期六:二十二点 三十分。除上述6个控制引脚外,其他引脚的功能如下:REFOUTREFOUT:+10V基准电压输出。REFINREFIN:基准电压输入。只有由此脚把从“REFOUT”脚输出的基准电压引入到AD1674内部的12位DAC,才能进行正常的A/D转换。BIPOFFBIPOFF

21、:双极性补偿。对此引脚进行适当的连接,可实现单极性或双极性的输入。10V10VININ:10V或5+5V模拟信号输入端。第29页/共69页第二十九页,编辑于星期六:二十二点 三十分。20V20VININ:20V或10+10V模拟信号输入端。DGNDDGND:数字地。各数字电路器件及“+5V”电源的地。AGNDAGND:模拟地。各模拟电路器件及“+15V”、“15V”电源地。V VCCCC:正电源端,为+12+15V。V VEEEE:负电源端,为1215V。第30页/共69页第三十页,编辑于星期六:二十二点 三十分。当CE=1,=0同时满足时,AD1674才能处于工作状态处于工作状态。当AD16

22、74处于工作状态时,R/=0时启动A/D转换;R/=1=1时读出转换结果。12/和和A0端用来控制转换字长和数据格式。A0=0A0=0时启动转换,按完整的12位A/D转换方式工作;A0=1A0=1启动转换,则按8位A/D转换方式工作。当当AD1674AD1674处于数据读出工作状态处于数据读出工作状态(R/=1)时,A0和12/成为数据输出格式控制端。CS8CC8C2 2AD1674AD1674的工作特性的工作特性第31页/共69页第三十一页,编辑于星期六:二十二点 三十分。12/=1时,对应12位并行输出;12/=0时,则对应8位双字节输出。其中A0=0A0=0时输出高8位,A0=1A0=1

23、时输出低4位,并以4个0补足尾随的4位。注意注意,A0在转换结果数据输出期间不能变化。如要求AD1674以独立方式独立方式工作,只要将CECE、12/端接入+5V,和A0A0接至0V,将R/作为数据读出和启动转换控制。R/=1时,数据输出端出现被转换后的数据;R/=0时,即启动一次A/D转换。在延时0.5s后,STS=1表示转换正在进行。经过一个转换周期后,STS跳回低电平,表示A/D转换完毕,可读取新的转换数据。888CCCCS第32页/共69页第三十二页,编辑于星期六:二十二点 三十分。注意,注意,只有在CE=1CE=1且 =0=0时才启动转换,在启动信号有效前,R/R/必须为低电平,否则

24、将产生读取数据的操作。3 3AD1674AD1674的单极性和双极性输入的电路的单极性和双极性输入的电路通过改变AD1674引脚8、10、12的外接电路,可使AD1674实现单极性输入和双极性输入模拟信号的转换。由于AD1674片内含有高精度的基准电压源和时钟电路,因此AD1674无需任何外加电路和时钟信号的情况下即可完成A/D转换,使用非常方便。(1 1)单极性输入电路)单极性输入电路图图11-11-8 8(a a)为单极性输入电路,可实现输入信号0 010V10V或0 020V20V的转换。当输入信号为输入信号为0 010V10V时,应从10VIN引脚输入(引脚13);输入信号为输入信号为

25、0 020V20V时,应从20VIN引脚输入(引脚14)。CSC第33页/共69页第三十三页,编辑于星期六:二十二点 三十分。AD1674模拟输入电路的外部接法注意注意:单片机系统模拟信号的地线应与单片机系统模拟信号的地线应与AGNDAGND相连,使其地线的接触电阻尽可能小。相连,使其地线的接触电阻尽可能小。第34页/共69页第三十四页,编辑于星期六:二十二点 三十分。输出的转换结果D的计算公式计算公式为:D D=4096=4096V VI IN N /V/VFSFS或或 V VININ=D DV VFSFS/4096/4096其中V VININ为模拟输入电压,V VFSFS为满量程电压。若从

26、若从10V10VININ脚输入脚输入,VFS=10V,LSB=10/409624mV;若从若从20V20VININ脚输入脚输入;VFS=20V,1LSB=20/409649mV。图中的电位器RP2用于调零,即当VIN=0时,输出数字量D为全0。35第35页/共69页第三十五页,编辑于星期六:二十二点 三十分。(2 2)双极性输入电路)双极性输入电路图图11-11-8 8(b b)为双极性转换电路双极性转换电路,可实现输入信号10+10V或0+20V的转换。图中电位器RP1用于调零。双极性输入时,输出的转换结果D与模拟输入电压VIN之间的关系为:D D=2048=2048(1+1+V VIN I

27、N/V/VFSFS)或或 V VININ=(D D /2048120481)V VFSFS/2/2例如,当模拟信号从10VIN引脚输入,则VFS=10V,若读得D=FFFH,即111111111111B=4095,代入式中,可求得VIN=4.9976V。第36页/共69页第三十六页,编辑于星期六:二十二点 三十分。转换结果的高转换结果的高8 8位位从DB11DB4输出,低低4 4位位从DB3DB0输出,即A0=0时,读取结果的高8位;当A0=1时,读取结果的低4位。若遵循左对齐若遵循左对齐的原则,DB3DB0应接单片机的P0.7P0.4。第37页/共69页第三十七页,编辑于星期六:二十二点 三

28、十分。4STC89C52单片机与AD1674的接口第38页/共69页第三十八页,编辑于星期六:二十二点 三十分。STSSTS引脚引脚接单片机的接单片机的P1.0P1.0引脚引脚,采用查询方式读取转换结果。当单片机执行对外部数据存储器写指令,使CE=1,=0,R/=0,A0=0时,启动A/D转换。当单片机查询到P1.0引脚为低电平时,转换结束,单片机使CE=1,=0,R/=1,A0=0,读取结果高8位;CE=1,=0,R/=1,A0=1,读取结果的低4位。该接口电路完成一次A/D转换的查询方式查询方式的程序如下(高8位转换结果存入R2中,低4位存入R3中,遵循左对齐原则):CSCCSCCCS第3

29、9页/共69页第三十九页,编辑于星期六:二十二点 三十分。AD1674:MOV R0,0F8H;端口地址送R0MOVXR0,A;启动AD1674进行转换SETBP1.0;置P1.0为输入LOOP:NOPJBP1.0,LOOP;查询转换是否结束INCR0;使R/1,准备读取结果MOVX A,R0;读取高8位转换结果MOVR2,A;高8位转换结果存入R2中INCR0;使R/1,A01INCR0MOVX A,R0;读取低4位转换结果MOVR3,A;低4位转换结果存入R3中CC第40页/共69页第四十页,编辑于星期六:二十二点 三十分。AD1674AD1674接口电路全部连接完毕后,在模拟输入端输入一

30、稳定的标准电压,接口电路全部连接完毕后,在模拟输入端输入一稳定的标准电压,启动启动A/DA/D转换,转换,1212位数据亦应稳定位数据亦应稳定。如果变化较大,说明电路稳定性差,则要从电源及接地布线等方面查找原因。AD1674AD1674的电源电压要有较好的稳定性和较小的噪声的电源电压要有较好的稳定性和较小的噪声,噪声大的电源会产生不稳定的输出代码,所以在设计印制电路板时,要注意电源去耦、布线以及地线的布置。这些问题对于位数较多的这些问题对于位数较多的ADCADC与单片机接口,要给予重视。与单片机接口,要给予重视。电源要很好滤波,还要避开高频噪声源。此外,所有的电源引脚都要用去耦电容所有的电源引

31、脚都要用去耦电容。第41页/共69页第四十一页,编辑于星期六:二十二点 三十分。11.2 STC89C52与D/A转换器的接口11.2.1 D/A转换器简介1.1.概述概述 模/数转换器(DAC)是一种把数字信号转换成模拟信号的器件。按照二进制数字量的位数划分,有8 位、10 位、12 位、16位D/A转换器;按照数字量的数码形式划分,有二进制码和BCD码D/A转换器;按照D/A转换器输出方式划分,有电流输出型和电压输出型D/A转换器。在实际应用中,对于电流输出的D/A转换器,如需要模拟电压输出,可在其输出端加一个由运算放大器构成的I/V转换电路,将电流输出转换为电压输出。第42页/共69页第

32、四十二页,编辑于星期六:二十二点 三十分。单片机与D/A转换器的连接,早期多采用8位数字量并行传输的并行接口,现在除并行接口外,带有串行口的D/A转换器品种也不断增多。除了通用的除了通用的UARTUART串行口外,目前较为流行的还有串行口外,目前较为流行的还有IICIIC串行口和串行口和SPISPI串行口串行口等。所以在选择单片D/A转换器时,要考虑单片机与D/A转换器的接口形式。第43页/共69页第四十三页,编辑于星期六:二十二点 三十分。目前部分单片机芯片中集成的D/A转换器位数一般在10位左右,且转换速度很快,所以单片的DAC开始向高位数和高转换速度上转变。低端的产品,如8位的D/A转换

33、器,开始面临被淘汰的危险,但是在实验室或涉及某些工业控制方面的应用,低端的8位DAC以其优异性价比还是具有相当大的应用空间的。第44页/共69页第四十四页,编辑于星期六:二十二点 三十分。2.D/A 2.D/A转换器的主要技术指标转换器的主要技术指标(1 1)分辨率)分辨率 分辨率是指输入数字量的最低有效位(LSB)发生变化时,所对应的输出模拟量(常为电压)的变化量。它反映了输出模拟量的最小变化值。分辨率与输入数字量的位数有确定的关系,可以表示成FS/2n。FS表示满量程输入值,n为二进制位数。对于5V的满量程,采用位的DAC 时,分辨率为5V/28=19.5mV;当采用12位的DAC时,分辨

34、率则为5V/2121.22mV。显然,位数越多,分辨率就越高。即D/A转换器对输入量变化的敏感程度越高。使用时,应根据对使用时,应根据对D/AD/A转换器分辨率的需要来选定转换器分辨率的需要来选定D/AD/A转换器的位数。转换器的位数。第45页/共69页第四十五页,编辑于星期六:二十二点 三十分。(2 2)建立时间)建立时间 描述D/A转换器转换快慢转换快慢的一个参数,用于表明转换时间或转换速度表明转换时间或转换速度。其值为从输入数字量到输出达到终值误差(1/2)LSB时所需的时间。电流输出型电流输出型DACDAC的转换时间较短较短,而电压输出电压输出的转换器,由于要加上完成I-V转换的运算放

35、大器的延迟时间,因此转换时间要长一些转换时间要长一些。快速D/A转换器的转换时间可控制在1s以下。第46页/共69页第四十六页,编辑于星期六:二十二点 三十分。(3 3)转换精度)转换精度理想情况下,转换精度与分辨率基本一致,位数越多精度越高。但由于电源电压、基准电压、电阻、制造工艺等各种因素存在着误差。严格讲,转换精度与分辨率并不完全一致转换精度与分辨率并不完全一致。只要位数相同,分辨率则相同,但相同但相同位数的不同转换器位数的不同转换器转换精度转换精度会有所不同会有所不同。例如,例如,某种型号的8位DAC精度为0.19%,而另一种型号的8位DAC精度为0.05%。第47页/共69页第四十七

36、页,编辑于星期六:二十二点 三十分。3.(电流输出型)D/A转换器的工作原理 目前常用的D/A转换器是由型电阻网络构成的。RVIREF 总电流总电流分支电流分支电流2iniIIRRVDDDDVIREFREFnininiiniiniiiDDIDI256)2222(001166771010100122转换电流转换电流I01转换电流与“逻辑开关”为1的各支路电流的总和成正比,即与与D0D7口输入的口输入的二进制数成正比二进制数成正比。第48页/共69页第四十八页,编辑于星期六:二十二点 三十分。转换电压DAC0832外接放大器反馈电阻即,转换电压正比于待转换的二进制数和参考电压转换电压正比于待转换的

37、二进制数和参考电压256256)256)1222(222(006677006677VVDDDRVDDDRIVREFREFfbREFBRfboo第49页/共69页第四十九页,编辑于星期六:二十二点 三十分。当输入数据D7D0 为11111111B 时,有第50页/共69页第五十页,编辑于星期六:二十二点 三十分。11.2.2 STC89C52与8位D/A转换器DAC0832的接口设计1.DAC0832芯片-电流输出型D/A转换器8 8位并行输入方式分辨率19.5mV(VREF=5V19.5mV(VREF=5V)电流建立时间S S 输入与TTLTTL电平兼容 单一电源供电(5V5V15V15V)低

38、功耗,20m20mw w第51页/共69页第五十一页,编辑于星期六:二十二点 三十分。引脚功能:引脚功能:DI0DI0DI7DI7:8 8位数字信号输入端,位数字信号输入端,与单片机的数据总线与单片机的数据总线P0P0口相连口相连,用于接收单片,用于接收单片机送来的待转换为模拟量的数字量,机送来的待转换为模拟量的数字量,DI7DI7为最高位。为最高位。:片选端,为低电平时,本芯片被选中。片选端,为低电平时,本芯片被选中。ILEILE:数据锁存允许控制端,高电平有效。数据锁存允许控制端,高电平有效。:第一级输入寄存器写选通控制,低电平有效。当第一级输入寄存器写选通控制,低电平有效。当 =0 =0

39、,ILE=1ILE=1,=0=0时,待转换的数据信号被锁存到第一级时,待转换的数据信号被锁存到第一级8 8位输入寄存器位输入寄存器中。中。CSWR1CSWR1第52页/共69页第五十二页,编辑于星期六:二十二点 三十分。:数据传送控制,低电平有效。数据传送控制,低电平有效。:DACDAC寄存器写选通控制端,低电平有效。当寄存器写选通控制端,低电平有效。当 =0,=0=0时,输入寄存器中待转换的数据传入时,输入寄存器中待转换的数据传入8 8位位DACDAC寄存器中。寄存器中。IOUT1:D/AD/A转换器电流输出转换器电流输出1 1端,输入数字量全为端,输入数字量全为“1 1”时,时,IOUT1

40、最大,最大,输入数字量全为输入数字量全为“0 0”时,时,I IOUT1OUT1最小。最小。IOUT2:D/AD/A转换器电流输出转换器电流输出2 2端,端,I IOUT2OUT2+I+IOUT1OUT1=常数。常数。Rfb:外部反馈信号输入端,内部已有反馈电阻外部反馈信号输入端,内部已有反馈电阻R Rfbfb,根据需要也可外接,根据需要也可外接反馈电阻。反馈电阻。VCC:电源输入端,在电源输入端,在+5V+5V+15V+15V范围内。范围内。XFER2WRXFER2WR第53页/共69页第五十三页,编辑于星期六:二十二点 三十分。DAC0832的结构内部组成:1个8位输入锁存器1个8位DAC

41、寄存器1个8位D/A转换器5个控制逻辑(2级控制)工作过程工作过程:8位数据并行送入锁存器位数据并行送入锁存器在在第第1级级控控制信号作用下进入寄存器制信号作用下进入寄存器在在第第2级级控制信号作用下控制信号作用下进入转换器进入转换器转换结果由转换结果由Iout1电流输出。电流输出。第54页/共69页第五十四页,编辑于星期六:二十二点 三十分。DAC0832的3种控制方式直通方式 两个寄存器都处于直通状态直通方式不能直接与系统的数据总线相连,需另加锁存器,故较少应用。单缓冲方式 一个寄存器处于直通,另一个处于受控状态双缓冲方式 两个寄存器都分别处于受控状态第55页/共69页第五十五页,编辑于星

42、期六:二十二点 三十分。电路采用I/O口方式接线,直通控制方式4个控制端都接低电平,ILE接高电平。数字量一旦输入,就直接进入DAC寄存器,进行D/A转换。直通控制方式直通控制方式-两个寄存器都处于直通状态两个寄存器都处于直通状态2STC89C52与DAC0832的接口第56页/共69页第五十六页,编辑于星期六:二十二点 三十分。单缓冲方式单缓冲方式-内部的两个数据缓冲器有一个处于直通方式,内部的两个数据缓冲器有一个处于直通方式,另一个处于受单片机控制的锁存方式。另一个处于受单片机控制的锁存方式。在实际应用中,如果只有一路模拟量输出,或虽是多路模拟量输出但并不要求多路输出同步的情况下,可采用单

43、缓冲方式。DAC0832单缓冲方式接口单极性输出 的正负极性由VREF的极性确定。第57页/共69页第五十七页,编辑于星期六:二十二点 三十分。图中ILE接5V,IOUT2接地,IOUT1输出电流经运算放大器变换后输出单极性电压,范围为05V。DAC0832的“8位DAC寄存器”工作于直通方式。“8位输入寄存器”处于受控状态,由P2.7来控制。当单片机执行如下指令就可在 和 上产生低电平,使DAC0832接收STC89C52送来的数字量。MOV DPTR,#7FFFH MOV A,#data MOVXDPTR,ACS1WR第58页/共69页第五十八页,编辑于星期六:二十二点 三十分。【例11-

44、2】DAC0832用作波形发生器。写出产生三角波和矩形波的程序。第59页/共69页第五十九页,编辑于星期六:二十二点 三十分。#include#define DAC0832 XBYTE0 x7fff /设置DAC0832的访问地址unsigned char num;void main()while(1)for(num=0;num 0;num-)/下降段波形DAC0832=num;/DAC0832转换输出 三角波三角波Keil uVision4第60页/共69页第六十页,编辑于星期六:二十二点 三十分。第61页/共69页第六十一页,编辑于星期六:二十二点 三十分。矩形波矩形波#include#d

45、efine DAC0832 XBYTE0 x7fff /设置DAC0832的访问地址unsigned int i;void main()while(1)for(i=0;i10000;i+)/置上限电平对应的数字量,延时 DAC0832=255;for(i=0;i20000;i+)/置下限电平对应的数字量,延时 DAC0832=0;Keil uVision4第62页/共69页第六十二页,编辑于星期六:二十二点 三十分。第63页/共69页第六十三页,编辑于星期六:二十二点 三十分。双缓冲方式双缓冲方式两个寄存器都分别处于受控状态。两个寄存器都分别处于受控状态。对于多路D/A转换需要同步转换输出的系

46、统,应该采用双缓冲器同步方式。DAC0832工作于双缓冲器工作方式时,数字量的输入锁存和D/A转换是分两步完成的。首先,CPU的数据总线分时分时地向各路地向各路D/A 转换器输入要转换的数字量并锁存在各自的转换器输入要转换的数字量并锁存在各自的输入锁存器中输入锁存器中,然后CPU对所有的D/A 转换器发出控制信号,使各个D/A转换器输入锁存器中的数据打入DAC 寄存器,实现同步同步转换输出转换输出。在需要多路D/A转换输出的场合,除了采用上述方法外,还可以采用多通道DAC芯片。这种DAC芯片在同一个封装里有两个以上相同的DAC,它们可以各自独立工作,例如AD7528是双通道8位DAC芯片,可以

47、同时输出两路模拟量;AD7526是四通道8位DAC芯片,可以同时输出四路模拟量。第64页/共69页第六十四页,编辑于星期六:二十二点 三十分。【例11-3】根据下图,实现两路D/A同步输出,产生上行、下行两路锯齿波。Keil uVision4第65页/共69页第六十五页,编辑于星期六:二十二点 三十分。#include#define DAC1 XBYTE0 xdfff/设置1#DAC0832输入锁存器的访问地址#define DAC2 XBYTE0 xbfff/设置2#DAC0832输入锁存器的访问地址#define DAOUT XBYTE0 x7fff/两个DAC0832的DAC寄存器访问地

48、址 void main(void)unsigned char num;/需要转换的数据 while(1)for(num=0;num=255;num+)DAC1=num;/上锯齿送入1#DACDAC2=255-num;/下锯齿送入2#DAC DAOUT=num;/两路同时进行D/A转换输出 第66页/共69页第六十六页,编辑于星期六:二十二点 三十分。第67页/共69页第六十七页,编辑于星期六:二十二点 三十分。3双极性电压输出 在需要用到双极性电压输出的场合,可以按照图11-14接线。图中DAC0832的数字量由单片机送来,A1和A2均为运算放大器,通过2R电阻反馈到运算放大器A2输入端,G点为虚拟地。由基尔霍夫定律列出的方程组可解得DAC的双极性输出返回CHA11第68页/共69页第六十八页,编辑于星期六:二十二点 三十分。感谢您的观看!第69页/共69页第六十九页,编辑于星期六:二十二点 三十分。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!