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.
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.
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.
Source | FORCEON | SWAP | OVRENH | OVRENL | OVRDAT[1:0] | FFDAT[1:0] | CLDAT[1:0] | FLTxDAT[1:0] | DBGDAT[1:0] |
PWMxH Signal |
PWMxL Signal |
---|---|---|---|---|---|---|---|---|---|---|---|
Debug Override | |||||||||||
DEBUG | x | x | x | x | xx | xx | xx | xx | 00 | Inactive | Inactive |
01 | Inactive | Active | |||||||||
1x | Active | Inactive | |||||||||
Fault Override – Debug Override must be Inactive. | |||||||||||
PCI FLTx | x | x | x | x | xx | xx | xx | 00 | xx | Inactive | Inactive |
01 | Inactive | Active | |||||||||
1x | Active | Inactive | |||||||||
Software Override – Current Limit, Fault and Debug Overrides must be Inactive. | |||||||||||
Software Override | 0 | 0 | 0 | 1 | x0 | xx | xx | xx | xx | PWM | Inactive |
1 | 0 | 0x | Inactive |
~PWM AND ~ TRIGF event | |||||||
1 | 0 | 0 | 00 | ~PWM |
PWM AND ~ TRIGF event | ||||||
0 | 1 | x0 | ~PWM | Inactive | |||||||
1 | 0 | 0x | Inactive |
PWM AND ~ TRIGF event | |||||||
x | 0 | 1 | x1 | Inactive | Active | ||||||
1 | 0 | 1x | Active | Inactive | |||||||
1 | 1 | 00 | Inactive | Inactive | |||||||
1 | 1 | 01 | Inactive | Active | |||||||
1 | 1 | 1x | Active | Inactive | |||||||
Current Limit Override – Fault and Debug Overrides must be Inactive. | |||||||||||
PCI CL | x | x | x | x | xx | xx | 00 | xx | xx | Inactive | Inactive |
01 | Inactive | Active | |||||||||
1x | Active | Inactive | |||||||||
Software Override | 1 | 0 | 0 | 1 | x0 | xx | xx | xx | xx | PWM | Inactive |
0 | 1 | x1 | PWM | Active | |||||||
1 | 0 | 0x | Inactive |
~ PWM AND ~ TRIGF event | |||||||
1 | 0 | 1x | Active |
PWM AND ~ TRIGF event | |||||||
1 | 0 | 0 | 00 | ~ PWM |
PWM AND ~ TRIGF event | ||||||
0 | 1 | x0 | ~ PWM | Inactive | |||||||
0 | 1 | x1 | ~ PWM | Active | |||||||
1 | 0 | 0x | Inactive |
PWM AND ~ TRIGF event | |||||||
1 | 0 | 1x | Active |
PWM AND ~ TRIGF event | |||||||
x | 1 | 1 | 00 | Inactive | Inactive | ||||||
1 | 1 | 01 | Inactive | Active | |||||||
1 | 1 | 10 | Active | Inactive | |||||||
1 | 1 | 11 | Active | Active | |||||||
| |||||||||||
Feed-Forward Override - Software, Current Limit, Fault and Debug Overrides must be Inactive. | |||||||||||
PCI FF | x | x | 0 | 0 | xx | 00 | xx | xx | xx | Inactive | Inactive |
01 | Inactive | Active | |||||||||
1x | Active | Inactive |
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.