摘要:ADS1216是TI公司推出的低功耗、高精度、8通道、24位△-∑型模数转换器,其内部集成了输入模拟多路开关、输入缓冲器、可编程增益放大器、可编程数字滤波器。文中介绍了ADS1216的主要特点、工作原理、典型应用实例及应用程序,最后给出了ADS1216的一些使用要点及设计经验。
关键词:ADS1216;高精度;A/D转换器;SPI
1 ADS1216概述
(资料图片)
ADS1216是德州仪器(TI) Burr-Brown现推出针对工业应用、具有业界较高性能的模数转换器(ADC)。其由模拟多路开关(MUX)、输入缓冲器(BUF)、可编程增益放大器(PGA)、二阶△-∑调制器再加一个可编程数字滤波器组成,整体实现了无噪声精度、数据速率以及多种功能,为设计人员提供了高精度测量解决方案,主要应用于工业过程控制、液态/气态色谱仪、血液分析、智能送话器、便携式仪器、压力传感器以及其它一些要求高精度、低功耗的测量仪器等要求苛刻的各个领域。
ADS1216的主要特点有:
(1)24位无数据丢失:所有数据速度和PCA设置;
(2)低非线性度:±0.0015%;
(3)高达22比特的无噪声精度;
(4)数据采样率最大1KSPI;
(5)ADS1216可配置为8路单级输入或4路差分输入;
(6)模拟多路开关具有传感器检测功能;
(7)输入缓冲器;
(8)具有低噪声可编程增益放大器PGA;
(9)带有串行外设接口(SPI);
(10)可编程数字滤波器;
(11)片内具有自校准功能;
(12)工作电压范围为:2.7~5.25V;
(13)电源功率消耗小于1mW。
2 ADS1216结构原理及寄存器功能
2.1 ADS1216的内部结构及工作原理
ADS1216的内部结构如图1所示,主要由模拟多路开关(MUX)、输入缓冲器(BUF)、可编程增益放大器(PGA)、二阶△-∑调制器、可编程数字滤波器、时钟发生器、做控制器、串行SPI接口、128字节RAM、16个状态/控制寄存器、两个8位DAC以及内部参考电压产生器等组成。模拟信号从AIN0~AIN7引脚输入,通过多路模拟开关可将其配置成4路差分输入或8路单级输入,通过共同的信号调制通道,输入到二阶△-∑ADC实现24位A/D转换,通过数字滤波器,最终以SPI接口的形式输出数字信号。
ADS1216采用4线制(时钟信号SCLK、数据输入DIN、数据输小DOUT和片选CS)SPI通信方式,由于ADS1216无法控制SPT何时开始传输,而是由主机数据控制,因此ADS1216只能工作存SPI通信的从模式下,设计时可通过各种主控制器控制ADS1216片上的寄存器,并通过SPI接口读写这些寄存器。通过SPI接口进行通讯时,必须保持信号为低电平,引脚用于表明转换是否完成,为低时,说明转换已完成,可以直接通过通道读取数据,通道读数据命令从DOUT引脚上读出转换数据。SPI通信,可同步发送和接收数据,而且数据也可利用SCLK和DIN,DOUT信号同步移动。根据POL的不同,在SCLK的上升沿或者下降沿,系统通过DIN向ADS1216发送数据。同样,系统通过DOUT从ADS1216读取数据。DIN和DOUT也通过一条双向信号线与主控制器相连。图2给出了SPI的通讯时序图。
2.2 主要寄存器
ADS1216工作过程的建立主要通过设置其寄存器求实现的。这些寄存器包括出厂时所有需要设置的信息,如采样模式、外部信号调理通道开关、时钟模式的选择、模拟输入是单级输入还是差分输入等等。表1给出了ADS1216的寄存器。
下面介绍几个主要寄存器的功能和使用。
建立寄存器(SETUP)只有低五位可用,高三位已被厂家使用,该寄存器主要用于设置调节器的时钟速度、内部参考电压选择,以及数据寄存器数据位输出次序。SETUP.4(SPEED)=0,fMOD=fosc/128;SETUP.3(REF EN)=0,fMOD=fosc/256。使用内部参考电压,SETUP3=1。选择外部参考电压SETUP.2(REF HI)=0,内部参考电压1.25V;SETUP.2=1,内部参考电压为2.5V。SETUP.1(BUFEN)=0,不使用缓冲器;SETU P.1=1,使用内部缓冲器。SETUP.0 (BIT ORDER)=0,数据缓冲器高位先输出,SETUP.0=1,低位先输出。
多路选择控制寄存器(MUX),该寄存器分为两部分,高四位选择正相差分输入,低四位选择反相差分输入,当高四位或低四位的最高位为1且其它位不全为1时(高四位的最高位和低四位的最高位不能同时为1),就可以实现八通道为差分输入,当高四位和低四位全为1时,选择ADS 1216内部的温度传感器为转换信号。
通过模拟控制寄存器(ACR)的低三位(ACR2、ACR1、ACR0)设置PGA的放大倍数,三位可以提供8个放大倍数,增益步长为2n(n来自ACR)。
通过模式/采样频率寄存器(M/DEC1)的第四、五位(SMODE0、SMODE1)设置数字滤波器。
SMODE1:SMODE0=00,使用自动滤波模式;
SMODE1:SMODE0=01,使用快速滤波模式;
SMODE1:SMODE0=10,使用Sinc2滤波模式;
SMODE1:SMODE0=11,使用Sinc3滤波模式。不同的滤波模式在很大程度上影响AD转换精度。
24位AD转换结果分为3个字节由高到低依次通过SPI接口输出。
3 ADS1216的应用
3.1 ADS1216的硬件设计
图3为ADS1216的信号差分输入的典型应用电路图。该电路为一路差分输入数据采集系统,将外部输入的两路模拟信号通过多路模拟开关,传输到外部共用的信号调理通道,通过信号调理通道的调节作用,传输给24位△-∑型A/D转换器进行模数转换,A/D转换结束后,将转换结果通过专门优化的3阶正弦数字滤波器进行滤波,最后才通过SPI接口传输给单片机进行处理。在典型应用电路图中,AIN+和AIN-为差分信号输入接口,DIN、DOUT、CLK、nCS为与单片机相连的SPI接口,nDRDY为A/D转换完成的标志位。(单片机电路略)
3.2 ADS1216的应用程序
虽然ADS1216具有非常强大的功能,但是应用非常容易。ADS1216的片选可以通过硬件使脚接地,也可以通过软件选通。同理,ADS12 16的复位也有两种方式,脚接地或者软件复位。通过ADS1216的自校准命令,可以纠正内部和外部的漂移和增益错误。通过写寄存器命令可以初始化状态寄存器SETUP,选择时钟的速度、是否开启输入缓冲器和输出字节的顺序等。同理可以初始化模拟多路开关MUX,选择模拟输入通道,还可以初始化模拟控制寄存器ACR,选择可编程增益放大倍数,最后还可以初始化模式/采样频率寄存器M/DEC1,选择数字滤波模式。具体的选择请参考寄存器状态图。
ADS1216的参考应用程序如下所示:
4 结束语
通过作者的实验,在使用ADS1216时,应注意一下几点:
(1)在ADS1216片外要将模拟地ACND和数字地DCDN连接在一起,若ACND和DGND之间有电压存在,将造成ADS1216无法正常工作。
(2)在印制电路板布线时,应将外部晶振尽可能地靠近ADS1216,否则将影响输入的幅值大小,当幅值太小时,可能通过减小接入晶振两端的电容来增大器幅值,其范围应在0~20pF,典型晶振为4.9152M,接入电容为18pF。
(3)为了得到最佳的转换结果,每次改变初始寄存器值时,例如改变输入通道,最好自校准一次。
(4)在使用SPI通讯时必须注意单片机和ADS1216的SCLK极性,通过POL引脚的设置使主控制器和ADS1216的SCLK极性一致。
(5)为了得到稳定的转换结果,可通过软件滤波的方式进行滤波,常用的方法主要有程序判断滤波法、递推平均滤波法、最大概率滤波法等。