39.6.9 Synchronization

Due to the asynchronicity between main clock domain and the peripheral clock domains, some registers need to be synchronized when written or read. A register can require:

  • Synchronization when written
  • Synchronization when read
  • Synchronization when written and read
  • No synchronization

When executing an operation that requires synchronization, the corresponding status bit in the Synchronization Busy register (SYNCBUSY) will be set immediately, and cleared when synchronization is complete.

If an operation that requires synchronization is executed while its busy bit is one, the operation is discarded and an error is generated.

The following bits need synchronization when written:

  • Software Reset bit in the Control A register (CTRLA.SWRST)
  • Enable bit in the Control A register (CTRLA.ENABLE)
  • All bits in the Data register (DATA)
  • All bits in the Data Buffer register (DATABUF)

Write-synchronization is denoted by the Write-Synchronized property in the register description.

No bits need synchronization when read.