В Simulink® Library Browser, добавьте блок ePWM из Embedded Coder® Пакет поддержки для процессоров Instruments™ C2000™ Техаса > F2837xD.
Сконфигурируйте блоки ePWM1, ePWM2 и ePWM3 для генерации импульса PWM. В диалоговом окне параметров блоков ePWM вычислите значение регистра периода модуляции ширины импульса (PWM) из частоты центральный процессор и частоты PWM. Для выровненного по центру ШИМ разделите значение на 2
.
Период счетчика PWM = тактовая частота CPU/частота PWM/ 2
Для получения дополнительной информации см. TMS320f28379d периферийный процессор ePWM.
В F2837x/07x/004x/38x окне параметров блоков ePWM обновите настройки, чтобы сконфигурировать PWM1, чтобы сгенерировать импульсы PWM на целевом компьютере, как показано в этой таблице.
Вкладка и параметр в блоке ePWM | Настройки |
---|---|
General> Module | ePWM1 |
General> Timer Period | Введите значение периода PWM в тактовом цикле CPU
|
Counter Compare> Specify CMPA via | Input port |
Counter Compare> CMPA initial value | Введите период счетчика ШИМ/ 2 (2500 ) |
Counter Compare> Specify CMPB via | Input port |
Counter Compare> CMPB initial value | Введите период счетчика ШИМ/ 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 строениям (кроме Event Trigger) и добавьте строений как показано в этой таблице.
Вкладка и параметр в блоке ePWM | Настройки |
---|---|
General> Module | ePWM2 |
General> Timer Period | Введите значение периода PWM в тактовом цикле CPU
|
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 | Введите период счетчика ШИМ/ 2 (2500 ) |
Counter Compare> Specify CMPB via | Input port |
Counter Compare> CMPB initial value | Введите период счетчика ШИМ/ 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% путем выбора period/ 2 счетчика ШИМ.
Включите время отключения в строения ePWM. На вкладке Event Trigger PWM1 модуля выберите ADC start of conversion event, когда счетчик PWM равен периоду PWM. На вкладке SOC Trigger блока АЦП выберите SOCx trigger source как ePWM1_ADCSOCA
.
Синхронизируйте ePWM2 и ePWM3 блоки с блоком ePWM1 путем установки синхронизации в момент, когда счетчик PWM равен нулю в блоках ePWM2 и ePWM3.
Блоки ePWM ожидают, что значение коэффициента заполнения будет варьироваться от 0
в регистр счетчика периодов (5000
). Control_System подсистема выводит ШИМ в области значений -1
на 1
. Эта модель масштабирует выход до 0
на 5000
(значение счетчика периодов).
Для симуляции добавьте источник/приемник варианта в оборудование блока драйверов для симуляции и генерации кода.