khach 43 12 января, 2011 Опубликовано 12 января, 2011 · Жалоба Добрый день, или вернее не очень. Вот возник вопрос в результате фейерверка. Контроллер STM32 управлял трехфазным силовым мостом. Все прекрасно работало, но в результате внешних воздействий произошел срыв захвата внутренней петли ФАПЧ клокового генератора. В результатае изменились времена задержки в таймерах, возник сквозной ток моста и пиротехнические эффекты. Теперь вопрос. Как можно диагностировать наступление такой ситуации и как от нее защитится? Clock Security System был активирован, но не спас (вернее, не спас в этот раз). Как можно мониторить приближение к опасному пределу по помеховой обстановке? В других кристаллах, у которых был вывод аналогового фильтра PLL, его мониторили с помощью АЦП и по спектру делали выводы о приближении к опасному пределу. В STM32 это невозможно- нет вывода фильтра. Что еще можно реализовать для контроля ПРИБЛИЖЕНИЯ к опасной ситуации? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_dem 0 12 января, 2011 Опубликовано 12 января, 2011 · Жалоба Не использовать ФАПЧ. А как быть с быстродействием системы реагирования ? Вы же по факту закладываете by-design риск в систему, сбой которой может быть весьма болезненным. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ashr 0 12 января, 2011 Опубликовано 12 января, 2011 · Жалоба Неужели clock failure event не помогает выполнить break функцию advanced таймера. Или вы его не задействуете? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
etoja 0 12 января, 2011 Опубликовано 12 января, 2011 · Жалоба ШИМ на силовые ключи нужно подавать через микросхему программируемой логики, например типа CPLD от Altera или Xilinx, которая и устранит такую ситуацию при любом состоянии процессора STM32. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 12 января, 2011 Опубликовано 12 января, 2011 · Жалоба В других кристаллах, у которых был вывод аналогового фильтра PLL, его мониторили с помощью АЦП и по спектру делали выводы о приближении к опасному пределу. В STM32 это невозможно- нет вывода фильтра. Что еще можно реализовать для контроля ПРИБЛИЖЕНИЯ к опасной ситуации? Как вариант: использовать RTC, затактированный от встроенного клока LSI RC, и сравнивать тактовую МК с частотой LSI. При уходе частоты бить тревогу. Только надо помнить, что частота LSI может дрейфовать с изменением температуры. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KnightIgor 2 12 января, 2011 Опубликовано 12 января, 2011 · Жалоба ШИМ на силовые ключи нужно подавать через микросхему программируемой логики, например типа CPLD от Altera или Xilinx, которая и устранит такую ситуацию при любом состоянии процессора STM32. Совершенно согласен. Микроконтроллеры общего назначения не подходят для прямого и безопасного управления (предположительно) H-мостами, т.к. выходы портов могут принимать самые непредсказуемые значения, поскольку все конфигурируется программно. Необходимо вставлять жесткую логику перед мостами с блокировкой в ней нелицеприятных состояний. Не знаю, о каких напряжениях идет речь, но есть целый ряд HV драйверов (например, от IRF.COM или ST.COM), которые справляются с задачей, внося даже deadtime. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khach 43 12 января, 2011 Опубликовано 12 января, 2011 · Жалоба Совершенно согласен. Микроконтроллеры общего назначения не подходят для прямого и безопасного управления (предположительно) H-мостами, т.к. выходы портов могут принимать самые непредсказуемые значения, поскольку все конфигурируется программно. Необходимо вставлять жесткую логику перед мостами с блокировкой в ней нелицеприятных состояний. Не знаю, о каких напряжениях идет речь, но есть целый ряд HV драйверов (например, от IRF.COM или ST.COM), которые справляются с задачей, внося даже deadtime. А кто сказал, что STM32 - общего назначения? Он специально "заточен" под силовое управление, умеет регистрировать случай сбоя системы синхронизации с помощью Clock Security System и переводить (или оставлять) свои выходы в безопасном состоянии. К слову сказать, описанная авария произошла при тестировании устройства на воздействие помех - брутальным напильником с электрическим разрядом. Со снятой экранировкой модуля процессора. Т.е в очень жестких условиях. И несколько раз схема CSS вполне штатно выключила источник. Но вот один раз -не повезло. Притом не до конца понятно, что же случилось- дуга сожгла холловские датчики тока и высокое поперло в процессор- лог до конца не записался. Поэтому ищется механизм выключения "на подходе" к аварийной ситуации, а не в ее момент. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
etoja 0 13 января, 2011 Опубликовано 13 января, 2011 · Жалоба Для проверки оборудования в условиях помех целесообразно воспользоваться услугами сертификационного центра, например во Всероссийском НИИ Метрологических систем. Там в безэховой камере создаётся переменное электромагнитное поле с частотой до 2ГГц и напряжённостью до 30v/метр. В таких условиях работают не все процессоры и STM32 может просто зависнуть без упреждающего "подхода" к этой ситуации. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
PlainUser 0 13 января, 2011 Опубликовано 13 января, 2011 (изменено) · Жалоба Добрый день, или вернее не очень. Вот возник вопрос в результате фейерверка. Контроллер STM32 управлял трехфазным силовым мостом. Все прекрасно работало, но в результате внешних воздействий произошел срыв захвата внутренней петли ФАПЧ клокового генератора. В результатае изменились времена задержки в таймерах, возник сквозной ток моста и пиротехнические эффекты. Теперь вопрос. Как можно диагностировать наступление такой ситуации и как от нее защитится? Clock Security System был активирован, но не спас (вернее, не спас в этот раз). Как можно мониторить приближение к опасному пределу по помеховой обстановке? В других кристаллах, у которых был вывод аналогового фильтра PLL, его мониторили с помощью АЦП и по спектру делали выводы о приближении к опасному пределу. В STM32 это невозможно- нет вывода фильтра. Что еще можно реализовать для контроля ПРИБЛИЖЕНИЯ к опасной ситуации? ЭМПоле состоит из двух векторов эл и магнитного.От эл вектора легко защититься электростатическим экраном.Таким образом реально опасен только магнитный.Его и надо мониторить.Петля на плате (приемная антенна магнитной составляющей) , детектор и индикатор помогут в этом деле.Петля конечно будет обладать собственным резонансом , но его можно сделать в районе СВЧ и использовать длинный пологий склон АЧХ.Малые размеры и плохая добротность при условии больших напряженностей поля только на пользу.Технически все очень просто реализовать но для этого нужен радиоинженер.Программистам и эмбеддерам не осилить мелкие нюансы. И соответственно обратная сторона вопроса , контур тока тактового генератора должен иметь минимальную площадь.Ну этот вопрос хорошо освещен в литературе. Изменено 13 января, 2011 пользователем PlainUser Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KnightIgor 2 15 января, 2011 Опубликовано 15 января, 2011 (изменено) · Жалоба А кто сказал, что STM32 - общего назначения? Он специально "заточен" под силовое управление, умеет регистрировать случай сбоя системы синхронизации с помощью Clock Security System и переводить (или оставлять) свои выходы в безопасном состоянии. К слову сказать, описанная авария произошла при тестировании устройства на воздействие помех - брутальным напильником с электрическим разрядом. Со снятой экранировкой модуля процессора. Т.е в очень жестких условиях. И несколько раз схема CSS вполне штатно выключила источник. Но вот один раз -не повезло. Притом не до конца понятно, что же случилось- дуга сожгла холловские датчики тока и высокое поперло в процессор- лог до конца не записался. Поэтому ищется механизм выключения "на подходе" к аварийной ситуации, а не в ее момент. Как бы STM32 не был "заточен", он остается устройством с непредсказуемым поведением (жертва гибкости) и с перепрограммируемой периферией (неопределенность состояний). CSS лишь только сообщает о пропадании внешнего такта, после чего управление передается по немаскируемому вектору. Это если до этого дойдет вообще. Более вероятно, что ядро при воздействии помехи прыгает в никуда, и начинается непредсказуемая котовасия внутри и фейерверк снаружи. Механизм распознавания ситуаций, близких к критическим, предполагает незыблемость исполняемой программы и быстродействие на порядок выше помехи. Поэтому святая вера в "заточенность" микроконтроллера бесполезна, т.к. результат - фейерверк - был достигнут. Безусловно, включить механизм раннего распознавания критических ситуаций будет полезно. Хотя бы с точки зрения последующего анализа и протокола. И это сработает в 9 случаях из 10. Но я убежден, что существенное повышение надежности возможно лишь привнесением в систему компонентов с меньшей гибкостью и большей предсказуемостью (жесткая логика), что я и предложил ранее. Изменено 15 января, 2011 пользователем KnightIgor Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khach 43 15 января, 2011 Опубликовано 15 января, 2011 · Жалоба Как бы STM32 не был "заточен", он остается устройством с непредсказуемым поведением (жертва гибкости) и с перепрограммируемой периферией (неопределенность состояний). CSS лишь только сообщает о пропадании внешнего такта, после чего управление передается по немаскируемому вектору. Это если до этого дойдет вообще. Более вероятно, что ядро при воздействии помехи прыгает в никуда, и начинается непредсказуемая котовасия внутри и фейерверк снаружи. Механизм распознавания ситуаций, близких к критическим, предполагает незыблемость исполняемой программы и быстродействие на порядок выше помехи. Поэтому святая вера в "заточенность" микроконтроллера бесполезна, т.к. результат - фейерверк - был достигнут. Вы, извините, с ним работали, или поток сознания тут изливате? По срабатыванию функции "brake" от внутренних защитных механизмов или от внешнего входа выходы таймеров просто выключаются- транзисторы закрываются и мотор переходит в режим свободного выбега. Никакого фейерверка нет. При "прыжке в никуда" таймера продолжают работать, как работали- никто их не перепрограммирует (этот участок кода легко защитить от таких прыжков)- движок продолжает крутится с той же скоростью, пока ватчдог не поймает процессор. Единственное, когда это не прокатило- активный выпрямитель сети с быстроменяющейся частотой (генератор в разгоне). Очень частный случай. По поводу изменения дедтайма при срыве захвата ФАПЧ- буде моделировать- специально срывать фапч и смотреть, что из этого получится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KnightIgor 2 15 января, 2011 Опубликовано 15 января, 2011 (изменено) · Жалоба Вы, извините, с ним работали, или поток сознания тут изливате? Успокойтесь, - работали. Цыплят, как говорят, по осени считают, а результат - на лице. Если бы все было в шоколаде и без фейерверков, сюда бы не писали. Или? Кстати, об эффекте latch up слыхивать не приходилось? Это по поводу правильных состояний на выходах. Изменено 15 января, 2011 пользователем KnightIgor Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться