首页 理论教育 D/A转换接口改为单片机应用实例

D/A转换接口改为单片机应用实例

时间:2023-10-22 理论教育 版权反馈
【摘要】:D/A转换接口技术的主要内容是合理选择D/A转换器和其他有关器件,实现与微机的正确连接以及编制转换程序。在单片机测控系统中经常采用的是D/A转换器的集成电路芯片,称为D/A接口芯片或DAC芯片。1)权电阻D/A转换法。2)R-2R T型电阻电网络D/A转换器。图10-15 T型网络D/A转换器原理图不带锁存器的D/A转换器必须通过数据锁存器与CPU相连。2)转换精度指满量程时DAC的实际模拟输出量与理论值的接近程度,与D/A转换芯片的结构和接口配置电路有关。

D/A转换接口改为单片机应用实例

D/A转换接口技术的主要内容是合理选择D/A转换器和其他有关器件,实现与微机的正确连接以及编制转换程序。

1.概述

(1)D/A转换器 单片机是数字设备,其内部信息只能以数字形式存储、传递和处理,而外部被控系统需要的控制信息大多是连续变化的模拟量信号,因此为实现单片机对外部被控对象的控制和调整,需接D/A转换器。D/A转换器是一种能把数字量转换成模拟量的电子器件。在单片机测控系统中经常采用的是D/A转换器的集成电路芯片,称为D/A接口芯片或DAC芯片。

(2)D/A电路原理及性能 实现D/A转换的方法比较多,这里仅举两种方法,简单地介绍D/A转换的过程。

1)权电阻D/A转换法。权电阻D/A转换电路实质上是一个反相求和放大器,图10-14所示是权电阻4位二进制D/A转换的典型电路。电路由权电阻、位切换开关、反馈电阻和运算放大器组成。

978-7-111-46831-8-Chapter10-48.jpg

图10-14 权电阻4位二进制D/A转换的典型电路

权电阻的阻值按8∶4∶2∶1的比例配置(即按二进制的权配置),显然,放大器的输入各项电流978-7-111-46831-8-Chapter10-49.jpg978-7-111-46831-8-Chapter10-50.jpg978-7-111-46831-8-Chapter10-51.jpg978-7-111-46831-8-Chapter10-52.jpg,其中VR为基准电压。各项电流的通断由输入二进制各位通过位切换开关控制,这些电流值符合二进制位关系。经运算放大器反相求和,其输出的模拟量与二进制数据d3d2d1d0成比例:

978-7-111-46831-8-Chapter10-53.jpg

式中 d3d2d1d0——输入二进制的响应位,其取值为0时表示切换开关断,该位无电流输入;当取值为1时,表示切换开关和上,该位有电流输入。

选用不同的权电阻网络,可以得到不同编码数的D/A转换器。

在输入的二进制位数比较多的情况下,权电阻的阻值分散性较大,给生产带来困难,同时也影响精度,尤其是最小值的权电阻对精度影响最大。所以权电阻D/A转换器一般是不用的。

2)R-2R T型电阻电网络D/A转换器。实际应用的D/A转换器普遍采用R-2R T型电阻网络,一个运算放大器和一个反馈电阻RF组成。这种转换方法与上述权电阻D/A转换器的主要区别在于电阻求和网络的结构不同,它采用了分流原理实现对输入位数字量的转换。

T型网络D/A转换器原理如图10-15所示。图中无论从哪个R-2R的节点向上或向下看,等效电阻都是R;从d3d2d1d0看进去等效电阻都是3R。所以从每一开关流入的电流I可以看作相等,即978-7-111-46831-8-Chapter10-54.jpg。这样由开关d3d2d1d0流入的电流I经过T型电阻网络的分流,实际进入运算放大器输入端的电流依次为978-7-111-46831-8-Chapter10-55.jpg978-7-111-46831-8-Chapter10-56.jpg978-7-111-46831-8-Chapter10-57.jpg978-7-111-46831-8-Chapter10-58.jpg。设d3、d2、d1、d0为输入的二进制数字量,于是输出的电压值为:

978-7-111-46831-8-Chapter10-59.jpg

式中 d3d2d1、d0——的取值为0或1,0表示切换开关与地相连,1表示切换开关与参考电压VR接通,该位有电流输入。这就完成了由二进制数到模拟量电压信号的转换。

由此可见,D/A转换器是提供电流的器件,所以在D/A输出端加运算放大器对电流信号放大才能转换成模拟电压信号。

D/A的输出电压不仅与二进制数码有关,而且与运算放大器的反馈电阻RF、基准电压VR有关,当调节D/A满刻度及输出范围时,往往要调整这两个参数。

D/A转换器从输入二进制数到转换成模拟量电压输出,需要经历一定的过程,这就是D/A转换的时间,一般在几微秒左右。计算机的运行速度很快,其输出信号一般只停留数微秒,所以无论什么类型的D/A转换器,都必须在接口中设置锁存器,使短暂的输出信号锁存,为D/A转换器提供足够时间、稳定的数字信号

978-7-111-46831-8-Chapter10-60.jpg

图10-15 T型网络D/A转换器原理图

不带锁存器的D/A转换器必须通过数据锁存器与CPU相连。DAC0808和DAC0832都属于R-2R T型电阻网络的8位D/A转换器,其精度均是8位,电流稳定时间为1μs,为电流输出型;DAC0808的数字量输入端不带锁存器,而DAC0832片内带数字输入锁存器。

(3)D/A转换器的性能指标

1)分辨率是指D/A接口芯片能分辨的最小输出模拟增量。输入数量发生单位数码变化时,即LSB(最低有效位)产生一次变化时,所对应输出的模拟量的变化量。对于线性D/A转换器来说,其分辨率Δ与数字量的位数n的关系:

978-7-111-46831-8-Chapter10-61.jpg

在实际使用中,表示分辨率高低更常用的方法是采用输入量的位数,如满量程10V的8位DAC芯片的分辨率为8位。

978-7-111-46831-8-Chapter10-62.jpg

2)转换精度指满量程时DAC的实际模拟输出量与理论值的接近程度,与D/A转换芯片的结构和接口配置电路有关。通常,DAC的转换精度为分辨率的一半。

3)失调误差是指输入数字量为零时,模拟输出量与理想输出量的偏差。偏差值的大小一般用LSB的份数或用偏差值表示。

(4)D/A转换器的选择要点

1)输入信号的形式:输入信号有并行和串行两种形式,根据实际要求选定。在实际应用中大多数为并行输入。串行输入节省数据线,但速度较慢,适用于远距离数据传输。

2)分辨率和转换精度:根据对输出模拟量的精度要求,来确定A/D转换器的分辨率和转换精度。常用的分辨率有8位、10位和12位。在精度指标方面,零点误差和满量程误差可以通过电路调整进行补偿,因此主要看芯片的非线性误差和微分非线性误差。

3)建立时间:D/A转换器的电流建立时间很短,一般为50~500ns。若是输出电压形式,加上运算放大器电路,电压建立时间一般为1μs到几μs,一般都能满足系统要求。

4)转换结果的输出形式:转换结果的输出形式有电流或电压,有单极性或双极性,有不同量程,还有多通道输出方式。这可根据应用系统对模拟量形式的实际要求来确定。

2.D/A转换典型芯片——DAC0832芯片

DAC0832是与微处理器完全兼容的,具有8位分辨率的D/A转换集成芯片,以其价廉、接口简单、转换控制容易等优点,在单片机应用系统中得到了广泛的应用。

(1)DAC0832的结构与应用特性

1)DAC0832的结构与引脚功能。DAC0830系列产品包括DAC0830、DAC0831、DAC0832,它们可以完全相互代换。其逻辑结构及引脚号如图10-16所示。它由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成,为20脚双列直插式封装结构。8位输入寄存器用于存放CPU送来的数字量,使输入的数字量得到缓冲和锁存,由978-7-111-46831-8-Chapter10-63.jpg控制。8位DAC寄存器用于存放待转换的数字量,由978-7-111-46831-8-Chapter10-64.jpg控制。8位D/A转换电路由T型电阻网络和电子开关组成,电子开关受8位DAC寄存器输出控制,T型电阻网络可以输出与数字量成正比的模拟电流。

978-7-111-46831-8-Chapter10-65.jpg

图10-16 DAC0832内部结构图

各引脚的功能如下:

DI0~DI7:8位数据输入端常和CPU的数据总线相连,用于输入CPU送来的待转换的数字量,DI 7为最高位。

ILE:数据允许锁存信号引脚,电平有效。

978-7-111-46831-8-Chapter10-66.jpg:输入寄存器选择信号引脚,低电平有效。

978-7-111-46831-8-Chapter10-67.jpg:输入寄存器写选通信号,输入寄存器的锁存信号LE1由ILE、CS、WR1的逻辑组合产生,978-7-111-46831-8-Chapter10-68.jpg为高电平时,输入寄存器状态随输入数据线变化,

978-7-111-46831-8-Chapter10-69.jpg的负跳变将输入数据锁存。

978-7-111-46831-8-Chapter10-70.jpg:传送控制输入线,低电平有效。

978-7-111-46831-8-Chapter10-71.jpg:DAC寄存器的写选通信号。DAC寄存器的锁存信号LE2由WR2和XFER的逻辑组合而成,978-7-111-46831-8-Chapter10-72.jpg为高电平时,DAC寄存器的输出随寄存器的输入而变化,978-7-111-46831-8-Chapter10-73.jpg负跳变时,输入寄存器的内容打入DAC寄存器并开始D/A转换。

VREF:参考电压输入端,一般在-10~10V,由稳压电源提供。(www.xing528.com)

Rfb:运算放大器反馈信号输入端,通常接到运算放大器输出端。

Iout1、Iout2:电流输出端,其值随DAC内容线性变化,Iout1+Iout2=常数。为保证额定负载下输出电流的线形度,Iout1、Iout2引脚上的电位尽量接近地电平。因此Iout1、Iout2通常接运算放大器输入端。

VCC:电源输入端,可在5~15V范围内。

AGND:模拟地。

DGND:数字地。通常上两种地线接在一起。

2)DAC0832芯片的应用特性。

①DAC0832是微处理器兼容型D/A转换器芯片,可以充分利用微处理器的控制能力实现对D/A转换的控制,故这种芯片有许多控制引脚,可以和微处理器的控制线相连,接受微处理器的控制,如ILE、978-7-111-46831-8-Chapter10-74.jpg978-7-111-46831-8-Chapter10-75.jpg978-7-111-46831-8-Chapter10-76.jpg978-7-111-46831-8-Chapter10-77.jpg端。

②有两级锁存控制功能,能够实现多通道D/A的同步转换输出。

③DAC0832内部无参考电压,需外接参考电压电路。

④DAC0832为电流输出型D/A转换器,要获得模拟电压输出时,需要外加转换电路。图10-17所示为两级运算放大器组成的模拟电压输出电路。从a端输出为单极性模拟电压,如参考电压VREF=+5V,输出电压为-5V~0;从b端输出为双极性模拟电压,为±5V。

978-7-111-46831-8-Chapter10-78.jpg

图10-17 DAC0832的模拟电压输出电路

对于单极性输出电路,输出电压的表达式为:

978-7-111-46831-8-Chapter10-79.jpg

式中 B——输入数字量的十进制数;

VREF——参考电压(V)。

显然,参考电压VREF=+5V,当B=0~255(输入数字量为00H~0FFH)时,VOUT=0~4.98V。通过调节运算放大器的调零电位器,可以对D/A芯片进行零点补偿。通过调节外接于反馈回路的电位器,可以调整满量程。

对于双极性输出电路,输出电压的表达式为:

978-7-111-46831-8-Chapter10-80.jpg

双极性输出电压与输入数字量的关系见表10-9。

表10-9 双极性输出电压与输入数字量的关系

978-7-111-46831-8-Chapter10-81.jpg

(续)

978-7-111-46831-8-Chapter10-82.jpg

3)DAC0832主要性能指标如下。

分辨率 8位

输出电流稳定时间 1μs

非线件误差 0.20%FSR

温度系数 2×10-6/℃

工作方式 直通、单缓冲和双缓冲

逻辑输入 与TTL电平兼容

功耗 20mW

电源 -15V~+5

(2)DAC0832和MCS-51系列单片机的接口方式DAC0832和MCS-51系列单片机有三种基本的接口方式:直通方式、单缓冲器方式和双缓冲器同步方式。

1)直通方式接口。DAC0832内部有两个起数据缓冲器作用的寄存器,分别受978-7-111-46831-8-Chapter10-83.jpg978-7-111-46831-8-Chapter10-84.jpg控制。如果使978-7-111-46831-8-Chapter10-85.jpg978-7-111-46831-8-Chapter10-86.jpg皆为高电平,那么DI0~DI7上的信号可直通到达8位DAC寄存器,进行D/A转换,即ILE接+5V,978-7-111-46831-8-Chapter10-87.jpg978-7-111-46831-8-Chapter10-88.jpg978-7-111-46831-8-Chapter10-89.jpg978-7-111-46831-8-Chapter10-90.jpg接地。此方式常用于不带微机的控制系统。

2)单缓冲器方式接口。若应用系统中只有一路D/A转换或虽然是多路转换,但并不要求同步输出时,则采用单缓冲器方式接口,如图10-18所示,ILE接+5V,寄存器选择信号线978-7-111-46831-8-Chapter10-91.jpg及数据传送信号线978-7-111-46831-8-Chapter10-92.jpg都与地址选择线P2.7相连,两级寄存器的写信号都由AT89S51的978-7-111-46831-8-Chapter10-93.jpg端控制输入锁存器,DAC寄存器地址都可选为7FFFH。写信号WR1、WR2都和AT89S51的写信号WR相连,当地址线选择好0832后,只要输出978-7-111-46831-8-Chapter10-94.jpg控制信号,0832就能一步完成数字量的输入锁存和D/A转换输出。

由于DAC0832具有数字量的输入锁存功能,故数字量可以直接从P0接口送入。

执行下面几个指令就能完成一次D/A转换。

978-7-111-46831-8-Chapter10-95.jpg

例如 按图10-18所示的AT89C51与DAC0832单缓冲方式接口电路,编写程序,在运算放大器输出端输出一个三角波电压。

978-7-111-46831-8-Chapter10-96.jpg

978-7-111-46831-8-Chapter10-97.jpg

978-7-111-46831-8-Chapter10-98.jpg

图10-18 DAC0832单缓冲方式接口电路

3)双缓冲器同步方式接口。对于多路D/A转换接口,要求同步进行D/A转换输出时,必须采用双缓冲器同步方式接口。0832采用这种接口时,数字量的输入锁存和D/A转换输出分两步完成,即CPU的数据总线分时地向各路D/A转换器输入要转换的数字量并锁存在各自的输入寄存器中,然后CPU对所有的D/A转换器发出控制信号,使各个D/A转换器输入寄存器中的数据送入DAC寄存器,实现同步转换输出。

图10-19所示是DAC0832双缓冲方式二路同步输出的D/A转换接口电路。P2.5和P2.6分别选择两路D/A转换器的输入寄存器,控制输入锁存;P2.7连到两路D/A转换器的978-7-111-46831-8-Chapter10-99.jpg端控制同步转换输出;AT89S51的978-7-111-46831-8-Chapter10-100.jpg端与所有的978-7-111-46831-8-Chapter10-101.jpg978-7-111-46831-8-Chapter10-102.jpg端相连,在执行MOVX输出指令时,AT89S51自动输出WR控制信号。

执行下面8条指令就能完成D/A的同步转换输出。

978-7-111-46831-8-Chapter10-103.jpg

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

我要反馈