![](http://datasheet.mmic.net.cn/100000/IF180C52TXXX-20R_datasheet_3493957/IF180C52TXXX-20R_524.png)
524
32099I–01/2012
AT32UC3L016/32/64
Figure 23-3. Interlinked Single Value PWM Operation Flow
23.6.5.2
Interlinked Multiple Value PWM Operation
The interlinked multiple value PWM operation allows up to four channels to be updated simulta-
neously with different duty cycle values. These duty cycle values must be written to the IMDUTY
register. The index number of the four channels to be updated is written to the four SEL fields in
the Interlinked Multiple Value Channel Select (IMCHSEL) register (IMCHSEL.SEL). When the
IMCHSEL register is written, the values stored in the IMDUTY register are synchronized to the
the writing procedure.
Note that only writes to the implemented channels will be effective. If one of the IMCHSEL.SEL
fields points to a non-existing channel, the corresponding value in the IMDUTY register will not
be written. If the same channel is specified in multiple IMCHSEL.SEL fields, the channel will be
updated with the value stored in the corresponding upper field of the IMDUTY register.
Figure 23-4. Interlinked Multiple Value PWM Operation Flow
23.6.6
Open Drain Mode
Some pins can be used in open drain mode, allowing the PWMA waveform to toggle between
0V and up to 5V on these pins. In this mode the PWMA will drive the pin to zero or leave the out-
put open. An external pullup can be used to pull the pin up to the desired voltage.
To enable open drain mode on a pin the PWMAOD function must be selected instead of the
PWMA function in the I/O Controller. Please refer to the Module Configuration chapter for infor-
mation about which pins are available in open drain mode.
23.6.7
Synchronization
Both the timebase counter and the spread spectrum counter can be reset and the duty cycle
registers can be written through the user interface of the module. This requires a synchroniza-
tion between the PB and GCLK clock domains, which takes a few clock cycles of each clock
domain. The BUSY bit in SR indicates when the synchronization is ongoing. Writing to the mod-
ule while the BUSY bit is set will result in discarding the new value.
ISDUTY
ISCHSET
DUTY0
DUTY1
DUTYm
...
Write
Enable
IMDUTY
IMCHSEL
DUTY0
DUTY1
DUTYm
...
MUX