TI CC2540单片机裸机低功耗 测试

关于TI的CC254x的芯片,近来做低功耗,一直降不下去,于是做了下裸机的测试
在GPIO不同状态下,得到的芯片工作电流还是有很大区别,可以借鉴!

//裸机低功耗测试
//whble 
//2017年9月21日18:02:46

#include <ioCC2540.h>

#define BV(n)      (1 << (n))

//GPIO输入配置
void GPIO_IN()
{
  P0SEL=0x00; 
  P1SEL=0x00; 
  P2SEL=0x00;

  P0DIR=0x00; 
  P1DIR=0x00; 
  P2DIR=0x00;
}
//POWER工作模式
void PowerMode(unsigned char mode)
{
  if(mode<4)
  {
    SLEEPCMD|=mode;
    PCON=0X01;
  }
  else PCON=0X00;
}
//IO上拉
void GPIO_UP()
{
  P0INP=0x00; 
  P1INP=0x00; 
  P2INP=0x00;
}
//IO下拉
void GPIO_DOWN()
{
  P0INP=0x00; 
  P1INP=0x00; 
  P2INP=0x00;
  
  P2INP |=BV(5); 
  P2INP |=BV(6); 
  P2INP |=BV(7);
}
//IO高阻
void GPIO_HI()
{
  P0DIR = 0x00; 
  P1DIR = 0x00; 
  P2DIR = 0x00;

  P0INP = 0xFF; 
  P1INP = 0xFC;
}


/*** UP ***/
void UP_PM1()  //244uA
{
  GPIO_IN();
  
  GPIO_UP();

  PowerMode(1);
}

void UP_PM2()  //0.97uA
{
  GPIO_IN();
  
  GPIO_UP();

  PowerMode(2);
}

void UP_PM3()  //0.39uA
{
  GPIO_IN();
  
  GPIO_UP();

  PowerMode(3);
}

/*** DOWN ***/
void DOWN_PM1()  //236uA
{
  GPIO_IN();
  
  GPIO_DOWN();

  PowerMode(1);
}

void DOWN_PM2()  //0.97uA
{
  GPIO_IN();
  
  GPIO_DOWN();

  PowerMode(2);
}

void DOWN_PM3()  //0.39uA
{
  GPIO_IN();
  
  GPIO_DOWN();

  PowerMode(3);
}


/*** HI ***/
void HI_PM1()  //539uA
{
  GPIO_IN();
  
  GPIO_HI();

  PowerMode(1);
}

void HI_PM2()  //311uA
{
  GPIO_IN();
  
  GPIO_HI();

  PowerMode(2);
}

void HI_PM3()  //307uA
{
  GPIO_IN();
  
  GPIO_HI();

  PowerMode(3);
}


void main(void)
{   
  HI_PM3();
  while(1);
}


  /*              ·实验结果(uA)*
  =======================================
        |   PM1   |    PM2   |    PM3   |
  ---------------------------------------
  UP    |   244   |    0.97  |    0.39  |
  ---------------------------------------
  DOWN  |   236   |    0.97  |    0.39  |
  ---------------------------------------
  HI    |   539   |    311   |    307   |
  =======================================

  数据手册
  LowPowerState        Typical value
  PM1                270μA
  PM2                1μA
  PM3                0.5μA

  注释:万用表测试结果

  结论:在配置使用低功耗模式时,需要注意芯片的各个IO
        的状态,以免造成功耗的增加
  */





posted @ 2022-11-19 17:17  电子DIY工作坊  阅读(50)  评论(0编辑  收藏  举报