Защиты от ошибок в UTC
UTC становится довольно сложной штукой, и, как с любой сложной штукой, в нем могут остаться не отловленные ошибки. Благодаря возможности обновлять прошивку, я могу исправлять ошибки когда UTC уже у пользователей, но очень не хотелось бы, чтобы при этом взрывались транзисторы. В UTC есть два механизма, которые позволяют избежать взрывов даже если в программу закралась ошибка.


Ограничитель сделан так, что он может только отключать прерыватель:
Поэтому, если глюкнет сам ограничитель, ничего страшного он сделать не сможет.
Рекомендую держать ограничитель включенным и настроить его на максимальные параметры вашего прерывателя.
Пока UTC поддерживал только GDT это было не актуально — GDT не может открыть два транзистора в плече, но это стало актуально для режимов с двумя GDT и для внешних (опто-)драйверов.
До сих пор, эта защита ни разу не срабатывала (за исключением специальных тестов), так что за прошлые версии контроллеров я спокоен.
Как оказывается, практически любую сложную систему можно обезопасить такими вот простыми проверками на «вменяемость» выходных сигналов в процессе выполнения. Я довольно давно использую этот метод, и иногда он выручает.

Ограничитель прерывателя
Первый механизм — ограничитель прерывателя. Он защищает от превышения частоты/периода повторения стриммера. Ограничитель работает и с внешними и с внутренними прерывателями, поэтому имеет смысл запустить его даже при использовании внутреннего прерывателя.
Ограничитель сделан так, что он может только отключать прерыватель:
assign out = interrupter_async & enable;
Поэтому, если глюкнет сам ограничитель, ничего страшного он сделать не сможет.
Рекомендую держать ограничитель включенным и настроить его на максимальные параметры вашего прерывателя.
Защита от сквозняка
Второй механизм — нововведение в версии 4. Он работает всегда и просто проверяет фактические уровни на выходных ножках. Если уровни получились такими, что в силовухе может произойти сквозняк, UTC устанавливает на всех выходах 0 и начинает мигать красным светодиодом до отключения питания.Пока UTC поддерживал только GDT это было не актуально — GDT не может открыть два транзистора в плече, но это стало актуально для режимов с двумя GDT и для внешних (опто-)драйверов.
До сих пор, эта защита ни разу не срабатывала (за исключением специальных тестов), так что за прошлые версии контроллеров я спокоен.
Как оказывается, практически любую сложную систему можно обезопасить такими вот простыми проверками на «вменяемость» выходных сигналов в процессе выполнения. Я довольно давно использую этот метод, и иногда он выручает.
0 комментариев