HC32L130 ADC信号采集数据波动
请问,我用HC32L130的ADC做直流信号采集时,为什么测得的数据波动很大.例如我用2.5V参考电压,ADC12位才100mv的直流电压,测得ADC数值范围在155 - 175.这个波动范围正常吗,还是我配置有问题.ADC时钟频率12MHz,采样速率2KHz.采用定时器触发ADC采样.下面是我的初始化配置,请大家帮忙看看.///< ADC 初始化配置
stcAdcCfg.enAdcMode = AdcScanMode; ///<采样模式-扫描
stcAdcCfg.enAdcClkDiv = AdcMskClkDiv4; ///<采样分频-4
stcAdcCfg.enAdcSampCycleSel = AdcMskSampCycle8Clk; ///<采样周期数-8
stcAdcCfg.enAdcRefVolSel = AdcMskRefVolSelExtern1; ///<参考电压选择-外部2.5V
stcAdcCfg.enAdcOpBuf = AdcMskBufDisable; ///<OP BUF配置-关
stcAdcCfg.enInRef = AdcMskInRefDisable; ///<内部参考电压使能-关
stcAdcCfg.enAdcAlign = AdcAlignRight; ///<转换结果对齐方式-右 stcAdcCfg.enAdcOpBuf = AdcMskBufEnable; ///<OP BUF配置-开
试试把这个打开 按照你提供的参数来计算的话,100mv电压输入对应的ADC采样值应该是:
0.1*4096/2.5 = 163.84左右;
你采集到的波动应该在合理范围内;
另外,可以增加滤波算法,比如采集20次后进行排序,去掉最大最小值,剩余数据求平均来得到最终的ADC采样值,然后换算成实际电压值。
你这是仅采样一路信号吗?
采样信号前得先采样一个对地短路的输入通道。 xch 发表于 2025-9-30 12:29
你这是仅采样一路信号吗?
采样信号前得先采样一个对地短路的输入通道。 ...
你好,能详细说一下吗?我在数据手册上没有看到类似的说明 wubangmi 发表于 2025-9-30 10:36
stcAdcCfg.enAdcOpBuf = AdcMskBufEnable; ///
你好,我试了没有效果 dffzh 发表于 2025-9-30 11:20
按照你提供的参数来计算的话,100mv电压输入对应的ADC采样值应该是:
0.1*4096/2.5 = 163.84左右;
你采集 ...
感谢你的建议,我试一下看看效果. 旋转突进 发表于 2025-9-30 14:37
感谢你的建议,我试一下看看效果.
平均次数越多,也就是样本数越多,最终平均数据会越平滑。 旋转突进 发表于 2025-9-30 14:35
你好,能详细说一下吗?我在数据手册上没有看到类似的说明
手册不会写自己缺陷的。
页:
[1]