DMA Channel Linking with Disabled Channels

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

DMA Channel Linking with Disabled Channels

791 Views
benjaminschroed
Contributor III

Hello,

I've been trying to explore the capability of the DMA engine, and am having a bit of trouble finding the exact functionality I need.

I have a DMA channel that is continually triggered by the PDB.  What I would like to do is link multiple channels to this PDB triggered channel, but instead of looping when their major cycle completes, have them disable themselves, even though the PDB triggered channel is still getting triggered.  I would also like the option to re-enable these channels later via explicit software command.

I've tried setting the DREQ bits on these linked channels, but it doesn't seem to have any effect.  Does anyone have any ideas on how to achieve this?

Thanks!

Labels (1)
Tags (3)
2 Replies

517 Views
rastislav_pavlanin
NXP Employee
NXP Employee

Hi Benjamin,

what exactly is happening when DREQ bit is set for all linked channel after major loop exhausted? Is equivalent ERQ bit in DMA_ERQ register cleared or not? Could you please debug it and let us know?

I would expect that after major loop doen (no minor loop!) then equivalent  ERQ bit is cleared and need to be enabled manaully by SW. WHat I expect is what you are looking for. However, in such case you most probably need to configure these DMA channels to execute just single service request -> CITER = BITER = 0x1 etc.

regards

R.

517 Views
jeremyzhou
NXP Employee
NXP Employee

Hi

According to the statement above, what you'd like to do is link multiple channels by the channel which is triggered by the PDB.

However it's not allowed to adapt the linked channel before the the linking channel retire, in another word, during the channel execution.

So I'd like to suggest that you can use the scatter/gather feature for the linked channel, it can allow the channel to use multiple TCDs and enables a DMA channel to scatter the DMA data to multiple destinations or gather it from multiple sources.

Hope it helps.
Have a great day,
Ping

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos