为实现恒电位仪给定电压低速扫描时电压高精度、线性好及降低设计成本,设计了一种简单可行的电压扫描系统。该系统以STC89C51为主控器件,通过单片机IO口模拟SPI通信接口来控制16位数模转换芯片DAC8831,DAC8831根据预先输入的D/A控制字将数字信号转换成模拟电压,借助于外部运放实现双极性电压输出。实验结果表明,该系统输出电压范围为-4~+4 V、电压分辨率可达0.125 mV,低速电压扫描线性度好,具有应用灵活、外围电路简单,可靠性高的特点。
恒电位仪是电化学测试中的重要仪器,用它可以控制电极电位为指定值,以达到恒电位极化的目的。通过改变恒电位仪的输入给定电压,以改变电极上的电位值,即电压扫描电路。传统的电压扫描电路采用手动逐点调节、机械传动调节或是由计数器及运算放大器组成的简易数模转换电路来实现扫描电压的调整,控制精度低、稳定性较差、线性度差、电路复杂,且受温度影响较大。16位数模转换器DAC8831具有高精度、高稳定性等优点。将其与STC89C51单片机构成电压扫描电路应用于恒电位仪中,电路结构简单、成本低,具有高精确度、高稳定性、高线性度,完全能够满足恒电位仪低速扫描要求,且通过编程还可实现多种波形的输出,扩展能力强。
1 16位数模转换器DAC8831
1.1 DAC8831概述
DAC8831是TI公司的一款16位电压输出型数模转换器,具有转换速度快、超低功耗(最低15μW)、高精度(DAC8831ICD最大线性误差不超过±1 LSB)、a.jpg低输出噪声、高速SPI接口(最高可达50MHz)、上电自动校零等优势,非常适用于小型仪器、手持移动设备。
1.2 DAC8831引脚排列
DAC8831引脚排列
各引脚功能如下:
RFB:反馈电阻接入端,在双极性输出时连接到外部运放的输出端:
Vout:数模转换器模拟电压输出端;
AGNDF、AGNDS:模拟地;
VREF-S、VREF-F:参考电压输入端,连接到外部参考电压;
c.jpg:片选端,当c.jpg为低电平时数据进入SDI端口;
SCLK:串行时钟输入端:
NC:无内部连接;
SDI:串行数据输入端,在SCLK的上升沿数据被锁存到输入寄存器;
d.jpg:DA转换器加载输入端,低电平有效。当d.jpg为低电平时,DAC锁存器同步更新输入寄存器的内容;
DGND:数字地;
INV:内部比例电阻连接端。在双极性输出时连接到外部运放的反向输入端;
VDD:模拟电源端,+3~+5V。
1.3 DAC8831使用方法
1. 3.1 基准源电路
为了使数模转换芯片的输出更加稳定,对DA芯片的基准源就要有一定要求,基准源必须是低温溧、高精度、高稳定性,通用基准源芯片有TL431、LM336等,温漂系数基本可以达到20~30 ppm/℃,综合易用性、计算方便性等因素,本系统采用的是TI公司生产的REF5040I精密基准源芯片,该芯片具有最大为3 ppm/℃极低温漂系数、最大误差为0.05%的高精度值以及极低的噪声3 μVPP/V,且具有高达10 mA的输出电流,输出电压为4.096 V,最小步进正好是0,125mV,完全适合作为16位高精度数模转换器的基准源。该芯片电路结构简单,外围元件少,应用电路如图2所示。
1.3. 2 DAC8831两种输出模式
DAC8831可以结合外部运放实现单极性(0~VREF)和双极性(-VREF~+VREF)两种输出模式,恒电位仪中必须使用正负电压扫描,故采用双极性输出,电路如图3所示。双极性输出模式下DAC输入控制数字量与模拟输出值之间的对应关系表1所示。
1.3.3 DAC8831工作时序及其接口电路
根据LDAC的状态,DAC8831可以呈现出两种时序,但是工作方式基本一致。在此仅讨论LDAC为低电平时的工作时序。
数据传输由芯片选择信号(片选信号)来构成,DA转换器以总线从设备进行工作。总线主控产生同步时钟信号SCLK并启动传输过程。当CS为高电平时,DA转换器不进入转换工作,SCLK和SDI都不作用。当总线主控将CS变成低电平时,DA转换器紧随CS的高低跃变开始转换工作。SD I端的串行输入数据同步地从总线主控SCLK的下降沿移出,在SCLK的上升沿锁存到输入移位寄存器,MSB高位在先。CS低到高的转变使得输入移位寄存器的内容传送到输入寄存器,所有数据寄存器都是16位,通过16个SCLK时钟周期将效据字一位一位传送出来。当16个数据字传送完毕,紧接着第16个时钟周期后CS必须变为高电平。工作时序如图4示。
DAC8831采用标准的3线制SPI串行接口,所以可以方便的与DSP及各种单片机连接,它与单片机的接口主要有两种工作方式:一是与CPU的串行口相连,单片机的串行口以同步方式工作,但是会占用串口资源;二是利用普通I/O口来模拟SH的工作方式,方便扩展。大多数51单片机没有SPI接口,在此选用第二种工作方式,用51单片机进行通讯时把DAC8831的通讯口SDI、SCLK、CS分别与51单片机的P1.0、P1.1、P1.2口连接,按照工作时序模拟SPI工作过程即可。
2 DAC8831的软件编程
用51单片机IO口模拟SPI,用Keil C51编写的DA转换子程序及注解如下所示:
通过以上转换子程序,再通过编程即可实现恒电位仪扫描初始电压的设定及扫描速度的设定,从而使恒电位仪的电压扫描实现智能化。
3 实验数据
在进行电压测试时,为减小输出误差,外部运放应选择低噪声低温漂的高精度运放(OPA277等)及高精度低温漂的基准源(REF5020、REF5 040等),对外部运放要进行调零或直接采用斩波稳零运放(如LTC1052等),本文系统使用OPA277和REF5040。通过调整电压数字量来改变模拟输出电压值,使用Thurlby 1905a数字表对系统电压输出端进行监测,预设电压和实测电压数据对比如表2所示。
由表2分析可知,系统输出电压可实现-4~+4 V连续变化,且实际误差小于0.15%,分辨率也达到了0.125 mV,完全满足恒电位仪中低速扫描对线性度、稳定度及分辨率的要求。
4 误差分析
对误差的来源作如下分析,在双极性输出模式下,输出电压V0-BIP计算公式如下:
式(1)中V0-UNI为单极性下的输出电压,VOS为外部运放的输入失调电压,RD为图3中RFB与RINV的匹配误差,A为放大器的开环增益。
V0-UNI表达式如下:
式(2)中D为DAC输入电压数字量,VREF为基准源电压,VGE为电压增益误差,VZSE为电压零刻度误差,INL为电压整体非线性失真。
以上两式中,D是由使用者根据需要输入的该项不会带来误差,最终误差主要来自以下两个方面:1)VZSE、INL、RD是由DAC8831自身参数决定的,这是固有误差,由于DAC8831本身性能优异,因此该误差控制的较好;2)VOS、A、VREF、VGE均是由外部运放及基准源性能指标决定的,也就是说外部运放及基准源性能好坏直接影响整体的输出误差,这也是影响误差的主要因素。
不同的运放及基准源性能差异较大,由以上分析可得,要想提高整机性能,必须采用高精度基准源及低放大失真、低输入偏置电压、高开环增益的高性能运放,因此选择REF5040及OPA277来改善性能,如果能使用比OPA277性能更加优越的运放如斩波稳零放大器,输出误差可进一步减小。
5 结论
恒电位仪在使用外部扫描信号输入时可以测量多种电压变化场合下合金的性能。传统恒电位仪实现电压扫描电路复杂、稳定性差、体积功耗大,而采用DAC8831芯片及图3中的输出模式可以实现双极性电压的连续变化、高线性度和高稳定性,且外围元件少、功耗低、性价比高,并可通过编程实现各种输出波形。
在实际使用中还需注意,由于DA转换器精度高,容易受外部干扰,所以在布线时必须注意数字地和模拟地要尽量分开,可采用一点接地,电源端和参考电压端需加旁路电容。应用DAC8831数模转换芯片制作的电压线性扫描电路已成功应用在恒电位仪中,实现了扫描电压的智能化设置。