Arlleex 190 11 февраля, 2023 Опубликовано 11 февраля, 2023 · Жалоба 12 минут назад, quark сказал: Наихудший вариант, когда состояние регистров неопределено. Через раз - то так, то этак. Но это редкость. Да нет, худший случай - это когда в документации четко определено состояние после сброса, а по факту оно совсем другое. А "не определившиеся" регистры можно отметить себе в блокнотике и потом прочитать для сопутствующих действий. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 234 27 февраля, 2023 Опубликовано 27 февраля, 2023 · Жалоба В 11.02.2023 в 11:09, Сергей Борщ сказал: А каково перед уходом в сон состояние DBGMCU->CR? Проверил, значение в регистре DBGMCU->CR = 0x0. DBGMCU->IDCODE = 0x20006440 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 234 27 февраля, 2023 Опубликовано 27 февраля, 2023 · Жалоба В итоге проблема решилась и удалось добиться потребления 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 мкА (как и указано в даташите). Теперь осталось проверить выход из режима сна, но это уже совсем другая история. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 27 февраля, 2023 Опубликовано 27 февраля, 2023 · Жалоба Вы ж вроде как (Это я видел, но ничего не смог найти на эту тему в китайском reference manual.) читали ветку, где TC обнаружил, что у артерии ... не включил тактирование модуля управления питанием! ;-) - и те же грабли (((-8Ж А если все порты выходы и в "0", сколько кушает? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 234 27 февраля, 2023 Опубликовано 27 февраля, 2023 · Жалоба 14 минут назад, Obam сказал: Вы ж вроде как (Это я видел, но ничего не смог найти на эту тему в китайском reference manual.) читали ветку, где TC обнаружил, что у артерии ... не включил тактирование модуля управления питанием! 😉 - и те же грабли (((-8Ж Тактирование отключилось во время безкспешных экспериментов, а я этого не заметил. Когда стал дампить регистры управления тактированием перед уходом в сон это и всплыло. 🤦♂️ 14 минут назад, Obam сказал: А если все порты выходы и в "0", сколько кушает? Заметно больше, около 16...17 мкА. И ещё больше, если они входы, там получается под 100 мкА. Переключение пинов SWD из ANALOG в AF повышает потребление с 9 до 76 мкА. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 28 февраля, 2023 Опубликовано 28 февраля, 2023 · Жалоба Забавно, в ST зоопарк с тактированием модуля PWR. У ST32WLE5, с которым я работаю сейчас, тактирование PWR не отключается. И с настроенными на вывод портами он у меня в Standby ест меньше 1 мкА. Все-таки в серии L они потребление сильно улучшили. А вот с одной ногой настроенной на ввод и висящей в воздухе с длинным (50 см) проводом ел существенно больше (десятки мкА). Пришлось включить подтяжку и тогда потребление вернулось в норму. 10 часов назад, makc сказал: И ещё больше, если они входы, там получается под 100 мкА. Ну это понятно - там натекает заряд, потенциал приближается к порогу переключения и одновременно приоткрываются верхний и нижний транзисторы, как следствие - сквозной ток. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 234 28 февраля, 2023 Опубликовано 28 февраля, 2023 · Жалоба 46 минут назад, Сергей Борщ сказал: Ну это понятно - там натекает заряд, потенциал приближается к порогу переключения и одновременно приоткрываются верхний и нижний транзисторы, как следствие - сквозной ток. Согласен, это вполне объяснимо. Непонятно другое: почему включение пинов в режим выхода с нулевым уровнем заметно увеличивает потребление. Возможно при этом включается что-то ещё, о чем в документации не написано. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
quark 48 28 февраля, 2023 Опубликовано 28 февраля, 2023 · Жалоба 16 минут назад, makc сказал: Непонятно другое: почему включение пинов в режим выхода с нулевым уровнем заметно увеличивает потребление. Возможно при этом включается что-то ещё, о чем в документации не написано. Замечено, что у других МК, если выводы переключить на вход (в высокоомное, "третье" состояние), то, будучи предоставлены сами себе, они постепенно "тяготеют" именно к питанию. Возможно, что конструкция не точно симметричная, и какая-то очень высокоомная, паразитная "подтяжка" к питанию, все же имеется. Поэтому, рекомендуют переключать на выход и записывать в порт единицу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
quark 48 28 февраля, 2023 Опубликовано 28 февраля, 2023 · Жалоба Если так интересует этот момент, можете переключить несколько выводов вашего МК на аналоговые входы, ничего не подключая снаружи. И потом периодически смотреть "изнутри", при помощи АЦП - что там? Через какое-то время, везде должны появиться "единички"... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 234 28 февраля, 2023 Опубликовано 28 февраля, 2023 · Жалоба 37 минут назад, quark сказал: Замечено, что у других МК, если выводы переключить на вход (в высокоомное, "третье" состояние), то, будучи предоставлены сами себе, они постепенно "тяготеют" именно к питанию. Возможно, что конструкция не точно симметричная, и какая-то очень высокоомная, паразитная "подтяжка" к питанию, все же имеется. Поэтому, рекомендуют переключать на выход и записывать в порт единицу. У ПЛИС, например, рекомендуют наоборот для повышения устойчивости выводов к ESD и т.п. проблемам переводить неиспользуемые контакты в режим выхода с выдачей нуля. 🤷♂️ 19 минут назад, quark сказал: Если так интересует этот момент, можете переключить несколько выводов вашего МК на аналоговые входы, ничего не подключая снаружи. И потом периодически смотреть "изнутри", при помощи АЦП - что там? Через какое-то время, везде должны появиться "единички"... Мне кажется это некорректный эксперимент, т.к. внутри МК SAR ADC с входной ёмкостью для семплирования, поэтому что эта схема будет ловить в описанном вами варианте включения - неизвестно и какие выводы из полученных результатов можно будет сделать - непонятно. Для меня это ситуация описывается двумя словами - undefined behaviour. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
quark 48 28 февраля, 2023 Опубликовано 28 февраля, 2023 · Жалоба 3 минуты назад, makc сказал: Мне кажется это некорректный эксперимент Можно по-другому: сделать входы цифровыми и считывать состояние портов. Так более корректно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 234 28 февраля, 2023 Опубликовано 28 февраля, 2023 · Жалоба 25 минут назад, quark сказал: Можно по-другому: сделать входы цифровыми и считывать состояние портов. Так более корректно? Те же яйца, только в профиль. (с) Только интереснее, т.к. на цифровом входе активируется триггер Шмидта (судя под RM от аналогичного STM32F030): В этом плане понятно, почему аналоговых режим входа потребляет меньше: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
quark 48 28 февраля, 2023 Опубликовано 28 февраля, 2023 · Жалоба 49 минут назад, makc сказал: внутри МК SAR ADC с входной ёмкостью для семплирования У входа пина, тоже, есть собственная паразитная емкость. Она, на вскидку, раз в 10 меньше, но тем не менее... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 234 28 февраля, 2023 Опубликовано 28 февраля, 2023 · Жалоба 19 минут назад, quark сказал: У входа пина, тоже, есть собственная паразитная емкость. Она, на вскидку, раз в 10 меньше, но тем не менее... Судя по даташиту они равны: Cadc = 5 pF (typ), Сio = 5 pF (typ). 🤷♂️ PS: У аналогичного STM32 картина схожая: 8 пФ и 5 пФ. Т.е. раз в 10 там нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
quark 48 28 февраля, 2023 Опубликовано 28 февраля, 2023 · Жалоба 8 минут назад, makc сказал: У аналогичного STM32 картина схожая: 8 пФ и 5 пФ. Т.е. раз в 10 там нет. Тем более, стоит попробовать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться