|
Электрические помехи и STM32, что делать, ваах ! |
|
|
|
Apr 29 2016, 17:00
|

Участник

Группа: Участник
Сообщений: 65
Регистрация: 28-12-05
Из: Odessa
Пользователь №: 12 673

|
В общем так, при тестировании STM32 в боевых условиях с помехами и наводками, в частности: STM32F03, STM32F207 и д.р. выявилась проблема, которая на микроконтроллерах типа AVR никогда не проявлялась или очень редко проявлялась. Небольшие наводки (естественно выше допустимых по мануалу уровней) по GPIO портам у STM32 вызывают аппаратные сбои ядра, периферии и оперативной памяти. В одних случаях сбоит периферия: слетает инициализация или происходит установка ошибок, лечится банальной но частой переинициализацией по программному таймеру или переинициализацией после отработки некоторых условий. В других случаях происходит сбой ядра и передача управления на HARDFAULT_Handler или BUSFAULT_Handler, где вместо while (true) - поставили простое лечение NVIC_SYSTEM_Reset (). Иногда сбоит оперативная память, теряет данные. Но это все поправимо, если устанавливать контрольные суммы.
Что делать, когда заинициализированный и проверенный WATCHDOG после наводок не сработал, а внутреннее ядро СТАЛО, симптомы именно такие ! В HARDFAUL вхождения не было !!! Проблема не в том, чтобы в оборудовании сделать ПОЛНУЮ гальваноразвязку, как устранить полное зависание и останов ядра после сбоя, если сам WATCHDOG слетает и ядро где-то шляется по адрессам ?
Видел в живую некоторые реализации схемотехники для 8051 микроконтроллера. С внешней микросхемы формирователя на 555 генерился постоянный неуправляемый сброс с определенным периодом и скважностью, остается догадываться что программа организованна по SWITCH CASE программного состояния. Но это достаточно неудобно когда организовываешь протокол обмена например по MODBUS, где циклы сброса с формирователя ассинхроны к пакетам передачи ???
Кто-нибудь знает как вывести STM32 из полного штопора ??????????????????????
|
|
|
|
|
 |
Ответов
|
Apr 29 2016, 17:33
|

Участник

Группа: Участник
Сообщений: 65
Регистрация: 28-12-05
Из: Odessa
Пользователь №: 12 673

|
Цитата(ViKo @ Apr 29 2016, 21:28)  Так защиту по входам поставьте, если не школьник.  И по питанию тоже.  Не школьник. По земле иногда проходит, по чистой, по GND. Поэтому гальваноразвязка только. Но ответ на вопрос "как выйти из штопора " - дороже гальваноразвязки !!! Выяснилось не по питанию идет. Идет по корпусу железному + рядом провода с индукционными наводками (убрали). Выбросы реактивных цепей, пускатели, частотные приводы. Питание сразу поставили импульсное.
Сообщение отредактировал картошка - Apr 29 2016, 17:39
|
|
|
|
|
Apr 29 2016, 18:11
|
Знающий
   
Группа: Свой
Сообщений: 888
Регистрация: 25-09-08
Из: Питер
Пользователь №: 40 458

|
Цитата(картошка @ Apr 29 2016, 20:33)  Не школьник. По земле иногда проходит, по чистой, по GND. Поэтому гальваноразвязка только. Но ответ на вопрос "как выйти из штопора " - дороже гальваноразвязки !!! Выяснилось не по питанию идет. Идет по корпусу железному + рядом провода с индукционными наводками (убрали). Выбросы реактивных цепей, пускатели, частотные приводы. Питание сразу поставили импульсное. Что-то слабо верится. Поставьте плату в отдельный экранированный корпус, нормально защитите все входы/выходы (продольный резистор + шотки земля-питание) (питание в т.ч - стабилитрон), нормально разведите плату (4-х слойка со слоями земли и питания+правильная разводка) и в такой блок можно будет напрямую молниями пулять без всяких сбоев, независимимо от процессора. Мы делали блоки контроля тока ОПН - там импульсы напряжений до сотен кВ с токами до 100 кА с крутыми фронтами - и все нормально работало без сбоев. Да еще и питаться умело от этих самых импульсов. А гальваноразвязку тоже с умом делать нужно, от высокочастотных помех она не спасет - фильтры нужны.
|
|
|
|
|
Apr 29 2016, 18:52
|

Участник

Группа: Участник
Сообщений: 65
Регистрация: 28-12-05
Из: Odessa
Пользователь №: 12 673

|
Цитата(rudy_b @ Apr 29 2016, 22:11)  Что-то слабо верится. Поставьте плату в отдельный экранированный корпус, нормально защитите все входы/выходы (продольный резистор + шотки земля-питание) (питание в т.ч - стабилитрон), нормально разведите плату (4-х слойка со слоями земли и питания+правильная разводка) и в такой блок можно будет напрямую молниями пулять без всяких сбоев, независимимо от процессора.
Мы делали блоки контроля тока ОПН - там импульсы напряжений до сотен кВ с токами до 100 кА с крутыми фронтами - и все нормально работало без сбоев. Да еще и питаться умело от этих самых импульсов.
А гальваноразвязку тоже с умом делать нужно, от высокочастотных помех она не спасет - фильтры нужны. Согласен, что схемотехника не годится. Аналоговые цепи были в схеме ? Использовалась общая земля или только гальваноразвязанные линии ??? Цитата(adnega @ Apr 29 2016, 22:34)  Дык, вы его полистайте и печаль пройдет. В документе написано про надежную софтовую часть. Как тестировать, что тестировать. Или вы считаете, что этого делать не стоит, т.к. есть прекрасный AVR? При этом нужно понимать, что аппаратная часть должна быть исправная. И софт и железо - это параллельные вещи.
Из личного: я одновременно использовал в работе и AVR, и STM32. Всяко бывало... но AVR частенько выдерживал 12В на входе. Ну как выдерживал? - пин выгорит, а все остальное продолжает работать. У STM32 при ахтунге на входе сразу КЗ по питанию. При этом если ток по питанию не ограничивать, камень будет греться, но продолжает работать. Собственно, как к этому относиться? В начале меня это очень сильно печалило - шаг влево, шаг вправо, МК в помойку. Но когда потребовалось делать ответственную аппаратуру, то такое поведение МК мне очень понравилось. Сразу можно сказать, что МК не исправен, а не эксплуатировать полу-рабочее изделие.
Это накладывает сильный отпечаток на разработку. Согласитесь, разница очевидна? С одной стороны: "если я не позабочусь о помехе и ее энергия попадет на пин, то получу полностью убитое изделие". С другой стороны: "наплевать на помеху, поставлю внешнюю кувыркалку, чтоб она в случае чего перезапускала софт; один пин отгорит - не жалко - их еще много". Софтовой части нет шансов вылезти из ступора - ядро не передает управления и все ватчдоги - отвалились, в софт безопастности меня STM за эти 6 лет подковал. А когда программа укатила в неизвестно куда , посторю - заинициализированный ватчдог в УЛЕТЕ ? Что посоветуете как управление вернуть, если оно ни на один вектор не приходит ? Пины не выгорают в нашем случае есть ограничители. Волновые распространение сигнала в соответствующей среде и по одному проводу, не буду дискутировать. Со всеми проблемами AVR знаком и STM уже лет 6 мучаю успешно. Вопрос открыт, что можно сделать такое, чтобы вернуть управление ядра не через внешний сброс; при полном штопоре и реально отвалившемся ватчдоге ??????
Сообщение отредактировал картошка - Apr 29 2016, 18:58
|
|
|
|
|
Apr 30 2016, 13:17
|
Знающий
   
Группа: Свой
Сообщений: 888
Регистрация: 25-09-08
Из: Питер
Пользователь №: 40 458

|
Цитата(картошка @ Apr 29 2016, 21:52)  Согласен, что схемотехника не годится. Аналоговые цепи были в схеме ? Использовалась общая земля или только гальваноразвязанные линии ??? Да, были. И гальваническая развязка от токонесущего проводника тоже, но и без нее все работало, разница лишь в опасности для оператора. Кстати сталкивался и с палеными ногами на stm32f207. Нога отваливается, остальное продолжает работать без проблем. Но это как повезет. По уму, полезно во все NMI прописать сброс.
|
|
|
|
Сообщений в этой теме
картошка Электрические помехи и STM32 Apr 29 2016, 17:00 Сега Может быть стоит пересмотреть схемотехнику? Apr 29 2016, 17:02 картошка Цитата(Сега @ Apr 29 2016, 21:02) Может б... Apr 29 2016, 17:07  adnega Цитата(картошка @ Apr 29 2016, 20:07) Кто... Apr 29 2016, 17:20   картошка Цитата(adnega @ Apr 29 2016, 21:20) А зач... Apr 29 2016, 17:28    adnega Цитата(картошка @ Apr 29 2016, 20:28) Вот... Apr 29 2016, 17:41     картошка Цитата(adnega @ Apr 29 2016, 21:41) Помех... Apr 29 2016, 18:02      adnega Цитата(картошка @ Apr 29 2016, 21:02) Пом... Apr 29 2016, 18:08 1113 Цитата(картошка @ Apr 29 2016, 20:00) ест... Apr 29 2016, 17:09 картошка Цитата(1113 @ Apr 29 2016, 21:09) где об ... Apr 29 2016, 17:14 x893 Поставте внешний watchdog, хоть 5 внешних - один д... Apr 29 2016, 17:16 ViKo Как watchdog может сломаться? Это фантастика. Вы г... Apr 29 2016, 17:17 картошка Цитата(ViKo @ Apr 29 2016, 21:17) Как wat... Apr 29 2016, 17:21  ViKo Цитата(картошка @ Apr 29 2016, 20:21) Так... Apr 29 2016, 17:23 картошка Цитата(ViKo @ Apr 29 2016, 21:17) Как wat... Apr 29 2016, 17:47  ViKo Цитата(картошка @ Apr 29 2016, 20:47) За ... Apr 29 2016, 18:04   amiller Цитата(ViKo @ Apr 29 2016, 21:04) Пока ес... Apr 29 2016, 18:10 amiller Цитата(ViKo @ Apr 29 2016, 20:17) Как wat... Apr 29 2016, 17:48 zltigo QUOTE (ViKo @ Apr 29 2016, 20:17) Как wat... Apr 29 2016, 18:06  ViKo Цитата(zltigo @ Apr 29 2016, 21:06) Фанас... Apr 29 2016, 18:18   zltigo QUOTE (ViKo @ Apr 29 2016, 21:18) Чем вст... Apr 29 2016, 18:20   jcxz Цитата(ViKo @ Apr 30 2016, 00:18) Чем вст... Apr 29 2016, 21:15    ViKo Цитата(jcxz @ Apr 30 2016, 00:15) Вот тем... Apr 29 2016, 21:20     jcxz Цитата(ViKo @ Apr 30 2016, 03:20) Да, сог... Apr 29 2016, 21:35    картошка Цитата(jcxz @ Apr 30 2016, 00:15) Только ... May 5 2016, 12:13     jcxz Цитата(картошка @ May 5 2016, 18:13) Схем... May 6 2016, 05:09      SasaVitebsk Цитата(jcxz @ May 6 2016, 08:09) На текущ... May 6 2016, 10:41 Сега А что за помехи такие? От чего наводится? Apr 29 2016, 17:19 1113 Цитата(картошка @ Apr 29 2016, 20:00) при... Apr 29 2016, 17:20  scifi Цитата(картошка @ Apr 29 2016, 20:33) Но ... Apr 29 2016, 17:41  ViKo Цитата(картошка @ Apr 29 2016, 20:33) Не ... Apr 29 2016, 18:11    adnega Цитата(картошка @ Apr 29 2016, 21:52) Воп... Apr 29 2016, 19:04     картошка Цитата(adnega @ Apr 29 2016, 23:04) Тогда... Apr 29 2016, 19:37 1113 с чего решили? Apr 29 2016, 17:35 adnega Уж если речь идет об STM32, то советую пролистать ... Apr 29 2016, 17:57 картошка Цитата(adnega @ Apr 29 2016, 21:57) Уж ес... Apr 29 2016, 18:20  adnega Цитата(картошка @ Apr 29 2016, 21:20) Печ... Apr 29 2016, 18:34 Огурцов как бы посмотреть схему и плату ?
хотя бы чтобы та... Apr 29 2016, 18:27 картошка Цитата(Огурцов @ Apr 29 2016, 22:27) как ... Apr 29 2016, 19:12  Шаманъ Цитата(картошка @ Apr 29 2016, 22:12) Шо ... Apr 30 2016, 04:57  Огурцов Цитата(картошка @ Apr 29 2016, 19:12) Схе... Apr 30 2016, 07:03   картошка Цитата(Огурцов @ Apr 30 2016, 11:03) ну в... May 5 2016, 13:14    khach Цитата(картошка @ May 5 2016, 15:14) Разр... May 5 2016, 13:53     Mekong Цитата(khach @ May 5 2016, 18:53) О, эксп... May 5 2016, 19:48    Alechek Цитата(картошка @ May 5 2016, 18:14) У ме... May 5 2016, 14:53     картошка Цитата(Alechek @ May 5 2016, 18:53) Вам н... May 5 2016, 15:35 ViKo Есть NMI в STM32. Пользуетесь?
Если в программе е... Apr 29 2016, 19:14 AleksBak ТС не томи - ответь уже! Помог неучтенный NMI_... Apr 30 2016, 11:22 johnshadow На STM32L151, который был расположен прямо возле э... Apr 30 2016, 20:02 khach В таких сложных случаях спасет только второй (мед... May 1 2016, 10:40 AVI-crak Непонятно, в чём смысл возврата в точку сбоя при а... May 1 2016, 13:11 Огурцов начать с замены программатора на с эзернетом, прог... May 5 2016, 14:22 rudy_b Забавно. Судя по вашим словам периодическое срабат... May 5 2016, 17:29 agregat Цитата(rudy_b @ May 5 2016, 20:29) Забавн... May 5 2016, 18:25 khach А кто-нибудь изолированный SWD использовал? Вот эт... May 5 2016, 17:30 Corvus Цитата(khach @ May 5 2016, 20:30) А кто-н... May 5 2016, 20:03 Огурцов Цитата(khach @ May 5 2016, 17:30) можно л... May 6 2016, 07:23  khach Цитата(Огурцов @ May 6 2016, 09:23) на тр... May 6 2016, 10:48 mantech Цитата(картошка @ Apr 29 2016, 20:00) Кто... May 5 2016, 19:05 Огурцов теперь понятно - нужен свой программатор со своей ... May 6 2016, 12:25 khach Цитата(Огурцов @ May 6 2016, 14:25) тепер... May 6 2016, 12:49  Шаманъ Цитата(khach @ May 6 2016, 15:49) Так в т... May 6 2016, 13:48 Огурцов а на самом деле таки да, только не один, а два - с... May 6 2016, 15:33 Шаманъ Цитата(Огурцов @ May 6 2016, 18:33) а на ... May 6 2016, 16:30 Огурцов вообще, вроде бы вопрос был про swd-swd, а не про ... May 6 2016, 18:38 Шаманъ Цитата(Огурцов @ May 6 2016, 21:38) вообщ... May 6 2016, 20:04  khach Цитата(Шаманъ @ May 6 2016, 22:04) Я прос... May 7 2016, 09:39   Шаманъ Цитата(khach @ May 7 2016, 12:39) Ну и ка... May 7 2016, 10:24    khach Цитата(Шаманъ @ May 7 2016, 12:24) Может ... May 7 2016, 10:40     Шаманъ Цитата(khach @ May 7 2016, 13:40) JTAG оп... May 7 2016, 12:09      khach Цитата(Шаманъ @ May 7 2016, 14:09) Подклю... May 7 2016, 12:40       Шаманъ Цитата(khach @ May 7 2016, 15:40) Да не р... May 7 2016, 14:13     Огурцов Цитата(khach @ May 7 2016, 11:40) не зара... May 7 2016, 16:36 Огурцов отлично, теперь у нас есть решения на все случаи ж... May 6 2016, 20:21
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|