摘要:为了实现对温度检测的高精度要求,利用12位分辨率的微功耗A/D转换芯片.ADS1286,配合AT89C2051单片机,对温度检测系统中的温度采集部分进行了硬件和软件设计。将该温度采集电路应用在气流式液相微萃取仪微型加热器的设计中,检测温度范围在0~350℃之间,温度检测精度达到±0.1℃。实践证明,该温度采集电路测量精度高,工作可靠稳定,适用于工业测控瓴域及智能化仪器仪表中对温度检测提出高精度要求的应用场合。
温度检测在工业测控领域中较为常见,一般工业用温度检测系统对检测精度都有很高的要求。利用高精度A/D转换芯片及单片机可以方便地构成测量精度高,性能稳定的温度检测系统。本文采用12位串行控制的A/D转换芯片ADS1286,配合AT89C2051单片机对温度检测系统中的温度采集部分进行设计。ADS1286的串行接口使得电路设计简单,减少了连线,提高了系统的可靠性;较高的分辨率保证了温度检测的高精度要求。
1 芯片介绍
ADS1286是美国BURR—BROWN公司生产的12位微功耗A/D转换芯片,其供电电流仅为250μA,采样率为20kHz,提供了一个用于两线或三线接口通信,并与SPI或SSI兼容的串行接口。微功耗以及串行接口的特点使得ADS1286非常适合于远距离及需要屏蔽的数据采集的应用场合。ADS1286采用8引脚小型DIP封装形式,VREF为参考电压输入端;+In为同相输入端;一In为反相输入端;GND为接地端;为片选端/低功耗模式选择,当该引脚出现低电平时,芯片片选有效,当该引脚为高电平时为低功耗模式;DOUT为串行数据输出端;DCLOCK为时钟输入端;+Vcc为电源正端(+6V MAX)。ADS1286芯片内部结构如图1所示,由采样/保持差动放大器、电容数/模转换器CDAC、比较器、逐次逼近寄存器、控制电路及串行接口电路组成。串行接口包含2个数字输入端(DCLOCK和/SHDN)及1个三态输出口DOUT,构成了与微处理器进行串行通信的三线接口。
ADS1286的工作时序如图2所示,上电后,端置于高电平,此时片选无效,DCLOCK端时钟信号输入被禁止,DOUT端呈现高阻状态。端电平发生由高到低的变化后,片选有效,A/D采样时序开始,经过延迟时间tCSD,时钟信号允许接入DCLOCK端,在片选有效后,从第二个时钟信号开始进入A/D转换时序,DOUT端脱离高阻状态,并在每个时钟信号的下降沿输出同步数字序列,在先输出一个无效位(NULL BIT)后,接下来的12个时钟信号每个信号的下降沿DOUT端从高位(MSB)开始输出12位A/D转换结果,并在每个时钟信号的上升沿锁存这12位A/D转换结果。12个时钟信号周期的转换时间结束后直至下一次/SHDN端电平出现由高到低的变化,ADS1286工作在低功耗模式下。
图2(a)与图2(b)的不同之处在于,在DOUT端由高位到低位输出12位A/D转换结果后,若DCLOCK端仍然维持时钟信号,则DOUT端从次低位(LSB+1位)开始由低到高再次输出A/D转换结果,直到/SHDN端电平出现由低到高的变化时停止。若该次A/D转换结果完整输出后,DCLOCK端时钟信号仍然有效,则DOUT端输出低电平信号,此过程如图2(b)所示。
2 温度采集部分硬件设计
在温度检测系统中,为了采集目标对象的当前温度,采用测温范围宽,稳定性好的铂电阻作为测温元件,由铂电阻构成的惠斯通电桥将温度信号转换成微小电压信号后,再经仪表放大器进行放大,得到放大的模拟温度信号。为了能够对采集温度信号进行处理,需要先将采集放大后的模拟温度信号转换为数字信号,然后再送入单片机处理。本文采用12位分辨率的模/数转换芯片ADS1286对采集到的模拟温度信号进行A/D转换,以减小A/D转换的量化误差,ADS1286是在AT89C2051单片机发送的时钟信号的控制下,并在片选有效时,通过串行数据输出端向单片机提供12位串行温度数据。温度采集部分的原理框图如图3所示。
温度采集电路如图4所示,由铂电阻Rt,电阻R1,R2,R3及可变电阻W1构成的惠斯通电桥用于测量目标的温度,铂电阻的阻值随温度变化发生相应的变化,惠斯通电桥也随之输出变化的电压。该输出电压较小,需将其接入如图4所示的AD620仪表放大器进行放,以满足A/D转换需要的输入电压范围。AD620仪表放大器具有低功耗,高增益的特点,通过调节外接可变电阻Rg的阻值改变放大倍数,其放大增益G=1+49.4 k/Rg。根据检测温度的范围,依次调节可变电阻W1及Rg,使得在最低和最高检测温度时,放大器输出分别为0和5 V,因此温度在检测范围内变化时,放大器可输出满足A/D转换需要的输入电压范围(0~5V)。
模拟温度信号采集放大后,其输出信号通过+In引脚接入ADS1286芯片进行A/D转换,ADS1286芯片+VCC引脚接正电源Vcc,VREF引脚接基准电源VREF,-In及GND引脚接地。ADS1286芯片的DCLOCK,DOUT及三个引脚分别与AT89C2051单片机P1.5~P1.3三个引脚输出相连,单片机通过程序由P1.5引脚输出ADS1286工作所需的时钟信号,单片机通过P1.3引脚可实现对ADS1286芯片的选中及低功耗模式的选择,该引脚输出低电平时,ADS1286片选有效,该引脚高电平时,ADS1286处于低功耗状态。AT89C2051严格按照ADS1286芯片操作时序,控制ADS1286芯片对模拟温度信号进行A/D转换,并将转换后的12位数字温度数据由DOUT引脚输出,通过P1.4引脚串行输入至单片机。
温度采集电路中,开关电源产生的±15 V电压作为AD620仪表放大器的正、负电源,+15 V电压接入由TL431ALCP精密基准稳压器及电阻R4~R6构成的分路稳压器,其输出向外部提供精准电压,被用作惠斯通电桥的电源及ADS1286芯片的基准电源。
AT89C2051单片机对ADS1286芯片的时序控制采用图2(b)所示操作时序。首先,通过P1.3引脚向端提供低电平,使ADS1286片选有效,ADS1286开始对模拟输入电压进行采样,经过延迟时间tCSD,AT89C2051通过P1.5引脚向DCLOCK端提供时钟信号。在ADS1286片选有效后,从第二个时钟信号开始进入A/D转换时序,此时,DOUT端先输出一个无效位,在接下来的11个时钟信号每个信号的下降沿在DOUT端从高位(MSB)开始输出A/D转换结果,在紧接着的12个时钟信号每个信号的下降沿DOUT端从LSB位开始再次输出这12位A/D转换结果,AT89C2051单片机在每个时钟信号的下降沿,通过P1.4引脚从低位到高位接收该次转换结果。在12位的数字温度数据接收完毕后,单片机通过P1.3引脚将端置为高电平并准备下一次从ADS1286接收A/D转换的温度数据。
3 温度采集部分软件设计
AT89C2051单片机对ADS1286芯片的12位A/D转换结果需要分2次读取,低8位转换结果存于片内RAM31H单元,高4位转换结果存于片内RAM32H单元。温度采集A/D转换子程序如下:
4 结语
ADS1286是一款性价比很高的模/数转换芯片,将其应用于温度检测系统中,串行接口使得电路配置简单,而且其较高的分辨率减小了A/D转换的量化误差,保证了系统对温度检测的高精度要求。该芯片应用在气流式液相微萃取仪微型加热器的设计中,检测温度范围为0~350℃,微型加热器温度检测精度达到±0.1℃。正是由于ADS1286能简化电路设计,并且保证测量系统的高精度,它在智能化仪器仪表以及工业测控领域具有较高的实用价值。