В браузере библиотеки Simulink ® добавьте блок ePWM из пакета поддержки Embedded Coder ® для процессоров Texas Instruments™ C2000™ > F2837xD.
Сконфигурируйте блоки ePWM1, ePWM2 и ePWM3 для генерации импульса ШИМ. В диалоговом окне параметров блока ePWM вычислите значение регистра периода счетчика широтно-импульсной модуляции (PWM) из частоты CPU и частоты PWM. Для ШИМ, выровненных по центру, разделите значение на 2.
Период счетчика ШИМ = тактовая частота ЦП/частота ШИМ/ 2
Для получения дополнительной информации см. периферийное устройство ePWM процессора TMS320f28379d.
В диалоговом окне «Параметры блока F2837x/07x/004x/38x ePWM» обновите настройки для настройки PWM1 генерации импульсов PWM на целевом оборудовании, как показано в этой таблице.
| Вкладка и параметр в блоке ePWM | Настройки |
|---|---|
Общие > Модуль | ePWM1 |
Общие > Период таймера | Введите значение периода ШИМ в тактовом цикле ЦП.
|
Counter Compare > Укажите CMPA через | Входной порт |
Счетчик Сравнить > Начальное значение CMPA | Введите период счетчика PWM/ 2 (2500) |
Counter Compare > Укажите CMPB через | Входной порт |
Счетчик Сравнить > Начальное значение CMPB | Введите период счетчика PWM/ 2 (2500) |
Единица измерения зоны нечувствительности > Использовать зону нечувствительности для ePWM1A | on |
Единица измерения зоны нечувствительности > Использовать зону нечувствительности для ePWM1B | on |
Единица измерения диапазона нечувствительности > Полярность диапазона нечувствительности | Активный высококомплементарный (AHC) |
Диапазон нечувствительности > Период нарастания полосы нечувствительности (RED) (0 ~ 16383) | 15 |
Единица нечувствительности > Период падения полосы нечувствительности (FED) (0 ~ 16383) | 15 |
Триггер события > флажок Включить начало преобразования АЦП для модуля A (только для PWM1) | on |
Триггер события > Начало преобразования для выбора события модуля A (только для PWM1) | Счетчик равен периоду (CTR = PRD) |
Переименуйте блок в ePWM1.
В диалоговом окне параметров блока F2837x/07x/004x/38x ePWM обновите настройки, чтобы настроить PWM2 и PWM3, чтобы произвести импульсы PWM в целевых аппаратных средствах. PWM2 и PWM3 синхронизированы с PWM1. Следуйте ePWM1 конфигурациям (кроме триггера событий) и добавьте конфигурации, как показано в этой таблице.
| Вкладка и параметр в блоке ePWM | Настройки |
|---|---|
Общие > Модуль | ePWM2 |
Общие > Период таймера | Введите значение периода ШИМ в тактовом цикле ЦП.
|
Общие > Действие синхронизации | Установите счетчик в значение фазы, указанное в диалоговом окне |
General > Counting direction after phase synchronization | Отсчет после синхронизации |
Общие > Значение смещения фазы (TBPHS) | 0 |
Counter Compare > Укажите CMPA через | Входной порт |
Счетчик Сравнить > Начальное значение CMPA | Введите период счетчика PWM/ 2 (2500) |
Counter Compare > Укажите CMPB через | Входной порт |
Счетчик Сравнить > Начальное значение CMPB | Введите период счетчика PWM/ 2 (2500) |
Единица измерения зоны нечувствительности > Использовать зону нечувствительности для ePWM1A | on |
Единица измерения зоны нечувствительности > Использовать зону нечувствительности для ePWM1B | on |
Единица измерения диапазона нечувствительности > Полярность диапазона нечувствительности | Активный высококомплементарный (AHC) |
Диапазон нечувствительности > Период нарастания полосы нечувствительности (RED) (0 ~ 16383) | 15 |
Единица нечувствительности > Период падения полосы нечувствительности (FED) (0 ~ 16383) | 15 |
Переименуйте блоки в ePWM2 и ePWM3.
В качестве входных портов выберите CMPA и CMPB, для которых в качестве входных данных задана функция PWM. Диапазон варьируется от 0 в PWM_counter_period. Выходные сигналы PWM, когда счетчик с повышением ШИМ соответствует CMPA, и счетчик с понижением ШИМ соответствует CMPB. По умолчанию система вводит рабочий цикл 50% путем выбора периода счетчика ШИМ/ 2.
Включить время простоя в конфигурации ePWM. На вкладке Event Trigger PWM1 модуля выберите ADC start of conversion event, когда счетчик ШИМ равен периоду ШИМ. На вкладке SOC Trigger блока ADC выберите источник триггера SOCx в качестве ePWM1_ADCSOCA.
Синхронизируйте блоки ePWM2 и ePWM3 с блоком ePWM1 путем установки синхронизации в момент, когда счетчик ШИМ равен нулю в блоках ePWM2 и ePWM3.

Блоки ePWM ожидают, что значение рабочего цикла будет находиться в диапазоне от 0 в регистр счетчика периодов (5000). Подсистема Control_System выводит ШИМ в диапазоне -1 кому 1. Эта модель масштабирует выходные данные до 0 кому 5000(значение счетчика периодов).

Для моделирования добавьте источник/приемник варианта в блок драйвера аппаратного обеспечения для моделирования и генерации кода.
