《电子技术应用》
您所在的位置:首页 > 其他 > 业界动态 > 高精度微功耗数据采集系统设计与应用

高精度微功耗数据采集系统设计与应用

2009-02-03
作者:胡志刚

    摘  要: 高精度微功耗数据采集系统的设计原理,叙述了其关键芯片ADS1212的结构和原理以及使用方法,给出了详细的设计电路图和程序片段。 

    关键词: 高精度  微功耗  ADS1212  数据采集系统

 

    对于水下弱磁信号的检测和处理,需要一个能连续工作几个月甚至一年以上的采样精度很高的数据采集处理系统,这就要求该系统必须具有高精度微功耗的功能。本文所介绍的就是能满足这一要求的数据采集系统,它在笔者的工作中已经得到了充分的应用和试验。该系统采用ADS1212作为模/数转换器,它是一个具有高精度、宽动态特性的Δ-Σ型A/D芯片。下面先对该芯片的主要特点和用法进行简要介绍,随后介绍ADS1212与微功耗单片机PIC16F84A的接口电路及程序设计。 

1 ADS1212/B简介 

1.1 特点及结构 

    ADS1212特点如下: 

    (1)Δ-∑型A/D转换器。 

    (2)采样数据输出速率在10Hz时有效分辨率可达到20位,采样数据输出速率在1000Hz时有效分辨率可达16位。 

    (3)最低功耗为1.4mW。 

    (4)差分输入。 

    (5)具有可编程的增益放大器。 

    (6)SPI兼容SSI接口。 

    (7)可编程设置采样速率。 

    (8)可使用内部或外部的参考电压。 

    (9)具有芯片自校准功能。 

    ADS1212芯片为18脚DIP或SOIC封装,ADS1213含有一个四通道多路开关,为24脚DIP或SOIC封装或28脚SSOP封装。其结构如图1所示,其内部由可编程增益放大器(PGA)、二阶△-∑调制器、调制控制单元、可编程数字滤波器、微控制器单元、寄存器组(指令寄存器、命令寄存器、数据寄存器、校准数据寄存器)、一个串行接口。一个时钟电路和一个内部2.5V电压基准等组成。 

 

 

1.2 主要性能 

    可编程增益放大器的增益(G)可设为1、2、4、8、16,而加速因子(TMR)也可设为1、2、4、8、16,它们之间的关系为乘积应≤16,如表1所示。 

 

 

    采样精度同增益和加速因子的设置都有关系,具体如表2所示。这里需要指出的是,不能同时追求采样速度和采样精度,只有选取合适的速度和精度才能体现出该芯片的优势。 

 

 

1.3 主要功能寄存器 

    ADS1212/13内部有5种功能寄存器。其中指令寄存器(INSR)和命令寄存器(CMR)用于控制转换器的操作。数据输出寄存器(DOR)用于存放最新的转换结果。零点校准寄存器(OCR)和满量程寄存器(FCR)用于对转换结果进行校准。 

    指令寄存器INSR是一个8位寄存器,对ADS1211/10的每一步操作都是从它开始的。具体格式如下:

     

    是读写控制位。“1”为读操作,“0”为写操作。 

    MB1MB0是欲读写的字节数。“00”~“11”对应“1”~“4”。 

    A3~A0是欲读写寄存器的地址。 

    命令寄存器CMR是一个32位寄存器,通过对它的操作可以设置ADS1211/10的各种工作模式,格式如表3所示。 

 

 

    BIAS是参考电压输出开关位,“0”为关,“1”为开。 

    REFO是基准电压输入开关位,“1”为使用内部基准,“0”为使用外部基准。 

    DF是采样数据输出形式位,“0”为补码形式输出,“1”为原码形式输出。 

    U/B是数据极性输出,“0”为双极性数据输出,“1”单极性数据输出。 

    BD是读字节的顺序位,“0”为从高字节到低字节,“1”为从低字节到高字节。 

    MSB是位的顺序位,“0”为从高位到低位,“1”为从低位到高位。 

    SDL是数据输出线选择位,“0”为用“SDIO”输出,“1”为用“SDOT”输出。 

    DRDY是只读位,“0”表示输出数据准备好,“1”表示输出数据没有准备好。 

    DSYNC是只写位,同DRDY共用一位,“0”表示不改变调制器的计数器值,“1”表示将调制器的计数器值复位至0。 

    MD2~MD0是模式设置位,用于设置芯片的各种工作模式。 

    G2~G0是增益设置位,用于对输入信号设置增益。 

    CH1CH0是通道选择位,只适用于ADS1213,而ADS1212只有一个通道。 

    SF2~SF0是加速因子选择位。 

    DR12~DR0是抽取率选择位(Decimation Ratio)。这里需要指出的是,以前的资料对它的计算公式均有误,现更正如下: 

    fDATA=fXIN·TMR/(512·(Decimation Ratio+1)) 

    数据输出寄存器DOR为24位寄存器,用于存放最新的转换结果。只有在DRDY信号为低的情况下,DOR中的数据才是有效数据。如果在1/fDATA-12×(1/fXIN)时间内没有读出DOR中的数据,那么它将会被新的数据所覆盖。DOR中输出的数据格式可以用补码形式表示,如“FFFFFFH~000000H~7FFFFFH”,表示“负最大量程~0~正最大量程”;也可以用原码形式表示,如“000000H~800000H~FFFFFFH”,表示“负最大量程~0~正最大量程”,这可用设置CMR3的DF位来实现。 

    零点校准寄存器(OCR)和满量程寄存器(FCR)用于对转换结果进行校准。它们都是24位寄存器,可以在初始化中对其写入,以便用于校准输出数据。 

2 系统设计 

    系统采用PIC16F84A作为处理机,它是Microchip公司生产的8位单片机。内部程序存储器是1K×14 E2PROM,可重复电擦写;13个可独立编程的双向I/O引脚,驱动能力强;含片内自振式看门狗;与51系列单片机相比具有在同等晶振频率下速度快的特点,而且功耗极低,在5V电压4MHz晶振时小于2mA,在3V电压32kHz晶振时小于15μA。 

    系统采用MAX398作为多路开关,并配有MAX233,可以同计算机串口相连,将采样数据实时发送至计算机以便观测。为了降低功耗,本系统使用的是外部基准电压源,即用ADR291作为2.5V基准电压输出,用REF196作为3.3V参考电压输入。这样可以使ADS1212的功耗降低约3mA。 

2.1 电源电路 

    由于本系统采样精度高,所以电源电路的噪声必须特别小。本系统采用MAX666作+5V电压的稳压芯片, MAX664作-5V电压的稳压芯片。根据ADS1212的特殊要求设计的电源电路如图2所示。 

 

 

2.2 信号输入电路 

    信号输入电路如图3所示。输入信号通过多路开关选择,然后经过跟随器输出,再通过电阻网络输入到模/数转换器的输入端。为了使系统的噪声对采样的影响达到最小,ADS1212差分输入的负端接到2.5V基准电压处。这是因为ADS1212的输入端的输入电压不能大于电源电压,且不能小于零。输入信号在-5V~+5V内变化时,通过计算可知AINP处的电压范围为1.25V~3.75V,2.5V对应的是零点,而AINN接2.5V电压基准,这样就实现了对地信号的采样转换。 

 

 

2.3 ADS1212与PIC16F84A的接口电路 

    ADS1212与PIC16F84A的接口采用四线制通信方式,如图4所示。ADS1212的与PIC16F84的RB0相连,即采用外部中断方式读取采样数据结果。采样数据由SDOUT输出,命令数据由SDIO输入,SCLK作为同步时钟,同时PIC16F84A还留有两根口线与MAX233相连,在需要的时候可完成与计算机通讯。根据采集需要,本系统将ADS1212设置为从动方式(即Slave方式),片选端接地,而同步信号输入端接高电平。 

 

 

2.4 程序设计 

    本系统是一个水下弱磁信号的测量处理装置。软件主要包括系统复位初始化模块、A/D转换控制模块和数据处理模块。由于A/D转换控制模块和数据处理模块与具体应用密切相关,限于篇幅在此不作重点介绍。这里只介绍系统复位初始化模块。 

    系统复位初始化模块包括单片机端口初始化、ADS1212工作状态初始化等。笔者认为对于ADS1212的初始化完成后,应读出命令寄存器CMR中的一些字节,与写入的数值进行比较,以确认是否初始化正确,本系统中就是读出CMR3进行比较的。这里需要指出的是,不能用读出CMR2进行比较,因为ADS1212的工作模式已经改变,比较肯定会发生错误。如下是软件复位程序片段: 

    START:CALL PORTINIT ;调用端口初始化子程序 

        MOVLW   64H ;WR_CMR=64H 

        MOVWF   INSR 

        MOVLW   44H ;CMR3=22H(00100010B)双极性信号输入 

        MOVWF   CMR3 

        MOVLW   14H ;CMR2=28H(00101000B,自校准模式,G=4) 

        MOVWF   CMR2 

        MOVLW   1AH ;CMR1=58H(加速因子TMR=4) 

        MOVWF   CMR1 

        MOVLW   96H ;CMR0=69H(DR=1869H,DATA RATE=10Hz) 

        MOVWF   CMR0 

        CALL    SPISCW 

        MOVLW   0E4H        ;读CMR寄存器 

        MOVWF   INSR 

        CALL    SPISCRD   ;通信是否正常 

        MOVF    CMR3,0 

        XORLW   44H 

        BTFSS   3,2 

        GOTO    START      ;通信不正常,返回继续 

        CALL PSCONVT        ;进行数据转换 

    采用ADS1212加PIC16F84A及微功耗基准ADR291、REF196,实现了高精度微功耗数据采集系统,系统工作电流为1.6~1.9mA,采样精度可达20位。 

    信号输入电路采用差分输入,其负端接2.5V基准电压,有效降低了系统噪声对采样结果的影响。 

    PIC16F84A具有微功耗的特点,但缺少通讯接口,通过软件成功开发了标准异步串型通讯接口。 

    该系统已成功应用于水下弱磁信号的检测与处理。 

参考文献 

1 22-Bit ANALOG-TO DIGITAL CONVERTER.Burr-Brown, 1996 

2 PIC16X系列单片机应用设计手册.福州高奇电子科技有限公司,1994

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