|
Электрические помехи и 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, 21:15
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(ViKo @ Apr 30 2016, 00:18)  Чем встроенный watchdog хуже внешнего? Точнее, что мешает сделать такой же качественный? А то, что в STM32 его можно отключить, да, это не очень надежное решение. Вот тем и хуже, что его отключить можно. Вотчдог должен быть неотключаемым ни программно ни каким-либо сбросом, он должен работать всегда, без необходимости его включения конфигурированием чего-либо программно. Т.е. - только простой железный внешний WD может быть надёжным. Ну это конечно после вправления рук схемотехнику по части правильной разводки и борьбы с помехами. Мы во всех своих устройствах в обязательном порядке ставим внешний WD. Цитата(картошка @ Apr 30 2016, 00:20)  В AVR при компиляции программ я в конце BIN файла обычно JMP 0 ставил, а тут некуда. Кто-ж Вам в ARM это делать мешает?? Только это всё - борьба с ветряными мельницами. Вам надо брать учебник по схемотехнике и садиться за учёбу. При кривой схеме и разводке никакие программные ухищрения не помогут.
|
|
|
|
|
May 5 2016, 12:13
|

Участник

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

|
Цитата(jcxz @ Apr 30 2016, 00:15)  Только это всё - борьба с ветряными мельницами. Вам надо брать учебник по схемотехнике и садиться за учёбу. При кривой схеме и разводке никакие программные ухищрения не помогут. Эх, хороший совет. Но схему и плату не я рисовал. Схему запретили трогать и давать какие-либо рекомендации по поводу надежности и улучшения ее работы - под страхом физической расправы с последующим увольнением с работы. Ну нет худа без добра, за это время стал специалистом по программным костылям. Специалистом изменения магнитопроницаемости физического ваккума програмным способом на расстоянии по фотографии. Цитата(johnshadow @ Apr 30 2016, 23:02)  На STM32L151, который был расположен прямо возле эл. двигателя и аналогично зависал, помог отказ от использования PLL. Хороший совет. Ведь внутренняя система PLL по любому сделана по схеме НАПРЯЖЕНИЕ-ЧАСТОТА с цифровым счетчиком и цифровым компаратором обратной связи. Любая помеха наводит на накопительную RC цепь приличную наводку или ее изменение. Цитата(khach @ May 1 2016, 13:40)  В таких сложных случаях спасет только второй (медленный) ватчдог с ключем по питанию процессора. Приходилось такое ваять в схеме с тиратроном- помехи от тиратрона бывают запредельные и сбивают все что можно. При этом схемотехника и экранирование силы быле сделаны правильно- второй ватчдог срабатывал только при спонтанных пробоях тиратрона (то ли от космических частиц, то ли от износа) короче это было аварийное событие, но проц после этого оживал. Спасибо. Правильно приняли - что береженного Бог бережет.
Сообщение отредактировал картошка - May 5 2016, 12:14
|
|
|
|
|
May 6 2016, 05:09
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(картошка @ May 5 2016, 18:13)  Схему запретили трогать и давать какие-либо рекомендации по поводу надежности и улучшения ее работы - под страхом физической расправы с последующим увольнением с работы. Ну нет худа без добра, за это время стал специалистом по программным костылям. Вас там не уважают как спеца или схемотехник чей-то родственник? На заре моей карьеры работал я в конторе, где тоже местный царёк ни в какую не хотел менять схемотехнику заведомо ущербную (что было очевидно всем коллегам). Он на использовании старого кривого оборудования получал хорошие откаты не вкладывая ни копья в исправление схемных проблем. А мне также приходилось бороться с ветряными мельницами - ставил костыль за костылём, а баги всё новые вылезали. На простой задаче пришлось наворотить такого.... Один хрен - прошло совсем немного времени с моего ухода оттуда и всё то оборудование заказчикам пришлось выкинуть - из говна конфетку не сделаешь ни какими программными ухищрениями. Сейчас жалею только что раньше не уволился. Жалею о бессмысленно потраченном времени, которое мог-бы посвятить полезным делам. Так что - если такое отношение - не теряйте времени зря. PS: На текущей работе, к моему мнению как программиста, схемотехники и начальство прислушиваются. Если надо - устраиваем дискуссии и меняем схему по моему требованию. Потому что ПО то писать мне, а без ПО железка никому не нужна. Так и должно быть. Ну конечно если Вы не студент без опыта работы и если соображаете в схемотехнике конечно.
|
|
|
|
|
May 6 2016, 10:41
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(jcxz @ May 6 2016, 08:09)  На текущей работе, к моему мнению как программиста, схемотехники и начальство прислушиваются. Если надо - устраиваем дискуссии и меняем схему по моему требованию. Потому что ПО то писать мне, а без ПО железка никому не нужна. Так и должно быть. Ну конечно если Вы не студент без опыта работы и если соображаете в схемотехнике конечно. Я вообще считаю, что программист должен быть ведущим темы. Именно он должен ставить задачи схемотехнику. И это вопрос не уважения, а вопрос правильности организации. Ну например надо закрутить двигатель - я это могу сделать несколькими способами и от этого будет изменена схемотехника. Или мне надо померить период импульса - я буду решать что за процессор и на какую ногу подать сигнал. Ну и так далее ... Но именно поэтому программист должен хорошо, а не поверхностно разбираться в схемотехнике, быть неплохим инженером и иметь хороший кругозор.
|
|
|
|
Сообщений в этой теме
картошка Электрические помехи и 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 @ 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, 21:18) Чем вст... Apr 29 2016, 18:20    ViKo Цитата(jcxz @ Apr 30 2016, 00:15) Вот тем... Apr 29 2016, 21:20     jcxz Цитата(ViKo @ Apr 30 2016, 03:20) Да, сог... Apr 29 2016, 21:35 Сега А что за помехи такие? От чего наводится? Apr 29 2016, 17:19 1113 Цитата(картошка @ Apr 29 2016, 20:00) при... Apr 29 2016, 17:20 ViKo Так защиту по входам поставьте, если не школьник. ... Apr 29 2016, 17:28 картошка Цитата(ViKo @ Apr 29 2016, 21:28) Так защ... Apr 29 2016, 17:33  scifi Цитата(картошка @ Apr 29 2016, 20:33) Но ... Apr 29 2016, 17:41  ViKo Цитата(картошка @ Apr 29 2016, 20:33) Не ... Apr 29 2016, 18:11  rudy_b Цитата(картошка @ Apr 29 2016, 20:33) Не ... Apr 29 2016, 18:11   картошка Цитата(rudy_b @ Apr 29 2016, 22:11) Что-т... Apr 29 2016, 18:52    adnega Цитата(картошка @ Apr 29 2016, 21:52) Воп... Apr 29 2016, 19:04     картошка Цитата(adnega @ Apr 29 2016, 23:04) Тогда... Apr 29 2016, 19:37    rudy_b Цитата(картошка @ Apr 29 2016, 21:52) Сог... Apr 30 2016, 13:17     jcxz Цитата(rudy_b @ Apr 30 2016, 19:17) По ум... May 1 2016, 06:31 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
|
|
|