25.7.6 Interrupts

Each channel has the ability to generate an interrupt base on the following events:

  • Channel detected a start trigger,CHINTFk.SD. Set on the detection of the start trigger which was configured by CHCTRLBk.TRIG and CHCTRLAk.ENABLE=1.
  • Channel transfer aborted due to an abort trigger CHINTFk.TA
  • Current cell transfer completed (CHINTFk.CC). Asserts each time a cell transfer completes. Also set at the end of the block transfer.
  • Block transfer completed (CHINTFk.BC). Asserts at the completion of a block transfer, or when a block transfer aborts due to an abort trigger.
  • Block transfer half completed (CHINTFk.BH). Asserts when the channel has written out more than half of the block based on the Block Transfer Size.
  • Linked list complete (CHINTFk.LL). Asserts when the DMA encounters a NULL pointer value in register CHNXTk.NXT when attempting to load a descriptor.
  • Read bus error encountered (CHINTFk.RDE). Asserts when the system bus matrix issues a client error response to a read request.
  • Write bus error encountered (CHINTFk.WRE). Asserts when the system bus matrix issues a client error response to a write request.

The channel interrupts are logically OR’ed together by channel priority to generate 4 interrupts.