Overrun Detection Feature
924
SPRUH22I – April 2012 – Revised November 2019
Copyright © 2012–2019, Texas Instruments Incorporated
C28 Direct Memory Access (DMA) Module
The following items are in reference to
•
The
HALT
points represent where the channel halts operation when interrupted by a high priority
channel 1 trigger, or when the HALT command is set, or when an emulation halt is issued and the
FREE bit is cleared to 0.
•
The ADDR registers are not affected by BEG_ADDR at the start of a transfer. BEG_ADDR only affects
the ADDR registers on a wrap or sync error. Following is what happens to each of the ADDR registers
when a transfer first starts:
–
BEG_ADDR_SHADOW remains unchanged.
–
ADDR_SHADOW remains unchanged.
–
BEG_ADDR = BEG_ADDR_SHADOW
–
ADDR = ADDR_SHADOW
•
The active registers get updated when a wrap occurs. The shadow registers remain unchanged.
Specifically:
–
BEG_ADDR_SHADOW remains unchanged.
–
ADDR_SHADOW remains unchanged.
–
BE= WRAP_STEP
–
ADDR = BEG_ADDR
•
The active registers get updated when a sync error occurs. The shadow registers remain unchanged.
Specifically:
–
BEG_ADDR_SHADOW remains unchanged.
–
ADDR_SHADOW remains unchanged.
–
BEG_ADDR remains unchanged.
–
ADDR = BEG_ADDR
Probably the easiest way to remember all this is that:
•
The shadow registers never change except by software.
•
The active registers never change except by hardware, and a shadow register is only copied into its
own active register, never an active register by another name.
11.7 Overrun Detection Feature
The DMA contains overrun detection logic. When a peripheral event trigger is received by the DMA, the
PERINTFLG bit in the CONTROL register is set, pending the channel to the DMA state machine. When
the burst for that channel is started, the PERINTFLG is cleared. If however, between the time that the
PERINTFLG bit is set by an event trigger and cleared by the start of the burst, an additional event trigger
arrives, the second trigger will be lost. This condition will set the OVRFLG bit in the CONTROL register as
in
. If the overrun interrupt is enabled then the channel interrupt will be generated to the PIE
module.