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

STM32F437 - сбрасывается после непродолжительной работы

Есть одна относительно новая разработка на STM32f437GT6, которая была выпущена в количестве 2 шт, было всё ОК. Спаял ещё две штуки и начались проблемы: после того как микроконтроллер поработает какое-то время он начинает циклически сбрасываться. Сбрасывается он с разными интервалами, то чаще, включишь заново реже. То что он сбрасывается чётко видно на осциллограмме ножки RESET, которую я приложил. При этом никакие манипуляции с самой ножкой сброса не помогают, ни конденсатор, ни подключение её напрямую к питанию. Никакие двух дневные эксперименты с самой платой, пропайка и перекидывание микроконтроллеров тоже не помогают.

Сторожевой таймер в программе не задействован. Ночью плата полежала, после чего два часа точно отработала без проблем, а через три опять всё началось.

 

Почему микроконтроллер может так внутри себя себя сбрасывать без всяких на то причин?

 

И так на обеих платах...

post-37901-1469716380_thumb.png

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


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

Если в прошивке вы не инициируете сброс (сторожевой таймер, программный сброс и т.д.), то МК может сбрасываться от просаживания напряжения питания. Кстати, причина сброса потом висит в соответствующем регистре, советую туда заглянуть.

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


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

Если в прошивке вы не инициируете сброс (сторожевой таймер, программный сброс и т.д.), то МК может сбрасываться от просаживания напряжения питания. Кстати, причина сброса потом висит в соответствующем регистре, советую туда заглянуть.

 

Питание самого МК я посмотрел в первую очередь, оно естественно в норме и стабильно. Это я пытался дать понять словами:"Никакие двух дневные эксперименты с самой платой... не помогают".

 

А вот про регистр не знал. Не знаю получится ли его посмотреть отладчиком, но с учётом того что плата работает доли секунды, то попробую этот регистр куда нибудь сохранить или выдать в UART.

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

 

Спасибо за ответ, буду пытаться понять содержимое регистра, но жду ещё мнений...

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


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

Почему микроконтроллер может так внутри себя себя сбрасывать без всяких на то причин?

..RESET подтянут к питанию? И тщательно ли мыли платы от флюса?

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


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

..RESET подтянут к питанию? И тщательно ли мыли платы от флюса?

За два дня битвы с этой проблемой плата мыта и перемыта несколько раз, а так же несколько раз пропаяна. Платы две, проблема одна на них.

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

 

Ещё добавлю: микроконтроллерами занимаюсь около 18 лет, а STM32 с их момента появления и все детские болячки я естественно сразу не заложил в плату либо перепроверил.

Изменено пользователем IgorAVR2

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


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

а был подключен к питанию напрямую

Так делать нельзя, т.к. ножка RESET может просаживаться по инициативе МК.

Там стоит ключ на землю, и подключение к питанию даст КЗ.

Подробности в RM0090 Figure 15. Simplified diagram of the reset circuit.

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


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

Так делать нельзя, т.к. ножка RESET может просаживаться по инициативе МК.

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

 

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


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

Так делать нельзя, т.к. ножка RESET может просаживаться по инициативе МК.

Там стоит ключ на землю, и подключение к питанию даст КЗ.

Подробности в RM0090 Figure 15. Simplified diagram of the reset circuit.

Судя по словам IgorAVR2 ("подключил к питанию, а оно всё равно сбрасывается"), ST'шники сделали определённую работу над ошибками. Как минимум, резистор последовательный поставили :-)

 

А так - да, смотреть RCC->CSR (или аналог, я с F437 не общался) и выводить хоть куда-нибудь, хотя бы размахиванием ножкой (нужно несколько свободных ног).

Игорь, обратите внимание на несколько странную процедуру чтения этого регистра (описана в документации).

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


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

Как минимум, резистор последовательный поставили :-)

 

Ага, а это как раз ответ на вопрос который я хотел задать, а то я думаю как же он всё таки дальше сбрасывается, если RESET жёстко к плюсы заведен.

 

Насчёт регистра понял, буду его смотреть и отпишусь. А как он называется?

 

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


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

Ещё добавлю: микроконтроллерами занимаюсь около 18 лет, а STM32 с их момента появления и все детские болячки я естественно сразу не заложил в плату либо перепроверил.

Как-то плохо это соотносится с этим:

А вот про регистр не знал.

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

Как можно "инициализировать программный сброс"??? :wacko: Его обычно подают. Или не подают.

Чтобы отсечь программные проблемы от аппаратных в схемотехнике, существуют отладочные платы. Проверьте вашу прошивку на такой плате (может даже в усечённом виде).

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


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

Как-то плохо это соотносится с этим:

 

 

Как можно "инициализировать программный сброс"??? :wacko: Его обычно подают. Или не подают.

Чтобы отсечь программные проблемы от аппаратных в схемотехнике, существуют отладочные платы. Проверьте вашу прошивку на такой плате (может даже в усечённом виде).

 

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

"инициализировать программный сброс" - имелось ввиду не только сам программный сброс, а ещё и ватчдог например и т.д., то есть всё что не связано с внешним сбросом.

Плата отладочные конечно же существуют, в том числе и у меня, но о них в этот раз и мысли нету, т.к. я сразу написал что две платы из первой партии так сказать работают с этой же программой на УРА. Одна из них тут же у меня на столе лежит и с ней всё ок. А вот точно такие же две свеже спаянные, вот с ними проблемы, что то именно аппаратное.

 

Спасибо всем остальным отписавшимся, завтра возьму свой хороший осцил (его просто под рукой не оказалось) и им тщательно буду смотреть VDD, VDDA, а потом регистр.

 

 

 

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


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

Спасибо всем остальным отписавшимся, завтра возьму свой хороший осцил (его просто под рукой не оказалось) и им тщательно буду смотреть VDD, VDDA, а потом регистр.

Могу глубочайше заблуждаться, с СТ не работал. Но в других контроллерах этот регистр имеет соответствующие биты валидными после сброса. Другими словами: произошел сброс - просто смотрите в оотладчике регистр или уартом выводите. Выводите его безусловно при старте и будуту знать природу старта, будь то просадка питания, или что иное. Куда проще чем с осциллом ползать смотреть.

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


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

По полученным здесь советам через регистр сброса выяснил, что сброс происходит по подаче питания, то есть микроконтроллер думает что ему передёрнули питание. После этого посмотрел ещё раз питание микроконтроллера. Оно конечно шумноватое, но сильных просаживаний нету и остаётся в пределах от 3,2 до 3,45 вольт, что на мой взгляд вполне допустимо.

Осциллограмму качества питания МК прикладываю. Хотелось бы услышать стороннее мнение на качество питание по картинке.

post-37901-1470069391_thumb.jpg

Изменено пользователем IgorAVR2

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


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

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

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

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

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

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

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

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

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

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