SPRUIW9C October 2021 – March 2024 TMS320F280033 , TMS320F280034 , TMS320F280034-Q1 , TMS320F280036-Q1 , TMS320F280036C-Q1 , TMS320F280037 , TMS320F280037-Q1 , TMS320F280037C , TMS320F280037C-Q1 , TMS320F280038-Q1 , TMS320F280038C-Q1 , TMS320F280039 , TMS320F280039-Q1 , TMS320F280039C , TMS320F280039C-Q1
Assumptions for this example:
System clock | = 10ns (100MHz) |
Deadband enabled in half-cycle mode, TBCLK = EPWMCLK | |
Required PWM frequency |
1.33MHz (1/750ns) |
Required PWM duty cycle |
0.5 (50%) |
Required Deadband Rising-Edge Delay | 5% over duty |
Required Deadband Rising-Edge Delay in ns | (0.05 * 375ns) = 18.75ns |
Deadband delay values as a function of DBFED and DBRED:
When half-cycle clocking is enabled, the formula to calculate the falling-edge delay (FED) and rising-edge delay (RED) becomes:
FED = DBFED * TBCLK / 2
RED = DBRED * TBCLK / 2
DBRED and DBFED calculated values:
Required Deadband Rising-Edge Delay in ns = 18.75ns
DBRED = RED / (TBCLK / 2)
DBRED = 18.75ns/5ns
DBRED Required = 3.75ns
With 55 MEP steps per coarse step at 180ps each:
Step 1: Integer Deadband value conversion for DBREDM register
Integer DBRED value | = int (RED / (TBCLK / 2)) | |
= int (3.75) | ||
DBRED | = 3 |
Step 2: Fractional value conversion for Deadband high-resolution register DBREDHR
DBREDHR register value | = (frac(DBRED Required) * MEP_ScaleFactor + 0.5) << 8 (Shifting is to move the value to the high byte of DBREDHR) |
= (frac (3.75) * 55 + 0.5) << 8 | |
= (0.75 * 55 + 0.5) << 8 | |
= (41.75) * 256 Shifting left by 8 is the same as multiplying by 256. | |
DBREDHR value | = 29C0h MEP Steps |
Hardware ignores lower 9 bits in the above calculated DBREDHR value |