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.

TMS320F28335: DMA Active Current Destination address pointer (DST_ADDR) will get continuously updated or it will get updated only during arbitration

Part Number: TMS320F28335

Hi,

We are using a DMA channel for copying ADC result into a circular buffer.

Both ADC & DMA are configured in continuous mode.

Active current destination address of that DMA channel (DST_ADDR) is read @ every 2ms period based on which previous/latest ADC samples from circular buffer are copied into another ADC result buffer which will be used for further computations. This is done to acquire latest samples and to avoid DMA/CPU contention.

I saw a post regarding DMA current destination address behavior related to TMS570 controller family which mentions that DMA current destination address for the working control packet will get updated only during arbitration and when FIFO is enabled.

I looked into TMS320F28335 DMA guide and didn't find any problem with relying on DST_ADDR for acquiring ADC samples as it mentions that SRC_ADDR/DST_ADDR will get updated once the burst transfer is completed.

I logged DMA current destination address pointer in an array (in 28335 controller) @ 2ms rate for 400 cycles and it got updated continuously and during this test, only one DMA channel is configured.

Please confirm if there any issues on relying with DST_ADDR active current destination address pointer for acquiring ADC samples as we are working on a safety critical application.