Texas Instruments TMS320 DSP User Manual page 73

Dsp algorithm standard rules and guidelines
Table of Contents

Advertisement

www.ti.com
algorithm.
Events
1. Algorithm A requests a data transfer by calling
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
request immediately since the DMA channel is free.
4. Algorithm B calls
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
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
Algorithm A
active
CPU context
(timeline)
1
DMA context
(timeline)
Í Í
Í Í Í Í
DMA/CPU idle
CPU context switch
Í Í
CPU/DMA active
Events
1. Algorithm A requests a data transfer by calling
request immediately since the DMA channel is free.
2. Algorithm B requests a data transfer by calling
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
checks to see that data is still being transferred.
5. Algorithm B calls
checks to see that data transfer has completed. Algorithm B can process the transferred data.
6. Algorithm A calls
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
Submit Documentation Feedback
to check if the data transfer has completed. The framework
ACPY2_complete()
to wait for the data transfer to complete. The framework checks to
ACPY2_wait()
Í Í Í
Í Í Í
Í Í Í
2
3
to check if the data transfer has completed. The framework
ACPY2_complete()
to check if the data transfer has completed. The framework
ACPY2_complete()
to wait for the data transfer to complete. The framework checks to
ACPY2_wait()
. The framework executes this
ACPY2_start()
. The framework executes this
ACPY2_start()
Í Í Í
Algorithm B
active
Í Í Í
Í Í Í
4
5
. The framework executes this
ACPY2_start()
. Note that the framework has
ACPY2_start()
Inter-Algorithm Synchronization
Section
6.15.5.
Algorithm A
active
6
Use of the DMA Resource
73

Advertisement

Table of Contents
loading

This manual is also suitable for:

Tms320

Table of Contents