реклама на сайте
подробности

 
 
> stm32l100 discovery, standby mode, не могу добиться заявленного токопотребления
dima311043
сообщение May 31 2017, 11:59
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 31-05-17
Пользователь №: 97 409



Всем привет.

Работаю с отладочной платой STM32L100 Discovery. Хочу добиться заявленного потребления ~0.3 uA в режиме standby. Делаю все как в примере для библиотеки Standard Peripheral Library с сайта ST, пример Current consumption из папки PWR для замера потребляемого тока. В итоге получаю потребление в этом режиме ~275uA. Ток меряю на выводах Idd на плате. Бьюсь уже довольно давно, много чего перепробовал, но меньшего значения, чем в том коде что идет ниже, добиться не удалось. Что я могу делать не так? Помогите, кто сталкивался. На всякий случай прилагаю еще принципиалку платы и библиотечный пример.
CODE

GPIO_InitTypeDef GPIO_InitStructure;

int main(void)
{
/* Enable PWR APB1 Clock */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);

/* Allow access to RTC */
PWR_RTCAccessCmd(ENABLE);

/* Reset RTC Domain */
RCC_RTCResetCmd(ENABLE);
RCC_RTCResetCmd(DISABLE);

/* Configure Key Button*/
/* Enable the BUTTON Clock */
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);

/* Configure Button pin as input */
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_Init(GPIOA, &GPIO_InitStructure);

/* Wait Until Key button pressed */
while((GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0)) == RESET)
{
}
/* Wait Until Key button pressed */
while((GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0)) != RESET)
{
}

/* Enable Ultra low power mode */
PWR_UltraLowPowerCmd(ENABLE);

/* Clear PWR WakeUp flag */
PWR_ClearFlag(PWR_FLAG_WU);

/* Enable WKUP pin 1 */
PWR_WakeUpPinCmd(PWR_WakeUpPin_1, ENABLE);

/* Request to enter STANDBY mode */
PWR_EnterSTANDBYMode();
while(1){}
}

Прикрепленный файл  CurrentConsumption.rar ( 20.88 килобайт ) Кол-во скачиваний: 25

Прикрепленный файл  disco.pdf ( 793.14 килобайт ) Кол-во скачиваний: 47
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение May 31 2017, 16:33
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Еще можно обратить внимание на неиспользуемые выводы. После включения питания они настроены на ввод без подтяжек, при этом под воздействием наводок и утечек потенциал на них стремится к половине питания, что приводит к протеканию сквозных токов во входных каскадах. Неиспользуемые выводы нужно или перевести в режим выхода и вывести ноль (ноль - для уменьшения утечек на землю, если вокруг ноги с высоким потенциалом - лучше вывести единицу), либо включить соответствующую подтяжку. Также стоит помнить о том, что в корпуса с разным количеством выводов пакуются одни и те же кристаллы и если в вашем корпусе нет, скажем, ноги PC7 - это не значит, что входных цепей этой ноги нет на кристалле. То есть требование перевести на выход и вывести ноль относится и к этой ноге тоже. Но бывают и обратные ситуации - если какого-то порта в данном корпусе нет целиком, то его может не быть и на кристалле. Тогда попытка записи в этот порт приведет к вылету в исключение и трогать этот порт не нужно.
Еще есть некоторые выводы, которые в режиме сна автоматически переводятся в аналоговый режим и при отсутствии внешних цепей начинают потреблять тот самый сквозной ток. Помогал коллеге выжать все возможное из STM32L151, последние микроамперы выжали принудительно заземлив снаружи неиспользуемый вход, если память не изменяет, низкочастотного кварца.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 21:40
Рейтинг@Mail.ru


Страница сгенерированна за 0.01351 секунд с 7
ELECTRONIX ©2004-2016