35.6.7 Synchronization

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

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

When executing an operation that requires synchronization, the Synchronization Busy bit in the Status register (STATUS.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:

  • The Software Reset bit in the Control A register (CTRLA.SWRST)
  • The 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.