Hello Support,
DMA is performing a large BLOCK of TRANSACTION on a particular channel. Is there a way to temporarily pause and then later restart/continue the same DMA channel Transaction which was previously paused?
Thank you.
Regards
Pashan
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hello Support,
DMA is performing a large BLOCK of TRANSACTION on a particular channel. Is there a way to temporarily pause and then later restart/continue the same DMA channel Transaction which was previously paused?
Thank you.
Regards
Pashan
Hi Pashan,
Can you please let me know how the DMA channel is kicked off (is it by hardware event or software)?
If it is hardware event, then, you can just disable the hardware channel enable to stall the particular channel.
Enable hardware channel enable again will make the particular channel resumes from where it left off (at arbitration boundary).
If you use software to kick off the DMA channel, then, there is no way to stall the DMA channel.
However, you can write to the global enable bit to stall the entire DMA (all channels) and resume where it left off.
hopes this helps
Hello Henry,
Thank you for the answer.
But what is the Arbitration Boundary? Any detailed description about that will help me a lot.
I can change the DMA Channel from Software Triggered Event to Hardware Triggered Event as mentioned by you in order to STALL the particular DMA Channel only.
I can't disable all channels of DMA [Software Triggered Channel limitation as mentioned by you] because other are being used for MibSPI communication.
Eagerly waiting to hear about Arbitration Boundary between Bus Masters.
Thank you.
Regards
Pashan
Hi Pashan,
Arbitration boundary at high level means that the current "bus" transactions are completed.
as you know, the DMA channel controller will break up the total byte transfers into multiple smaller bytes transfers.
Each of these smaller byte transfer results into a an arbitration boundary.
This is done so that the higher priority channel can have a chance to preempt.
Hope this helps.
Hello Henry,
Can you please tell me about the size of the boundary as mentioned by you in "multiple smaller bytes transfers." ?
This will help me understand the latency involved once I PAUSE the DMA Channel using HWCHANENA bit.
Assume TMS580LS3137 device. In case the arbitration boundary size is different for different devices, please let me know also,
Thank you.
Regards
Pashan
Hi Pashan,
you can find this out o nsection 16.2.12 of TRM hercules_trm_spnu499.pdf