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

STM32 защита от сбоев клока?

Добрый день, или вернее не очень.

Вот возник вопрос в результате фейерверка. Контроллер STM32 управлял трехфазным силовым мостом. Все прекрасно работало, но в результате внешних воздействий произошел срыв захвата внутренней петли ФАПЧ клокового генератора. В результатае изменились времена задержки в таймерах, возник сквозной ток моста и пиротехнические эффекты. Теперь вопрос. Как можно диагностировать наступление такой ситуации и как от нее защитится? Clock Security System был активирован, но не спас (вернее, не спас в этот раз). Как можно мониторить приближение к опасному пределу по помеховой обстановке? В других кристаллах, у которых был вывод аналогового фильтра PLL, его мониторили с помощью АЦП и по спектру делали выводы о приближении к опасному пределу. В STM32 это невозможно- нет вывода фильтра.

Что еще можно реализовать для контроля ПРИБЛИЖЕНИЯ к опасной ситуации?

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


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

Не использовать ФАПЧ.

А как быть с быстродействием системы реагирования ?

 

Вы же по факту закладываете by-design риск в систему, сбой которой может быть весьма болезненным.

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


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

Неужели clock failure event не помогает выполнить break функцию advanced таймера. Или вы его не задействуете?

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


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

ШИМ на силовые ключи нужно подавать через микросхему программируемой логики, например типа CPLD от Altera или Xilinx, которая и устранит такую ситуацию при любом состоянии процессора STM32.

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


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

В других кристаллах, у которых был вывод аналогового фильтра PLL, его мониторили с помощью АЦП и по спектру делали выводы о приближении к опасному пределу. В STM32 это невозможно- нет вывода фильтра.

Что еще можно реализовать для контроля ПРИБЛИЖЕНИЯ к опасной ситуации?

Как вариант: использовать RTC, затактированный от встроенного клока LSI RC, и сравнивать тактовую МК с частотой LSI. При уходе частоты бить тревогу. Только надо помнить, что частота LSI может дрейфовать с изменением температуры.

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


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

ШИМ на силовые ключи нужно подавать через микросхему программируемой логики, например типа CPLD от Altera или Xilinx, которая и устранит такую ситуацию при любом состоянии процессора STM32.

 

Совершенно согласен. Микроконтроллеры общего назначения не подходят для прямого и безопасного управления (предположительно) H-мостами, т.к. выходы портов могут принимать самые непредсказуемые значения, поскольку все конфигурируется программно. Необходимо вставлять жесткую логику перед мостами с блокировкой в ней нелицеприятных состояний. Не знаю, о каких напряжениях идет речь, но есть целый ряд HV драйверов (например, от IRF.COM или ST.COM), которые справляются с задачей, внося даже deadtime.

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


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

Совершенно согласен. Микроконтроллеры общего назначения не подходят для прямого и безопасного управления (предположительно) H-мостами, т.к. выходы портов могут принимать самые непредсказуемые значения, поскольку все конфигурируется программно. Необходимо вставлять жесткую логику перед мостами с блокировкой в ней нелицеприятных состояний. Не знаю, о каких напряжениях идет речь, но есть целый ряд HV драйверов (например, от IRF.COM или ST.COM), которые справляются с задачей, внося даже deadtime.

А кто сказал, что STM32 - общего назначения? Он специально "заточен" под силовое управление, умеет регистрировать случай сбоя системы синхронизации с помощью Clock Security System и переводить (или оставлять) свои выходы в безопасном состоянии.

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

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

 

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


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

Для проверки оборудования в условиях помех целесообразно воспользоваться услугами сертификационного центра, например во Всероссийском НИИ Метрологических систем. Там в безэховой камере создаётся переменное электромагнитное поле с частотой до 2ГГц и напряжённостью до 30v/метр. В таких условиях работают не все процессоры и STM32 может просто зависнуть без упреждающего "подхода" к этой ситуации.

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


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

Добрый день, или вернее не очень.

Вот возник вопрос в результате фейерверка. Контроллер STM32 управлял трехфазным силовым мостом. Все прекрасно работало, но в результате внешних воздействий произошел срыв захвата внутренней петли ФАПЧ клокового генератора. В результатае изменились времена задержки в таймерах, возник сквозной ток моста и пиротехнические эффекты. Теперь вопрос. Как можно диагностировать наступление такой ситуации и как от нее защитится? Clock Security System был активирован, но не спас (вернее, не спас в этот раз). Как можно мониторить приближение к опасному пределу по помеховой обстановке? В других кристаллах, у которых был вывод аналогового фильтра PLL, его мониторили с помощью АЦП и по спектру делали выводы о приближении к опасному пределу. В STM32 это невозможно- нет вывода фильтра.

Что еще можно реализовать для контроля ПРИБЛИЖЕНИЯ к опасной ситуации?

ЭМПоле состоит из двух векторов эл и магнитного.От эл вектора легко защититься электростатическим экраном.Таким образом реально опасен только магнитный.Его и надо мониторить.Петля на плате (приемная антенна магнитной составляющей) , детектор и индикатор помогут в этом деле.Петля конечно будет обладать собственным резонансом , но его можно сделать в районе СВЧ и использовать длинный пологий склон АЧХ.Малые размеры и плохая добротность при условии больших напряженностей поля только на пользу.Технически все очень просто реализовать но для этого нужен радиоинженер.Программистам и эмбеддерам не осилить мелкие нюансы.

 

И соответственно обратная сторона вопроса , контур тока тактового генератора должен иметь минимальную площадь.Ну этот вопрос хорошо освещен в литературе.

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

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


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

А кто сказал, что STM32 - общего назначения? Он специально "заточен" под силовое управление, умеет регистрировать случай сбоя системы синхронизации с помощью Clock Security System и переводить (или оставлять) свои выходы в безопасном состоянии.

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

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

 

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

 

Безусловно, включить механизм раннего распознавания критических ситуаций будет полезно. Хотя бы с точки зрения последующего анализа и протокола. И это сработает в 9 случаях из 10. Но я убежден, что существенное повышение надежности возможно лишь привнесением в систему компонентов с меньшей гибкостью и большей предсказуемостью (жесткая логика), что я и предложил ранее.

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

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


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

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

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

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

 

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


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

Вы, извините, с ним работали, или поток сознания тут изливате?

 

Успокойтесь, - работали.

Цыплят, как говорят, по осени считают, а результат - на лице. Если бы все было в шоколаде и без фейерверков, сюда бы не писали. Или? Кстати, об эффекте latch up слыхивать не приходилось? Это по поводу правильных состояний на выходах.

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

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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