Datasheet
936
SAM4S Series [DATASHEET]
11100F–ATARM–29-Jan-14
 If the channel is a synchronous channel and update method 0 is selected (SYNCx = 1 and UPDM = 0 in 
PWM_SCM register), these registers hold the new period, duty-cycle and dead-times values until the bit 
UPDULOCK is written at ‘1’ (in “PWM Sync Channels Update Control Register”  (PWM_SCUC)) and the end of the 
current PWM period, then update the values for the next period.
 If the channel is a synchronous channel and update method 1 or 2 is selected (SYNCx = 1 and UPDM = 1 or 2 in 
PWM_SCM register):
 registers PWM_CPRDUPDx and PWM_DTUPDx hold the new period and dead-times values until the bit 
UPDULOCK is written at ‘1’ (in PWM_SCUC) and the end of the current PWM period, then update the 
values for the next period. 
 register PWM_CDTYUPDx holds the new duty-cycle value until the end of the update period of synchronous 
channels (when UPRCNT is equal to UPR in “PWM Sync Channels Update Period Register”  
(PWM_SCUP)) and the end of the current PWM period, then updates the value for the next period.
Note: If the update registers PWM_CDTYUPDx, PWM_CPRDUPDx and PWM_DTUPDx are written several times 
between two updates, only the last written value is taken into account.
Figure 39-17. Synchronized Period, Duty-Cycle and Dead-Times Update 
39.6.5.4 Changing the Synchronous Channels Update Period
It is possible to change the update period of synchronous channels while they are enabled. (See “Method 2: Manual write 
of duty-cycle values and automatic trigger of the update” on page 929 and “Method 3: Automatic write of duty-cycle 
values and automatic trigger of the update” on page 930.)
To prevent an unexpected update of the synchronous channels registers, the user must use the “PWM Sync Channels 
Update Period Update Register”  (PWM_SCUPUPD) to change the update period of synchronous channels while they 
are still enabled. This register holds the new value until the end of the update period of synchronous channels (when 
UPRCNT is equal to UPR in PWM_SCUP) and the end of the current PWM period, then updates the value for the next 
period.
PWM_CPRDUPDx Value
PWM_CPRDx PWM_CDTYx
- If Asynchronous Channel
 -> End of PWM period
- If Synchronous Channel
 -> End of PWM period and UPDULOCK = 1
User's
Writing
PWM_DTUPDx Value
User's
Writing
PWM_DTx
- If Asynchronous Channel
 -> End of PWM period
- If Synchronous Channel
 - If UPDM = 0
 -> End of PWM period and UPDULOCK = 1
 - If UPDM = 1 or 2
 -> End of PWM period and end of Update Period
PWM_CDTYUPDx Value
User's
Writing










