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

STM32F429 не всегда запускается

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

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


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

7 часов назад, Arlleex сказал:

Чисто исторически конденсатор с резистором ставили, чтобы получить около 0$ супервизор сброса.

Но в STM32 он встроенный. Задумка авторов непонятна.

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


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

А как питание на МК нарастает? Может, сброс МК формируется раньше, чем питание входит в допустимые границы?

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


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

А в схеме нарисован резистор R1, идущий на контакт PDR_ON, но резистор помечен как NC - не установлен. Так? А ведь вывод PDR_ON отвечает как раз за формирование сигнала сброса при подаче питания, и его надо подключать к VDD. Посмотрите схему отладочной платы STM32F429-Disc1 в документе UM1670

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


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

On 1/31/2023 at 11:37 PM, Arlleex said:

Чисто исторически конденсатор с резистором ставили, чтобы получить около 0$ супервизор сброса.

Т.е. конденсатор откладывает старт МК на время, достаточное для рампа и установки всех нужных цепей (питаний в первую очередь).

Всё именно так.

И непонятны некоторые тут рассуждения.

Ничего, кроме задержки старта, эта RC-цепочка не делает.

И когда автор всуропил тут 330 Ом параллельно штатным 100 кОм, то он резко ухудшил работу МК в момент старта.

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


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

А ничо, что автор сообщал, что он резистор этот даже убирал - и ничего не менялось.

Причиной, как мне видится, является отсутствующий (NC) резистор R1 на PDR_ON. Автор упоминает, что проблема есть только при запуске от подачи питания, а при сбросе кнопкой или от отладчика (программный сброс) проблем нет. Так вот, PDR_ON (Power-down reset On/Off) как раз управляет формированием сигнала сброса при пониженном напряжении, то есть в момент нарастания напряж питания. Если сброс не формируется в этот момент, то регистры содержат произвольные данные.

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


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

Модератор: @OPTIMA, пусть автор топика скажет о том, что причина была одна. Ваше же сообщение больше похоже на флейм (правила 2.1.в). Делаю Вам пока устное предупреждение.

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


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

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

 

Изменено пользователем haker_fox
Отредактировал грамматику.

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


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

5 часов назад, serglg сказал:

И когда автор всуропил тут 330 Ом параллельно штатным 100 кОм, то он резко ухудшил работу МК в момент старта.

Каким образом этот резистор по-вашему, ухудшил работу в момент старта? При подаче питания внутри контроллера работает супервизор питания (раздел 5.2 руководства пользователя). При достижении напряжения Vpor супервизор формирует внутренний сигнал сброса, который, пройдя через формирователь импульса 20 мкс и транзистор с картинок из руководства пользователя на прошлой странице, выводится на ногу сброса и поступает на внутренний сигнал сброса контроллера. Транзистор, согласно документации, легко обеспечивает низкий уровень на ноге сброса при токе 10 мА через внешний резистор. То есть на работу внутренней цепи сброса этого резистор никак не повлиял.

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


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

12 часов назад, Сергей Борщ сказал:

Но в STM32 он встроенный. Задумка авторов непонятна.

Как у ТС не знаю, просто обычно рамп питания STM-ки это далеко не показатель рампа всех питаний на плате.
И бывает, что МК не должен делать вообще никаких действий до установки корректных питаний по всем источникам.
Вот и ставят конденсатор да покрупнее, чтобы не отпускал RESET МК после включения сколько-то сотен миллисекунд.

Однако нынче это уже считается дурным тоном - правильнее ставить нормальные супервизоры и задействовать для отложенного старта сигнал "Power Good" последнего источника.

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


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

11 minutes ago, Arlleex said:

Вот и ставят конденсатор да покрупнее, чтобы не отпускал RESET МК после включения сколько-то сотен миллисекунд.

Гм. Вот здесь я начинаю переживать за ТКЕ конденсатора. По идее, в даташите на этот случай должно быть указано, что диэлектрик конденсатора должен быть NP0(C0G). Чтобы задержка в N мс не превратилась в тыкву на морозе или в тепле при эксплуатации.

12 minutes ago, Arlleex said:

правильнее ставить нормальные супервизоры

Да!😜

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


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

11 минут назад, haker_fox сказал:

Гм. Вот здесь я начинаю переживать за ТКЕ конденсатора...

Разумеется, все поплывет.

Все гораздо хуже, когда архитектура устройства сама по себе очень сложная в плане загрузки - как по питанию, так и после программного сброса - конденсаторам там точно не место))

Для простых устройств с микроконтроллером, наверное, банальной RC-цепочки в ряде случаев может быть и достаточно. Тут только опыт эксплуатации подскажет.

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


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

On 1/31/2023 at 12:42 PM, Сергей Борщ said:

Непонятен такой совет - какую функцию отводили авторы документа этому конденсатору? Растягивать длительность внутреннего импульса? Но она там с генератора импульса уже идет необходимой длины.  Внешний импульс на ногу не подается (вывод не подключен по условию), его растягивать не предполагается. Давить внешние помехи? Так надежнее будет поставить внешний сравнительно низкоомный резистор подтяжки к питанию, чтобы помеха не навелась. Мешать программатору/отладчику дергать эту ногу? Такое ощущение, что они тупо стащили схему с кнопкой, где этот конденсатор давил дребезг кнопки и просто убрали из нее кнопку и подтяжку. Так без кнопки и дребезга нет, давить нечего. Исходя из этого я никогда не ставлю сюда конденсатор и всегда ставлю внешний резистор подтяжки 1...10 кОм, потому что свободно висящий вывод особенно с дорожкой к разъему программатора, бывает, вызывает перезапуск контроллера от внешних помех или статики с рук.

конденсатор на ресете необходим 100%, от внешних помех, проверено жизнью. Меги слетали в такой ступор, что даже внутренний вочдог не спасал, только переброс питания, с стм, думаю, еще хуже будет. Сам ставлю 0.01 мкФ

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


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

13 часов назад, 0men сказал:

конденсатор на ресете необходим 100%, от внешних помех, проверено жизнью. Меги слетали в такой ступор, что даже внутренний вочдог не спасал, только переброс питания, с стм, думаю, еще хуже будет. Сам ставлю 0.01 мкФ

Чем, на мой взгляд, хорош STM, в отличии от многих других, таких как Меги, от Атмела или бывшие Люминари от Тексаса и т.п., так это тем, что у него очень устойчивая система сброса с великолепной защитой от Броунаута и чем меньше у него приблуд на ресете, тем меньше вероятность налететь на неприятности.

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


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

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

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

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

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

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

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

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

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

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