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

По наводке сбрасывается микроконтроллер STM32F407VGT6

15 hours ago, EdgeAligned said:

Если делать по уму, то микроконтроллер должен быть отделен от силовых релюшек и расположен в одной стороне платы, а релюшки - в другой.  Земляной полигон с обеих сторон платы должен отделять область микроконтроллера от области релюшек.

Это лишь часть правильного решения - любое поле убывает обратно пропорционально квадрату расстояния до источника.

Другая часть - приемная (для помех) антенна имеет минимальные размеры, если сигнальный проводник проведен над опорным слоем.. О чем почти все и высказались - ЗАЛИВАЙ землей BOTTOM!

Однако ж полигон приходится резать переходными отверстиями и проводниками. Поэтому ЗАЛИВАЙ землей с двух сторон и СОЕДИНЯЙ оба полигона большим количеством переходных!!

 

Да, кварц в такой трассировке очень даже уязвим для наводок. Он тоже может давать сбои..

13 hours ago, EdgeAligned said:

Отдельного внимания заслуживает зона кварцевого резонатора. Желательно, чтобы полигон вокруг кварца был отделен от остального полигона, чтобы через него не протекали токи питания и сигналов. Соединение полигона вокруг кварца с остальным полигоном - через одну точку.

Вот здесь я не согласный в плане особенного региона под кварц. Общего плана земли вполне достаточно.

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


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

41 минуту назад, Plain сказал:

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

Просьба попроще объяснить мысль. Я так понял, что сброс ни причем. Что в области кварца вблизи не должно быть дорожек ни сверху ни тем более снизу? Под ним, кстати как раз RCD - цепь сброса расположена..

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


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

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

Какую функцию выполняет диод VD34?

Разряд C273 и, следовательно, гарантированный сброс при кратковременном пропадании питания. Вещь!

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


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

Только что, sidy сказал:

Какую функцию выполняет диод VD34?

Предполагалось, что при кратковременном повышении напряжения выше напряжения питания он должен открыться и защитить ножку сброса. Хотя может побочно получиться и как в посте выше написано( 

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


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

Вообще, вначале желательно выяснить причину сброса, добавив в программу (в её начало, выполняемого при старте) проверку битов причины сброса в регистре RCC->CSR. В частности, бит PINRSTF отвечает за сброс от ноги NRST, бит PORRSTF - за сброс поле подачи питания, а бит BORRSTF - за сброс от детектора снижения напряжения. 

Таким образом, если при не штатном сброс будут ВЫСТАВЛЕНЫ еще какие либо биты, кроме PINRSTF, то дело не в ножке сброса. 

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


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

1 hour ago, aske1 said:

Что в области кварца вблизи не должно быть дорожек ни сверху ни тем более снизу?

1. Проводники XIN и XOUT должны иметь хороший (широкий, не резаный) опорный слой земли, по которому не проходят сильные (или импульсные) токи. Таким образом убираем наводки по электрическому полю.

2. Проводники XIN и XOUT должны быть расположены как можно ближе друг к другу. Таким образом убираем наводки по магнитному полю.

В данной плате оба этих условия не выполнены.

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


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

1 час назад, aske1 сказал:

попроще объяснить

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

Помеха добавляет к сигналу кварцевого генератора импульс, на интервале которого фактическая частота может оказаться больше или меньше предельной, что в случае дальнейшей ФАПЧ катастрофы создавать теоретически не должно, однако не известно, как реализованы эти узлы — триггеров на кристалле сотни тысяч, а достаточно одного подвисшего.

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


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

2 hours ago, Сергей Борщ said:

Разряд C273 и, следовательно, гарантированный сброс при кратковременном пропадании питания. Вещь!

thumb.png.d305f934af62954f24e07e0007749ea2.png.9f84714c3711d084cecf1971f81ed0ae.png

Тоже самое сделает сигнал Low-power managment reset внутри микроконтроллера.

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


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

52 минуты назад, EdgeAligned сказал:

Вообще, вначале желательно выяснить причину сброса, добавив в программу (в её начало, выполняемого при старте) проверку битов причины сброса в регистре RCC->CSR. В частности, бит PINRSTF отвечает за сброс от ноги NRST, бит PORRSTF - за сброс поле подачи питания, а бит BORRSTF - за сброс от детектора снижения напряжения. 

Таким образом, если при не штатном сброс будут ВЫСТАВЛЕНЫ еще какие либо биты, кроме PINRSTF, то дело не в ножке сброса. 

А нет способа ещё продиагностировать сброс по причине наводок на цепь тактирования (кварц)? 

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


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

За сбросом при снижении напряжения питания следит отдельная внутренняя схема BOR. 

Самое смешное, что хоть и напихано дофига деталей вокруг ножки NRST, но далеко не факт, что сброс приходит именно по этой ножке. 

С другой стороны, если верить разводке платы, то от вывода 14 NRST тянется длинная дорожка вдоль релюшек и уходит на разъём. Через эту дорожку и провод в разъёме вполне может хвататься помеха и приводить к сбоосу. Вообще, такие штуки как сброс МК лучше не тянуьт далеко. Если очень нужна возможность сброса, поставьте рядом микрокнопку. 

Только что, aske1 сказал:

способа ещё продиагностировать сброс по причине наводок на цепь тактирования (кварц)

Есть. Вообще, при сборе генерации МК не сбрасывается, а останавливается. Сбрасывать я он будет тоьько если включён вачдог IWDG. 

А проверить сбой кварца можно с помощью CSS - Clock security system. Ну или вообще использовать только внутренний HSI и проверить работу от него. (PLL может также тактироваться от HSI) 

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


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

Только что, EdgeAligned сказал:

 

С другой стороны, если верить разводке платы, то от вывода 14 NRST тянется длинная дорожка вдоль релюшек и уходит на разъём. Через эту дорожку и провод в разъёме вполне может хвататься помеха и приводить к сбоосу. Вообще, такие штуки как сброс МК лучше не тянуьт далеко. Если очень нужна возможность сброса, поставьте рядом микрокнопку. 

 

Этот разъём для подключения программатора ST-LINK. Не помню откуда я это взял и нужен ли там вообще этот сброс для программирования 

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


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

В целом, не нужен. Как максимум, можно было поставить маленькую smd-микрокнопку на плате. И более того, если не нужна отладка, а требуется только залить прошивку, то вполне можно оставлять поблизости от микроконтроллера две небольшие контактные площадки для SWD-интерфейса. Для программирования купить на алиэкспрессе подпружиненные штифты в колодке - pogo pin называются.

На будущее, следует так же почитать документ AN4488 "Getting started with STM32F4xxxx MCU hardware development" и  документ AN2867 "Oscillator design guide for STM8AF/AL/S, STM32 MCUs" , в них рассмотрены вопросы разводки цепей питания, сброса и цепей кварца. В частности, есть рекомендации по огораживанию зоны кварца защитным земляным кольцом. 

Разводка в 4 слоя с двумя сплошными слоями питания - это круто, но стоимость изготовления платы значительно дороже, чем двуслойной. Конкретно в рассматриваемом случае большой надобности в четырехслойке нету по причине несложной разводки и невысокочастотных сигналов. Ну и сплошные слои питания и земли всё равно придется резать на зоны из-за размещения силовых компонентов на той же плате. Поэтому, если четырехслойка, то лучше две платы - 4-слоя на плату МК, и 2 слоя на остальное. Соединение плат - угловым штыревым разъемом "вилка-гнездо".

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


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

2 hours ago, aske1 said:

А нет способа ещё продиагностировать сброс по причине наводок на цепь тактирования (кварц)? 

Можно пойти от обратного. Наклеить кусочек медной фольги, предварительно изолировав сигнальные проводники (например термоскотчем). Фольгу заземлить в нескольких местах.

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


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

Ещё такой вопрос: я ведь правильно понимаю, что помимо сброса при снижении питания ниже 1,8В у данного мк есть ещё и программируемый порог? При снижении напряжения питания ниже этого порога тоже происходит сброс. Не может быть так, что он от серии контроллера к серии может быть разный либо по умолчанию снижен либо не по разному запрограммирован? И если это так, то как его изменить(снизить)?

54 минуты назад, _Sergey_ сказал:

Можно пойти от обратного. Наклеить кусочек медной фольги, предварительно изолировав сигнальные проводники (например термоскотчем). Фольгу заземлить в нескольких местах.

Но чтобы сброс же был по цепи тактирования должен же сторожевой таймер включен.  Я его не включал и нигде не сбрасываю. Если бы он у меня был включен контроллер бы вис по причине того, что я его нигде не обнуляю или сбрасывался, если бы сброс по нему был включен(я его же нигде не обнуляю)?

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

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


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

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

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

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

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

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

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

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

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

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