理论教育 智能电子产品设计|单片机技术教程

智能电子产品设计|单片机技术教程

时间:2023-10-20 理论教育 版权反馈
【摘要】:图5.12D/A转换器的输出曲线2.D/A转换器的主要性能指标分辨率。图5.15DAC0832的电压输出电路4.DAC0832与单片机的接口与仿真图5.16所示为DAC0832采用单缓冲方式与89C52单片机的接口电路。

智能电子产品设计|单片机技术教程

单片机应用系统中,常会涉及许多如温度、压力、位移和速度等的模拟量,这时需要将模拟量转换成数字量后,由单片机进行数据处理,模拟量转换成数字量的过程为模/数转换(A/D转换),实现A/D转换的器件为模/数转换器(A/D转换器);同样,在使用单片机对一些外部设备(如电磁阀电动机等)进行连续可调控制时,应该将单片机直接输出的数字量转换成模拟量驱动外部设备,数字量转换成模拟量的过程称为数/模转换(D/A转换),实现D/A转换的器件叫数/模转换器(D/A转换器)。

D/A转换器的种类很多,按照输入数字量的位数可分为8位、10位、12位和16位等转换器;按照输入数字量的数码形式可分为二进制码和BCD码等转换器;按传输数字量的方式可分为并行和串行转换器;按输出方式可分为电流输出型和电压输出型转换器;按工作原理可分为T型电阻网络型和权电流型转换器。

一、D/A转换的基本知识

1.D/A转换的过程

D/A转换的基本原理是用电阻解码网络将N位数字量逐位转换成模拟量并求和,D/A转换器的基本结构如图5.11所示。

图5.11 D/A转换器的基本结构

在进行转换时首先将单片机输出的数字信号传递到数据寄存器中,然后由模拟电子开关把数字信号的高低电平变成对应的电子开关状态。当数字量某位为“1”时,电子开关将基准电压V接入电阻网络的相应支路,若为“0”时,则将该支路接地。各支路的电流信号经过电阻网络加权后,由运算放大器求和并转换成电压信号,作为D/A转换器的输出。D/A电阻解码网络通常由T型电阻网络构成。

由于数字量的不连续性,同时D/A转换器进行转换及单片机输出数据都需要一定的时间,因此输出的模拟量随时间的变化曲线是呈阶梯状不连续的曲线,如图5.12所示。

图中时间坐标的最小分度Δt是相邻两次输出数据的时间间隔,如果Δt较小,曲线的台阶较密,就可以近似认为D/A转换后的输出电压或电流是连续的。

图5.12 D/A转换器的输出曲线

2.D/A转换器的主要性能指标

(1)分辨率

D/A转换器输出模拟量的最小变化量,常用输入数字量的位数来描述。如果D/A转换器输入的数字量位数为n,则它的分辨率为1/2n,输入数字量位数越多,输出模拟量的最小变化量就越小。

(2)建立时间。

从输入数字量到转换为模拟量输出所需的时间,反映D/A转换器的速度快慢程度,一般电流型D/A转换器比电压型D/A转换器快。

(3)转换精度。

在D/A转换器转换范围内,输入数字量对应的模拟量实际输出值与理论值之间的最大误差,主要包括失调误差、增益误差和非线性误差等。

3.接口形式

D/A转换器与单片机接口方便与否,主要决定于转换器本身是否带数据锁存器。有两类D/A转换器,一类是不带锁存器的,另一类是带锁存器的。对于不带锁存器的D/A转换器,为了保存来自单片机的转换数据,接口时要另加锁存器,因此这类转换器必须在口线上;而带锁存器的D/A转换器,可以把它看作是一个输出口,因此可直接在数据总线上,而不需另加锁存器。

二、8位D/A转换器DAC0832

DAC0832是一个8位D/A转换器。是电流输出型转换器,可外接运算放大器转换为电压输出,单电源供电,从+5 V~+15 V均可正常工作。基准电压的范围为±10 V;电流建立时间为1μs;CMOS工艺,低功耗20 mW。

1.内部结构及引脚分配

DAC0832的内部结构如图5.13所示,由8位输入锁存器、8位DAC寄存器、8位D/A转换器和转换控制电路构成,输入锁存器和DAC寄存器构成两级数据输入缓存,通过转换控制电路实现双缓冲、单缓冲或直通三种工作方式。DAC0832采用20脚双列直插式封装,引脚分配如图5.14所示。

各引脚功能如下:

DI0~DI7:8位数字量输入端。

Iout1、Iout2:电流输出引脚,电流Iout1与Iout2的和为常数。

:片选信号,低电平有效。

ILE:允许锁存信号,高电平有效。

:写信号1,低电平有效。当、ILE均为有效时,将数据写入输入锁存器。

:写信号2,低电平有效。

图5.13 DAC0832内部结构框图

图5.14 DAC0832引脚图(www.daowen.com)

:数据传送控制信号,低电平有效。当有效时,将数据由输入锁存器送入DAC寄存器。

VREF:基准电压输入端,可在-10~+10V范围内调节。

Rfb:反馈信号输入端,当采用电压输出时,可作为外部运算放大器的反馈电阻端。

VCC:数字电源输入引脚,+5~+15V。

DGND、AGND:分别为数字地和模拟地。

2.DAC0832的工作方式

根据对DAC0832的输入寄存器和DAC寄存器不同的控制,DAC0832有单缓冲、双缓冲和直通3种工作方式。

(1)单缓冲方式。

是将输入锁存器和DAC寄存器相应的控制信号分别连接在一起,或者任意一个置于直通方式而另一个受CPU控制,当数字量送入时只经过一级缓冲就进入D/A转换器进行转换。这种方式适用于只有一路模拟量输出或有几路模拟量输出但不要求同步的系统。

(2)双缓冲方式。

输入锁存器和DAC寄存器分别受CPU控制,数字量的输入锁存和D/A转换分两步完成。当数字量被写入输入锁存器后并不马上进行D/A转换,当CPU向DAC寄存器发出有效控制信号时,才将数据送入DAC寄存器并进行D/A转换。这种工作方式适用于多路模拟量同步输出的场合。

(3)直通方式。

数据不需两级锁存器锁存,即片选信、写信及数据传送控制信号的引脚全部接地,允许输入锁存信号ILE引脚接+5V,当数字量送到数据输入端时,不经过任何缓冲立即进入D/A转换器进行转换。此方式适用于连续反馈控制线路。

3.DAC0832的输出方式

DAC0832的输出方式为电流输出型,若需要电压输出可使用运算放大器构成单极性输出或双极性输出,如图5.15所示。

图中参考电压VREF为-5V,则单极性输出电路中电压Vout=0~+5V;双极性输出电路中电压VA=0~+5V,Vout=-5~+5V。

图5.15 DAC0832的电压输出电路

4.DAC0832与单片机的接口与仿真

图5.16所示为DAC0832采用单缓冲方式与89C52单片机的接口电路。允许锁存信号端ILE接+5V,基准电压VREF接-5V时,Iout1输出电流经运算放大器输出0~+5V单极性电压。由于片选与单片机的P2.7相连,接地,DAC0832的与单片机的相连,因此输入锁存器地址为7FFFH,DAC寄存器处于直通状态。

当CPU对DAC0832执行一次写操作时,就将数据从P0口写入DAC0832的输入锁存器并进行D/A转换,输出的模拟量随之变化。

图5.16 DAC0832单缓冲方式接口电路

例5-1 利用图5.16所示电路,在Vout端产生锯齿波信号输出并仿真。

参考程序如下:

执行上述程序,在运算放大器的输出端就能得到如图5.17所示的锯齿波。

图5.17 仿真运行图

对锯齿波的产生进行如下几点说明:

①程序每循环一次,输出数字量加1(a++),因此实际上锯齿波的上升边是由256个小阶梯构成的,但由于阶梯很小,所以就是如图5.17中所表示的线性增长锯齿波。

②主程序中循环程序段每执行一次所用的时间,就是一个数据的转换时间,主要由延时函数的延时时间决定,因此,可根据需要,通过改变延时时间来实现不同的波形周期。

③通过变量a加1,可得到递增的锯齿波;如要得到递减的锯齿波,则将变量a减1即可实现。

④程序中变量a的取值范围是0~255,因此得到的锯齿波是满幅度的。如要求得到非满幅锯齿波,可通过计算求得数字量的初值和终值,然后在程序中通过置初值判终值的办法即可实现。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈