Specifications

dsPIC33F/PIC24H Family Reference Manual
DS70323E-page 43-52 © 2008-2012 Microchip Technology Inc.
43.6.5 Dead Time Ranges
The dead time duration provided by each dead time unit is set by specifying an unsigned value
in the DTRx and ALTDTRx registers. At maximum operating clock frequency with a 1.04 ns duty
cycle resolution, the dead time resolution is 1.04 ns. At the highest PWM resolution, the
maximum dead time value is 17.03
µs.
43.6.6 Dead Time Distortion
For duty cycle values near 0% or 100%, the PWM signal becomes nonlinear if dead time is
active. For any duty cycle value less than the dead time, the PWM output is zero. For duty
cycle values greater than (100% - dead time), the PWM output is same as if the duty cycle
is (100% - dead time).
43.6.7 Dead Time Resolution
At the highest clock rate, the dead time resolution is 1.04 ns under normal operating conditions.
However, there are some exceptions: For fault current-limit, or user override events, the highest
possible dead time resolution is 8.32 ns (bit 3 in the DTRx and ALTDTRx registers) at maximum
CPU speed and prescaler.
The configuration of PWM dead time control is shown in Example 43-15. The configuration of
PWM dead time initialization is shown in Example 43-16.
Example 43-15: PWM Dead Time Control
Example 43-16: PWM Dead Time Initialization
Note: When current-limit or fault override data is set to ‘0’, dead time is not applied, and
the “zero” override data is applied immediately.
Note: For duty cycle values greater than (100% - dead time), and the application
demands 100% duty cycle (that is, there is no dead time in the PWM output);
therefore, configure DTC = 2 in the PWMCONx register.
/* Select Dead Time control */
/* Choose one of these options */
PWMCON1bits.DTC = 0; /* Positive Dead Time applied for all modes */
PWMCON1bits.DTC = 1; /* Negative Dead Time applied for all modes */
/* Dead Time value for PWM generator */
/* Refer to Equation 43-7 */
DTR1 = 96; /* Dead Time value is 100 ns */
ALTDTR1 = 96; /* Alternate Dead time value is 100 ns */