ADC采样漂移或不准问题排查方法

ADC采样漂移或不准问题排查方法

ADC采集是每个项目都需要用到的功能,很多项目应用因为一些条件不当造成类似采集不准、数据漂移等现象的结果,本文以YTM32B1ME05芯片举例说明通用分析方法。

硬件排查

采样电路排查

硬件设计上需要重点关注ADC采集外部引脚上电容匹配,很多用户硬件设计上没注意如下电容匹配条件,这个一定会影响ADC采集,这个参数查询确认具体参考每个芯片的DS中ADC Characteristics章节,如下图所示:

VREF电压排查

按照硬件设计指南,在保证VDD、VDDA、VREF等正确设计的情况下,ADC采集不受影响。

万一出现无法确定的情况,测量VDDA、VREF等工作电压辅助判断。

软件排查

配置排查

ADC有个采样率的重要指标:

MD/ME芯片ADC采样率 <= 2M;

LE/MC芯片ADC采样率 <= 1M;

采样率一般在RM的ADC章节的Features篇:

YTM32B1ME0芯片的采样率描述如下

YTM32B1LE0芯片的采样率描述如下

采样率影响的因素有:

1.ADC clock

2.ADC sample resulution

3.ADC SMP time

以ME系列举例说明采样率计算和配置检查:

采样率 = AdcClk / (2 + SMP + RES)

其中:

1.AdcClk:功能时钟经IPC分频后经Adc再分频后时钟

2.SMP:采样时钟数,SMP寄存器

3.RES:采样精度,12bit精度则对应12个采样时钟

举例:配置YTM32B1ME0 2M采样率

1.ADC IPC功能时钟选择FIRC(96M),IPC配置3分频(得到32M)

2.ADC内部分频PreDiv配置0为1分频(得到AdcClk为32M)

3.SMP配置为2

4.RES配置为12

配置要求:

1.AdcClk <= 32M (MD/ME)

2.AdcClk <= 16M (LE/MC)

3.采样率 <= 2M(MD/ME)

4.采样率 <= 1M(LE/MC)

5.在保障数据稳定的前提下,可以适当增大SMP降低采样率。

用法排查

1.ADC不论是软件触发和硬件触发,保持正常工作模式和触发时序,一般都能正常工作。

2.ADC一旦启动会自发运行,用户在debug过程中监测ResultBuf[]即可,不能打断点看结果,这种调试方式会导致ADC自发运行得到的结果和调试器监测的结果不同步,最终导致ADC OVERRUN等故障状态。

3.ADC采集debug过程中,在监测窗口不要去观测ADC FIFO等寄存器,观测行为等同于ADC_DRV_ReadFIFO()驱动,会影响FIFO队列和结果错位。

4.ADC多通道采集需要切换通道的,MCAL方式支持多Group机制,SDK方式如果两次切换Group时间间隙小,可以参考如下加Adc_Reset()操作:

Adc_Reset()

Adc_Config(&config_1)

Adc_Start()

......

Adc_Reset()

Adc_Config(&config_2)

Adc_Start()

5.ADC采集的结果只跟ADC采集管脚对应的万用表测量电压对应,不考虑分压或者反算、补偿等误差带来的干扰分析。

其他排查

以上是一些常见的通用问题排查,结合应用如果都排查完了还不好定位,请联系原厂技术支持。

Copyright © 2088 世界杯预选赛中国_1994年世界杯冠军是谁 - nywk120.com All Rights Reserved.
友情链接
Top