Использование микроконтроллеров при проектировании модулей драйверов
Каждому из нас известно, что микроконтроллеры с каждым днём всё больше входят в нашу жизнь. Эти устройства получили широкое применение практически во всех сферах деятельности человека в основном благодаря тому, что в одной микросхеме реализован богатый функционал готовых блоков таких как:
1) Таймеры;
2) Компараторы;
3) АЦП;
4) Комплементарный генератор;
5) ЦАП;
6) Интерфейсы (SPI,I2C,USART);
7) Формирователи сигналов широтно-импульсной модуляции.
Этот список можно продолжить и дальше. Однако, для реализации функций управления в драйверах IGBT-транзисторов микроконтроллеры используются не так часто. Разберёмся, что необходимо для реализации системы управления модулем драйвера? Как показывает анализ зарубежных модулей — данные модули должны обладать следующим функционалом:
1) Возможностью выбора между зависимым режимом управления (в данном режиме мы обязаны обеспечить «мёртвое время» и защиту от подачи одновременной логической единицы на оба входа управления) и независимым. В некоторых случаях необходимо реализовывать формирование двух комплементарных сигналов из сигнала подаваемого на один вход, при этом второй вход используется как вход разрешения работы. Отсюда следует множество вариантов организации логики управления. При зависимом режиме управления при возникновении аварийной ситуации блокируется управление на двух каналах. При выборе независимого режима управления «мёртвое время» формируется внешними схемами. При возникновении аварии на одном канале, аварийный канал блокируется, а на канале где нет аварии, блокировки не происходит. И прочие варианты. Таким образом, микроконтроллерное управление должно обеспечивать:
2) Наличие возможности программирования длительности «мёртвого времени» и возможности программирования времени перезапуска модуля после аварии.
3) Наличие статусных выводов, которые сигнализируют о наличие аварийных ситуаций во вторичных цепях и сигнализации о недопустимом уровне напряжений в DC/DC-преобразователе.
4) Так же желательно, для уменьшения габаритов конечного изделия, заключить в микроконтроллер формирователь сигналов для DC/DC-преобразователя.
Исходя из данной информации, создадим структурную схему ядра (см. рисунок 1).
Рисунок 1 - Структурная схема ядра для системы управления драйвером на микроконтроллере
Разберём функционирование каждого блока:
а) Блок-формирователь сигналов для DC/DC-преобразователя.
Данный блок предназначен для формирования двух комплементарных сигналов (управление двухтактным преобразователем) с «мёртвым временем» на переключение 500 нс. Таймер задаёт частоту и формирователь выдаёт сигналы с фиксированным временем задержки включения между сигналами (пример на рисунке 2).
Рисунок 2 – Сигнал управления DC/DC-преобразователем
б) Блок настройки мёртвого времени, времени перезапуска и выбора режима работы.
Название данного блока говорит само за себя. Принцип работы данного блока довольно прост. Контроллер считывает напряжение на входе АЦП и передаёт считанное значение в блок обработки ошибки (считанное значение канала 1). А считанное значение по каналу 2 АЦП передаётся в блок-формирователь «мёртвого времени». Режим выбирается в зависимости от значения напряжения на выводе канала 2 АЦП. В сущности – это вся функция, которую выполняет данный блок.
в) Блок обработки ошибки и статусных сигналов.
Данный блок совместил в себе две функции:
1) По сигналу ошибки (канала 1 или канала 2) сформировать сигнал сброса и сигнал разрешения с установленным значением времени перезапуска модуля после аварии, который задаётся блоком настройки мёртвого времени, времени перезапуска и выбора режима работы, см. рисунок 3.
Рисунок 3 – Алгоритм работы блока обработки ошибки
2) Сигнализировать о наличии аварийной ситуации во вторичных цепях и о недопустимом уровне напряжения в DC/DC-преобразователе.
Эти функции следует рассмотреть подробнее. После того как инициировалась ошибка во вторичной цепи одного из каналов, вывод порта ввода-вывода меняет своё значение и это приведёт к включению таймера 2 который сформирует временной интервал (значение для счётчика таймера было передано из АЦП). В прерывании таймера с помощью выводов порта ввода-вывода формируются сигналы перезапуска и разрешения работы вторичных цепей. Так же включаются статусные сигналы (в зависимости от аварийного канала) или включаются оба статусных сигнала при недопустимом значении напряжения в DC/DC-преобразователе. При этом, в данном режиме таймер не работает и полностью блокируется управление.
Работа блока обработки ошибки и статусных сигналов.
г) Блок-формирователь «мёртвого времени». Данный блок предназначен только для формирования времени задержки сигнала на включение каналов. Таймер работает синхронно с управляющим входным сигналом. АЦП передаёт считанное значение напряжения с вывода канала 2 в блок ШИМ и этим значением устанавливает длительность импульса сигнала.
д) Блок сигналов управления и защиты при одновременной подачи логической «1». Данный блок формирует выходные управляющие сигналы с «мёртвым временем» (в зависимости от выбранного режима управления) из входных сигналов и обеспечивает защиту от одновременной подачи логической единицы (при выборе зависимого управления). Примеры реализации алгоритмов управления представлены на рисунках 4 и 5.
Рисунок 4 - Режим работы ядра при выборе зависимого режима
Рисунок 5 - Работа ядра при выборе независимого управления
Когда на входы управления одновременно будет подана логическая единица (данная защита работает только при выборе зависимого режима управления) выходы управляющего сигнала заблокируются и перейдут в состояние логического нуля.
Подведём итог.
В данном обзоре мы убедились в том, что на базе микроконтроллеров можно создавать ядро системы управления модулем драйвера. Мы ясно поняли плюсы данной разработки. Во-первых, уменьшаются габариты изделия за счёт уменьшения количества корпусов микросхем; во-вторых, значительно упрощается схема, уменьшается объём трассировки; в-третьих, есть возможность расширения функциональности драйвера путём использования блоков микроконтроллера; в-четвёртых, отказ от RC-цепочек, т.к. используются таймеры, повышает повторяемость параметра и термостабильность. И что немаловажно, интеграции модулей драйверов в единую систему (синхронизация, дистанционное управление), обеспечивающая бесперебойность работы преобразователя и умощнение схемы управления, с микроконтроллерами несравнимо проще, что тоже указывает на перспективность использования микроконтроллеров в схемах управления драйверов.