新型8通道24位模数转换器ADS1216及其应用
扫描二维码
随时随地手机看文章
关键词:ADS1216;SPI;Δ-∑;光学浮标
1 ADS1216概述
ADS1216是Burr-Brown产品线中的一款新型、高精度、宽动态范围、Δ-∑型8通道24位ADC。它通过SPI接口与外界进行信息交换,具有22位有效分辨率,工作电压范围为2.7V~5.25V。该器件可以通过选择内部缓冲来提高阻抗,并可提供全量程电压50%的偏移校正,此外,ADS1216还具有内外两种参考电压供给方式。
图1
ADS1216主要应用于工业过程控制、液态/气态色谱仪、血液分析、智能变送器、便携式仪器、压力传感器以及其它一些要求高精度、低功耗的测量仪器中。ADS1216的主要特点如下:
●低非线性度:0.0015%;
●采用单周期转换模式;
●功耗小于1mW;
●可配置为8路差分输入;
●具有可编程增益放大器,G=1时,可提供22位有效分辨率; G= 128时,可提供19位有效分辨率;
●带有SPI通讯接口;
●数据输出速率在10Hz~1kHz内可编程;
●具有芯片自校准功能。
图2
2 ADS1216的结构原理及寄存器功能
2.1 ADS1216的内部结构及工作原理
图1所示为ADS1216的内部结构和外部主要引脚。ADS1216内部主要由模拟多路开关(MUX)、输入缓冲器(BUF)、可编程增益放大器(PGA)、二阶Δ-∑调制器、可编程数字滤波器、微控制器、16个状态/控制寄存器、128字节RAM、串行SPI接口、两个8位DAC、内部参考电压产生器以及时钟发生器等组成。其中,输入多路选择器(MUX)主要用来提供八路模拟输入差分组合。当模拟输入的通道1被选择为正差分输入通道时,其余的通道则可被选作负的差分输入端。这样,其共地端引脚AINCOM就可以非常方便地实现八通道差分输入。ADS1216内部还有一个二极管温度传感器,它是否工作可通过对内部MUX寄存器的配置来选择。
输入缓冲器(BUF)用于在信号通路中隔离开关电容器阵列与外部电路。在没有输入缓冲器时,ADS1216的输入阻抗为5MΩ,当使用ADS1216内部缓冲器时,其输入电压的波动减小,输入电流增大。其内部输入缓冲器是通过BUFFER引脚和内部ACR寄存器的BUFFER位共同控制的。
ADS1216内部的可编程增益放大器(PGA)的放大倍数可以通过ACR寄存器设定为1到128,增益步长为2。
ADS1216内部的调节器是一个二阶Δ-∑系统。调节器以fMOD的频率工作,fMOD时钟频率来自外部时钟fOSC。频率的分割来自设置寄存器(SETUP)的SPEED位。设计时,通过SPEED位为1或0可以将fMOD的频率设置为fOSC/256或fOSC/128。
通过数字滤波器可提高ADC的转换精度和分辨率。数字滤波有一定的建立时间。ADS1216内部可以分为快速建立、sinc2或sinc3三种滤波方式。快速方式建立时间最短,但滤波精度也最低,而sinc3的建立时间最长,但滤波精度最高。
ADS1216提供有两种参考电压供给方式,上电默认参考电压是内部2.5V。参考电压的选择可通过SETUP寄存器的设置来完成。内部参考电压可选择1.25V或2.5V。参考电压输出端应该有一个0.1μF的电容接地。外部参考电压是差动输入,输入范围为0~2.5V。通过ADS1216的VRCAP引脚可为内部参考电压提供一个旁路电容以滤除内部参考电压的噪声,当使用外部参考电压时,该脚可以不连。
图3
ADS1216采用四线制(时钟信号线SCLK、数据输入线DIN、数据输出线DOUT以及片选线CS)SPI通讯方式。SPI的最大通信时钟可达fosc/4。ADS1216只能工作在SPI通讯的从模式下,可通过各种主控制器(如单片机等)给它发送同步传送命令。在SPI传送过程中,数据被同步地发送和接收,SCLK和DIN、DOUT同步移动。图2所示是SPI通讯时序关系,其中POL信号用来控制时钟脉冲的极性。通过POL可选择SCLK是高电平有效还是低电平有效。
ADS1216使用两种典型的存储器:寄存器和RAM。16个寄存器可直接控制ADS1216的工作过程,而且这16个寄存器可以被直接读写。实际上,这些寄存器包括了所有用来配置ADS1216的部分,比如数据格式、通道选择、参考电压设置等。
整个器件工作过程的建立可通过对16个独立的寄存器的设置来完成。读或写寄存器或存储器都是以字节为单位的。而寄存器与RAM之间的数据传输则是以块为基础来进行的。RAM和寄存器之间是相互独立的。
内部存储器(包括寄存器和RAM)的地址均为线性的,寄存器地址为00H~0FH。为便于八通道数据独立存储以及同寄存器之间进行数据的块传输,128字节RAM被划分成8个相互独立的块。每一个块的偏移量均为00H~0FH。所以,每块各单元的地址可以看作块地址和偏移量的组合。如地址14H则等于第一个RAM块且偏移量为04H的单元。
ADS1216的同步操作可利用外部时间提供一个精确的同步以用于A/D转换。它既可通过芯片的DSYNC引脚提供,也可通过内部DSYNC命令提供。
2.2 ADS1216主要寄存器功能
在ADS1216的16个寄存器中有五种寄存器是最主要的,表1为这五种寄存器的操作格式。
表1 ADS1216的主要寄存器格式
寄存器名称 | 格 式 | |||||||
SET UP寄存器 | ID | ID | ID | SPEEDP | REF EN | REF HI | BUF EN | BIT ORDER |
MUX寄存器 | BOCS | IDAC2R1 | IDAC2R0 | IDAC1R1 | IDAC1R0 | PGA2 | PGA1 | PGA0 |
ACR寄存器 | DRDY | U/B | SMODE1 | SMODE2 | RESERCED | DEC10 | DEC09 | DEC08 |
EDCD寄存器 | PSEL3 | PSEL2 | PSEL1 | PSEL0 | NSEL3 | NSEL2 | NSEL1 | NSEL0 |
M/DCE1寄存器 | DEC07 | DEC06 | DEC05 | DEC04 | DEC03 | DEC02 | DEC01 | DEC00 |
(1)SETUP寄存器(地址为00H),为建立寄存器;复位值为xxx 01110。该寄存器的前三个ID位由出厂设定;SPEED为多路选择器时钟速度,为0时,fMOD=fOSC/128;为1时,fMOD=fOSC/256;REF EN用于选择参考电压,为0时,使用内部参考;为1时使用外部参考;当REF HI为0时,内部参考电压为1.25V;为1时内部参考为2.5V;BUF EN用于选择缓冲,为0表示未使用内部缓冲;为1表示使用内部缓冲;BIT ORDER用于表示数据缓冲器数据位的输出顺序;为0表示高位在先,为1表示低位在先。
(2)MUX寄存器(地址01H),为多路选择器控制寄存器;复位值为01H。其中的PGA2?PGA1?PGA0用于可编程增益放大倍数的选择,具体为:000=1, 001=2,010=4,011=8,…?111=128。
(3)ACR寄存器(地址为02H),为模拟控制寄存器;复位值为00H。其中DRDY为数据准备好信号(只读);U/B用于表示数据格式,0为双极性,1为单极性;SMODE1和SMODE0用于设置滤波模式,00为自动;01为快速建立滤波模式,10为Sinc2滤波方式; 11为Sinc3滤波;DEC10、DEC09和DEC0 8是采样频率的高三位。
(4)EDCD寄存器(地址08H),为采样时间寄存器(低八位),复位值为80H。其中,PSEL3?PSEL2?PSEL1?PSEL0和NSEL3?NSEL2?NSEL1?NSEL0分别用于正、负通道选择,0000~0111分别表示通道AIN0~AIN7,1XXX表示AINCOM?除均为0或1外?,1111表示温度传感器工作。
(5)M/DEC1寄存器(地址为09H),为模式和采样频率寄存器,复位值为07H。ADS1216的采样时间变化范围是20~2047(11位),DEC0寄存器是其低八位,而11位中的高三位在M/DEC1寄存器中,默认的采样频率是10Hz(晶振为2.4576Hz)。
3 ADS1216的应用
3.1 ADS1216与单片机C8051F020的接口
C8051F020(简称F020)是美国Cygnal公司推出的一种混合信号SOC型8位单片机。它可用硬件实现SPI串行接口,因此在与ADS1216进行通讯时,可以省去一般I/O口模拟SPI通讯的麻烦,而直接采用F020内部的SPI通讯控制寄存器进行设置,从而方便地实现与ADS1216的通讯。笔者在实际设计中,采用一片F020控制四片ADS1216实现了海水中向上幅照度和向下辐亮度各12个波段的光信号检测。为了简便起见,图3给出了一片ADS1216与F020之间的接口电路。图3中,ADS1216与C8051F020的接口信号有SCLK、Din、Dout、CS、数据准备好信号DRDY、A/D转换同步信号DSYNC以及内部缓冲器使能信号BUFFER。其中SCLK、Din、Dout分别连接在F020的P0.2、P0.3、P0.4,这三个引脚通过F020内部的SPI控制寄存器被配置为SPI通讯端口,而将其它的信号线直接连接在F020的普通I/O口便可以进行位控或状态位的读取。
3.2 软件流程
根据设计要求,在将本系统运用于海洋光学浮标光学幅照度、辐亮度测量仪中时,针对具体的应用,其主要部分的程序流程如图4所示。
4 小结
通过笔者的设计及实验,在使用ADS1216时,应注意以下几点:
(1)在ADS1216片外要将其模拟地和数字地连接在一起,否则ADS1216将无法正常工作。
(2)在设计印刷电路板时,应将外部晶振尽可能地靠近ADS1216,笔者在实验中发现:晶振离ADS1216越远,其输入时序的幅值越小,当幅值太小时,可以通过减小接入晶振两端的电容来增大其幅值,其范围应在0~20pF之间。
(3)在使用SPI通讯时,必须注意单片机和ADS1216的SCLK极性,通过POL引脚的设置可使主控制器和ADS1216的SCLK极性保持一致。
(4)为了得到稳定的转换结果,每次改变通道和发送同步信号前,应先增加一段延时,该延时时间应随AD采样频率和滤波方式的变化而变化。