0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一个高精度24位ADC芯片ADS1222的使用方法

冬至子 来源:永珂在线 作者:沙鸥520 2023-11-02 12:50 次阅读

前一段时间,在做单片机PLC、电路板、控制器/箱、仪器仪表、机电设备或系统、自动化、工控、传感、数据采集、自控系统、控制系统物联网电子产品,软件、APP开发设计定制定做开发项目时,有要求用到24位的高精度ADC,用于对外部信号采集。

经查阅,初步获得一款满足要求的芯片ADS1222,本文就介绍该芯片及其使用方法。

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;

}

}

//说明:以上程序是按照数据表编写的,还没来得及上芯片验证,仅供参考。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    6810

    浏览量

    147646
  • ADS仿真
    +关注

    关注

    0

    文章

    69

    浏览量

    10267
  • AD转换器
    +关注

    关注

    4

    文章

    244

    浏览量

    40978
  • ADC芯片
    +关注

    关注

    3

    文章

    68

    浏览量

    20071
  • 模拟调制器
    +关注

    关注

    0

    文章

    5

    浏览量

    6769
收藏 人收藏

    评论

    相关推荐

    带32位MCU和高精度ADC的SoC产品-SD93F系列开发指南(九)

    在开发指南(八)中,我们给大家讲解了24高精度ADC—SD ADC,本章我们再给大家讲解12位高速ADC—SAR
    的头像 发表于 01-12 17:14 1143次阅读
    带32位MCU和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的SoC产品-SD93F系列开发指南(九)

    24AD 模块 单片机 模数转换 高精度 采集卡 24高精度ADS1256

    大家好,24高精度ADS1256 这个有人用过吗,精度很高,可以做工程应用了,我最近开发了这个ad板子,功能很全面,并且提供单片机和stm
    发表于 11-25 23:24

    2 差分通道高精度ADC

    2 差分通道高精度ADC,带实时时钟,24*4 液晶的SOC特点 差分 2 通道或单端4 通道、高精度ADC
    发表于 06-29 16:06

    求推荐精度2424以上、转换速度快点的ADC芯片

    大家帮忙推荐精度2424以上、转换速度快
    发表于 02-21 22:26

    高精度模数转换器ADS1271的技术特性

    【原创】+24高精度模数转换器ADS1271简要使用说明文章内容仅供参考 模数转换器即A/D转换器,或简称ADC,通常是指
    发表于 06-14 15:32

    24高精度ADC采样芯片及仿真

    _OLD_Value = ADC_Value; kalman_adc_old = kalman_adc; return get_int_num(kalman_adc);}滤波效果(CS
    发表于 07-08 08:30

    鼎盛合科技芯片CSU18M88,SOC芯片集成高精度ADC和LCD显示模块

    深圳鼎盛合科技(www.peakcoo.com)专注8/32单片机、高精度AOC芯片,触摸方案及保护器件等系列标准IC与技术支持。产品简介:CSU18M88
    发表于 08-05 14:24

    深圳鼎盛合科技提供高精度ADC芯片CS1259B chipsea代理商

    等不同领域电子方案制定研发。同时可以免费为客户提供相关产品成熟方案。CS1259B是24高精度ADC,集成
    发表于 07-22 16:03

    【HarmonyOS HiSpark Wi-Fi IoT 套件试用连连载】高精度模拟ADC芯片的选型

    得到试用开发板后直还在测试应用AT指令,由于自己需要做一个高精度信号采集类的采集模块,所有本文整理了几款AD采集芯片,提前为PCB备料。【AD574】12
    发表于 10-09 13:13

    高精度低功耗模数转换芯片XM24+

    XM24+是高精度、低功耗模数转换芯片。其精度24bit,有效精度可达 23
    发表于 10-14 14:45

    通过ADC0808芯片进行高精度的电压转换

    通过ADC0808芯片进行高精度的电压转换,再通过LCD显示。电压范围0-5V,精度0.05VADC0808是采样分辨率为8的、以逐次逼近
    发表于 12-08 06:57

    基于高精度24ADC的电子血压计方案

    声音消失的那瞬间的压力称之为舒张压力(最低血压)。将其最高血压值与最低血压值记录下来,用120/80mmHg方式表示。我司研发的SDI5229TS芯片内置3通道24Sigma-De
    发表于 05-06 14:29

    ADS1222 pdf datasheet(具有2通道差动输

    The ADS1222 is a 2-channel, 24-bit, delta-sigma analog-to-digital (A/D) converter. It offers
    发表于 07-28 19:21 27次下载

    高精度AD采集芯片ADS7809的中文介绍

    高精度AD采集芯片ADS7809的中文介绍 ADS7809是Burr-Brown公司推出的高精度AD采集
    发表于 11-23 10:32 9166次阅读
    <b class='flag-5'>高精度</b>AD采集<b class='flag-5'>芯片</b><b class='flag-5'>ADS</b>7809的中文介绍

    用于差分输入多路复用器的2通道24位模数转换器ADS1222的详细资料概述

    ADS1222是一个2通道,24位,Δ∑模拟数字(A/D)转换器。它提供了优良的性能和低功耗在TSSOP- 14封装。ADS1222非常适合于高要求、高分辨率的测量,特别是在便携式系统和其他节省空间和功率受限的应用中。
    发表于 05-18 16:01 41次下载
    用于差分输入多路复用器的2通道<b class='flag-5'>24</b>位模数转换器<b class='flag-5'>ADS1222</b>的详细资料概述