15.4.3.3.1 Complementary Output Mode

In Complementary Output mode, both the PWMxH and PWMxL signals are never active at the same time. A dead-time switching delay may be inserted between the two signals and is controlled by the PGxDT register. Complementary Output mode is selected when PMOD[1:0] (PGxIOCON1[5:4]) = 00. For more information on dead time, see Dead Time.

Figure 15-14. PWMxH/PWMxL Rising and Falling Edges Due to Dead Time

Output Override Behavior in Complementary Output Mode

The PWMxH and PWMxL outputs may be controlled by external hardware signals or by software overrides. The output pins are restricted from being placed in a state which violates the complementary output relationship or in a state which violates dead-time insertion delays. An output pin may be driven inactive immediately as a result of a hardware event. However, a pin will not be driven active until the programmed dead-time delay has expired. The different hardware and software states are programmed using the following:

  • PCI Fault event, FLTxDAT[1:0] (PGxIOCON2[7:6], PGxIOCON2[9:8])
  • PCI current limit event, CLDAT[1:0] (PGxIOCON2[5:4])
  • PCI feed-forward event, FFDAT[1:0] (PGxIOCON2[3:2])
  • Debugger Halt, DBDAT[1:0] (PGxIOCON2[1:0])
  • Software override, OVRENH (PGxIOCON2[21]) and OVRENL (PGxIOCON2[20])
  • Swap of PWMxH and PWMxL pins, SWAP (PGxIOCON1[11])

Figure 15-15 shows the signal chain for override behavior in Complementary mode. The SWAP control is applied first and is, therefore, overridden by all other controls. Next, the request to drive a pin active is applied before dead time, so dead time is still applied to the output. Following dead-time generator, in the PWMxL path only, is logic for an on-time adjustment. This arrangement allows the Inactive state to take precedence over SWAP and an active request. Finally, the polarity control is applied to the pin.

The PCI overrides operate on a priority scheme; see Output Control PCI Blocks for more information.

Figure 15-15. Override and SWAP Signal Flow, Complementary Mode

Table 15-8 shows the rules for pin override conditions. The Active state is a ‘1’ on the output pin and the Inactive state is a ‘0’. An ‘x’ denotes a ‘don’t care’ input; ~PWM indicates the complementary output of the PWM Generator’s output.

Table 15-8. Override Behavior in Complementary Output Mode
SourceFORCEONSWAPOVRENHOVRENLOVRDAT[1:0]FFDAT[1:0]CLDAT[1:0]FLTxDAT[1:0]DBGDAT[1:0]

PWMxH Signal

PWMxL Signal

Debug Override
DEBUGxxxxxxxxxxxx00InactiveInactive
01InactiveActive
1xActiveInactive
Fault Override – Debug Override must be Inactive.
PCI FLTxxxxxxxxxxx00xxInactiveInactive
01InactiveActive
1xActiveInactive
Software Override – Current Limit, Fault and Debug Overrides must be Inactive.
Software Override0001x0xxxxxxxxPWMInactive
100xInactive

~PWM AND

~ TRIGF event

10000~PWM

PWM AND

~ TRIGF event

01x0~PWMInactive
100xInactive

PWM AND

~ TRIGF event

x01x1InactiveActive
101xActiveInactive
1100InactiveInactive
1101InactiveActive
111xActiveInactive
Current Limit Override – Fault and Debug Overrides must be Inactive.
PCI CLxxxxxxxx00xxxxInactiveInactive
01InactiveActive
1xActiveInactive
Software Override1001x0xxxxxxxxPWMInactive
01x1PWMActive
100xInactive

~ PWM AND

~ TRIGF event

101xActive

PWM AND

~ TRIGF event

10000~ PWM

PWM AND

~ TRIGF event

01x0~ PWMInactive
01x1~ PWMActive
100xInactive

PWM AND

~ TRIGF event

101xActive

PWM AND

~ TRIGF event

x1100InactiveInactive
1101InactiveActive
1110ActiveInactive
1111ActiveActive
  • No force logic to prevent PWMxH and PWMxL from being 2’b11 (or 2’b00).
  • Content of OVRDAT[1:0] allowed to drive PWMxH/PWMxL based on OVRENH/OVRENL.
  • SWAP applies to two additional cases.
Feed-Forward Override - Software, Current Limit, Fault and Debug Overrides must be Inactive.
PCI FFxx00xx00xxxxxxInactiveInactive
01InactiveActive
1xActiveInactive

Output Behavior At Start-Up in Complementary Mode

When the PWM is initialized and the ON bit is set, the outputs immediately go to a Complementary state. There is an output delay as the signals propagate through the PWM logic. This causes the start of the active duty cycle to appear delayed, with the PWMxL output transitioning to an Inactive state (pin high) for four master_pwm_clk cycles. Once active duty cycle starts, the PWMx pins will behave as stated in Table 15-8.