1 芯片介绍
ADS1286是美国BURR—BROWN公司生产的12位微功耗A/D转换芯片,其供电电流仅为250μA,采样率为20 kHz,提供了一个用于两线或三线接口通信,并与SPI或SSI兼容的串行接口。微功耗以及串行接口的特点使得ADS1286非常适合于远距离及需要屏蔽的数据采集的应用场合。ADS1286采用8引脚小型DIP封装形式,VREF为参考电压输入端;+In为同相输入端;一In为反相输入端;GND为接地端;为片选端/低功耗模式选择,当该引脚出现低电平时,芯片片选有效,当该引脚为高电平时为低功耗模式;DOUT为串行数据输出端;DCLOCK为时钟输入端;+Vcc为电源正端(+6 V 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)所示。
[page]
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~5 V)。
模拟温度信号采集放大后,其输出信号通过+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转换的温度数据。
[page]
3 温度采集部分软件设计
AT89C2051单片机对ADS1286芯片的12位A/D转换结果需要分2次读取,低8位转换结果存于片内RAM31H单元,高4位转换结果存于片内RAM32H单元。温度采集A/D转换子程序如下:
4 结语
ADS1286是一款性价比很高的模/数转换芯片,将其应用于温度检测系统中,串行接口使得电路配置简单,而且其较高的分辨率减小了A/D转换的量化误差,保证了系统对温度检测的高精度要求。该芯片应用在气流式液相微萃取仪微型加热器的设计中,检测温度范围为0~350℃,微型加热器温度检测精度达到±0.1℃。正是由于ADS1286能简化电路设计,并且保证测量系统的高精度,它在智能化仪器仪表以及工业测控领域具有较高的实用价值。
上一篇:一种高效DSO波形显示算法的实现
下一篇:数字集成芯片构成的频率计数器设计
推荐阅读最新更新时间:2024-05-02 21:56
- STM32芯片选型问题用---103ZE好还是103VE呢?
- 【社区大讲堂】如何在FPGA设计环境中加时序约束
- 如何快速的在外部EEPROM中的多组无序数据中找到我要查找的那一组啊?
- STM32F429I-discovery液晶屏的排线都断了!!!
- 蓝牙4.0兼容BLE模式无线模块
- 5G—信道编码 Polar Code—控制信道eMBB场景编码方案
- wince5.0,为什么每次修改了IP设置,重启动后就恢复到原样?
- 39“万里”树莓派小车——ROS学习(ROS项目文件系统结构介绍以及导入外部软件包的...
- 在RAM模式的程序调试问题,在软件中暂停程序,如何控制epwm的输出
- 你用数字人民币了吗?