cause of DMA channel error?

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Ali_Afsari
Level 2
Level 2
First like received 10 sign-ins 5 sign-ins

Hi,

    I am using XMC4400 to read two analog lines. A timer triggers ADC to read two channels (A,B) and the result events trigger DMA transfer. The DMA transfer for each channel has block size of 512. After few minutes of running the data stops flowing from channel A. I put a counter variable inside DMA_A enevnt handler and the error event count was 2700+(almost half the number of block transfer). The data keeps flowing from channel B though.

 

My question is: what could cause a DMA error: XMC_DMA_CH_EVENT_ERROR ?

 

Thanks,

Ali

0 Likes
1 Solution
Ali_Afsari
Level 2
Level 2
First like received 10 sign-ins 5 sign-ins

Hi Vasanth,

           Thanks for the reply. I was difficult to share the code due to the complicity of the code and the fact it involves communication with another MCU.

          The error was cause by priority conflict with UART interface. Giving global DMA higher priority level solved the issue.

 

Regards,

Ali

View solution in original post

0 Likes
3 Replies
Vasanth
Moderator
Moderator
Moderator
250 sign-ins 500 solutions authored First question asked

Hi Ali,

Will you be able to share the project as a zip to recreate the issue at our end ?

Best Regards,
Vasanth

0 Likes
Ali_Afsari
Level 2
Level 2
First like received 10 sign-ins 5 sign-ins

Hi Vasanth,

           Thanks for the reply. I was difficult to share the code due to the complicity of the code and the fact it involves communication with another MCU.

          The error was cause by priority conflict with UART interface. Giving global DMA higher priority level solved the issue.

 

Regards,

Ali

0 Likes
Vasanth
Moderator
Moderator
Moderator
250 sign-ins 500 solutions authored First question asked

Hi Ali,

Thanks for sharing the solution with the community.

Best Regards,
Vasanth

0 Likes