![Texas Instruments AM1808 Technical Reference Manual Download Page 612](http://html.mh-extra.com/html/texas-instruments/am1808/am1808_technical-reference-manual_1094558612.webp)
16
1
0
CCERR
7
QEMR
1
0
EMR
31
1
0
EDMA3_ _CC0_ERRINT
m
EEVAL.EVAL
pulse
Eval/
n
Architecture
612
SPRUH82C – April 2013 – Revised September 2016
Copyright © 2013–2016, Texas Instruments Incorporated
Enhanced Direct Memory Access (EDMA3) Controller
17.2.9.4 Error Interrupts
The EDMA3CC error registers provide the capability to differentiate error conditions (event missed,
threshold exceed, etc.). Additionally, if the error bits are set in these registers, it results in asserting the
EDMA3CC error interrupt. If EDMA3CC error interrupt is enabled in the device interrupt controller, then it
allows the CPU to handle the error conditions.
The EDMA3CC has a single error interrupt ( EDMA3_
m
_CC0_ERRINT) that gets asserted for all
EDMA3CC error conditions. There are four conditions that cause the error interrupt to be pulsed:
•
DMA missed events: for all 32 DMA channels. These get latched in the event missed registers (EMR).
•
QDMA missed events: for all QDMA channels. These get latched in the QDMA event missed register
(QEMR).
•
Threshold exceed: for all event queues. These get latched in EDMA3CC error register (CCERR).
•
TCC error: for outstanding transfer requests expected to return completion code (TCCHEN or
TCINTEN bit in OPT is set to 1) exceeding the maximum limit of 31. This also gets latched in the
EDMA3CC error register (CCERR).
illustrates the EDMA3CC error interrupt generation operation.
If any of the bits are set in the error registers due to any error condition, the ( EDMA3_
m
_CC0_ERRINT)
always is asserted, as there are no enables for masking these error events. Similar to the transfer
completion interrupts, the error interrupt also is pulsed only when the error interrupt condition transitions
from a state where no errors are set to a state where at least one error bit is set. If additional error events
are latched prior to the original error bits being cleared, the EDMA3CC does not generate additional
interrupt pulses.
To reduce the burden on the software, similar to the interrupt evaluate register (IEVAL), there is an error
evaluate register (EEVAL) that allows reevaluation of pending set error events/bits. This can be used so
that the CPU(s) does not miss any error events.
NOTE:
It is a good practice to have the error interrupt enabled in the device interrupt controller and
associate an interrupt service routine with it to address the various error conditions
appropriately. This puts less burden on software (polling for error status) and additionally
provides a good debug mechanism for unexpected error conditions.
Figure 17-13. Error Interrupt Operation
Note:
n
is the number of queues supported in the EDMA3CC for a specific device.