28.5.2.6 Channel Path

The following are different ways to propagate the event from an event generator:

  • Asynchronous path
  • Synchronous path
  • Resynchronized path

The path is decided by writing to the Path Selection bit group of the Channel register (CHANNELn.PATH).

Asynchronous Path

When using the asynchronous path, the events are propagated from the event generator to the event user without intervention from the Event System. The GCLK for this channel (GCLK_EVSYS_CHANNEL_n) is not mandatory, meaning that an event will be propagated to the user without any clock latency.

When the asynchronous path is selected, the channel cannot generate any interrupts, and the Channel Status register (CHSTATUS) is always zero. The edge detection is not required and must be disabled by software. Each peripheral event user must select which event edge must trigger internal actions. For further details, refer to each peripheral chapter description.

Synchronous Path

The synchronous path must be used when the event generator and the event channel share the same generator for the generic clock. If they do not share the same clock, a logic change from the event generator to the event channel might not be detected in the channel, which means that the event will not be propagated to the event user. For details on generic clock generators, refer to GCLK - Generic Clock Controller.

When using the synchronous path, the channel is able to generate interrupts. The channel busy ‘n’ bit in the Channel Status register (CHSTATUS.CHBUSYn) are also updated and available for use. If many events are received by the event system in less than 2.5 GCLK_EVSYS periods, only the first event will be serviced and the overrun flag will not be set.

Resynchronized Path

The resynchronized path are used when the event generator and the event channel do not share the same generator for the generic clock. When the resynchronized path is used, resynchronization of the event from the event generator is done in the channel. For details on generic clock generators, refer to GCLK - Generic Clock Controller.

When the resynchronized path is used, the channel is able to generate interrupts. The channel busy ‘n’ bits in the Channel Status register (CHSTATUS.CHBUSYn) are also updated and available for use. If many events are received by the event system in less than 2.5 GCLK_EVSYS periods, only the first event will be serviced and the overrun flag will not be set. Additionally, the resynchronized channel busy flag (CHSTATUS.CHBUSYn) will not be set for three clock cycles after the event is received.