реклама на сайте
подробности

 
 
6 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Электрические помехи и STM32, что делать, ваах !
картошка
сообщение Apr 29 2016, 17:00
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 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 из полного штопора ??????????????????????
Go to the top of the page
 
+Quote Post
segment
сообщение Apr 29 2016, 17:02
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 352
Регистрация: 10-08-06
Из: Санкт-Петербург
Пользователь №: 19 471



Может быть стоит пересмотреть схемотехнику?
Go to the top of the page
 
+Quote Post
картошка
сообщение Apr 29 2016, 17:07
Сообщение #3


Участник
*

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



Цитата(Сега @ Apr 29 2016, 21:02) *
Может быть стоит пересмотреть схемотехнику?


Да в том то и дело, надо решить проблему на корню. Помехи могут добраться и до полной гальваноразвязки (не припомню когда было sm.gif ) и бронированного корпуса.

Кто-нибудь знает как вывести STM из полного штопора. Склалось впечатление о полной остановке ядра.
Go to the top of the page
 
+Quote Post
1113
сообщение Apr 29 2016, 17:09
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 604
Регистрация: 24-02-06
Из: Москва
Пользователь №: 14 658



Цитата(картошка @ Apr 29 2016, 20:00) *
естественно выше допустимых по мануалу уровней

где об этом почитать?
Go to the top of the page
 
+Quote Post
картошка
сообщение Apr 29 2016, 17:14
Сообщение #5


Участник
*

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



Цитата(1113 @ Apr 29 2016, 21:09) *
где об этом почитать?


Absolute maximum ratings ... В каждом Product Specifications pdf на соответствующий микроконтроллер.
Go to the top of the page
 
+Quote Post
x893
сообщение Apr 29 2016, 17:16
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 333
Регистрация: 27-10-08
Из: Планета Земля
Пользователь №: 41 226



Поставте внешний watchdog, хоть 5 внешних - один да сработает если что.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 29 2016, 17:17
Сообщение #7


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Как watchdog может сломаться? Это фантастика. Вы где его сбрасываете? Не в прерывании?
В STM32F207 их там 3.
Go to the top of the page
 
+Quote Post
segment
сообщение Apr 29 2016, 17:19
Сообщение #8


Местный
***

Группа: Участник
Сообщений: 352
Регистрация: 10-08-06
Из: Санкт-Петербург
Пользователь №: 19 471



А что за помехи такие? От чего наводится?
Go to the top of the page
 
+Quote Post
1113
сообщение Apr 29 2016, 17:20
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 604
Регистрация: 24-02-06
Из: Москва
Пользователь №: 14 658



Цитата(картошка @ Apr 29 2016, 20:00) *
при тестировании STM32 в боевых условиях с помехами и наводками, в частности: STM32F03, STM32F207

покажите схему плату и опишите условия
Go to the top of the page
 
+Quote Post
adnega
сообщение Apr 29 2016, 17:20
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(картошка @ Apr 29 2016, 20:07) *
Кто-нибудь знает как вывести STM из полного штопора.

А зачем, если у вас такие помехи, что даже ОЗУ портится?
Только аппаратное решение напрашивается.
Go to the top of the page
 
+Quote Post
картошка
сообщение Apr 29 2016, 17:21
Сообщение #11


Участник
*

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



Цитата(ViKo @ Apr 29 2016, 21:17) *
Как watchdog может сломаться? Это фантастика. Вы где его сбрасываете? Не в прерывании?


Таки да, сломался. В прерывании сброс WATCHDOGA я бы додумался поставить лет 15 назад, сейчас не встает вопрос, не школьник, не ставлю.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 29 2016, 17:23
Сообщение #12


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(картошка @ Apr 29 2016, 20:21) *
Таки да, сломался.

Independent watchdog?
Go to the top of the page
 
+Quote Post
картошка
сообщение Apr 29 2016, 17:28
Сообщение #13


Участник
*

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



Цитата(adnega @ Apr 29 2016, 21:20) *
А зачем, если у вас такие помехи, что даже ОЗУ портится?
Только аппаратное решение напрашивается.


Вот. Я об том же, о надежности. А если все-таки дойдет помеха, доберется ?! Потом что капитуляция или как ? Я все грешу на свою несостоятельность, мож что не так делаю sm.gif. Вернее ищу дельного совета.

Цитата(ViKo @ Apr 29 2016, 21:23) *
Independent watchdog?


Да, он , не WWDG. Проверил, он работает. Но когда на него надеешься - он сливается.

Сообщение отредактировал картошка - Apr 29 2016, 17:29
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 29 2016, 17:28
Сообщение #14


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Так защиту по входам поставьте, если не школьник. rolleyes.gif И по питанию тоже. sm.gif
Go to the top of the page
 
+Quote Post
картошка
сообщение Apr 29 2016, 17:33
Сообщение #15


Участник
*

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



Цитата(ViKo @ Apr 29 2016, 21:28) *
Так защиту по входам поставьте, если не школьник. rolleyes.gif И по питанию тоже. sm.gif


Не школьник. По земле иногда проходит, по чистой, по GND. Поэтому гальваноразвязка только. Но ответ на вопрос "как выйти из штопора " - дороже гальваноразвязки !!!
Выяснилось не по питанию идет. Идет по корпусу железному + рядом провода с индукционными наводками (убрали). Выбросы реактивных цепей, пускатели, частотные приводы. Питание сразу поставили импульсное.

Сообщение отредактировал картошка - Apr 29 2016, 17:39
Go to the top of the page
 
+Quote Post
1113
сообщение Apr 29 2016, 17:35
Сообщение #16


Знающий
****

Группа: Свой
Сообщений: 604
Регистрация: 24-02-06
Из: Москва
Пользователь №: 14 658



с чего решили?
Go to the top of the page
 
+Quote Post
adnega
сообщение Apr 29 2016, 17:41
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(картошка @ Apr 29 2016, 20:28) *
Вот. Я об том же, о надежности. А если все-таки дойдет помеха, доберется ?! Потом что капитуляция или как ? Я все грешу на свою несостоятельность, мож что не так делаю sm.gif.

Помехи классифицируются. От одних помех можно дешево и надежно защититься. От всех помех защититься не возможно.
По мере расширения класса подавляемых помех, стоимость защиты увеличивается. При недопустимом уровне помех,
когда цифровая схема начинает работать как аналоговая - аналитический аппарат становится другим.
Можно назвать это "капитуляцией".

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


Цитата(картошка @ Apr 29 2016, 20:33) *
Питание сразу поставили импульсное.

Я обычно ставлю импульсное для 5В, затем линейный стабилизатор на 3.3В
Go to the top of the page
 
+Quote Post
scifi
сообщение Apr 29 2016, 17:41
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(картошка @ Apr 29 2016, 20:33) *
Но ответ на вопрос "как выйти из штопора " - дороже гальваноразвязки !!!

Имеет ли смысл этот вопрос? Если процессор "вошёл в штопор", он может натворить непоправимое, и "выход из штопора" может быть уже не актуальным. То есть нельзя допускать штопор.
А по поводу выхода - внешний RESET должен работать. А снятие питания совершенно точно поможет.
Go to the top of the page
 
+Quote Post
картошка
сообщение Apr 29 2016, 17:47
Сообщение #19


Участник
*

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



Цитата(ViKo @ Apr 29 2016, 21:17) *
Как watchdog может сломаться? Это фантастика. Вы где его сбрасываете? Не в прерывании?
В STM32F207 их там 3.

За бусы фаулты тоже знаем и за другие. Везде поставил NVIC_Reset. Срабатывает иногда в 90 процентах случаев - пока штопор не отлавливает. А в STM32F03 - там только HARDFAULT.


Цитата(scifi @ Apr 29 2016, 21:41) *
Имеет ли смысл этот вопрос? Если процессор "вошёл в штопор", он может натворить непоправимое, и "выход из штопора" может быть уже не актуальным. То есть нельзя допускать штопор.
А по поводу выхода - внешний RESET должен работать. А снятие питания совершенно точно поможет.


Ну он только RESETом и выводится. Знаете более или менее надежные системы периодического сброса, проверенные опытом и временем, чтоб без програмной настройки были. Чтоб очень "деревянные" были, электричества не боялись sm.gif ?!
Go to the top of the page
 
+Quote Post
amiller
сообщение Apr 29 2016, 17:48
Сообщение #20


Частый гость
**

Группа: Участник
Сообщений: 176
Регистрация: 20-02-14
Из: Томск
Пользователь №: 80 612



Цитата(ViKo @ Apr 29 2016, 20:17) *
Как watchdog может сломаться? Это фантастика. Вы где его сбрасываете? Не в прерывании?
В STM32F207 их там 3.

Если речь идёт о том, что глючит периферия STM, то почему не может произойти сбой таймера-сторожа? Это такой же периферийный модуль.
Если остальные наблюдаемые эффекты Вас не смущают, и дело только в WDT, то я рекомендую Вам также поставить внешний таймер.
Несмотря на то, что сам я с такими эффектами не сталкивался, в особо ответственных применениях наряду с внутренним WDT, всегда использую ещё и внешний, тем более, что стоит он копейки.
Я тоже не так давно был неприятно удивлён, что модуль протоколирования операций на STM32 в условиях сильных помех писал в области Flash, куда ему писать было запрещено. Хотя адреса неоднократно программно проверяются перед записью. Пришлось через Option byte запрещать запись в некоторые сектора.
Но само по себе это печально. Пока я ещё верю, что схемотехнически, используя комплексные меры защиты, можно любой микроконтроллер заставить нормально работать в любых условиях.
Но знаю несколько человек, которые утверждают, что там где STM32 периодически выходит из строя в результате воздействия мощных электромагнитных помех, AVR работают устойчиво.
Go to the top of the page
 
+Quote Post
adnega
сообщение Apr 29 2016, 17:57
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Уж если речь идет об STM32, то советую пролистать AN3307.
Go to the top of the page
 
+Quote Post
картошка
сообщение Apr 29 2016, 18:02
Сообщение #22


Участник
*

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



Цитата(adnega @ Apr 29 2016, 21:41) *
Помехи классифицируются. От одних помех можно дешево и надежно защититься. От всех помех защититься не возможно.
По мере расширения класса подавляемых помех, стоимость защиты увеличивается. При недопустимом уровне помех,
когда цифровая схема начинает работать как аналоговая - аналитический аппарат становится другим.
Можно назвать это "капитуляцией".

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



Я обычно ставлю импульсное для 5В, затем линейный стабилизатор на 3.3В


С питание аналогично, LM1117-3.3.
Помеха ЖЕСТКАЯ ! Резкое изменение потенциала земли в какую-либо сторону в момент резких выбросов ЭНЕРГИИ дальше по схеме. Ответ по поведению внутреностей ядра- имеет право, такое наблюдал, когда напряжение питания на цифровых схемах снижается до уровня работы в неопределенном гистерезисе цифр. уровней. Но тут с питанием все нормульно. Происходит сбой не изменяя вроде внутренего гистерезиса, хотя я уже склоняюсь до подобных представлений.
Что посоветуете из проверенных временем "не настраиваемых программно" схем внешнего периодического сброса ?!

Цитата(amiller @ Apr 29 2016, 21:48) *
Если речь идёт о том, что глючит периферия STM, то почему не может произойти сбой таймера-сторожа? Это такой же периферийный модуль.
Если остальные наблюдаемые эффекты Вас не смущают, и дело только в WDT, то я рекомендую Вам также поставить внешний таймер.
Несмотря на то, что сам я с такими эффектами не сталкивался, в особо ответственных применениях наряду с внутренним WDT, всегда использую ещё и внешний, тем более, что стоит он копейки.
Я тоже не так давно был неприятно удивлён, что модуль протоколирования операций на STM32 в условиях сильных помех писал в области Flash, куда ему писать было запрещено. Хотя адреса неоднократно программно проверяются перед записью. Пришлось через Option byte запрещать запись в некоторые сектора.
Но само по себе это печально. Пока я ещё верю, что схемотехнически, используя комплексные меры защиты, можно любой микроконтроллер заставить нормально работать в любых условиях.
Но знаю несколько человек, которые утверждают, что там где STM32 периодически выходит из строя в результате воздействия мощных электромагнитных помех, AVR работают устойчиво.


Приятно услышать слово от закаленного трудоднями человека. sm.gif
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 29 2016, 18:04
Сообщение #23


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(картошка @ Apr 29 2016, 20:47) *
За бусы фаулты тоже знаем и за другие. Везде поставил NVIC_Reset. Срабатывает иногда в 90 процентах случаев - пока штопор не отлавливает. А в STM32F03 - там только HARDFAULT.

Я про 3 watchdog-а.

Цитата(amiller @ Apr 29 2016, 20:48) *
Если речь идёт о том, что глючит периферия STM, то почему не может произойти сбой таймера-сторожа? Это такой же периферийный модуль.

Пока есть питание, LSI RC генератор должен работать. А счетчик после него завалить? сомневаюсь. Ну, если вольт 3000 шарахнуть, все может быть.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 29 2016, 18:06
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (ViKo @ Apr 29 2016, 20:17) *
Как watchdog может сломаться? Это фантастика.

Фанастика это то, что Вы все еще верите во встроеные watchdog-и sm.gif sad.gif и вообще в чудодейственный сброс.

Это обычная перефиферия со всеми обычными и потенциальными проблемами.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
adnega
сообщение Apr 29 2016, 18:08
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(картошка @ Apr 29 2016, 21:02) *
Помеха ЖЕСТКАЯ !

Но ей на пути можно и нужно навыставлять барьеров.
Неправильным выбором цепей защиты и неверной топологией можно натерпеться даже от средних помех.

Если бы вы озвучили параметры помехи и показали схему защиты с топологией,
то довольно быстро вам бы показали, где слабое место.
Go to the top of the page
 
+Quote Post
amiller
сообщение Apr 29 2016, 18:10
Сообщение #26


Частый гость
**

Группа: Участник
Сообщений: 176
Регистрация: 20-02-14
Из: Томск
Пользователь №: 80 612



Цитата(ViKo @ Apr 29 2016, 21:04) *
Пока есть питание, LSI RC генератор должен работать. А счетчик после него завалить? сомневаюсь. Ну, если вольт 3000 шарахнуть, все может быть.

Автор написал, что происходит сброс настроек периферии. Значит и таймер-сторож может отключиться (сбросится в начальное состояние). Может конечно помочь принудительное включение таймера через Option byte, но надежнее проверенный путь - внешний WDT.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 29 2016, 18:11
Сообщение #27


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(картошка @ Apr 29 2016, 20:33) *
Не школьник. По земле иногда проходит, по чистой, по GND.

Это смотря с какой точки смотреть. biggrin.gif если относительно земли, то по питанию.
Go to the top of the page
 
+Quote Post
rudy_b
сообщение Apr 29 2016, 18:11
Сообщение #28


Знающий
****

Группа: Свой
Сообщений: 888
Регистрация: 25-09-08
Из: Питер
Пользователь №: 40 458



Цитата(картошка @ Apr 29 2016, 20:33) *
Не школьник. По земле иногда проходит, по чистой, по GND. Поэтому гальваноразвязка только. Но ответ на вопрос "как выйти из штопора " - дороже гальваноразвязки !!!
Выяснилось не по питанию идет. Идет по корпусу железному + рядом провода с индукционными наводками (убрали). Выбросы реактивных цепей, пускатели, частотные приводы. Питание сразу поставили импульсное.

Что-то слабо верится. Поставьте плату в отдельный экранированный корпус, нормально защитите все входы/выходы (продольный резистор + шотки земля-питание) (питание в т.ч - стабилитрон), нормально разведите плату (4-х слойка со слоями земли и питания+правильная разводка) и в такой блок можно будет напрямую молниями пулять без всяких сбоев, независимимо от процессора.

Мы делали блоки контроля тока ОПН - там импульсы напряжений до сотен кВ с токами до 100 кА с крутыми фронтами - и все нормально работало без сбоев. Да еще и питаться умело от этих самых импульсов.

А гальваноразвязку тоже с умом делать нужно, от высокочастотных помех она не спасет - фильтры нужны.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 29 2016, 18:18
Сообщение #29


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(zltigo @ Apr 29 2016, 21:06) *
Фанастика это то, что Вы все еще верите во встроеные watchdog-и sm.gif sad.gif и вообще в чудодейственный сброс.

Чем встроенный watchdog хуже внешнего? Точнее, что мешает сделать такой же качественный? А то, что в STM32 его можно отключить, да, это не очень надежное решение.
Вообще-то, речь не только про сторожа. И про защиту. И про плохую землю. Про отсутствие экранов.
Go to the top of the page
 
+Quote Post
картошка
сообщение Apr 29 2016, 18:20
Сообщение #30


Участник
*

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



Цитата(adnega @ Apr 29 2016, 21:57) *
Уж если речь идет об STM32, то советую пролистать AN3307.


Печалит одно только существование документа... На ровной дороге такие документы не составляются, видимо как способ увести внимание что грабли из чужого огорода у ST немного получилось. Все еще надеюсь найти совет по штопору. В AVR при компиляции программ я в конце BIN файла обычно JMP 0 ставил, а тут некуда. Возможно ядро и работает, но ГДЕ-ТО там, а WATCHDOG завял. Может в оперативку в конец сгенерировать код на NVIC_Reset ???
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 29 2016, 18:20
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (ViKo @ Apr 29 2016, 21:18) *
Чем встроенный watchdog хуже внешнего?

Вам уже было написано. Причем не только мной. Читайте.



--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Apr 29 2016, 18:27
Сообщение #32


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



как бы посмотреть схему и плату ?
хотя бы чтобы так не делать
Go to the top of the page
 
+Quote Post
adnega
сообщение Apr 29 2016, 18:34
Сообщение #33


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(картошка @ Apr 29 2016, 21:20) *
Печалит одно только существование документа...

Дык, вы его полистайте и печаль пройдет. В документе написано про надежную софтовую часть.
Как тестировать, что тестировать. Или вы считаете, что этого делать не стоит, т.к. есть прекрасный AVR?
При этом нужно понимать, что аппаратная часть должна быть исправная. И софт и железо - это параллельные вещи.

Из личного: я одновременно использовал в работе и AVR, и STM32. Всяко бывало... но AVR частенько выдерживал
12В на входе. Ну как выдерживал? - пин выгорит, а все остальное продолжает работать. У STM32 при ахтунге на
входе сразу КЗ по питанию. При этом если ток по питанию не ограничивать, камень будет греться, но продолжает работать.
Собственно, как к этому относиться? В начале меня это очень сильно печалило - шаг влево, шаг вправо, МК в помойку.
Но когда потребовалось делать ответственную аппаратуру, то такое поведение МК мне очень понравилось. Сразу можно
сказать, что МК не исправен, а не эксплуатировать полу-рабочее изделие.

Это накладывает сильный отпечаток на разработку. Согласитесь, разница очевидна? С одной стороны: "если я не позабочусь
о помехе и ее энергия попадет на пин, то получу полностью убитое изделие". С другой стороны: "наплевать на помеху,
поставлю внешнюю кувыркалку, чтоб она в случае чего перезапускала софт; один пин отгорит - не жалко - их еще много".
Go to the top of the page
 
+Quote Post
картошка
сообщение Apr 29 2016, 18:52
Сообщение #34


Участник
*

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
adnega
сообщение Apr 29 2016, 19:04
Сообщение #35


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(картошка @ Apr 29 2016, 21:52) *
Вопрос открыт, что может быть такое в ядре, чтоб вернуть управление не через внешний сброс, при полном штопоре и реально отвалившемся ватчдоге ??????

Тогда встречный вопрос: как загнать ядро в такое состояние?
Например, я тестировал свой пульт с сенсорными кнопками. Через 1.5 мм оргстекла водил кисточкой с 6 кВ на кончике.
Сенсорная кнопка - это площадка меди? подключенная напрямую к пину МК (stm32f042k6t6).
Итого: пульт жив, а в блоке питания ATTEN TPR3005T-3C перестал показывать дисплей канала, от которого запитывал пульт.

Go to the top of the page
 
+Quote Post
картошка
сообщение Apr 29 2016, 19:12
Сообщение #36


Участник
*

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



Цитата(Огурцов @ Apr 29 2016, 22:27) *
как бы посмотреть схему и плату ?
хотя бы чтобы так не делать

Схема плохая, с точки зрения подвода, много внешних проводов и неправильная заводка земли. Но микроконтроллер, только временами сбоит, было принято решение довести программную часть до оптимального со стороны безопастности - помехи усилили, поставили рядом провода с индукционными импульсными наводками - 12 вольтовые импульсные сигналы сблизили с межплатным обменом по SPI где уровни 3 вольта. С этого и приступили к испытаниям программы. Ну этим пока и закончили sad.gif ... Глохнет заведенный ватчдог, Хардфаултов - нет, управление ядра - неизвестно где ходит ??? Шо делать ?
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 29 2016, 19:14
Сообщение #37


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Есть NMI в STM32. Пользуетесь?

Если в программе есть петля типа goto here ... laughing.gif
Go to the top of the page
 
+Quote Post
картошка
сообщение Apr 29 2016, 19:37
Сообщение #38


Участник
*

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



Цитата(adnega @ Apr 29 2016, 23:04) *
Тогда встречный вопрос: как загнать ядро в такое состояние?
Например, я тестировал свой пульт с сенсорными кнопками. Через 1.5 мм оргстекла водил кисточкой с 6 кВ на кончике.
Сенсорная кнопка - это площадка меди? подключенная напрямую к пину МК (stm32f042k6t6).
Итого: пульт жив, а в блоке питания ATTEN TPR3005T-3C перестал показывать дисплей канала, от которого запитывал пульт.


Думаю просто. Припаиваешь к цифровой земле 1 метр провода , один выход генератора цепляешь на самый отдаленный край провода земляного. Другим концом с генератора замыкаешь на тот же провод рядом, подальше от MPU естественно. Помучайте это земляной провод импульсами от генератора. Думаю эффект не заставит долго себя ждать. Если не получится, поискрите второй конец ближе к MPU. Если не получится, поставьте вместо керамики и танталов на плате MPU только электролитик индукционный какой на 3 вольтового питания . И проделайте тоже самое с землей и генератором снова.



Цитата(adnega @ Apr 29 2016, 21:57) *
Уж если речь идет об STM32, то советую пролистать AN3307.


Вот меня уже направляли на путь правильный...

Цитата(ViKo @ Apr 29 2016, 23:14) *
Есть NMI в STM32. Пользуетесь?

Если в программе есть петля типа goto here ... laughing.gif


Но понял я что по NMI я промазал.... Люблю котов !!! Не поставил обработчик по NMI sad.gif ...

The data bus width is 36 bits because 4 bits are available for parity check (1 bit per byte) in order to increase memory robustness, as required for instance by Class B or SIL norms.
The parity bits are computed and stored when writing into the SRAM. Then, they are automatically checked when reading. If one bit fails, an NMI is generated.


If a failure is detected on the HSE clock, the HSE oscillator is automatically disabled, a clock failure event is sent to the break input of the advanced-control timers (TIM1) and general-purpose timers (TIM15, TIM16 and TIM17) and an interrupt is generated to inform the software about the failure (Clock Security System Interrupt CSSI), allowing the MCU to perform rescue operations. The CSSI is linked to the Cortex-M0 NMI (Non-Maskable Interrupt) exception vector.

Сообщение отредактировал картошка - Apr 29 2016, 19:42
Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 29 2016, 21:15
Сообщение #39


Гуру
******

Группа: Свой
Сообщений: 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 это делать мешает??
Только это всё - борьба с ветряными мельницами. Вам надо брать учебник по схемотехнике и садиться за учёбу. При кривой схеме и разводке никакие программные ухищрения не помогут.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 29 2016, 21:20
Сообщение #40


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(jcxz @ Apr 30 2016, 00:15) *
Вот тем и хуже, что его отключить можно. Вотчдог должен быть неотключаемым ни программно ни каким-либо сбросом, он должен работать всегда, без необходимости его включения конфигурированием чего-либо программно. Т.е. - только простой железный внешний WD может быть надёжным.

Да, согласен. Надо было сделать неуправляемым. Включать при программировании. Или хотя бы быть включенным после сброса.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 29 2016, 21:35
Сообщение #41


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(ViKo @ Apr 30 2016, 03:20) *
Да, согласен. Надо было сделать неуправляемым. Включать при программировании. Или хотя бы быть включенным после сброса.

В MSP430FR5xx он именно такой - по дефолту включен после сброса. Это гораздо лучше. Но всё равно - есть возможность программного его отключения, а это дыра в безопасности. Так что - внешний WD всё равно лучше.
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Apr 30 2016, 04:57
Сообщение #42


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(картошка @ Apr 29 2016, 22:12) *
Шо делать ?

Начать с исправления вот того:
Цитата
Схема плохая, с точки зрения подвода, много внешних проводов и неправильная заводка земли.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Apr 30 2016, 07:03
Сообщение #43


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(картошка @ Apr 29 2016, 19:12) *
Схема плохая

ну вот и интересно, вдруг мы делаем так же

Цитата(картошка @ Apr 29 2016, 19:12) *
управление ядра - неизвестно где ходит ??? Шо делать ?

а отладчик тоже не подключается ?
Go to the top of the page
 
+Quote Post
AleksBak
сообщение Apr 30 2016, 11:22
Сообщение #44


Частый гость
**

Группа: Участник
Сообщений: 132
Регистрация: 6-02-16
Из: г. Баку
Пользователь №: 90 364



ТС не томи - ответь уже! Помог неучтенный NMI_Handler или нет? Вопрос жизни или смерти. biggrin.gif Ваах. А как его функция вообще исчезла из обработчиков? Хотя бы _weak реализация осталась? С обработчиком по умолчанию? Или и этого не было? В стартапе было ковыряние.
Go to the top of the page
 
+Quote Post
rudy_b
сообщение Apr 30 2016, 13:17
Сообщение #45


Знающий
****

Группа: Свой
Сообщений: 888
Регистрация: 25-09-08
Из: Питер
Пользователь №: 40 458



Цитата(картошка @ Apr 29 2016, 21:52) *
Согласен, что схемотехника не годится. Аналоговые цепи были в схеме ? Использовалась общая земля или только гальваноразвязанные линии ???

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

Кстати сталкивался и с палеными ногами на stm32f207. Нога отваливается, остальное продолжает работать без проблем. Но это как повезет.

По уму, полезно во все NMI прописать сброс.
Go to the top of the page
 
+Quote Post
johnshadow
сообщение Apr 30 2016, 20:02
Сообщение #46


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 25-09-08
Пользователь №: 40 477



На STM32L151, который был расположен прямо возле эл. двигателя и аналогично зависал, помог отказ от использования PLL.
Go to the top of the page
 
+Quote Post
jcxz
сообщение May 1 2016, 06:31
Сообщение #47


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(rudy_b @ Apr 30 2016, 19:17) *
По уму, полезно во все NMI прописать сброс.

Полезно во все неиспользуемые вектора прописывать сброс (или вызов функции критической ошибки).
Go to the top of the page
 
+Quote Post
khach
сообщение May 1 2016, 10:40
Сообщение #48


Гуру
******

Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741



В таких сложных случаях спасет только второй (медленный) ватчдог с ключем по питанию процессора. Приходилось такое ваять в схеме с тиратроном- помехи от тиратрона бывают запредельные и сбивают все что можно. При этом схемотехника и экранирование силы быле сделаны правильно- второй ватчдог срабатывал только при спонтанных пробоях тиратрона (то ли от космических частиц, то ли от износа) короче это было аварийное событие, но проц после этого оживал.
Go to the top of the page
 
+Quote Post
AVI-crak
сообщение May 1 2016, 13:11
Сообщение #49


Частый гость
**

Группа: Участник
Сообщений: 182
Регистрация: 16-10-15
Пользователь №: 88 894



Непонятно, в чём смысл возврата в точку сбоя при аппаратном сбое периферии мк. В таких случаях просто необходим сброс периферии, и новая начальная инициализация.
Есть вариант хранить критические переменные в защищённом месте, с двойным тройным резервированием - для восстановления стартовой рабочей точки. Но возврат в точку слома - просто невозможен.

Для развязки управления по высокому напряжению, и высоковольтным импульсным помехам - применяют воздушные оптопары. Это единственный способ изоляции от искры.
Go to the top of the page
 
+Quote Post
картошка
сообщение May 5 2016, 12:13
Сообщение #50


Участник
*

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
картошка
сообщение May 5 2016, 13:14
Сообщение #51


Участник
*

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



Цитата(Огурцов @ Apr 30 2016, 11:03) *
ну вот и интересно, вдруг мы делаем так же


а отладчик тоже не подключается ?


У меня ST-LINK/2 , отладчик отваливается при любом удобном случае, задетектировать место зависания не удается, импульс и полный сбой, что с отладчиком что без него. Даже когда отладку делаешь через ноутбук работающих от своих батарей в режиме полной гальваноразвязки, збои - реже. Разрабатываемое устройство работает с реактивными цепями накапливающими токи в свою индуктивность до одного-полутора килоампера. Поэтому E = (L * (I*I)) / 2; - (L = 5 - 20 uh) большие импульсные помехи. Слив всю энергию в емкость 10 нанофарад можем получить 67 Кволльта на нем, все зависит от добротности реактивности пораждающюю обратною ЭДС. Длина волны (скорость нарастания/спада) пораждаемая этим разрядом уже три раза превысила импульс пораждаемые гармоники рентгеновского спекта. Поэтому длина полны может быть и сантиметр и миллиметр, все зависит от магнитной проницаемости среды и формы конструкции.
Главная ошибка это отсутствие гальваноразвязки, искушение использовать встроенные в ARM ADC периферию ! Схему разрабатывал не я. Неоднократно предупреждал и расчитывал возможные помехи.
Go to the top of the page
 
+Quote Post
khach
сообщение May 5 2016, 13:53
Сообщение #52


Гуру
******

Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741



Цитата(картошка @ May 5 2016, 15:14) *
Разрабатываемое устройство работает с реактивными цепями накапливающими токи в свою индуктивность до одного-полутора килоампера.

О, экспериментальная физика высоких энергий или лазерная техника. Отличное поле для топтания по граблям. ST-LINK/2 и сам отвалится может, и USB подохнуть. В таком случае ставили отладчик на линухе под openOCD, экарнировали его вместе с отлаживаемым устройством в многослойном медно-пермаллоевом экране, источники питания типа свницовых батаерй от UPS тоже были внутри. А наружу выходила только пара световодов от медиаконвертора эзернета, по которому и общались и с отладчиком, и с отлаживаемым устройством.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение May 5 2016, 14:22
Сообщение #53


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



начать с замены программатора на с эзернетом, программатор заэкранировать в одном ящике с таргетом, кабель тоже заэкранировать
Go to the top of the page
 
+Quote Post
Alechek
сообщение May 5 2016, 14:53
Сообщение #54


Профессионал
*****

Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



Цитата(картошка @ May 5 2016, 18:14) *
У меня ST-LINK/2 , отладчик отваливается при любом удобном случае, задетектировать место зависания не удается, импульс и полный сбой, что с отладчиком что без него. \

Вам немного не про это. Пускай отваливается. Хоть вообще его не подключать. ПОСЛЕ зависания подключится отладчиком удается?
Go to the top of the page
 
+Quote Post
картошка
сообщение May 5 2016, 15:35
Сообщение #55


Участник
*

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



Цитата(Alechek @ May 5 2016, 18:53) *
Вам немного не про это. Пускай отваливается. Хоть вообще его не подключать. ПОСЛЕ зависания подключится отладчиком удается?


Нет. Не удается. Даже при неправильной конфигурации периферии, если забыл законфигурировать CLK или обратился в несуществующей памяти, частенько бывает чтобы вывести STM32 из состояния внутрененего покоя, нужно на BOOT0 - 1 подать, чтоб злокод написаный не выполнялся. Это касательно отладки через SWD, не JTAG. Ввиду творческого порыва и смелого духа, на JTAG пинов не резервируем, только SWD.
Go to the top of the page
 
+Quote Post
rudy_b
сообщение May 5 2016, 17:29
Сообщение #56


Знающий
****

Группа: Свой
Сообщений: 888
Регистрация: 25-09-08
Из: Питер
Пользователь №: 40 458



Забавно. Судя по вашим словам периодическое срабатывание ватчдога не мешает вашей программе. А вот внешний сброс нежелателен.

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

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

Есть также хитрозадый вариант с детектором помехи, блокирующим (приостанавливающим, перезапускающим и т.п.) работу процессора.
Go to the top of the page
 
+Quote Post
khach
сообщение May 5 2016, 17:30
Сообщение #57


Гуру
******

Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741



А кто-нибудь изолированный SWD использовал? Вот это https://www.lpcware.com/content/blog/isolat...d-debug-adapter работоспособно ли? И можно ли вообще сделать SWD на 3-4 длинных световодах?
Go to the top of the page
 
+Quote Post
agregat
сообщение May 5 2016, 18:25
Сообщение #58


Знающий
****

Группа: Свой
Сообщений: 790
Регистрация: 6-02-14
Из: Омск
Пользователь №: 80 379



Цитата(rudy_b @ May 5 2016, 20:29) *
Забавно. Судя по вашим словам периодическое срабатывание ватчдога не мешает вашей программе. А вот внешний сброс нежелателен.

Мы так софт делали для своей железки. Софт был написан так, что ему было все равно в какой момент был подан сброс или убрано питание.
Go to the top of the page
 
+Quote Post
mantech
сообщение May 5 2016, 19:05
Сообщение #59


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(картошка @ Apr 29 2016, 20:00) *
Кто-нибудь знает как вывести STM32 из полного штопора ??????????????????????


Ну а запитать проц в своем домене питания, поставить трансилы по входным линиям, или вообще полностью развязать входные\выходные сигналы оптопарами с защитой от бросков с помощью тех-же трансилов или разрядников...Заземлить все, что можно cool.gif ... В свое время делали табло по такому принципу, так оно даже при ударе молнии работало...

Сообщение отредактировал mantech - May 5 2016, 19:06
Go to the top of the page
 
+Quote Post
Mekong
сообщение May 5 2016, 19:48
Сообщение #60


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 18-11-10
Пользователь №: 60 998



Цитата(khach @ May 5 2016, 18:53) *
О, экспериментальная физика высоких энергий или лазерная техника. Отличное поле для топтания по граблям.


При понимании процессов и грамотном проектировании проблемы решаются. При неграмотном - знаю людей, спаливших более 5 дорогих осциллографов (к сожалению один из них был нашим). На вопрос, ну хотя бы после второго задумались бы, ответ - это осциллографы некачественные.
И положительный пример - в электрофизических установке с большими импульсными токами все прекрасно работает. Но там меры приняты на этапе проектирования.
Ситуации конечно всякие бывают. Приходилось и программно обрабатывать нештатные ситуации с помехами по входам в чужой схеме (мне скинули уже готовую плату, долго потом наверное им икалось...), при этом ситуация осложнялась высокими требованиями к джиттеру синхронизации процесса, а помеха как раз по синхроимпульсу приходила.
Go to the top of the page
 
+Quote Post
Corvus
сообщение May 5 2016, 20:03
Сообщение #61


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 24-04-08
Из: Зеленоград
Пользователь №: 37 056



Цитата(khach @ May 5 2016, 20:30) *
А кто-нибудь изолированный SWD использовал?

Покупали как-то ST-LINK/V2-ISOL. Сдох за 2 дня на ровном месте, пришлось вернуться к обычному, те годами работают. А этот всё руки не доходят починить. laughing.gif
Мне кажется, более универсальный вариант - коробочка с изолированным USB. Вроде такой http://mcutool.ru/products/isousb/slusbiso1.aspx
Go to the top of the page
 
+Quote Post
jcxz
сообщение May 6 2016, 05:09
Сообщение #62


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(картошка @ May 5 2016, 18:13) *
Схему запретили трогать и давать какие-либо рекомендации по поводу надежности и улучшения ее работы - под страхом физической расправы с последующим увольнением с работы. Ну нет худа без добра, за это время стал специалистом по программным костылям.

Вас там не уважают как спеца или схемотехник чей-то родственник?
На заре моей карьеры работал я в конторе, где тоже местный царёк ни в какую не хотел менять схемотехнику заведомо ущербную (что было очевидно всем коллегам). Он на использовании старого кривого оборудования получал хорошие откаты не вкладывая ни копья в исправление схемных проблем.
А мне также приходилось бороться с ветряными мельницами - ставил костыль за костылём, а баги всё новые вылезали. На простой задаче пришлось наворотить такого....
Один хрен - прошло совсем немного времени с моего ухода оттуда и всё то оборудование заказчикам пришлось выкинуть - из говна конфетку не сделаешь ни какими программными ухищрениями.
Сейчас жалею только что раньше не уволился. Жалею о бессмысленно потраченном времени, которое мог-бы посвятить полезным делам.
Так что - если такое отношение - не теряйте времени зря.

PS: На текущей работе, к моему мнению как программиста, схемотехники и начальство прислушиваются. Если надо - устраиваем дискуссии и меняем схему по моему требованию. Потому что ПО то писать мне, а без ПО железка никому не нужна. Так и должно быть.
Ну конечно если Вы не студент без опыта работы и если соображаете в схемотехнике конечно.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение May 6 2016, 07:23
Сообщение #63


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(khach @ May 5 2016, 17:30) *
можно ли вообще сделать SWD на 3-4 длинных световодах?

на трех-четырёх - лучше сделать jtag

Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение May 6 2016, 10:41
Сообщение #64


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(jcxz @ May 6 2016, 08:09) *
На текущей работе, к моему мнению как программиста, схемотехники и начальство прислушиваются. Если надо - устраиваем дискуссии и меняем схему по моему требованию. Потому что ПО то писать мне, а без ПО железка никому не нужна. Так и должно быть.
Ну конечно если Вы не студент без опыта работы и если соображаете в схемотехнике конечно.

Я вообще считаю, что программист должен быть ведущим темы. Именно он должен ставить задачи схемотехнику. И это вопрос не уважения, а вопрос правильности организации.
Ну например надо закрутить двигатель - я это могу сделать несколькими способами и от этого будет изменена схемотехника. Или мне надо померить период импульса - я буду решать что за процессор и на какую ногу подать сигнал. Ну и так далее ...
Но именно поэтому программист должен хорошо, а не поверхностно разбираться в схемотехнике, быть неплохим инженером и иметь хороший кругозор.
Go to the top of the page
 
+Quote Post
khach
сообщение May 6 2016, 10:48
Сообщение #65


Гуру
******

Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741



Цитата(Огурцов @ May 6 2016, 09:23) *
на трех-четырёх - лучше сделать jtag

Jtag сделан давно, там же нет двунаправленных линий и скорость может быть любая. Так что просто взяли пачку приемопередатчиков от цифрового аудио для световодов. Свободно отлаживались под потенциалом таргета 10-15 кв относительно земли.
Проблема в том, что в новых таргетах Jtag не выведен, только SWD.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение May 6 2016, 12:25
Сообщение #66


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



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

Сообщение отредактировал Огурцов - May 6 2016, 12:25
Go to the top of the page
 
+Quote Post
khach
сообщение May 6 2016, 12:49
Сообщение #67


Гуру
******

Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741



Цитата(Огурцов @ May 6 2016, 14:25) *
теперь понятно - нужен свой программатор со своей прошивкой, чтобы управлять направлением передачи

Так в том то и проблема- как разобраться с двунаправленностью линии. Я же не даром ссылку кинул на https://www.lpcware.com/system/files/Isolat...g%20adapter.zip- там на микросхеме-изоляторе хитрая резистивная цепь для двунаправленности.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение May 6 2016, 13:48
Сообщение #68


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(khach @ May 6 2016, 15:49) *
Так в том то и проблема- как разобраться с двунаправленностью линии.

Нет там никакой проблемы. Посмотрите как SWD вешается на обычный JTAG - если у Вас есть решение для JTAGa то чтобы сделать из него SWD нужен аж один резистор sm.gif (по крайней мере если через OpenOCD работаете).
Go to the top of the page
 
+Quote Post
Огурцов
сообщение May 6 2016, 15:33
Сообщение #69


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



а на самом деле таки да, только не один, а два - с двух сторон - линия же двунаправленная
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение May 6 2016, 16:30
Сообщение #70


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(Огурцов @ May 6 2016, 18:33) *
а на самом деле таки да, только не один, а два - с двух сторон - линия же двунаправленная

На самом деле достаточно одного sm.gif
Код
# FTDI                          Target
# ----                          ------
# 1  - Vref   ----------------- Vcc
# 3  - nTRST  -
# 4  - GND    ----------------- GND
# 5  - TDI    ---/\470 Ohm/\--- SWDIO
# 7  - TMS    -
# 9  - TCK    ----------------- SWCLK
# 11 - RTCK   -
# 13 - TDO    ----------------- SWDIO
# 15 - nSRST  - - - - - - - - - nRESET
#

Как работает думаю понятно из "схемы". Я уже не один раз воспользовался таким методом, ибо у меня только JTAG адаптер на FT2232D, а нужно было работать с контроллерами у которых только SWD. laughing.gif
Go to the top of the page
 
+Quote Post
Огурцов
сообщение May 6 2016, 18:38
Сообщение #71


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



вообще, вроде бы вопрос был про swd-swd, а не про jtag-swd
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение May 6 2016, 20:04
Сообщение #72


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(Огурцов @ May 6 2016, 21:38) *
вообще, вроде бы вопрос был про swd-swd, а не про jtag-swd

khach писал:
Цитата
Jtag сделан давно....................Проблема в том, что в новых таргетах Jtag не выведен, только SWD.

Я просто предложил вариант решения этой проблемы с помощью давно сделанного JTAGa и резистора sm.gif
Go to the top of the page
 
+Quote Post
Огурцов
сообщение May 6 2016, 20:21
Сообщение #73


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



отлично, теперь у нас есть решения на все случаи жизни
остаётся только оптоволоконный канал в обе стороны запилить ;
Go to the top of the page
 
+Quote Post
khach
сообщение May 7 2016, 09:39
Сообщение #74


Гуру
******

Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741



Цитата(Шаманъ @ May 6 2016, 22:04) *
Я просто предложил вариант решения этой проблемы с помощью давно сделанного JTAGa и резистора sm.gif

Ну и как это решение трансформировать в оптическую световодную развязку? Что то не приходилось наблюдать двунаправленных световодов, если не использовать совсем уж навороченные приемопередатчики. Еще задержка в световоде приводит к неработоспособности таких простых схем на резисторах- получаем кольцевой генератор а не линию связи. Ну и с фронтами не все так хорошо- дешевые оптические конверторы затягивают фронта, надо их восстанавливать до подачи в SWD таргета. Моменты семплирования данных SWD в отладчике тоже проблема, т.к там весьма жесткая привязка к фронтам клока, а в реале на световодах и двух преобразованиях электричество-оптика- электричество задержка под 20-30 нс получается, что вылазит из спецификации.
В JTAGe с этим разобрались используя адаптивный клокинг, а в SWD как быть?
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение May 7 2016, 10:24
Сообщение #75


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(khach @ May 7 2016, 12:39) *
Ну и как это решение трансформировать в оптическую световодную развязку? Что то не приходилось наблюдать двунаправленных световодов, если не использовать совсем уж навороченные приемопередатчики.

Может я Вас не правильно понял, но Вы сказали, что JTAG с опторазвязкой у Вас уже есть? Если так, то предложенное решение успешно конвертирует имеющийся JTAG в SWD. В JTAGe нет двунаправленных линий, потому откуда появляются двунаправленные световоды мне не понятно. В схеме задействовано две линии в направлении от JTAGa к SWD и одна обратно, все однонаправленные.

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

Не получаем, т.к. на другом конце линии не соединяются - там отдельные входы и выходы и никаких кольцевых генераторов.

Цитата
В JTAGe с этим разобрались используя адаптивный клокинг, а в SWD как быть?

Может просто попробовать wink.gif? Как по мне это можно было сделать быстрее, чем ушло времени на описание проблем.
Go to the top of the page
 
+Quote Post
khach
сообщение May 7 2016, 10:40
Сообщение #76


Гуру
******

Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741



Цитата(Шаманъ @ May 7 2016, 12:24) *
Может я Вас не правильно понял, но Вы сказали, что JTAG с опторазвязкой у Вас уже есть? Если так, то предложенное решение успешно конвертирует имеющийся JTAG в SWD.

JTAG оптический то есть, но на новых таргетах JTAG-а нет. Только SWD. Никакой конверсии JTAG в SWD нет- то что сигналы разведены на одном и том же разьеме это никакя не конверсия, т.к алгоритм работы интерфейса совсем другой, т.е просто процессор отладчика программируется по-другому при смене режимов. Соотвествено SWD c развязкой не работает.
Я пробовал повторить схему гальваноразвязанного SWD не на Si8662BC, как в оригинале, а на ADUM- не заработало, да и по напряжению развязка на микросхемах слабовата- максимум до 1 КВ в реале, очень полезна отлаживать силовые преобразователи, но все равно бесполезна при отладке контроллеров тиратронов или БП азотных импульсных лазеров.
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение May 7 2016, 12:09
Сообщение #77


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(khach @ May 7 2016, 13:40) *
JTAG оптический то есть, но на новых таргетах JTAG-а нет. Только SWD. Никакой конверсии JTAG в SWD нет- то что сигналы разведены на одном и том же разьеме это никакя не конверсия, т.к алгоритм работы интерфейса совсем другой, т.е просто процессор отладчика программируется по-другому при смене режимов. Соотвествено SWD c развязкой не работает.

От же ж, а прочитать внимательно то, что я написал? Может несколько раз wink.gif Я указал с чем это работает, и я в курсе, что JTAG и SWD это разные вещи, но вот связи с тем, почему оно работать не должно не вижу.
Используется три линии JTAGa, в штатном режиме, а чем они управляются это уже другой вопрос (у меня оно работает с OpenOCD/FT2232D). Подключите Вашу опторазвязку к указанному мной варианту и все заработает, вот так:

gdb<->OpenOCD<->USB<->FT2232D<->JTAG<->развязка<->JTAG<->схема с резистором<->SWD

Надеюсь теперь понятно (в этом варианте двухнаправленная развязка НЕ НУЖНА - только в одну сторону)? Если нет, то у меня закончились варианты как объяснить еще...

P.S. Если Вас раздражает слово JTAG можете его заменить на что угодно, т.к. в данном случае это просто набор сигналов wink.gif.

Сообщение отредактировал Шаманъ - May 7 2016, 12:11
Go to the top of the page
 
+Quote Post
khach
сообщение May 7 2016, 12:40
Сообщение #78


Гуру
******

Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741



Цитата(Шаманъ @ May 7 2016, 14:09) *
Подключите Вашу опторазвязку к указанному мной варианту и все заработает, вот так:
gdb<->OpenOCD<->USB<->FT2232D<->JTAG<->развязка<->JTAG<->схема с резистором<->SWD

Да не работает оно так.
Читаем для SWD http://infocenter.arm.com/help/index.jsp?t...b/BEHCBIJE.html
Код
Tos    -5ns    5ns    SWDIO Output skew to falling edge SWDCLK
Tis    4ns    -    Input Setup time required between SWDIO and rising edge SWDCLK
Tih    1ns    -    Input Hold time required between SWDIO and rising edge SWDCLK

Вот эти времена и не выполняются из за задержек в оптике.
В обычном JTAG http://infocenter.arm.com/help/index.jsp?t...h/Babfagff.html
Код
Tbsod    -    6.0ns    TDI and TMS valid from TCK (falling)
Tbsis    15.0ns    -    TDO setup to TCK (rising)
Tbsih    6.0ns    -    TDO hold from TCK (rising)

ограничения по времени более мягкие и главное действуют только в одну сторону по времени, и их можно оботи с помощью adaptive clocking
http://infocenter.arm.com/help/index.jsp?t...f/I1011184.html
Хотя это надо только для длинных световодов или медленных оптических преобразователей.

Go to the top of the page
 
+Quote Post
Шаманъ
сообщение May 7 2016, 14:13
Сообщение #79


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(khach @ May 7 2016, 15:40) *
Да не работает оно так.

Вы пробовали? (Да/Нет)?

Цитата
Читаем для SWD http://infocenter.arm.com/help/index.jsp?t...b/BEHCBIJE.html
Код
Tos    -5ns    5ns    SWDIO Output skew to falling edge SWDCLK

Это совсем не при делах, ибо задержки PROBE->TARGET на всех линиях одинаковые.

Цитата
Код
Tis    4ns    -    Input Setup time required between SWDIO and rising edge SWDCLK
Tih    1ns    -    Input Hold time required between SWDIO and rising edge SWDCLK

Эти требования легко выполняются при снижении частоты SWDCLK. Нет там никаких проблем.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение May 7 2016, 16:36
Сообщение #80


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(khach @ May 7 2016, 11:40) *
не заработало

тянуть несколько оптических концов - нелогично, лучше один
через который опять же проще цеплять программатор, а не таргет
Go to the top of the page
 
+Quote Post

6 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 02:26
Рейтинг@Mail.ru


Страница сгенерированна за 0.02447 секунд с 7
ELECTRONIX ©2004-2016