В Simulink® Library Browser добавьте блок ePWM из Embedded Coder® Support Package для Процессоров Instruments™ C2000™ Техаса> F2837xD.
Сконфигурируйте ePWM1, ePWM2, и блоки ePWM3 для генерации импульса PWM. В ePWM диалоговом окне параметров блоков вычислите значение регистра периода счетчика модуляции ширины импульса (PWM) от частоты центрального процессора и частоты PWM. Для выровненного центром PWM разделите значение на 2
.
PWM противостоят периоду = частота тактовой частоты ЦП / частота PWM / 2
Смотрите процессор TMS320f28379d ePWM периферийное устройство для получения дополнительной информации.
В диалоговом окне F2837x/07x/004x/38x ePWM параметров блоков обновите настройки, чтобы сконфигурировать PWM1, чтобы сгенерировать импульсы PWM в целевом компьютере как показано в этой таблице.
Вкладка и Параметр в Блоке ePWM | Настройки |
---|---|
General> Module | ePWM1 |
General> Timer Period | Введите значение периода PWM в цикл тактовой частоты ЦП
|
Counter Compare> Specify CMPA via | Input port |
Counter Compare> CMPA initial value | Введите период счетчика PWM / 2 (2500 ) |
Counter Compare> Specify CMPB via | Input port |
Counter Compare> CMPB initial value | Введите период счетчика PWM / 2 (2500 ) |
Deadband unit> Use deadband for ePWM1A | on |
Deadband unit> Use deadband for ePWM1B | on |
Deadband unit> Deadband polarity | Active high complementary (AHC) |
Deadband unit> Deadband Rising edge (RED) period (0~16383) | 15
|
Deadband unit> Deadband Falling edge (FED) period (0~16383) | 15
|
Флажок Event Trigger> Enable ADC start of conversion for module A (только для PWM1) | on |
Event Trigger> Start of conversion for module A event selection (только для PWM1) | Counter equals to period (CTR=PRD) |
Переименуйте блок как ePWM1.
В диалоговом окне параметров блока F2837x/07x/004x/38x ePWM обновите настройки, чтобы сконфигурировать PWM2 и PWM3, чтобы сгенерировать импульсы PWM в целевом компьютере. PWM2 и PWM3 синхронизируются с PWM1. Следуйте за ePWM1 настройками (кроме Триггера События) и добавьте настройки как показано в этой таблице.
Вкладка и Параметр в Блоке ePWM | Настройки |
---|---|
General> Module | ePWM2 |
General> Timer Period | Введите значение периода PWM в цикл тактовой частоты ЦП
|
General> Synchronization action | Set counter to phase value specified via dialog |
General> Counting direction after phase synchronization | Count up after sync |
General> Phase offset value (TBPHS) | 0
|
Counter Compare> Specify CMPA via | Input port |
Counter Compare> CMPA initial value | Введите период счетчика PWM / 2 (2500 ) |
Counter Compare> Specify CMPB via | Input port |
Counter Compare> CMPB initial value | Введите период счетчика PWM / 2 (2500 ) |
Deadband unit> Use deadband for ePWM1A | on |
Deadband unit> Use deadband for ePWM1B | on |
Deadband unit> Deadband polarity | Active high complementary (AHC) |
Deadband unit> Deadband Rising edge (RED) period (0~16383) | 15
|
Deadband unit> Deadband Falling edge (FED) period (0~16383) | 15
|
Переименуйте блоки как ePWM2 и ePWM3.
Выберите CMPA и CMPB как входные порты, где обязанность PWM дана как вход. Область значений варьируется от 0
к PWM_counter_period. PWM выходные параметры, когда суммирующий счетчик PWM совпадает с CMPA и обратным счетчиком PWM, совпадает с CMPB. По умолчанию система вводит рабочий цикл 50% путем выбора периода счетчика PWM / 2
.
Включите потерю времени в ePWM настройке. На вкладке Event Trigger модуля PWM1 выберите ADC, запускаются события преобразования, когда счетчик PWM равняется периоду PWM. Во вкладке SOC Trigger блока ADC выберите SOCx trigger source как ePWM1_ADCSOCA
.
Синхронизируйте ePWM2 и блоки ePWM3 с блоком ePWM1 путем установки синхронизации синхронизации на момент, когда счетчик PWM будет равняться, чтобы обнулить в блоках ePWM3 и ePWM2.
Блоки ePWM ожидают, что значение рабочего цикла будет лежать в диапазоне от 0
к периоду противостоят регистру (5000
). Подсистема Control_System выводит PWM в области значений -1
к 1
. Эта модель масштабирует выход к 0
к 5000
(период противостоит значению).
Для симуляции добавьте различный источник/приемник в блок драйвера оборудования для симуляции и генерации кода.