Перейти к содержанию
    

Потребление в режиме Standby y HK32F030F4P6

12 минут назад, quark сказал:

Наихудший вариант, когда состояние регистров неопределено. Через раз - то так, то этак. Но это редкость.

Да нет, худший случай - это когда в документации четко определено состояние после сброса, а по факту оно совсем другое.

А "не определившиеся" регистры можно отметить себе в блокнотике и потом прочитать для сопутствующих действий.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 11.02.2023 в 11:09, Сергей Борщ сказал:

А каково перед уходом в сон состояние DBGMCU->CR?

Проверил, значение в регистре DBGMCU->CR = 0x0. DBGMCU->IDCODE = 0x20006440

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В итоге проблема решилась и удалось добиться потребления 9 мкА на 3.0 В.
Причин проблем было две:
1. Не хватало разрешения тактирования для блока PWR:

RCC->APB1ENR |= RCC_APB1ENR_PWREN;

2. Все пины нужно было перевести в режим Analog:

GPIOA->MODER = 0xFFFFFFFF;
GPIOB->MODER = 0xFFFFFFFF;
GPIOC->MODER = 0xFFFFFFFF;
GPIOD->MODER = 0xFFFFFFFF;
GPIOF->MODER = 0xFFFFFFFF;

После этого потребление упало до ожидаемых значений.

Бит LPDS в регистре PWR->CR работает корректно: с установленным битом потребление 9 мкА, без установленного бита 100 мкА (как и указано в даташите).

Теперь осталось проверить выход из режима сна, но это уже совсем другая история.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы ж вроде как (Это я видел, но ничего не смог найти на эту тему в китайском reference manual.) читали ветку, где TC
обнаружил, что у артерии ... не включил тактирование модуля управления питанием! ;-)
- и те же грабли (((-8Ж

А если все порты выходы и в "0", сколько кушает?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

14 минут назад, Obam сказал:

Вы ж вроде как (Это я видел, но ничего не смог найти на эту тему в китайском reference manual.) читали ветку, где TC
обнаружил, что у артерии ... не включил тактирование модуля управления питанием! 😉
- и те же грабли (((-8Ж

Тактирование отключилось во время безкспешных экспериментов, а я этого не заметил. Когда стал дампить регистры управления тактированием перед уходом в сон это и всплыло. 🤦‍♂️

14 минут назад, Obam сказал:

А если все порты выходы и в "0", сколько кушает?

Заметно больше, около 16...17 мкА. И ещё больше, если они входы, там получается под 100 мкА. Переключение пинов SWD из ANALOG в AF повышает потребление с 9 до 76 мкА.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Забавно, в ST зоопарк с тактированием модуля PWR. У ST32WLE5, с которым я работаю сейчас, тактирование PWR не отключается. И с настроенными на вывод портами он у меня в Standby ест меньше 1 мкА. Все-таки в серии L они потребление сильно улучшили. А вот с одной ногой настроенной на ввод и висящей в воздухе с длинным (50 см) проводом ел существенно больше (десятки мкА). Пришлось включить подтяжку и тогда потребление вернулось в норму.

10 часов назад, makc сказал:

И ещё больше, если они входы, там получается под 100 мкА.

Ну это понятно - там натекает заряд, потенциал приближается к порогу переключения и одновременно приоткрываются верхний и нижний транзисторы, как следствие - сквозной ток.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

46 минут назад, Сергей Борщ сказал:

Ну это понятно - там натекает заряд, потенциал приближается к порогу переключения и одновременно приоткрываются верхний и нижний транзисторы, как следствие - сквозной ток.

Согласен, это вполне объяснимо. Непонятно другое: почему включение пинов в режим выхода с нулевым уровнем заметно увеличивает потребление. Возможно при этом включается что-то ещё, о чем в документации не написано.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

16 минут назад, makc сказал:

Непонятно другое: почему включение пинов в режим выхода с нулевым уровнем заметно увеличивает потребление. Возможно при этом включается что-то ещё, о чем в документации не написано.

Замечено, что у других МК, если выводы переключить на вход (в высокоомное, "третье" состояние), то, будучи предоставлены сами себе, они постепенно "тяготеют" именно к питанию. Возможно, что конструкция не точно симметричная, и какая-то очень высокоомная, паразитная "подтяжка" к питанию, все же имеется. Поэтому, рекомендуют переключать на выход и записывать в порт единицу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если так интересует этот момент, можете переключить несколько выводов вашего МК на аналоговые входы, ничего не подключая снаружи.
И потом периодически смотреть "изнутри", при помощи АЦП - что там? Через какое-то время, везде должны появиться "единички"...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

37 минут назад, quark сказал:

Замечено, что у других МК, если выводы переключить на вход (в высокоомное, "третье" состояние), то, будучи предоставлены сами себе, они постепенно "тяготеют" именно к питанию. Возможно, что конструкция не точно симметричная, и какая-то очень высокоомная, паразитная "подтяжка" к питанию, все же имеется. Поэтому, рекомендуют переключать на выход и записывать в порт единицу.

У ПЛИС, например, рекомендуют наоборот для повышения устойчивости выводов к ESD и т.п. проблемам переводить неиспользуемые контакты в режим выхода с выдачей нуля. 🤷‍♂️
 

19 минут назад, quark сказал:

Если так интересует этот момент, можете переключить несколько выводов вашего МК на аналоговые входы, ничего не подключая снаружи.
И потом периодически смотреть "изнутри", при помощи АЦП - что там? Через какое-то время, везде должны появиться "единички"...

Мне кажется это некорректный эксперимент, т.к. внутри МК SAR ADC с входной ёмкостью для семплирования, поэтому что эта схема будет ловить в описанном вами варианте включения - неизвестно и какие выводы из полученных результатов можно будет сделать -  непонятно. Для меня это ситуация описывается двумя словами - undefined behaviour.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 минуты назад, makc сказал:

Мне кажется это некорректный эксперимент

Можно по-другому: сделать входы цифровыми и считывать состояние портов. Так более корректно?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

25 минут назад, quark сказал:

Можно по-другому: сделать входы цифровыми и считывать состояние портов. Так более корректно?

Те же яйца, только в профиль. (с)
Только интереснее, т.к. на цифровом входе активируется триггер Шмидта (судя под RM от аналогичного STM32F030):
image.thumb.png.0f0b1a9ccf2ffe93d37a8ca7e5e95ace.png

В этом плане понятно, почему аналоговых режим входа потребляет меньше:
image.thumb.png.b259d810c5f8cd93b46790f999fc925b.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

49 минут назад, makc сказал:

внутри МК SAR ADC с входной ёмкостью для семплирования

У входа пина, тоже, есть собственная паразитная емкость. Она, на вскидку, раз в 10 меньше, но тем не менее...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

19 минут назад, quark сказал:

У входа пина, тоже, есть собственная паразитная емкость. Она, на вскидку, раз в 10 меньше, но тем не менее...

 

Судя по даташиту они равны: Cadc = 5 pF (typ), Сio = 5 pF (typ). 🤷‍♂️

PS: У аналогичного STM32 картина схожая: 8 пФ и 5 пФ. Т.е. раз в 10 там нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 минут назад, makc сказал:

У аналогичного STM32 картина схожая: 8 пФ и 5 пФ. Т.е. раз в 10 там нет.

Тем более, стоит попробовать. :yes3:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...