Estimating DMA controller load

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

Estimating DMA controller load

372 Views
scottm
Senior Contributor II

I'm making fairly heavy use of DMA in a project, considerably more than I've used in any previous project.  I have high speed (>= 1 mbps) UART traffic, I2S, DAC and ADC samples, and probably SPI a little later.

I'm curious if there are any good tools or techniques for keeping an eye on how busy the DMA controller is, and ideally also how much load is hitting the bus.

The only idea I've come up with so far would be to set up a channel with the lowest possible priority to send alternating 1s and 0s to a GPIO, where it could be monitored with a logic analyzer, the idea being that any gaps in the pattern would represent times the DMA controller was busy with higher-priority requests.

Is that reasonable?  Are there other ways to approach it?  I've done a little searching and haven't come up with anything, but I may not be using the right search terms.

Thanks,

Scott

Labels (1)
0 Kudos
1 Reply

276 Views
Hui_Ma
NXP TechSupport
NXP TechSupport

Hi Scott,

I think your way sounds reasonable.

It also could using a PIT to periodic trigger the DMA as eDMA working pulse shows:

pastedImage_1.png

The DMA transfer could toggle a GPIO pin.

Customer could short the PIT period interval to check if the eDMA engineer could response the trigger.

If the eDMA with heavy load, the periodic trigger will be ignored.

More detailed info, please check below picture:

pastedImage_2.png

I attached a PIT periodic trigger DMA example for your reference.

Thank you for the attention.


Have a great day,
Ma Hui

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

0 Kudos