AnsweredAssumed Answered

320 UART DMA transfer in progress detection

Question asked by ericolson on Aug 23, 2016
Latest reply on Sep 7, 2016 by ABuda

Using the ADuCM320.  

We've setup the DMA to handle UART RX.  Everything is working as expected.

Is there a way to tell if the DMA has transferred some bytes from the UART, but not enough to trigger the DMA finished interrupt?  (The DMA is set to trigger on 8-bytes, but the UART has only Rx'd 5-bytes).

The ADuCM320 user guide states the following...

"During the DMA transfer process, but before arbitration, CHNL_CFG is written back to system memory with the N_MINUS_1 field changed to reflect the number of transfers yet to be completed."

However, when we pull the DMA descriptor field, the N_MINUS_1 count does not appear to be updating.

It looks like the DMA is updating the channel description block as specified in the UG -just not the count field I'm interested in.

Am I interpreting this wrong? Or is there another way to tell the number of bytes the DMA has transferred?

(I'm just looking for a simple way to implement an RX timeout on the UART channel.)

Outcomes