• 一个高精度24位ADC芯片ADS1222的使用方法及参考电路程序成都控制器定制


    前一段时间,在做单片机、PLC、电路板、控制器/箱、仪器仪表、机电设备或系统、自动化、工控、传感、数据采集、自控系统、控制系统,物联网,电子产品,软件、APP开发设计定制定做开发项目时,有要求用到24位的高精度ADC,用于对外部信号采集。
    经查阅,初步获得一款满足要求的芯片:ADS1222,本文就介绍该芯片及其使用方法。如有相关需求可:3w点yonko-tech点com
    ADS1222是一个2通道、24位、Δ-∑-对数-数字(A/D)转换器。它在TSSOP-14封装中提供了出色的性能和低功耗。这个ADS1222非常适合要求苛刻的高分辨率测量,尤其是在便携式系统以及其他节省空间和功率受限的应用中。Δ-∑调制器和数字滤波器构成基础A/D转换器。模拟调制器具有±5V差分输入范围。输入多路复用器(mux)是用于在两个单独的差分输入之间进行选择通道。可以选择一个缓冲区来增加输入测量阻抗。一个简单的2线串行接口提供了所有必要的控制。数据检索、自校准和待机模式只需几个简单的波形。当仅需要单个转换时,ADS1222可以快速关闭(待机模式)在两次测量之间处于空闲状态时降低了整体功耗,ADS1222s可以连接在一起以创建同步采样多通道测量系统,ADS1222设计用于轻松连接诸如MSP430的微控制器。ADS1222支持2.7V至5.5V电源。在3V操作中功耗通常小于1mW,待机模式下为1µW。
    主要特点有:
    ⭕带4MHz时钟的240SPS数据速率;
    ⭕20位有效分辨率;
    ⭕双差分输入复用器通道;
    ⭕引脚可选择,高阻抗输入缓冲器;
    ⭕±5V差分输入范围,建议在GND+0.05V至VDD−1.5V之间,超出会降低精度;
    ⭕0.0003%INL(典型值),0.0015%INL(最大值);
    ⭕自校准;
    ⭕简单的2线串行接口;
    ⭕片上温度传感器;
    ⭕待机模式下的单次转换;
    ⭕低电流消耗:300µA;
    ⭕模拟电源:2.7V至5.5V;
    应用场景:
    ⭕手持式仪器;
    ⭕便携式医疗设备;
    ⭕工业过程控制;
    ⭕磅秤等。
    1、    封装及引脚说明


    2、    参考电路

    ADS1222支持5V供电电源,将VDD接直流电源正极,GND接直流电源负极。
    CLK给予一定频率的脉冲信号给ADS1222,为TTL电平,一般为2MHz.
    一般不用片上温度传感器,那么TEMPEN接0 (0V),选择接入外部模拟量通道。
    一般需要开启缓冲器以获得高输入阻抗,那么BUFEN接1(5V).
    参考电压一般接高精度2.5V。
    3、    使用说明
    ADS1222输入的模拟量电压在GND + 0.05V to VDD − 1.5V范围内拥有较高的精度,超出这个范围则精度降低。
    其一般使用流程如下:
    (1)    通道选择
    ADS1222是双通道的模数转换器,每个芯片里面有2路模拟量输入通道,在使用时,首先得选择通道,设置引脚MUX则可选择通道。
    MUX接0(0V),表示选择通道1,MUX接1(5V),表示选择通道2.
    (2)等待转换完成
    将SCLK引脚拉低,并监测DRDY/DOUT引脚的电平,当其为0时,表示ADC转换完成。
    (3)读取数据
    a,只读取数据,需要24个脉冲
    数据在串行时钟SCLK的驱动下输出,先输出数据的高位,然后输出数据的低位,直到把全部24位数据输出完。此时需在SCLK的下降沿后读取数据,ADS1222在每个SCLK脉冲时输出一位数据。
    在第24个SCLK脉冲时SCLK保持为高,那么ADS1222则进入待机模式。

    b,读取数据后强制DRDY/DOUT引脚为高,需要25个脉冲
    在前面24位数据输出完后,SCLK再给一个脉冲,ADS1222将强制DRDY/DOUT引脚为高。
     
    c,ADS1222自校准,需要26个脉冲

    (4)数据解析
    ADS1222的数据采用二进制补码的方式存储的,为24位,传输时高位在前。最高位为符号位,0为正数,1为负数。当获得的数据为正数时,原码即补码,当为负数时,原码等于除符号位以外的数据位全部取反后加一。

    当模拟量输入电压为2倍参考电压(一般5V)时,输出的数据为(7FFFFFh,二进制为0111 1111 1111 1111 1111 1111),可知符号位为0为正数,正数的补码即原码,其余为全为1表示测量为正电压的最大值5V。
    当模拟量输入电压为0V时,输出的数据为(000000h,二进制为0000 0000  0000 0000 0000 0000),可知符号位为0为正数,正数的补码即原码,其余为全为0表示测量为0V。
    当模拟量输入电压约为2倍负参考电压时,输出的数据为(800000h,二进制为1000 0000  0000 0000 0000 0000),可知符号位为1为负数,将补码转换为原码,为1 1000 0000 0000 0000 0000 0000(对于此数,负数的补码求原码后,数据变成25位(1位符号位+24位数据位)),表示测量为负电压的最小值约-5V。
    ADS1222说的是24位分辨率传感器,但是其最高位是符号位,实际来说只有23位分辨率。业务:3w点yonko-tech点com
    4、    参考程序
    一个单片机C语言的参考程序如下:
    sbit DOUT=P1^0;
    sbit SCLK =P1^1;
    sbit MUX1222 =P1^2;
    unsigned long adc_convert_ch0()    //通道0的AD转换程序
    {
    unsigned long xdata adc_result=0;
    unsigned char i=0;
    unsigned char j=0;
    //复位ADS1222
    SCLK1222=0;        //拉低SCLK
    MUX1222=1;            
    delayus(1);      //软件延时1us,其实延时100ns即可覆盖大部分场景
    MUX1222=0;            //复位并选择低位的通道(mux由1变为0,表示通道复位+选择通道0.假如是选择通道1,那么mux引脚先0后1即可)    
    delayus(1);
    //等待转换完成。业务:3w点yonko-tech点com,扣扣:二五三一26三七二六
    while(DOUT ==1)    //当DRDY/DOUT =0时转换完成 
    { delayms(1);
    j++;
    if(j>=20) break;//等了20ms还没转换完成,退出等待
    }  
    if(j<20) //只有转换时间小于20ms的才正确,才读取
    {
    //获取数据
    for(i=0;i<24;i++)          //读取数据,0-23共24个数据位
        {
        SCLK1222=0;             //拉低SCLK
        delayus(1);
        SCLK1222=1;              //拉高SCLK
        delayus(1);
        adc_result=adc_result<<1;
        if(DOUT==1)
            {adc_result=adc_result | 0x00000001UL;}
        else
            {adc_result=adc_result & (~0x00000001UL);}
        }
    //输出第25个脉冲,强制DRDY/DOUT为高
    SCLK1222=0;    //拉低SCLK
    delayus(1);
    SCLK1222=1;  //拉高SCLK
    delayus(1);
    SCLK1222=0;  //拉低SCLK
    delayus(1);
    return     adc_result;
    }
    }
    //说明:以上程序是按照数据表编写的,还没来得及上芯片验证,仅供参考。
    本文来自于对手册的解析,可能有误,详细的使用说明可查阅ADS1222的原版手册(ADS1222_datasheet)。
    沙鸥 于 成都
    参考文献:
    [1] ADS1222数据表(ADS1222_datasheet)

  • 相关阅读:
    集合_HashSet(HashMap)扩容机制源码简析
    ElasticSearch性能原理拆解
    二氧化钛接枝聚(苯乙烯-二乙烯苯)/马来酸酐多孔纳米复合微球
    golang中实现一个异步延时程序
    剑指 Offer 46. 把数字翻译成字符串(DP)
    crontab定时任务
    alb和clb区别
    广义表的存储结构及其基本运算
    Android Studio 的初次使用
    Ubuntu - 搭建samba服务器
  • 原文地址:https://blog.csdn.net/u010755676/article/details/133467910