ePWM Trip-Zone Issue: PWM only switching when TZ1 pin is floating (C2000/Simulink)
I am experiencing a strange behavior with the Trip-Zone (TZ) submodule in the ePWM block while using a TI C2000 processor. I have configured a Cycle-by-Cycle (CBC) trip on TZ1 to force the PWM output to LOW. The PWM is configured in Center-Aligned mode (Up-Down count) with a fixed 20% Duty Cycle.
The Problem:
The PWM output does not behave as expected when the TZ1 pin is actively driven. Here are the three states I observed:
TZ1 pin tied to HIGH (3.3V): The ePWM output is stuck at a constant HIGH (1) level (no switching).
TZ1 pin tied to LOW (GND): The ePWM output is stuck at a constant LOW (0) level.
TZ1 pin left FLOATING: The PWM works perfectly, switching at the defined 20% Duty Cycle.
Configurations:
Action Qualifier (AQ): * CAU (Up-count): Clear
CAD (Down-count): Set
Trip-Zone (TZ):
CBC TZ1: Enabled.
ePWM1A forced (TZ) to: Low.
Duty Cycle: Fixed at 20% (verified CMPA/PRD ratio).
My Analysis & Questions:
It seems that when the pin is floating, the internal pull-up resistor keeps TZ1 high, and for some reason, the ePWM module only switches in this state.
Why does manually driving the pin HIGH (3.3V) freeze the output at HIGH instead of allowing normal switching?
Could there be a conflict between the Digital Compare (DC) events or a GPIO Mux misconfiguration that causes the Trip-Zone to interpret a "Hard High" differently than a "Pull-up High"?
Is it possible that the Action Qualifier is being overridden by the TZ submodule even when no trip condition is met?
I have attached my Simulink configuration screenshots for reference. Any insights on why the TZ1 pin state is "locking" the AQ logic would be greatly appreciated.I am experiencing a strange behavior with the Trip-Zone (TZ) submodule in the ePWM block while using a TI C2000 processor. I have configured a Cycle-by-Cycle (CBC) trip on TZ1 to force the PWM output to LOW. The PWM is configured in Center-Aligned mode (Up-Down count) with a fixed 20% Duty Cycle.
The Problem:
The PWM output does not behave as expected when the TZ1 pin is actively driven. Here are the three states I observed:
TZ1 pin tied to HIGH (3.3V): The ePWM output is stuck at a constant HIGH (1) level (no switching).
TZ1 pin tied to LOW (GND): The ePWM output is stuck at a constant LOW (0) level.
TZ1 pin left FLOATING: The PWM works perfectly, switching at the defined 20% Duty Cycle.
Configurations:
Action Qualifier (AQ): * CAU (Up-count): Clear
CAD (Down-count): Set
Trip-Zone (TZ):
CBC TZ1: Enabled.
ePWM1A forced (TZ) to: Low.
Duty Cycle: Fixed at 20% (verified CMPA/PRD ratio).
My Analysis & Questions:
It seems that when the pin is floating, the internal pull-up resistor keeps TZ1 high, and for some reason, the ePWM module only switches in this state.
Why does manually driving the pin HIGH (3.3V) freeze the output at HIGH instead of allowing normal switching?
Could there be a conflict between the Digital Compare (DC) events or a GPIO Mux misconfiguration that causes the Trip-Zone to interpret a "Hard High" differently than a "Pull-up High"?
Is it possible that the Action Qualifier is being overridden by the TZ submodule even when no trip condition is met?
I have attached my Simulink configuration screenshots for reference. Any insights on why the TZ1 pin state is "locking" the AQ logic would be greatly appreciated. I am experiencing a strange behavior with the Trip-Zone (TZ) submodule in the ePWM block while using a TI C2000 processor. I have configured a Cycle-by-Cycle (CBC) trip on TZ1 to force the PWM output to LOW. The PWM is configured in Center-Aligned mode (Up-Down count) with a fixed 20% Duty Cycle.
The Problem:
The PWM output does not behave as expected when the TZ1 pin is actively driven. Here are the three states I observed:
TZ1 pin tied to HIGH (3.3V): The ePWM output is stuck at a constant HIGH (1) level (no switching).
TZ1 pin tied to LOW (GND): The ePWM output is stuck at a constant LOW (0) level.
TZ1 pin left FLOATING: The PWM works perfectly, switching at the defined 20% Duty Cycle.
Configurations:
Action Qualifier (AQ): * CAU (Up-count): Clear
CAD (Down-count): Set
Trip-Zone (TZ):
CBC TZ1: Enabled.
ePWM1A forced (TZ) to: Low.
Duty Cycle: Fixed at 20% (verified CMPA/PRD ratio).
My Analysis & Questions:
It seems that when the pin is floating, the internal pull-up resistor keeps TZ1 high, and for some reason, the ePWM module only switches in this state.
Why does manually driving the pin HIGH (3.3V) freeze the output at HIGH instead of allowing normal switching?
Could there be a conflict between the Digital Compare (DC) events or a GPIO Mux misconfiguration that causes the Trip-Zone to interpret a "Hard High" differently than a "Pull-up High"?
Is it possible that the Action Qualifier is being overridden by the TZ submodule even when no trip condition is met?
I have attached my Simulink configuration screenshots for reference. Any insights on why the TZ1 pin state is "locking" the AQ logic would be greatly appreciated. trip – zone MATLAB Answers — New Questions









