DMA Channel Linking with Disabled Channels

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

DMA Channel Linking with Disabled Channels

1,495 次查看
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!

标签 (1)
标记 (3)
2 回复数

1,221 次查看
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.

1,221 次查看
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 项奖励
回复