31.6.4.1 DMA Operation
The TCC can generate the following DMA requests:
- Counter overflow (OVF)
- The TCC generates a DMA
request on each cycle when an update condition (Overflow, Underflow or Re-trigger)
is detected.
In both cases, the request is cleared by hardware on DMA acknowledge.
- Channel Match (MCx)
- A DMA request is set only on a compare match . The request is cleared by hardware on DMA acknowledge.
- Channel Capture (MCx)
- For a capture channel, the request is set when valid data is present in the CCx register, and cleared once the CCx register is read.
DMA Operation with Circular Buffer
When a CCx channel is selected as a circular buffer, the related DMA request is not set on a compare match detection, but on start of ramp B.
If at least one circular buffer is enabled, the DMA overflow request is conditioned to the start of ramp A with an effective DMA transfer on previous ramp B (DMA acknowledge).
The update of all circular buffer values for ramp A can be done through a DMA channel triggered on a MC trigger. The update of all circular buffer values for ramp B, can be done through a second DMA channel triggered by the overflow DMA request.
When a CC channel is selected as a circular buffer, the related DMA request is not set on a compare match detection, but on start of down-counting phase.
If at least one circular buffer is enabled, the DMA overflow request is conditioned to the start of up-counting phase with an effective DMA transfer on previous down-counting phase (DMA acknowledge).
When up-counting, all circular buffer values can be updated through a DMA channel triggered by MC trigger. When down-counting, all circular buffer values can be updated through a second DMA channel, triggered by the OVF DMA request.