What is the difference between "Active" and "Busy" in the DMA of the LPC55? The User Manual contains the following definitions:
"A DMA channel is considered active when a DMA operation has been started but not yet fully completed. The Active status will persist from a DMA operation being started, until the pipeline is empty after end of the last descriptor (when there is no reload)."
"A DMA channel is considered busy when there is any operation related to that channel in the DMA controller’s internal pipeline."
Both seem to indicate whether there are any operations for the channel in the DMA pipeline, so what is the difference?
已解决! 转到解答。
Hello @kbetts,
The difference between them could be explain as follows: The Active status register will be active after the DMA configuration have been set and after submitting the DMA channel transfer request, and will continue to be active until the request has been completed; while the Busy status register will be active when the DMA starts the transfer and after doing a software or hardware trigger to enable the channel request.
Using the lpcxpresso55s69_dma_memory_to_memory example. You may find that after calling DMA_SubmitChannelRequest() which submits the DMA transfer request, the Active status register will be set; even before, to enable the channel request and do the software trigger which is called by DMA_StartTransfer().
Best regards, Raul.
Hello @kbetts,
The difference between them could be explain as follows: The Active status register will be active after the DMA configuration have been set and after submitting the DMA channel transfer request, and will continue to be active until the request has been completed; while the Busy status register will be active when the DMA starts the transfer and after doing a software or hardware trigger to enable the channel request.
Using the lpcxpresso55s69_dma_memory_to_memory example. You may find that after calling DMA_SubmitChannelRequest() which submits the DMA transfer request, the Active status register will be set; even before, to enable the channel request and do the software trigger which is called by DMA_StartTransfer().
Best regards, Raul.