Re: EDMA Event-Triggered Synchronization
- From: Brad Griffis <bradgriffis@xxxxxxxxxxx>
- Date: Fri, 23 Mar 2007 07:20:39 -0500
edwin82@xxxxxxxxx wrote:
On Mar 22, 9:25 pm, Brad Griffis <bradgrif...@xxxxxxxxxxx> wrote:edwi...@xxxxxxxxx wrote:Hi,In 2D mode with FS=0 you will get an array-synchronized transfer which
In TI C671x or similar DSP, what is the function of Event-Triggered
Array Synchronization? Does it means that every times an interrupt
event arrived (eg EXT_INT) , the EDMA controller will transfer one
array?
you described correctly, i.e. one array per sync event.
Besides the parameter for the channel such as OPT/SRC/FRMCNT,In order to synchronize to the correct event, in your case the external
what should be configured in order to enable event-triggered
synchronization ?
interrupt, you need to write to the Parameter Set corresponding to that
event. Note that the parameter set gets modified during the transfer so
you will probably want to setup a second Parameter Set with the exact
same initial parameters such that the active parameter set always links
to that same reload (assuming you're going to do this 2D transfer more
than once).
You'll also need to enable the corresponding bit in the event enable
register EER.
Suppose I have an 2D array data[20][100], is it possible to configureYes, that is possible. In fact, that specific scenario is shown in
the EDMA to transmit the whole data[0] when the EXT_INT event is
triggered, transmit data[1] when another EXT_INT event is triggered,
and transmit one array when each EXT_INT event is trigger until
data[19] ?
Section A.3 of the EDMA Reference Guide, spru234c.
Thanks for your reply. Yes, I want to do this 2D transfer
continuously, the case is same as Figure A-36 in "spru234". Does it
means that I need to configure the channel as linked transfer?
Actually I have read the "spru234" and "spra636" before, and get
confused with the setting of "event triggered transfer request" and
"event triggered synchronization"! The reference guide said that a bit
in EER should be enabled in order to enable the corresponding event to
trigger the transfer request. For example, if I want to trigger the
transfer request by EXT_INT5, the EER should be configured as
"0x0020". If this is correct, then how can I enable the "event
triggered synchronization"? Is it simply configure the EER as "0x0010"
if I want the send one array when EXT_INT4 is triggered?
Thanks again!
For the 6713 GPINT4 maps to channel 4 and GPINT5 maps to channel 5. Therefore if you want an event triggered by GPINT4 then you need to program Parameter Set 4 with the correct transfer info and set bit 4 of the EER (i.e. EER |= 0x10;).
When the documentation talks about a "transfer request" that is talking about the specific hardware details of the EDMA. In your case when an event occurs (i.e. GPINT4) then if you have set it up as I mentioned above then a "transfer request" will automatically happen inside the EDMA causing one array of data to be transferred.
Note that Parameter Set 4 will be modified/updated by the EDMA during the transfers. For example, after the first sync event the source and destination addresses will be updated to point to the current location in the data and the counts will be correspondingly decremented. At the end of the complete transfer (all the arrays) the counts will all be zero. In order for your transfer to happen automatically forever you need to LINK to a second parameter set. When you link this tells the EDMA at the end of the ENTIRE transfer to copy the data from the linked set into the set that you're working on. In doing this your source address, dest address, counts, etc. will all be restored to their original values and your transfers can keep going forever.
Another good reference which I recommend you read is spra996. This is much shorter than the EDMA Reference Guide and gives a lot of good details about how the EDMA works.
Brad
.
- Follow-Ups:
- Re: EDMA Event-Triggered Synchronization
- From: edwin82
- Re: EDMA Event-Triggered Synchronization
- References:
- EDMA Event-Triggered Synchronization
- From: edwin82
- Re: EDMA Event-Triggered Synchronization
- From: Brad Griffis
- Re: EDMA Event-Triggered Synchronization
- From: edwin82
- EDMA Event-Triggered Synchronization
- Prev by Date: Re: DSD 1796
- Next by Date: Re: How do I address convolutional interleaver using memory instead of registers.
- Previous by thread: Re: EDMA Event-Triggered Synchronization
- Next by thread: Re: EDMA Event-Triggered Synchronization
- Index(es):
Relevant Pages
|