ADC+DMA First Conversion Timeout

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

ADC+DMA First Conversion Timeout

494 Views
JhonYF
Contributor III

MCU:s32k312

Problem Description:​
When using ADC with DMA in group conversion mode, I'm observing a consistent issue where the ​​first conversion start (Adc_StartGroupConversion)​​ always results in a ​​timeout condition​​. Specifically:

  • The ​​group notification callback is never triggered​
  • When polling the ​​group status in a task​​, it remains stuck at ​​"busy"​​ indefinitely

If I execute a ​​timeout handler​​ (triggered by the initial failure), which calls Adc_StopGroupConversion followed by a ​​second Adc_StartGroupConversion​​, subsequent conversions work ​​flawlessly​​ without any further issues.

Adc_StartGroupConversion(gularrMcuWrapAdcGroups[ulAdcIter]); Adc_StopGroupConversion(gularrMcuWrapAdcGroups[ulAdcIter]);

Question:​

  • Has anyone encountered similar behavior where the ​​first ADC group conversion fails​​ (timeout/busy status) but works fine afterward?
  • Is this a known ​​initialization sequence requirement​​ for ADC+DMA groups (e.g., needing a dummy conversion to "prime" the hardware)?
  • Could this be related to ​​clock gating, power-on state, or DMA initialization timing​​?

Looking for insights on root cause or recommended initialization practices to avoid this workaround.

0 Kudos
Reply
0 Replies