《电子技术应用》
您所在的位置:首页 > 模拟设计 > 业界动态 > 24位A/D转换器ADS1210/1211及其应用

24位A/D转换器ADS1210/1211及其应用

2009-03-11
作者:肖洪兵 陈志强

  摘 要: 详细阐述了24位Δ-Σ型模拟/数字转换器ADS1210/1211的结构、原理及特点,并以数字电压表为例介绍了它的应用,给出了相关电路图和主程序框图。
  关键词: A/D转换器 校准 加速模式 采样频率 转换速度 抽取率


1 ADS1210/1211概述
  ADS1210/1211是高精度、宽动态特性的Δ-Σ型模拟/数字转换器。它的差动输入端可以直接与传感器或微小的电压信号相连。其内部的Δ-Σ结构可确保它的宽动态特性和24位的分辨率。由于采用了低噪声的输入放大器,可以在转换速度为10Hz时获得23位的有效分辨率;借助于其内部独特的调制器加速操作模式,在转换速度为1kHz时仍可达到20位的有效分辨率。该转换器动态特性的大大提高主要依赖于其前级的低噪声程控放大器,其放大倍数可从1到16进行设定,以2倍步长增加。该A/D转换器都有一个灵活的同步串行接口,它与SPI兼容并且可以提供双线控制模式。该A/D转换器为单一+5V供电,有内/外参考电压和内部自校准系统。ADS1210/1211主要用于工业过程控制、仪器仪表、色谱分析、灵巧传感器、便携式仪表、称重仪器、压力传感器、高分辨率测量场合。
2 ADS1210引脚功能
  ADS1210是单通道的A/D转换器,ADS1211多了一个4通道多路开关。ADS1210的封装形式有18脚双列直插式和18线贴片式。引脚排列如图1所示。ADS1210各引脚的功能如表1所示。

 


3 ADS1210/1211的结构及工作原理
  ADS1210/1211由程控增益放大器、二阶Δ-Σ调制器、程控数字滤波器和微处理器组成。微处理器中有指令寄存器、命令寄存器、校准寄存器、串行接口、时钟产生电路和2.5V的内部参考电压电路。此外,ADS1211还有一个4路的多路开关。ADS1210/1211的结构如图2所示。


  为了提高系统的动态特性,ADS1210/1211采用了一种独特的电容切换结构来提高输入电容的采样速度,从而可以使系统工作在加速模式(Turbo Mode)下。通常情况下,在系统时钟为10MHz时对应的采样速度为19.5kHz,利用它可将调制器的采样速度以2、4、8、16倍的速度增加,将采样速度提高到39kHz、78kHz、156kHz或312kHz。随着采样速度(频率)的增加,在转换速度不变的情况下,A/D转换器的有效分辨率会相应地增加。采样速度的每一次提升,在转换速度不变的情况下都会使系统的动态性能大大提高。有关加速因子(TMR)、转换速度和有效分辨率三者之间的关系如表2所示。


  ADS1210/1211的程控增益放大器(PGA)的增益设置为1、2、4、8或16。从本质上讲,它增加了系统的动态范围,简化了与传感器的接口。程控增益是通过输入电容改变采样次数来实现的。例如,采样频率为19.5kHz时PGA的增益为1;采样频率为312kHz时PGA的增益为16。由于加速模式和PGA的增益都是通过改变采样次数来实现的,所以PGA的增益和加速因子(TMR)的乘积应≤16,如表3所示。


  ADS1210/1211输出数据的速度可以从几Hz到高达15625kHz,速度愈高,分辨率愈低。改变ADS1210/1211的转换速度不会改变输入电容的采样速度,但会影响用于计算每次输出结果的采样数据的个数。
  ADS1210/1211内部还有一个完整的自校正系统,用于校正内部偏差、增益误差及一些外部误差。内部校准操作可在需要时进行,也可以自动或连续地进行校准,但必须为ADS1210/1211提供适当的输入电压。与此相对应的校准寄存器既可读又可写,这一特性使得用户可以在多种情况下——不同的转换速度、不同的TMR以及不同的PGA增益之间进行切换而不必重新校准。
  ADS1210/1211的各种参数如增益、加速因子、模式选择及寄存器数据都是经过一个同步串行接口进行读/写的。该接口可工作在自供时钟模式(主模式)和外供时钟模式(从模式)下。在主模式下,串行时钟的频率(SCLK)为ADS1210/1211时钟频率XIN的1/2。在很多场合,串行时钟的频率是一个需要考虑的重要的参数,因为它决定了ADS1210/1211能够采用的最大时钟频率。在这里,需要明确几个概念:
  fXIN是指从XIN引脚引入的时钟信号的频率。它可以是外接的晶振频率,也可以是与CMOS兼容的外部时钟信号的频率。
  fMOD是指ADS1210/1211中的调制器的工作频率。它由下式给出:
  
  式中的Turbo Mode是指加速因子的值。
  fSAMP是指ADS1210/1211中的输入电容的工作频率或转速速度。它由下式给出:
  
  从式中不难看出,fSAMP不只与Turbo Mode有关,还与PGA增益有关。
  fDATA是ADS1210/1211产生数字输出量的频率,它的倒数为tDATA。显然,fDATA也可叫做转换速度。它由下式给出:
  
  式中的抽取率(Decimation Ratio)是指用于计算数字量输出而采纳的调制器结果的个数。如抽取率为十中取一,其含义就是将最近的调制器输出的十个数据进行计算(如取平均值),计算结果就是本次A/D转换的结果。这里的计算工作是由ADS1210/1211中的数字滤波器来完成的。
4 ADS1210/1211的应用
  ADS1210/1211作为高精度、高分辨率的A/D转换器,它的应用非常广泛。在这里,我们以高精度的智能数字电压表为例来介绍它的应用。由于ADS1210/1211内部具有自动增益(PGA)电路,它可以根据输入信号的大小自动调节增益;再者,作为高精度、高分辨率的A/D转换器,ADS1210/1211为我们提供了高精度、高分辨率的数字信号输出,从而实现了电压的自动测量。
4.1 微处理器简介
  ADS1210/1211之所以能实现其独特的功能,与其内部的微处理器是分不开的。该微处理器包括一个ALU和一个寄存器阵列。它有两种工作状态:上电复位状态和转换状态。在上电复位状态,微处理器将内部所有的寄存器复位成缺省状态,将调制器复位成稳定状态,以850Hz的频率进行自校准;然后就进入转换状态,即正常操作模式。它的内部有5个寄存器,如表4所示。其中有两个寄存器用于控制A/D转换器的操作,它们分别叫做指令寄存器(INSR)和命令寄存器(CMR)。输出数据寄存器(DOR)用于存放最新的转换结果。补偿及满量程校准寄存器(OCR和FCR)存放着用于对输出结果进行修正的数据,校准之后,才能将数据送入数据寄存器(DOR)。这两个寄存器中的数据可能是一次校准过程后的结果,也可能是通过串行口直接写入的数据。
  下面,我们就来介绍几个主要的寄存器。


4.1.1 指令寄存器(INSR)
  外界与ADS1210/1211的通信是通过指令寄存器(INSR)来控制的。在正常操作模式下,每一次的串行通信总是最先从写INSR开始的,写入的指令用于确定接下来的通信形式。注意:INSR只能写不能读。INSR是一个8位的寄存器,它命令串行口从指定的位置读/写“n”字节的数据/命令。其具体格式如下:

  
  :读/写选择位。若接下来出现的是写操作,则该位应为“0”;若为读操作,则为“1”。
  MB1 MB0:多字节选择位。这两位用来控制读/写操作的字长,有1、2、3和4字节等四种字长供选择。
  A3~A0:地址位。这4位用于指定读/写开始的寄存器位置。
  每一次的串行通信都是从发送给INSR指令开始的,它规定了接下来通信的过程,包括读/写位、字节数、开始地址等。当“n”字节传送完毕,INSR的工作就完成了。一个新的通信周期从发送一个新的INSR指令开始。
4.1.2 命令寄存器(CMR)
  命令寄存器(CMR)用来控制ADS1210/1211的所有选项和操作模式,包括PGA的增益设置、Turbo Mode Rate的设置、输出数据的速度(抽取率)的设置等。CMR是唯一的一个32位寄存器,它和其余的寄存器一样都是既可读又可写的寄存器。当命令字的每一字节的最后一位写入命令寄存器且SCLK出现负跳变时,新的操作命令就起作用了。CMR格式如表5所示。


  BIAS:偏置电压位。该位用于控制VBIAS的输出状态。BIAS=1,VBIAS为激活状态,其值为1.33×REFIN;BIAS=0,VBIAS为关闭状态,没有偏置电压。当内部参考电压输出端REFOUT接至REFIN时,VBIAS=3.3V(标称值)。
  REFO:参考电压位。该位用于控制内部参考电压的输出状态。REFO=1,内部参考电压为激活(开)状态,其值为2.5V;REFO=0,内部参考电压为关闭(高阻)状态。
  DF:数据格式位。该位用于控制输出数据的格式。DF=1,输出数据为偏移二进制数;DF=0,输出数据为二进制补码数。除最高位之外,两种格式的数值相同,且两种格式的最高位正好相反。该位只对输出数据寄存器DOR有效,对其它寄存器无效。
  :单极性位。该位用于控制输出数据的极性。=0,输出数据为双极性;=1,输出数据为单极性,输出结果限定为正值(包括0)。该位对ADS1210/1211的实际满量程范围、数据格式等没有任何影响。在双极性模式下,ADS1210/1211正常工作;在单极性模式下,只是将转换的结果限定为正值,它只是控制着DOR中的数据,对内部数据没有影响,对该位清零后,紧接着的转换结果就为双极性输出。
  BD:字节顺序位。该位控制着读入字节数据的顺序。BD=0,先读最高字节(MSB);BD=1,先读最低字节(LSB)。在开始进行多字节读操作时,若BD=0,则指令寄存器中的A3~A0为最高字节的地址,接下来的字节将位于更高的地址中;若BD=1,则指令寄存器中的A3~A0为最低字节的地址,接下来的字节将位于更低的地址中。BD位只对读操作有效,对写操作无效。
  MSB:位顺序控制位。该位控制着读入字节数据时位的读顺序。BD=0,先读最高位;BD=1,先读最低位。与BD位一样,MSB只对读操作有效,对写操作无效。
  SDL:串行数据线的选择位。该位用来指定ADS1210/1211的哪一个引脚为串行数据的输出引脚。SDL=0,指定SDIO为输出引脚;SDL=1,指定SDOUT为输出引脚。不难看出,如果SDL=0,则SDIO既作为输入引脚又作为输出引脚,这在时序中会有所体现。此时,SDOUT一直处于三态状态。
  :数据准备就绪位。该位为只读位,它反映了引脚的状态。=0,数据准备就绪;=1,数据没有准备好。
  :数据同步位。该位为只写位,它与占用同一个口地址。当把“1”写入时,将使调制器的计数复位至0;当把“0”写入时,调制器的计数无变化。
  MD2~MD0:操作模式位。该位用于启动各种方式的校准模式。
  G2~G0:增益控制位。该位用于设定PGA需要的增益值。
  CH1~CH0:通道选择位。该位用于选通ADS1211的4路输入通道中的一路。对ADS1210而言,CH1~CH0必须设置为00。
  SF2~SF0:加速因子选择位。该位用于控制输入电容的采样频率以及调制器的速度。
  DR12~DR0:抽取率选择位。这些位用于选取ADS1210/1211的抽取率(Decimation Ratio)。有效的抽取率范围为20~8000。若超出此范围,数字滤波器会由于数据不够或数据过多而引起计算结果的不正确。
4.1.3 输出数据寄存器(DOR)
  DOR为24位寄存器,用于存放最新的转换结果。DOR内容刚好在信号由高变低前被更新。如果在1/fDATA-12×(1/fXIN)所定义的时间间隔内没有读DOR的内容,则原有的内容将被覆盖。(除非是在读周期:否则,在DOR被更新前,被强制为高。)
  从上面的分析中我们知道,DOR的内容可以是补码形式,也可以是偏移二进制码形式,这主要靠命令寄存器中的DF位来控制。而且,当命令寄存器中的=1时,DOR中的数据被限定为单极性数据。
4.2 ADS1210/1211与单片机的接口
  根据ADS1210/1211与外部器件接口信号的不同,接口的形式可分为:双线制、三级制、四线制和多线制等。我们采用三线制来实现ADS1210/1211与单片机的接口。ADS1210/1211与单片机的接口电路如图3所示。图中,ADS1210/1211与87C51单片机的接口信号有三条:、SDIO和SCLK。它们是数据准备就绪线、数据输入输出线和时钟信号线,分别接至87C51单片机P1口的P1.1、P1.2和P1.3引脚。


4.3 程序设计
  根据设计任务的要求,本系统是一个程控数字电压表,我们可写出主程序的流程图,如图4所示。具体程序从略。


参考文献
1 24-Bit ADALOG-TO DIGITAL CONVERTER.Burr Brown Corporation,1997

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。