EasyManuals Logo

Texas Instruments TMS320 DSP User Manual

Texas Instruments TMS320 DSP
88 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #73 background imageLoading...
Page #73 background image
www.ti.com
ÍÍÍ
ÍÍÍ
ÍÍÍ
ÍÍÍ
ÍÍÍ
ÍÍÍ
DMA/CPU idle
ÍÍ
ÍÍ
ÍÍ
ÍÍ
CPU context switch
CPU/DMA active
Algorithm A
active
Algorithm B
active active
Algorithm A
CPU context
(timeline)
DMA context
(timeline)
1 2 3 4 5 6
Inter-Algorithm Synchronization
algorithm.
Events
1. Algorithm A requests a data transfer by calling ACPY2_start(). The framework executes this
request immediately since the DMA channel is free.
2. The framework preempts Algorithm A to run algorithm B. Algorithm A's data transfer is aborted to
free the DMA channel to Algorithm B.
3. Algorithm B requests a data transfer by calling ACPY2_start(). The framework executes this
request immediately since the DMA channel is free.
4. Algorithm B calls ACPY2_complete() to check if the data transfer has completed. The framework
checks to see that the data has been transferred. Algorithm B can process the transferred data.
5. The framework returns control to Algorithm A and also restarts the data transfer that was aborted in
Event #2.
6. Algorithm A calls ACPY2_wait() to wait for the data transfer to complete. The framework checks to
see that data is still being transferred.
7. The data transfer is complete and the framework returns control to Algorithm A so it can process
the transferred data.
Scenario 1 can result in algorithm A waiting for the DMA transfer to complete longer than necessary
because of the abort/restart policy. However, in this scenario it is more important to grant the DMA
channel to the higher priority algorithm.
Scenario 2: The system policy is to let the current DMA transfer issued by the lower priority algorithm
finish before starting a DMA transfer issued by the higher priority algorithm. See Section 6.15.5 .
Events
1. Algorithm A requests a data transfer by calling ACPY2_start(). The framework executes this
request immediately since the DMA channel is free.
2. Algorithm B requests a data transfer by calling ACPY2_start(). Note that the framework has
preempted Algorithm A to run algorithm B. Algorithm A's data transfer is still in progress, so
algorithm B's transfer will be delayed.
3. Algorithm A's data transfer has completed and Algorithm B's data transferred request can be
executed.
4. Algorithm B calls ACPY2_complete() to check if the data transfer has completed. The framework
checks to see that data is still being transferred.
5. Algorithm B calls ACPY2_complete() to check if the data transfer has completed. The framework
checks to see that data transfer has completed. Algorithm B can process the transferred data.
6. Algorithm A calls ACPY2_wait() to wait for the data transfer to complete. The framework checks to
see that data transfer has completed. The framework returns control to Algorithm A so it can
process the transferred data.
Scenario 2 can result in a delay of the data transfer for algorithm B since the transfer for algorithm A
might still be active.
SPRU352G June 2005 Revised February 2007 Use of the DMA Resource 73
Submit Documentation Feedback

Table of Contents

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the Texas Instruments TMS320 DSP and is the answer not in the manual?

Texas Instruments TMS320 DSP Specifications

General IconGeneral
BrandTexas Instruments
ModelTMS320 DSP
CategoryComputer Hardware
LanguageEnglish

Related product manuals