2.9.3 Interrupt Evaluation Operations
2.9.4 Error Interrupts
EDMA3 Interrupts
www.ti.com
The EDMA3CC has interrupt evaluate registers (IEVAL) in each shadow region. These registers are the
only registers in the DMA channel shadow region memory map that are not affected by the settings for the
DMA region access enable registers (DRAE/DRAEH). A write of 1 to the EVAL bit in these registers
associated with a particular shadow region results in pulsing the associated region interrupt, if any
enabled interrupt (via IER/IERH) is still pending (IPR/IPRH). This register can be used in order to assure
that the interrupts are not missed by the CPU (or the EDMA3 master associated with the shadow region) if
the software architecture chooses not to use all interrupts. See
for the use of IEVAL in the
EDMA3 interrupt service routine (ISR).
Similarly an error evaluation register (EEVAL) exists in the global region. A write of 1 to the EVAL bit in
EEVAL causes the pulsing of the error interrupt if any pending errors are in EMR/EMRH, QEMR, or
CCERR. See
for additional details on error interrupts.
Note:
While using IEVAL for shadow region completion interrupts, you should make sure that the
IEVAL operated upon is from that particular shadow region memory map.
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(s), then
it allows the CPU(s) to handle the error conditions.
The EDMA3CC has a single error interrupt (EDMA3CC_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 64 DMA channels. These get latched in the event missed registers
(EMR/EMRH).
•
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 63. 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 EDMA3CC_ERRINT always is
asserted, as there are no enables for masking these error events. Similar to transfer completion interrupts
(EDMA3CC_INT*), 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.
EDMA3 Architecture
54
SPRUG34 – November 2008
Содержание TMS320DM357
Страница 2: ...2 SPRUG34 November 2008 Submit Documentation Feedback ...
Страница 12: ...List of Tables 12 SPRUG34 November 2008 Submit Documentation Feedback ...
Страница 16: ...Read This First 16 SPRUG34 November 2008 Submit Documentation Feedback ...
Страница 64: ...EDMA3 Architecture 64 SPRUG34 November 2008 Submit Documentation Feedback ...