ADC+DMA First Conversion Timeout

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

ADC+DMA First Conversion Timeout

488 次查看
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 项奖励
回复
0 回复数
%3CLINGO-SUB%20id%3D%22lingo-sub-2145726%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EADC%2BDMA%20%E9%A6%96%E6%AC%A1%E8%BD%AC%E6%8D%A2%E8%B6%85%E6%97%B6%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2145726%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%BE%AE%E6%8E%A7%E5%88%B6%E5%99%A8%EF%BC%9As32k312%3C%2FP%3E%3CP%3E%3CSTRONG%3E%E9%97%AE%E9%A2%98%E6%8F%8F%E8%BF%B0%EF%BC%9A%3C%2FSTRONG%3E%3CBR%20%2F%3E%E5%9C%A8%E7%BB%84%E8%BD%AC%E6%8D%A2%E6%A8%A1%E5%BC%8F%E4%B8%8B%E4%BD%BF%E7%94%A8%E5%B8%A6%20DMA%20%E7%9A%84%20ADC%20%E6%97%B6%EF%BC%8C%E6%88%91%E5%8F%91%E7%8E%B0%E4%B8%80%E4%B8%AA%E6%8C%81%E7%BB%AD%E7%9A%84%E9%97%AE%E9%A2%98%EF%BC%8C%E5%8D%B3%3CSTRONG%3E%E7%AC%AC%E4%B8%80%E6%AC%A1%E8%BD%AC%E6%8D%A2%E5%90%AF%E5%8A%A8%EF%BC%88Adc_StartGroupConversion%EF%BC%89%3C%2FSTRONG%3E%E6%80%BB%E6%98%AF%E5%AF%BC%E8%87%B4%3CSTRONG%3E%E8%B6%85%E6%97%B6%E3%80%82%3C%2FSTRONG%3E%E5%85%B7%E4%BD%93%E6%9D%A5%E8%AF%B4%3C%2FP%3E%3CUL%3E%3CLI%3E%3CSTRONG%3E%E7%BE%A4%E7%BB%84%E9%80%9A%E7%9F%A5%E5%9B%9E%E8%B0%83%E6%B0%B8%E8%BF%9C%E4%B8%8D%E4%BC%9A%E8%A7%A6%E5%8F%91%3C%2FSTRONG%3E%E2%80%8B%3C%2FLI%3E%3CLI%3E%E8%BD%AE%E8%AF%A2%3CSTRONG%3E%E4%BB%BB%E5%8A%A1%E4%B8%AD%E7%9A%84%E7%BE%A4%E7%BB%84%E7%8A%B6%E6%80%81%3C%2FSTRONG%3E%E6%97%B6%EF%BC%8C%E5%AE%83%E4%BC%9A%E6%97%A0%E9%99%90%E6%9C%9F%E5%9C%B0%E5%81%9C%E7%95%99%E5%9C%A8%20%3CSTRONG%3E%22%20busy%20%22%3C%2FSTRONG%3E%3C%2FLI%3E%3C%2FUL%3E%3CP%3E%3CSPAN%3E%E5%A6%82%E6%9E%9C%E6%88%91%E6%89%A7%E8%A1%8C%3C%2FSPAN%3E%3CSTRONG%3E%20%3C%2FSTRONG%3E%3CSPAN%3E%E8%B6%85%E6%97%B6%E5%A4%84%E7%90%86%E7%A8%8B%E5%BA%8F%EF%BC%88%E7%94%B1%E5%88%9D%E5%A7%8B%E5%A4%B1%E8%B4%A5%E8%A7%A6%E5%8F%91%EF%BC%89%EF%BC%8C%E8%AF%A5%E5%A4%84%E7%90%86%E7%A8%8B%E5%BA%8F%20%E8%B0%83%E7%94%A8%3C%2FSPAN%3E%20adc_stopGroupConversion%EF%BC%8C%E7%84%B6%E5%90%8E%E5%86%8D%E8%B0%83%E7%94%A8%3CSPAN%3E%20%E7%AC%AC%E4%BA%8C%E4%B8%AA%3C%2FSPAN%3E%3CSTRONG%3E%20%3CSPAN%3E%3C%2FSPAN%3EADC_st%20artGroupConversion%EF%BC%8C%E5%88%99%3C%2FSTRONG%3E%3CSPAN%3E%20%E5%90%8E%E7%BB%AD%E8%BD%AC%E6%8D%A2%E5%8F%AF%E4%BB%A5%3C%2FSPAN%3E%3CSTRONG%3E%20%3C%2FSTRONG%3E%3CSPAN%3E%E5%AE%8C%E7%BE%8E%E8%BF%90%E8%A1%8C%EF%BC%8C%E4%B8%8D%E4%BC%9A%E5%87%BA%E7%8E%B0%E4%BB%BB%E4%BD%95%20%E5%85%B6%E4%BB%96%E9%97%AE%E9%A2%98%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EAdc_StartGroupConversion(gularrMcuWrapAdcGroups%5BulAdcIter%5D)%3B%20Adc_StopGroupConversion(gularrMcuWrapAdcGroups%5BulAdcIter%5D)%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%E9%97%AE%E9%A2%98%3C%2FSTRONG%3E%E2%80%8B%3C%2FP%3E%3CUL%3E%3CLI%3E%E6%98%AF%E5%90%A6%E6%9C%89%E4%BA%BA%E9%81%87%E5%88%B0%E8%BF%87%E7%B1%BB%E4%BC%BC%E7%9A%84%E6%83%85%E5%86%B5%EF%BC%8C%E5%8D%B3%3CSTRONG%3E%E7%AC%AC%E4%B8%80%E4%B8%AA%20ADC%20%E7%BB%84%E8%BD%AC%E6%8D%A2%E5%A4%B1%E8%B4%A5%3C%2FSTRONG%3E%EF%BC%88%E8%B6%85%E6%97%B6%2F%E5%BF%99%E7%8A%B6%E6%80%81%EF%BC%89%EF%BC%8C%E4%BD%86%E4%B9%8B%E5%90%8E%E5%B7%A5%E4%BD%9C%E6%AD%A3%E5%B8%B8%EF%BC%9F%3C%2FLI%3E%3CLI%3E%E8%BF%99%E6%98%AF%E5%90%A6%E6%98%AF%20ADC%2BDMA%20%E7%BB%84%E7%9A%84%E5%B7%B2%E7%9F%A5%3CSTRONG%3E%E5%88%9D%E5%A7%8B%E5%8C%96%E5%BA%8F%E5%88%97%E8%A6%81%E6%B1%82%3C%2FSTRONG%3E%EF%BC%88%E4%BE%8B%E5%A6%82%EF%BC%8C%E9%9C%80%E8%A6%81%E4%B8%80%E4%B8%AA%E8%99%9A%E6%8B%9F%E8%BD%AC%E6%8D%A2%E6%9D%A5%22prime%22%20%E7%A1%AC%E4%BB%B6%EF%BC%89%EF%BC%9F%3C%2FLI%3E%3CLI%3E%E8%BF%99%E6%98%AF%E5%90%A6%E4%B8%8E%3CSTRONG%3E%E6%97%B6%E9%92%9F%E9%97%A8%E6%8E%A7%E3%80%81%E5%BC%80%E6%9C%BA%E7%8A%B6%E6%80%81%E6%88%96%20DMA%20%E5%88%9D%E5%A7%8B%E5%8C%96%E6%97%B6%E5%BA%8F%3C%2FSTRONG%3E%E6%9C%89%E5%85%B3%EF%BC%9F%3C%2FLI%3E%3C%2FUL%3E%3CP%3E%E5%B8%8C%E6%9C%9B%E4%BA%86%E8%A7%A3%E6%A0%B9%E6%9C%AC%E5%8E%9F%E5%9B%A0%E6%88%96%E5%BB%BA%E8%AE%AE%E7%9A%84%E5%88%9D%E5%A7%8B%E5%8C%96%E5%81%9A%E6%B3%95%EF%BC%8C%E4%BB%A5%E9%81%BF%E5%85%8D%E8%BF%99%E7%A7%8D%E5%8F%98%E9%80%9A%E5%8A%9E%E6%B3%95%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E