22.5.4 DMA

The TC can generate the following DMA requests:
  • Overflow (OVF): A DMA request is generated when an update condition (overflow, underflow or retrigger) is detected. The request is cleared by hardware upon DMA acknowledge.
  • Match or Capture Channel n (MCn): For a compare channel, the DMA request is generated on each compare match detection and is cleared by hardware on the DMA acknowledge. For a capture channel, the DMA request is generated when valid data is present in the CC[n] register and is cleared when the CC[n] register is read.

The TC can change its DMA request trigger behavior by setting the DMA One-shot Trigger Mode bit in the Control A (CTRLA.DMAOS) register. In one-shot mode, DMA requests will only be generated on an OVF condition after writing ‘0x5’ to the Command bit field of the Control B Set (CTRLBSET.CMD) register. After a request is generated, another one-shot command must be issued to generate a subsequent OVF DMA request. Issuing multiple one-shot commands before an OVF condition occurs has no effect and the TC will only generate one DMA request once the OVF condition occurs.

Note: After issuing a one-shot command (CTRLBSET.CMD=0x5), a request will only be generated on the next OVF condition. Any OVF condition that occurred before writing the command will not have any effect.
Note: While CTRLA.DMAOS is ‘1’ MCn DMA requests are disabled.

The DMA request lines are connected to the DMA Controller (DMAC). Using the TC DMA requests needs to have the DMAC configured first. Refer to the DMAC – Direct Memory Access Controller chapter for details.