STM32L152CB Режимы пониженного энергопотребления

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
алёша
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Чт апр 30, 2009 17:16:31

STM32L152CB Режимы пониженного энергопотребления

Сообщение алёша »

Всем привет!
Может кто подскажет? Ковыряю режимы пониженного энергопотребления. В общем, потребление какое-то странное у контроллера. В обычном режиме потребление примерно 8.5 мА, что уже кстати перебор, так как в даташите написано Изображение. После старта контроллер по умолчанию работает на частоте 2.097 МГц, так что потребление слишком большое. Когда вхожу в какой-нибудь режим пониженного энергопотребления, то потребление снижается, но не намного:
Sleep mode 7.7 мА
Stop mode и StandBy mode одинаково по 6.17 мА

С ножками делал разные манипуляции. Ничего не помогает

Код: Выделить всё

void Gpio_Disable()
{
   GPIO_InitTypeDef GpioStructure;



   // Clocks for GPIO
  RCC_AHBPeriphClockCmd( RCC_AHBPeriph_GPIOA | RCC_AHBPeriph_GPIOB | RCC_AHBPeriph_GPIOC | RCC_AHBPeriph_GPIOD | RCC_AHBPeriph_GPIOE | RCC_AHBPeriph_GPIOH , ENABLE );


   //
   GpioStructure.GPIO_Pin = GPIO_Pin_All;
   GpioStructure.GPIO_Mode = GPIO_Mode_AIN;          //   GPIO_Mode_IN  GPIO_Mode_AN
   GpioStructure.GPIO_Speed = GPIO_Speed_400KHz ;     //GPIO_Speed_400KHz
   GpioStructure.GPIO_OType = GPIO_OType_PP;
   GpioStructure.GPIO_PuPd = GPIO_PuPd_DOWN;    //GPIO_PuPd_DOWN  GPIO_PuPd_NOPULL
   
   GPIO_Init(GPIOA, &GpioStructure);
   GPIO_Init(GPIOB, &GpioStructure);
   GPIO_Init(GPIOC, &GpioStructure);
   GPIO_Init(GPIOD, &GpioStructure);
   GPIO_Init(GPIOE, &GpioStructure);
   GPIO_Init(GPIOH, &GpioStructure);

/*
   // PB7 - PVD_IN
   GpioStructure.GPIO_Pin = GPIO_Pin_7;
   GpioStructure.GPIO_Mode = GPIO_Mode_OUT;          //   GPIO_Mode_IN
   GpioStructure.GPIO_Speed = GPIO_Speed_40MHz;
   GpioStructure.GPIO_PuPd = GPIO_PuPd_DOWN;

   GPIO_ResetBits(GPIOB, GPIO_Pin_7);
   GPIO_Init(GPIOB, &GpioStructure);
*/   

  RCC_AHBPeriphClockCmd( RCC_AHBPeriph_GPIOA | RCC_AHBPeriph_GPIOB | RCC_AHBPeriph_GPIOC | RCC_AHBPeriph_GPIOD | RCC_AHBPeriph_GPIOE | RCC_AHBPeriph_GPIOH , DISABLE );   
   
}



Вот кусочек кода закомменченный. Просто раньше потребление как-то реагировало, когда изменял настройки этой ножки PVD_IN детектора напряжения.

Всё, что подведено к ножкам контроллера, отпаял. Абсолютно всё. Подходит только питание. Плата кстати не отладочная, своя. Когда отпаял резистор, который подтягивал к нулю ножку BOOT0, то вне зависимости от того в каком режиме работает контроллер (Run, Sleep, Stop, Standby), потребление составляет примерно 10.5 мА. Понятно, что тогда программа может стартонуть не оттуда откуда надо, так что не стал заморачиваться с BOOT0 и просто припаял обратно

Изображение


Ну сам код тут в общем-то почти ничего нет

Код: Выделить всё

int main()
{         
   Gpio_Disable();
   //PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);
   //PWR_EnterSTANDBYMode();
   //PWR_EnterSleepMode(PWR_Regulator_LowPower, PWR_SLEEPEntry_WFI);
   while(1);
}


Проектом этим уже год не занимался, времени не было, так что мог что-то забыть и упустить. Кто чем может, поможите:)
Заранее спасибо
Реклама
Аватара пользователя
sx386
Потрогал лапой паяльник
Сообщения: 394
Зарегистрирован: Сб апр 28, 2012 16:04:14

Re: STM32L152CB Режимы пониженного энергопотребления

Сообщение sx386 »

Скорее всего где-то в других компонентах схемы утечка.
На частоте 2.097 МГц у меня потребление около 2.26 mA.

Вот и считай своё: 8.5 мА - 6.17 мА = 2.33 mA
Критикуешь - предлагай. Предлагаешь - делай. Делаешь - отвечай.
Реклама
алёша
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Чт апр 30, 2009 17:16:31

Re: STM32L152CB Режимы пониженного энергопотребления

Сообщение алёша »

Да я уже всё отпаял. Прихожу к выводу что всё-таки это контроллер. Ну и разными манипуляциями с ножками добился как-то потребления примерно 2 мА в обычном режиме.

sx386 писал(а):Скорее всего где-то в других компонентах схемы утечка.
На частоте 2.097 МГц у меня потребление около 2.26 mA.


Вот это кстати полезная информация. Хоть знать у кого там сколько чего потребляет
Ответить

Вернуться в «ARM»