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转换的典型电路。电路由权电阻、位切换开关、反馈电阻和运算放大器组成。
图10-14 权电阻4位二进制D/A转换的典型电路
权电阻的阻值按8∶4∶2∶1的比例配置(即按二进制的权配置),显然,放大器的输入各项电流是、、、,其中VR为基准电压。各项电流的通断由输入二进制各位通过位切换开关控制,这些电流值符合二进制位关系。经运算放大器反相求和,其输出的模拟量与二进制数据d3、d2、d1、d0成比例:
式中 d3、d2、d1、d0——输入二进制的响应位,其取值为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;从d3、d2、d1、d0看进去等效电阻都是3R。所以从每一开关流入的电流I可以看作相等,即。这样由开关d3、d2、d1、d0流入的电流I经过T型电阻网络的分流,实际进入运算放大器输入端的电流依次为、、、。设d3、d2、d1、d0为输入的二进制数字量,于是输出的电压值为:
式中 d3、d2、d1、d0——的取值为0或1,0表示切换开关与地相连,1表示切换开关与参考电压VR接通,该位有电流输入。这就完成了由二进制数到模拟量电压信号的转换。
由此可见,D/A转换器是提供电流的器件,所以在D/A输出端加运算放大器对电流信号放大才能转换成模拟电压信号。
D/A的输出电压不仅与二进制数码有关,而且与运算放大器的反馈电阻RF、基准电压VR有关,当调节D/A满刻度及输出范围时,往往要调整这两个参数。
D/A转换器从输入二进制数到转换成模拟量电压输出,需要经历一定的过程,这就是D/A转换的时间,一般在几微秒左右。计算机的运行速度很快,其输出信号一般只停留数微秒,所以无论什么类型的D/A转换器,都必须在接口中设置锁存器,使短暂的输出信号锁存,为D/A转换器提供足够时间、稳定的数字信号。
图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的关系:
在实际使用中,表示分辨率高低更常用的方法是采用输入量的位数,如满量程10V的8位DAC芯片的分辨率为8位。
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送来的数字量,使输入的数字量得到缓冲和锁存,由控制。8位DAC寄存器用于存放待转换的数字量,由控制。8位D/A转换电路由T型电阻网络和电子开关组成,电子开关受8位DAC寄存器输出控制,T型电阻网络可以输出与数字量成正比的模拟电流。
图10-16 DAC0832内部结构图
各引脚的功能如下:
DI0~DI7:8位数据输入端常和CPU的数据总线相连,用于输入CPU送来的待转换的数字量,DI 7为最高位。
:输入寄存器选择信号引脚,低电平有效。
:输入寄存器写选通信号,输入寄存器的锁存信号LE1由ILE、CS、WR1的逻辑组合产生,为高电平时,输入寄存器状态随输入数据线变化,
的负跳变将输入数据锁存。
:传送控制输入线,低电平有效。
:DAC寄存器的写选通信号。DAC寄存器的锁存信号LE2由WR2和XFER的逻辑组合而成,为高电平时,DAC寄存器的输出随寄存器的输入而变化,负跳变时,输入寄存器的内容打入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、、、和端。
②有两级锁存控制功能,能够实现多通道D/A的同步转换输出。
③DAC0832内部无参考电压,需外接参考电压电路。
④DAC0832为电流输出型D/A转换器,要获得模拟电压输出时,需要外加转换电路。图10-17所示为两级运算放大器组成的模拟电压输出电路。从a端输出为单极性模拟电压,如参考电压VREF=+5V,输出电压为-5V~0;从b端输出为双极性模拟电压,为±5V。
图10-17 DAC0832的模拟电压输出电路
对于单极性输出电路,输出电压的表达式为:
式中 B——输入数字量的十进制数;
VREF——参考电压(V)。
显然,参考电压VREF=+5V,当B=0~255(输入数字量为00H~0FFH)时,VOUT=0~4.98V。通过调节运算放大器的调零电位器,可以对D/A芯片进行零点补偿。通过调节外接于反馈回路的电位器,可以调整满量程。
对于双极性输出电路,输出电压的表达式为:
双极性输出电压与输入数字量的关系见表10-9。
表10-9 双极性输出电压与输入数字量的关系
(续)
3)DAC0832主要性能指标如下。
分辨率 8位
输出电流稳定时间 1μs
非线件误差 0.20%FSR
温度系数 2×10-6/℃
工作方式 直通、单缓冲和双缓冲
逻辑输入 与TTL电平兼容
功耗 20mW
电源 -15V~+5
(2)DAC0832和MCS-51系列单片机的接口方式DAC0832和MCS-51系列单片机有三种基本的接口方式:直通方式、单缓冲器方式和双缓冲器同步方式。
1)直通方式接口。DAC0832内部有两个起数据缓冲器作用的寄存器,分别受和控制。如果使和皆为高电平,那么DI0~DI7上的信号可直通到达8位DAC寄存器,进行D/A转换,即ILE接+5V,、、和接地。此方式常用于不带微机的控制系统。
2)单缓冲器方式接口。若应用系统中只有一路D/A转换或虽然是多路转换,但并不要求同步输出时,则采用单缓冲器方式接口,如图10-18所示,ILE接+5V,寄存器选择信号线及数据传送信号线都与地址选择线P2.7相连,两级寄存器的写信号都由AT89S51的端控制输入锁存器,DAC寄存器地址都可选为7FFFH。写信号WR1、WR2都和AT89S51的写信号WR相连,当地址线选择好0832后,只要输出控制信号,0832就能一步完成数字量的输入锁存和D/A转换输出。
由于DAC0832具有数字量的输入锁存功能,故数字量可以直接从P0接口送入。
执行下面几个指令就能完成一次D/A转换。
例如 按图10-18所示的AT89C51与DAC0832单缓冲方式接口电路,编写程序,在运算放大器输出端输出一个三角波电压。
图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转换器的端控制同步转换输出;AT89S51的端与所有的和端相连,在执行MOVX输出指令时,AT89S51自动输出WR控制信号。
执行下面8条指令就能完成D/A的同步转换输出。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。