Разделы презентаций


Модуль ePWM ( ШИМ )

Содержание

Назначение модуля ШИММодуль ePWM (Enhanced Pulse-Width Modulator) позволяет генерировать ШИМ-сигнал сложной формы с минимальным задействованием процессора.ePWM модуль может изменять уровень GPIO процессора в автоматическом режиме, без необходимости вручную задавать уровень сигнала.

Слайды и текст этой презентации

Слайд 1Модуль ePWM (ШИМ)
Назначение, внутренняя архитектура и возможности

Модуль ePWM (ШИМ)Назначение, внутренняя архитектура и возможности

Слайд 2Назначение модуля ШИМ
Модуль ePWM (Enhanced Pulse-Width Modulator) позволяет генерировать ШИМ-сигнал

сложной формы с минимальным задействованием процессора.
ePWM модуль может изменять уровень

GPIO процессора в автоматическом режиме, без необходимости вручную задавать уровень сигнала. Каждый модуль может управлять двумя выводами. Всего в микроконтроллере F28035 есть 6 таких модулей.
Этот модуль имеет множество гибких настроек, позволяющих задать частоту и форму несущего сигнала, его синхронизацию с внешними сигналами, реакцию на возникновение аварийной ситуации, автоматическое управление двумя выводами в комплиментарном режиме с обеспечением мёртвого времени и множество других опций.
Выходами являются сигналы A и B, которые меняют свой уровень с высокого на низкий и наоборот в зависимости от настроек модуля ePWM. При помощи регистров мультиплицирования GPIO (GPxMUX) эти каналы могут быть выведены на разные выводы микроконтроллера.
Назначение модуля ШИММодуль ePWM (Enhanced Pulse-Width Modulator) позволяет генерировать ШИМ-сигнал сложной формы с минимальным задействованием процессора.ePWM модуль

Слайд 3Структура модуля ШИМ
Модуль ШИМ имеет сложную структуру и состоит из

множества подмодулей, каждый из которых имеет свою функцию: счетчик для

создания несущего сигнала, модуль сравнения уставки с несущим сигналом, модуль действия при сравнении, модуль мёртвого времени и другие.
Структура модуля ШИМ	Модуль ШИМ имеет сложную структуру и состоит из множества подмодулей, каждый из которых имеет свою

Слайд 4Настройка модуля ШИМ
Под настройкой модуля ШИМ подразумевается настройка всех или

нескольких его подмодулей. Каждый подмодуль имеет по несколько регистров для

конфигурации. Все регистры подмодулей объединяются в группу регистров с названием «EPwmXRegs», где X означает номер модуля ePWM.

void initPWM (void) {
// Задать способ счёта "сверху вниз"
EPwm1Regs.TBCTL.bit.CTRMODE = TB_DOWN;
// Задать период счётчика равным 1000 тактов
EPwm1Regs.TBPRD = 1000;
// Отключать канал А при достижении счётчиком нуля
EPwm1Regs.AQCTLA.bit.ZRO = AQ_CLEAR;
// Включать канал А при сравнении счётчика с уставкой А
EPwm1Regs.AQCTLA.bit.CAD = AQ_SET;
// Запускать АЦП при каждом достижении нуля
EPwm1Regs.ETSEL.bit.SOCAEN = 1;
EPwm1Regs.ETSEL.bit.SOCASEL = ET_CTR_ZERO;
EPwm1Regs.ETPS.bit.SOCAPRD = 1;
}

Настройка модуля ШИМ	Под настройкой модуля ШИМ подразумевается настройка всех или нескольких его подмодулей. Каждый подмодуль имеет по

Слайд 5Подмодуль счётчика
Подмодуль Time-Base Submodule выполняет функцию создания несущего сигнала для

ШИМ и фактически представляет собой счетчик. Основные регистры для настройки

этого подмодуля (в скобках указано значение по умолчанию):

Здесь приведены не все доступные регистры. С полным списком можно ознакомиться в соответствующей документации – SPRUGE9E

Подмодуль счётчика	Подмодуль Time-Base Submodule выполняет функцию создания несущего сигнала для ШИМ и фактически представляет собой счетчик. Основные

Слайд 6Подмодуль счётчика
Поведение счётчика при разных настройках регистра TBCTL.bit.CTRMODE

Во всех примерах

период равен 4 тактам: TBPRD = 4
CTRMODE = 0
(счёт вверх)
CTRMODE

= 1
(счёт вниз)

CTRMODE = 2
(счёт вверх-вниз)

Бит TBSTS.bit.CTRDIR отображает текущее направление счёта:
1 – счёт вверх, 0 – счёт вниз

Подмодуль счётчикаПоведение счётчика при разных настройках регистра TBCTL.bit.CTRMODEВо всех примерах период равен 4 тактам: TBPRD = 4CTRMODE

Слайд 7Подмодуль сравнения
Подмодуль Counter Compare непрерывно проверяет текущее значение счётчика и

сравнивает его с двумя заданными уставками. Когда счётчик сравнивает с

этими уставками, подмодуль сравнения генерирует событие сравнения, то есть выдаёт импульс, означающий, что счётчик сравнялся с уставкой. По этим событиям другие подмодули могут предпринимать какие-либо действия (переключение вывода, запуск АЦП и пр.). Основные регистры настройки:
Подмодуль сравнения	Подмодуль Counter Compare непрерывно проверяет текущее значение счётчика и сравнивает его с двумя заданными уставками. Когда

Слайд 8Теневые регистры
Регистры, хранящие уставки сравнения CMPA и CMPB являются теневыми.

Это значит, что при записи в них какого-то значения уставки

сравнения не обязательно сразу примут записанные значения. Момент фактического применения определяется регистром LOADAMODE/ LOADBMODE.


Однако можно настроить подмодуль сравнения так, чтобы уставки сравнения принимали записанное значение сразу же. Об этом можно прочитать в документации.
Теневые регистры	Регистры, хранящие уставки сравнения CMPA и CMPB являются теневыми. Это значит, что при записи в них

Слайд 9Подмодуль сравнения
Данный рисунок демонстрирует работу подмодуля сравнения. Каждый раз, когда

значение счётчика совпадает с одной из уставок, генерируется соответствующий импульс.
В

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

Слайд 10Подмодуль действия
Подмодуль Action Qualifier играет важнейшую роль в формировании выходного

сигнала. Он определяет, какие события в какие действия должны быть

преобразованы. Например «Событие «Счётчик равен уставке CMPA» должно установить высокий уровень канала А» и т.п.

События, для которых можно определить действия:
TBCTR == CMPA
TBCTR == CMPB
TBCTR == TBPRD
TBCTR == 0

Кроме того можно учитывать направление счёта, при котором произошло событие
Подмодуль действия	Подмодуль Action Qualifier играет важнейшую роль в формировании выходного сигнала. Он определяет, какие события в какие

Слайд 11Подмодуль действия
Действия, совершаемые с каналами по событиям, настраиваются в регистрах

подмодуля. В регистры, перечисленные в таблице, можно записать следующие значения:
0

– не предпринимать никаких действий, 1 – выдать высокий уровень на канал
2 – выдать низкий уровень на канал x, 3 – изменить уровень канала x (т.е. если был высокий, то станет низкий, и наоборот)
Для каналов A и B есть два одинаковых регистра AQCTLA и AQCTLB, которые определяют действия каналов A и B соответственно.
Подмодуль действия	Действия, совершаемые с каналами по событиям, настраиваются в регистрах подмодуля. В регистры, перечисленные в таблице, можно

Слайд 12Подмодуль действия

Подмодуль действия

Слайд 13Подмодуль мёртвого времени
Подмодуль Dead Band позволяет вносить задержку на включение

или выключение каналов A и/или B. Таким образом можно создать

паузу между, например, отключением ключа в верхней стойке инвертора и включением верхнего, чтобы избежать протекания сквозных токов в стойке. Подразумевается, что оба ключа управляются каналами A и B одного модуля ePWM.

Кроме того этот модуль позволяет автоматически создавать на одном из каналов сигнал, комплиментарный другому.
Подмодуль мёртвого времени	Подмодуль Dead Band позволяет вносить задержку на включение или выключение каналов A и/или B. Таким

Слайд 14Подмодуль мёртвого времени
До подмодуля МВ
После подмодуля МВ
A
B
A
Рисунок демонстрирует результат настройки

подмодуля мёртвого на генерацию комплиментарного сигнала канала B с добавлением

мёртвого времени.

Как видно, модуль добавляет задержку на включение канала А и генерирует сигнал канала B, внося задержку между его включением и отключением канала А.

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

Подмодуль мёртвого времениДо подмодуля МВПосле подмодуля МВABA	Рисунок демонстрирует результат настройки подмодуля мёртвого на генерацию комплиментарного сигнала канала

Слайд 15Подмодуль запуска событий
Подмодуль Event Trigger позволяет генерировать прерывания и запускать

АЦП по событиям, приходящим от модуля сравнения (достижение счётчиком нуля

или периода, сравнение счётчика с уставками). Это похоже на поведение подмодуля действия с той разницей, что вместо изменения состояния каналов A и B запускается АЦП или прерывание.
Кроме перечисленных событий, триггером для запуска может служить ещё и сигнал от компаратора (это одно из периферийных устройств микроконтроллера).
Подмодуль запуска событий	Подмодуль Event Trigger позволяет генерировать прерывания и запускать АЦП по событиям, приходящим от модуля сравнения

Слайд 16Подмодуль запуска событий
В таблице ниже перечислены основные и наиболее часто

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

и INTSEL: 0 – событие от компаратора,
1 –TBCTR == 0, 2 – TBCTR == TBPRD, 3 – TBCTR == 0 или TBCTR == TBPRD,
4 – TBCTR == CMPA при счёте вверх, 5 – TBCTR == CMPA при счёте вниз,
6 – TBCTR == CMPB при счёте вверх, 7 – TBCTR == CMPB при счёте вверх.
Возможные варианты для регистров SOCAPRD и INTPRD: 0 – никогда не запускать АЦП / вызывать прерывание, 1 – делать это при каждом событии, 2 – делать это при каждом втором событии, 3 – делать это при каждом третьем событии
Подмодуль запуска событий	В таблице ниже перечислены основные и наиболее часто используемые регистры для настройки этого модуля.	Возможные события

Слайд 17Другие подмодули
Кроме рассмотренных подмодулей, есть ещё и другие.

Подмодуль Trip Zone

позволяет мгновенно отключать силовые ключи при появлении определённого сигнала (низкого

или высокого) на каком либо выводе микроконтроллера. На этот вывод, например, можно завести сигнал аппаратной аварии ключа.

Подмодуль PWM Chopper позволяет преобразовать высокий сигнал канала A или B в последовательность коротких импульсов.

Подмодуль Digital Compare обеспечивает интерфейс между модулем ePWM и компаратором и позволяет настраивать реакцию ePWM на сигналы компаратора.
Другие подмодули	Кроме рассмотренных подмодулей, есть ещё и другие.	Подмодуль Trip Zone позволяет мгновенно отключать силовые ключи при появлении

Слайд 18Прерывания модуля ШИМ
Прерывания от подмодуля Trip Zone имеют более высокий

приоритет, чем другие прерывания ePWM.

Прерывания модуля ШИМ	Прерывания от подмодуля Trip Zone имеют более высокий приоритет, чем другие прерывания ePWM.

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика