0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于CW32模塊的ADS1115多路模數(shù)轉(zhuǎn)換器設(shè)計(jì)

jf_qE49KoVBr8 ? 來(lái)源:武漢芯源半導(dǎo)體 ? 2024-11-12 11:20 ? 次閱讀

ADS1115 器件是兼容 IIC 的 16 位高精度低功耗模數(shù)轉(zhuǎn)換器 (ADC),采用超小型無(wú)引線 X2QFN-10 封裝和 VSSOP-10 封裝。ADS111x 器件采用了低漂移電壓基準(zhǔn)振蕩器。ADS1114 和 ADS1115 還采用可編程增益放大器(PGA)和數(shù)字比較器。這些特性加以較寬的工作電源電壓范圍使得 ADS1115 非常適合功率與空間受限的傳感器測(cè)量。

ADS111x 可在數(shù)據(jù)速率高達(dá)每秒 860 個(gè)樣本 (SPS) 的情況下執(zhí)行轉(zhuǎn)換。PGA 可提供從 ±256mV 到±6.144V 的輸入范圍,從而實(shí)現(xiàn)精準(zhǔn)的大小信號(hào)測(cè)量。ADS1115 具有 一個(gè)輸入多路復(fù)用器 (MUX),可實(shí)現(xiàn)兩次差動(dòng)輸入測(cè)量或四次單端輸入測(cè)量。在ADS1115 中可使用數(shù)字比較器進(jìn)行欠壓和過(guò)壓檢測(cè)。ADS1115既可在連續(xù)轉(zhuǎn)換模式下工作,也可在單沖模式下工作。在單沖模式下,這些器件可在一次轉(zhuǎn)換后自動(dòng)斷電;因此顯著降低了空閑期間的功耗。

01 模塊來(lái)源

模塊實(shí)物展示:

e3375604-a09e-11ef-93f3-92fbcf53809c.png

02 規(guī)格參數(shù)

工作電壓:2.0-5.5V

工作電流:150uA

采集精度:16位

采集通道:4通道

控制方式:IIC

管腳數(shù)量:10 Pin(2.54mm間距排針

以上信息見(jiàn)廠家資料文件

03 移植過(guò)程

我們的目標(biāo)是將例程移植至CW32F030C8T6開(kāi)發(fā)板上【實(shí)現(xiàn)4路ADC采集電壓功能】。首先要獲取資料,查看數(shù)據(jù)手冊(cè)應(yīng)如何實(shí)現(xiàn)讀取數(shù)據(jù),再移植至我們的工程。

3.1 查看資料

ADS1115是采用的IIC通信,所以首先要了解IIC的地址與時(shí)序,再確定根據(jù)寄存器的設(shè)置。

器件地址

器件地址的設(shè)置見(jiàn)下表:

e359c6ee-a09e-11ef-93f3-92fbcf53809c.png

說(shuō)明:當(dāng)模塊上的ADDR引腳接入GND時(shí),其器件地址為1001000,最后一位數(shù)據(jù)是讀寫(xiě)位。

e35dd072-a09e-11ef-93f3-92fbcf53809c.png

時(shí)序

下圖是讀時(shí)序,步驟是:

IIC起始信號(hào)->發(fā)送器件地址+0(寫(xiě))->等待模塊應(yīng)答->應(yīng)答后發(fā)送寄存器地址->等待模塊應(yīng)答->重新發(fā)送起始信號(hào)->發(fā)送器件地址+1(讀)->等待模塊應(yīng)答->應(yīng)答后讀取高8位數(shù)據(jù)->讀取完畢主機(jī)發(fā)送應(yīng)答信號(hào)->讀取低8位數(shù)據(jù)->讀取完畢主機(jī)發(fā)送應(yīng)答信號(hào)->發(fā)送IIC停止信號(hào)

e37a27ae-a09e-11ef-93f3-92fbcf53809c.png

下圖是寫(xiě)時(shí)序,步驟是:

IIC起始信號(hào)->發(fā)送器件地址+0(寫(xiě))->等待模塊應(yīng)答->應(yīng)答后發(fā)送寄存器地址->等待模塊應(yīng)答->應(yīng)答后寫(xiě)入高8位數(shù)據(jù)->等待模塊應(yīng)答->寫(xiě)入低8位數(shù)據(jù)->等待模塊應(yīng)答->發(fā)送IIC停止信號(hào)

寄存器說(shuō)明

ADS1115有四個(gè)寄存器,可通過(guò)IIC接口使用地址指針進(jìn)入。

地址0X00為轉(zhuǎn)換寄存器,它包含最后一次轉(zhuǎn)換的結(jié)果。

地址0X01為配置寄存器,用于更改ADS1115的工作模式和查詢?cè)O(shè)備狀態(tài)。

另外兩個(gè)寄存器,Lo_thresh和Hi_thresh,設(shè)置用于比較器函數(shù)的閾值,我們用不到。

e384b8c2-a09e-11ef-93f3-92fbcf53809c.png

配置寄存器有16位,用于控制工作模式、輸入選擇、數(shù)據(jù)速率、滿量程范圍和比較器模式。

e39c761a-a09e-11ef-93f3-92fbcf53809c.png

第15位:OS,讀操作時(shí)可以知道當(dāng)前設(shè)備的工作狀態(tài);寫(xiě)操作時(shí)可以設(shè)置單次轉(zhuǎn)換。本文配置為1(必須為斷電模式下,當(dāng)對(duì)OS寫(xiě)1時(shí),設(shè)備會(huì)進(jìn)入上電模式并完成一次數(shù)據(jù)轉(zhuǎn)換,然后會(huì)自動(dòng)將OS置0)

第14-12位:MUX為輸入多路復(fù)用器,對(duì)輸入模式進(jìn)行選擇,如下圖有八種輸入模式,分別是四種差分與四種單端輸入,本文配置為A0單端輸入(0x04)。(單端輸入就是測(cè)量的數(shù)據(jù)有兩個(gè)引腳,一個(gè)輸出一個(gè)地。將測(cè)量的輸出接入A0引腳,測(cè)量的地與ADS1115共地)

e3b0db00-a09e-11ef-93f3-92fbcf53809c.png

第11-9位:PGA為可編程增益放大器,設(shè)置FSR(滿刻度的范圍),本文配置為±4.096V(0x01)后面電壓計(jì)算公式與這個(gè)有關(guān)。

e3bf649a-a09e-11ef-93f3-92fbcf53809c.png

第8位:MODE選擇持續(xù)轉(zhuǎn)換模式與單次轉(zhuǎn)換模式(單次轉(zhuǎn)換模式需要OS位觸發(fā)),本文配置為連續(xù)轉(zhuǎn)換模式(0x00)

e3ca43a6-a09e-11ef-93f3-92fbcf53809c.png

第7-5位:DR配置data rate數(shù)據(jù)傳輸速率,本文配置為128SPS(0x04)

e3d541de-a09e-11ef-93f3-92fbcf53809c.png

第4-2位:對(duì)比較器的配置,我們不使用,默認(rèn)為0即可(0x00) 第1-0位:本位配置為關(guān)閉比較器并將ALERT/RDY引腳設(shè)置為高阻抗模式(0x03)

e3ea746e-a09e-11ef-93f3-92fbcf53809c.png

最終得到的配置結(jié)果為1100_0010_1000_0011(0xC283)。

當(dāng)前配置的是A0的引腳,我們后續(xù)獲取數(shù)據(jù)也是從A0引腳讀取。

16位轉(zhuǎn)換寄存器以二進(jìn)制的補(bǔ)碼格式保存最后一次轉(zhuǎn)換的結(jié)果。需要注意的是,在上電之后,轉(zhuǎn)換寄存器被清除為0,并保持為0,直到第一次轉(zhuǎn)換完成。

e4018046-a09e-11ef-93f3-92fbcf53809c.png

實(shí)現(xiàn)代碼說(shuō)明

讀取到的ADC值如何換算為電壓?

以PGA設(shè)置為4.96V為例。

電壓 = 采集到的ADC值 * 分辨率

分辨率 = 測(cè)量電壓范圍 / (2^AD位數(shù)-1) = 4.096 / 2的15次方 = 0.000125V

分辨率也可以在數(shù)據(jù)手冊(cè)中查看,見(jiàn)右圖。其中125uV = 0.125mV = 0.000125V。

e40b4bda-a09e-11ef-93f3-92fbcf53809c.png

/******************************************************************
 * 函 數(shù) 名 稱:WriteADS1115
 * 函 數(shù) 說(shuō) 明:向ADS1115的add地址寫(xiě)入dat數(shù)據(jù)
 * 函 數(shù) 形 參: add寫(xiě)入寄存器地址
 *             dat_H寫(xiě)入的高8位數(shù)據(jù)
 *             dat_L寫(xiě)入的低8位數(shù)據(jù)
 * 函 數(shù) 返 回:0寫(xiě)入成功
 *             1寫(xiě)入器件地址無(wú)應(yīng)答
 *             2寫(xiě)入寄存器地址無(wú)應(yīng)答
 * 作       者:LC
 * 備       注:器件地址=0X90
******************************************************************/
uint8_t WriteADS1115(uint8_t add, uint8_t dat_H, uint8_t dat_L)
{
    IIC_Start();//起始信號(hào)
    IIC_Write(0x90);//器件地址
    if( IIC_Wait_Ack() == 1 )
        return 1;
    IIC_Write(add);//寄存器地址
    if( IIC_Wait_Ack() == 1 )
        return 2;
    IIC_Write(dat_H);//寫(xiě)入高8位
    IIC_Wait_Ack();//等待應(yīng)答
    IIC_Write(dat_L);//寫(xiě)入低8位
    IIC_Wait_Ack();//等待應(yīng)答
    IIC_Stop();//停止信號(hào)
    return (0);
}
/******************************************************************
 * 函 數(shù) 名 稱:ReadADS1115
 * 函 數(shù) 說(shuō) 明:讀取ADS1115的數(shù)據(jù)
 * 函 數(shù) 形 參:add讀取的寄存器地址
 * 函 數(shù) 返 回:-1-讀取失敗  其他-讀取成功
 * 作       者:LC
 * 備       注:無(wú)
******************************************************************/
float ReadADS1115(unsigned char add)
{
    int i =0;
    unsigned char dat[2]={0};
    unsigned int num = 0;
    float ret=0;
    IIC_Start();//起始信號(hào)
    IIC_Write(0x90);//器件地址+寫(xiě)
    if( IIC_Wait_Ack() == 1 )
        return -1;
    IIC_Write(add);//寄存器地址
    if( IIC_Wait_Ack() == 1 )
        return -1;
    do{
      //超時(shí)判斷
      i++;
      if( i > 20 ) return -1;
      delay_1ms(1);
      IIC_Start();//重新發(fā)送起始信號(hào)
      IIC_Write(0x91);//器件地址+讀
    }while(IIC_Wait_Ack() == 1);


    dat[0]=IIC_Read();//讀高8位數(shù)據(jù)
    IIC_Send_Ack(0);//應(yīng)答
    dat[1]=IIC_Read();//讀低8位數(shù)據(jù)
    IIC_Send_Ack(1);//非應(yīng)答
    IIC_Stop();//發(fā)送停止信號(hào)
    //數(shù)據(jù)整合
    num =  ((dat[0]<<8) | (dat[1]));
    //分辨率計(jì)算:測(cè)量電壓范圍/(2^AD位數(shù)-1)
    //    分辨率= 4.096/2^15=0.000125
    //      電壓= 采集到的ADC值 * 分辨率
    if(num>32768)
        ret=(65535-num)*0.000125;
    else
        ret=num*0.000125;


    return ret;
}

3.2 引腳選擇

e42465d4-a09e-11ef-93f3-92fbcf53809c.png

接線表

3.3 移植至工程

工程模板參考入門(mén)手冊(cè)的工程模板

移植步驟中的導(dǎo)入.c和.h文件與【CW32模塊使用】DHT11溫濕度傳感器相同,只是將.c和.h文件更改為bsp_ads1115.c與bsp_ads1115.h。這里不再過(guò)多講述,移植完成后面修改相關(guān)代碼。

在文件bsp_ads1115.c中,編寫(xiě)如下代碼。

/*
 * Change Logs:
 * Date           Author       Notes
 * 2024-06-20     LCKFB-LP    first version
 */


#include "bsp_ads1115.h"
#include "stdio.h"


/******************************************************************
 * 函 數(shù) 名 稱:ADS1115_GPIO_Init
 * 函 數(shù) 說(shuō) 明:對(duì)IIC引腳初始化
 * 函 數(shù) 形 參:無(wú)
 * 函 數(shù) 返 回:無(wú)
 * 作       者:LC
 * 備       注:1100_0010_1000_0011  WriteADS1115(0x01,0xc2,0x83);
******************************************************************/
void ADS1115_GPIO_Init(void)
{
    GPIO_InitTypeDef GPIO_InitStruct; // GPIO初始化結(jié)構(gòu)體


    RCC_ADS1115_ENABLE();        // 使能GPIO時(shí)鐘


    GPIO_InitStruct.Pins = GPIO_SCL|GPIO_SDA;               // GPIO引腳
    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD;             // 開(kāi)漏輸出
    GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;                // 輸出速度高
    GPIO_Init(PORT_ADS1115, &GPIO_InitStruct);              // 初始化


    //寫(xiě)入配置參數(shù)
    WriteADS1115(0x01,0xC2,0x83);
}


/******************************************************************
 * 函 數(shù) 名 稱:IIC_Start
 * 函 數(shù) 說(shuō) 明:IIC起始信號(hào)
 * 函 數(shù) 形 參:無(wú)
 * 函 數(shù) 返 回:無(wú)
 * 作       者:LC
 * 備       注:無(wú)
******************************************************************/
void IIC_Start(void)
{
        SDA_OUT();


        SDA(1);
        delay_us(5);
        SCL(1);
        delay_us(5);


        SDA(0);
        delay_us(5);
        SCL(0);
        delay_us(5);


}
/******************************************************************
 * 函 數(shù) 名 稱:IIC_Stop
 * 函 數(shù) 說(shuō) 明:IIC停止信號(hào)
 * 函 數(shù) 形 參:無(wú)
 * 函 數(shù) 返 回:無(wú)
 * 作       者:LC
 * 備       注:無(wú)
******************************************************************/
void IIC_Stop(void)
{
        SDA_OUT();
        SCL(0);
        SDA(0);


        SCL(1);
        delay_us(5);
        SDA(1);
        delay_us(5);


}
/******************************************************************
 * 函 數(shù) 名 稱:IIC_Send_Ack
 * 函 數(shù) 說(shuō) 明:主機(jī)發(fā)送應(yīng)答
 * 函 數(shù) 形 參:0應(yīng)答  1非應(yīng)答
 * 函 數(shù) 返 回:無(wú)
 * 作       者:LC
 * 備       注:無(wú)
******************************************************************/
void IIC_Send_Ack(unsigned char ack)
{
        SDA_OUT();
        SCL(0);
        SDA(0);
        delay_us(5);
        if(!ack) SDA(0);
        else     SDA(1);
        SCL(1);
        delay_us(5);
        SCL(0);
        SDA(1);
}
/******************************************************************
 * 函 數(shù) 名 稱:IIC_Wait_Ack
 * 函 數(shù) 說(shuō) 明:等待從機(jī)應(yīng)答
 * 函 數(shù) 形 參:無(wú)
 * 函 數(shù) 返 回:1=無(wú)應(yīng)答   0=有應(yīng)答
 * 作       者:LC
 * 備       注:無(wú)
******************************************************************/


unsigned char IIC_Wait_Ack(void)
{


        char ack = 0;
        unsigned char ack_flag = 10;
        SDA_IN();
        SDA(1);
        delay_us(5);
        SCL(1);
        delay_us(5);
        while( (GETSDA()==1) && ( ack_flag ) )
        {
                ack_flag--;
                delay_us(5);
        }


        if( ack_flag <= 0 )
        {
                IIC_Stop();
                return 1;
        }
        else
        {
                SCL(0);
                SDA_OUT();
        }
        return ack;
}
/******************************************************************
 * 函 數(shù) 名 稱:IIC_Write
 * 函 數(shù) 說(shuō) 明:IIC寫(xiě)一個(gè)字節(jié)
 * 函 數(shù) 形 參:dat寫(xiě)入的數(shù)據(jù)
 * 函 數(shù) 返 回:無(wú)
 * 作       者:LC
 * 備       注:無(wú)
******************************************************************/
void IIC_Write(unsigned char dat)
{
        int i = 0;
        SDA_OUT();
        SCL(0);//拉低時(shí)鐘開(kāi)始數(shù)據(jù)傳輸


        for( i = 0; i < 8; i++ )
        {
                SDA( (dat & 0x80) >> 7 );
                                delay_us(2);
                dat<<=1;
                delay_us(6);
                SCL(1);
                delay_us(4);
                SCL(0);
                delay_us(4);


        }
}


/******************************************************************
 * 函 數(shù) 名 稱:IIC_Read
 * 函 數(shù) 說(shuō) 明:IIC讀1個(gè)字節(jié)
 * 函 數(shù) 形 參:無(wú)
 * 函 數(shù) 返 回:讀出的1個(gè)字節(jié)數(shù)據(jù)
 * 作       者:LC
 * 備       注:無(wú)
******************************************************************/
unsigned char IIC_Read(void)
{
        unsigned char i,receive=0;
    SDA_IN();//SDA設(shè)置為輸入
    for(i=0;i<8;i++ )
        {
        SCL(0);
        delay_us(5);
        SCL(1);
        delay_us(5);
        receive<<=1;
        if( GETSDA() )
        {
            receive|=1;
        }
        delay_us(5);
    }
  return receive;
}


/******************************************************************
 * 函 數(shù) 名 稱:WriteADS1115
 * 函 數(shù) 說(shuō) 明:向ADS1115的add地址寫(xiě)入dat數(shù)據(jù)
 * 函 數(shù) 形 參:add寫(xiě)入寄存器地址 dat_H寫(xiě)入的高8位數(shù)據(jù)  dat_L寫(xiě)入的低8位數(shù)據(jù)
 * 函 數(shù) 返 回:0寫(xiě)入成功 1寫(xiě)入器件地址無(wú)應(yīng)答  2寫(xiě)入寄存器地址無(wú)應(yīng)答
 *              3寫(xiě)入高8位數(shù)據(jù)無(wú)應(yīng)答  4寫(xiě)入低8位數(shù)據(jù)無(wú)應(yīng)答
 * 作       者:LC
 * 備       注:器件地址=0X90
******************************************************************/
uint8_t WriteADS1115(uint8_t add,uint8_t dat_H,uint8_t dat_L)
{
          IIC_Start();
          IIC_Write(0x90);
          if( IIC_Wait_Ack() == 1 )
          {
                  printf("error 1
");
                   return 1;
          }
          IIC_Write(add);
          if( IIC_Wait_Ack() == 1 )
          {
                  printf("error 2
");
                  return 2;
          }
          IIC_Write(dat_H);
          IIC_Wait_Ack();
          IIC_Write(dat_L);
          IIC_Wait_Ack();
          IIC_Stop();
          return (0);
}






/******************************************************************
 * 函 數(shù) 名 稱:ReadADS1115
 * 函 數(shù) 說(shuō) 明:讀取ADS1115的數(shù)據(jù)
 * 函 數(shù) 形 參:add讀取的寄存器地址
 * 函 數(shù) 返 回:-1-讀取失敗  其他-讀取成功
 * 作       者:LC
 * 備       注:無(wú)
******************************************************************/
float ReadADS1115(unsigned char add)
{
  int i =0;
  unsigned char dat[2]={0};
  unsigned int num = 0;
  float ret=0;
  IIC_Start();//起始信號(hào)
  IIC_Write(0x90);//器件地址+寫(xiě)
  if( IIC_Wait_Ack() == 1 )
      return -1;
  IIC_Write(add);//寄存器地址
  if( IIC_Wait_Ack() == 1 )
      return -1;
  do{
    //超時(shí)判斷
    i++;
    if( i > 20 ) return -1;
    delay_ms(1);
    IIC_Start();//重新發(fā)送起始信號(hào)
    IIC_Write(0x91);//器件地址+讀
  }while(IIC_Wait_Ack() == 1);


  dat[0]=IIC_Read();//讀高8位數(shù)據(jù)
  IIC_Send_Ack(0);//應(yīng)答
  dat[1]=IIC_Read();//讀低8位數(shù)據(jù)
  IIC_Send_Ack(1);//非應(yīng)答
  IIC_Stop();//發(fā)送停止信號(hào)
  //數(shù)據(jù)整合
  num =  ((dat[0]<<8) | (dat[1]));


        //數(shù)值計(jì)算取決于PGA配置
    //2的15次方=32768
    //設(shè)置的最大量程4.096
//        if(num>32768)
//                ret=((float)(65535-num)/32768.0)*4.096;
//        else
//                ret=((float)num/32768.0)*4.096;


  //分辨率計(jì)算:測(cè)量電壓范圍/(2^AD位數(shù)-1)
  //    分辨率= 4.096/2^15=0.000125
  //      電壓= 采集到的ADC值 * 分辨率
  if(num>32768)
      ret=(65535-num)*0.000125;
  else
      ret=num*0.000125;


  return ret;
}

?

在文件bsp_ads1115.h中,編寫(xiě)如下代碼。

/*
 * Change Logs:
 * Date           Author       Notes
 * 2024-06-20     LCKFB-LP    first version
 */
#ifndef _BSP_ADS1115_H_
#define _BSP_ADS1115_H_


#include "board.h"


#define RCC_ADS1115_ENABLE()      __RCC_GPIOB_CLK_ENABLE()
#define PORT_ADS1115              CW_GPIOB


#define GPIO_SCL                  GPIO_PIN_8
#define GPIO_SDA                  GPIO_PIN_9


//SDA輸入模式
#define SDA_IN()   {                                                     
                        GPIO_InitTypeDef GPIO_InitStruct;                
                        GPIO_InitStruct.Pins = GPIO_SDA;                 
                        GPIO_InitStruct.Mode = GPIO_MODE_INPUT_PULLUP;   
                        GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;         
                        GPIO_Init(PORT_ADS1115, &GPIO_InitStruct);       
                   }
//SDA輸出模式
#define SDA_OUT()  {                                                                                                         
                        GPIO_InitTypeDef GPIO_InitStruct;                
                        GPIO_InitStruct.Pins = GPIO_SDA;                 
                        GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD;      
                        GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;         
                        GPIO_Init(PORT_ADS1115, &GPIO_InitStruct);       
                    }


#define SCL(BIT)  GPIO_WritePin( PORT_ADS1115, GPIO_SCL, BIT?GPIO_Pin_SET:GPIO_Pin_RESET )
#define SDA(BIT)  GPIO_WritePin( PORT_ADS1115, GPIO_SDA, BIT?GPIO_Pin_SET:GPIO_Pin_RESET )
#define GETSDA()  GPIO_ReadPin( PORT_ADS1115, GPIO_SDA )








void ADS1115_GPIO_Init(void);
unsigned char WriteADS1115(unsigned char add,unsigned char dat_H,unsigned char dat_L);
float ReadADS1115(unsigned char add);
#endif

?04 移植驗(yàn)證

在自己工程中的main主函數(shù)中,編寫(xiě)如下。

/*
 * Change Logs:
 * Date           Author       Notes
 * 2024-06-20     LCKFB-LP    first version
 */
#include "board.h"
#include "stdio.h"
#include "bsp_uart.h"
#include "bsp_ads1115.h"


int32_t main(void)
{
    board_init();        // 開(kāi)發(fā)板初始化


    uart1_init(115200);        // 串口1波特率115200


    ADS1115_GPIO_Init();


    printf("demo start
");
    while(1)
    {
        //當(dāng)前設(shè)置最大量程為4.096V
        printf("A0 = %.4f
", ReadADS1115(0x00) );//讀取A0的值
        delay_ms(1000);
    }
}

移植現(xiàn)象:將A0接入GND、3.3V和5V。

e47cc684-a09e-11ef-93f3-92fbcf53809c.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 振蕩器
    +關(guān)注

    關(guān)注

    28

    文章

    3832

    瀏覽量

    139088
  • adc
    adc
    +關(guān)注

    關(guān)注

    98

    文章

    6498

    瀏覽量

    544640
  • 模數(shù)轉(zhuǎn)換器

    關(guān)注

    26

    文章

    3204

    瀏覽量

    126837
  • ads1115
    +關(guān)注

    關(guān)注

    0

    文章

    17

    瀏覽量

    12916
  • CW32
    +關(guān)注

    關(guān)注

    1

    文章

    203

    瀏覽量

    641

原文標(biāo)題:【CW32模塊使用】ADS1115多路模數(shù)轉(zhuǎn)換器

文章出處:【微信號(hào):武漢芯源半導(dǎo)體,微信公眾號(hào):武漢芯源半導(dǎo)體】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    求助,關(guān)于模數(shù)轉(zhuǎn)換器ADS1115連續(xù)轉(zhuǎn)換的問(wèn)題求解

    ADS1115的continuous-conversion mode啟用時(shí),器件開(kāi)始進(jìn)行連續(xù)轉(zhuǎn)換,并將轉(zhuǎn)換的值存入寄存,采用4個(gè)單端輸入模式。 問(wèn)題:當(dāng)我讀取寄存
    發(fā)表于 11-29 14:26

    使用ADS1115模數(shù)轉(zhuǎn)換器時(shí),它的PGA的增益是如何設(shè)置的?

    使用ADS1115模數(shù)轉(zhuǎn)換器時(shí),它的PGA的增益是如何設(shè)置的,按照數(shù)據(jù)手冊(cè),設(shè)置FSR=4.096V或者6.144V,測(cè)量3V電壓,都是3V左右,這是什么問(wèn)題。
    發(fā)表于 12-03 07:18

    ADS1115模數(shù)轉(zhuǎn)換用作單端信號(hào)轉(zhuǎn)換時(shí),vin-端連接數(shù)字地還是模擬地?

    1.ADS1115模數(shù)轉(zhuǎn)換用作單端信號(hào)轉(zhuǎn)換時(shí),vin-端連接數(shù)字地還是模擬地? 2.不需使用的輸入端口,怎么樣處理最佳? 3.準(zhǔn)備把信號(hào)處理一部分做成一個(gè)板子,MCU為另一塊板子,通
    發(fā)表于 12-03 06:37

    ADS1115是什么意思呢

    內(nèi)部基準(zhǔn)、振蕩和可編程比較且兼容 I2C 的ADS111x、超小型、低功耗 860SPS、16 位 ADC 。在操作之前,你需要一塊ads1115,一塊單片機(jī),CCS,還要會(huì)一點(diǎn)I
    發(fā)表于 11-29 08:11

    ADS1115是什么?怎樣去使用ADS1115

    ADS1115是什么?ADS1115有哪些特性?怎樣去使用ADS1115呢?
    發(fā)表于 12-14 08:08

    TI公司IIC接口16位AD模塊ADS1115

    TI公司16位的AD模塊ADS1115,IIC接口,四通道,本程序是基于msp430利用兩個(gè)IO口模擬IIC來(lái)驅(qū)動(dòng)ADS1115
    發(fā)表于 07-20 17:21 ?66次下載

    ADS1115用戶手冊(cè)

    ADS1113、ADS1114 和 ADS1115 是具有 16 位分辨率的高精度模數(shù)轉(zhuǎn)換器 (ADC),采用超小型的無(wú)引線QFN-10 封裝或 MSOP-10 封裝。
    發(fā)表于 11-11 11:55 ?61次下載

    ads1115電壓測(cè)量范圍

     ADS1115 是具有16 位分辨率的高精度模數(shù)轉(zhuǎn)換器(ADC),采用超小型的無(wú)引線QFN-10 封裝或MSOP-10 封裝。ADS1115 在設(shè)計(jì)時(shí)考慮到了精度、功耗和實(shí)現(xiàn)的簡(jiǎn)易性
    發(fā)表于 10-23 08:42 ?1.7w次閱讀

    基于51的ads1115詳細(xì)程序介紹

     ADS1115 是具有16 位分辨率的高精度模數(shù)轉(zhuǎn)換器(ADC),采用超小型的無(wú)引線QFN-10 封裝或MSOP-10 封裝。以下將是基于51的ads1115詳細(xì)程序介紹:
    發(fā)表于 10-23 09:25 ?1.5w次閱讀

    ads1115應(yīng)用電路圖

    I 公司的ADS1113,ADS1114 和ADS1115 是超小型16位精密模數(shù)轉(zhuǎn)換器(ADC),具有板載基準(zhǔn)電壓和振蕩,通過(guò)I2C 兼
    發(fā)表于 10-23 09:39 ?1.4w次閱讀

    ads1115使用方法

    ADS1113.ADS1114 和ADS1115 是具有16 位分旁粹率的高精度模數(shù)轉(zhuǎn)換器(ADC),采用超小型的無(wú)引線QFN-10 封裝或MSOP-10 封裝。ADS1113/4/5
    發(fā)表于 10-23 10:15 ?4.2w次閱讀

    基于STM32的ADS1115使用例程

    基于STM32的ADS1115使用例程
    發(fā)表于 12-02 20:51 ?122次下載
    基于STM32的<b class='flag-5'>ADS1115</b>使用例程

    模數(shù)轉(zhuǎn)換器16位ADC芯片ADS1115

    TI德州儀器ADS1115是VSSOP-10和UQFN-10封裝中提供的精密、低功耗、16位、I2C兼容的模數(shù)轉(zhuǎn)換器(ADC)。還包含一個(gè)可編程增益放大器(PGA)和一個(gè)數(shù)字比較。這些功能,加上廣泛的工作電源范圍,非常適合功率
    的頭像 發(fā)表于 05-19 17:36 ?3290次閱讀

    淺談CW32系列模數(shù)轉(zhuǎn)換器(ADC)

    CW32系列模數(shù)轉(zhuǎn)換器(ADC)
    的頭像 發(fā)表于 10-25 15:43 ?1150次閱讀
    淺談<b class='flag-5'>CW32</b>系列<b class='flag-5'>模數(shù)轉(zhuǎn)換器</b>(ADC)

    用于多路信號(hào)采集的國(guó)產(chǎn)模數(shù)轉(zhuǎn)換器,軟硬件兼容ADS1220

    用于多路信號(hào)采集的國(guó)產(chǎn)模數(shù)轉(zhuǎn)換器,軟硬件兼容ADS1220
    的頭像 發(fā)表于 06-24 09:58 ?451次閱讀
    用于<b class='flag-5'>多路</b>信號(hào)采集的國(guó)產(chǎn)<b class='flag-5'>模數(shù)轉(zhuǎn)換器</b>,軟硬件兼容<b class='flag-5'>ADS</b>1220