AT32F421 ADC 有趣试验
本帖最后由 GlenX 于 2021-5-2 15:17 编辑对于AT32F421的ADC最高采集时钟设置,前面为了让测试顺利,我取了10M采集时钟。ADC的零点和最大值上都有约±5mv的离散度,本以为是正常结果,并很满意,但今天我根据时钟定义,我提高到了20M,离最大28还有距离,但下一档就超过了,所以,只能做20M试验了。
结果出乎预料: 零点和3.3v测试竟然在mv级没有误差,误差在小数点后第4位,这完全超出了我的认知。总结: 不一定ADC采集时钟越慢或周期越长就精度越高! 期望大家注意,最高采用和MCU较为规整的整数采集频率,例如MCU为120M,则采集时钟取8和12的整数倍,例如 :3、4、6、8、12、20 MHz等,并测试后采用误差最小且更最稳定的一个时钟,作为ADC时钟。
感谢楼主分享 看来ADC性能还不错哦 用的是外部晶振吗 gregrgr 发表于 2021-5-19 11:10
用的是外部晶振吗
外部晶振,8MHz,主频120MHz.
很好的体验。 配置ADC通道转换顺序和时间 方面,前两个稍低,其他正常。实验已经配置成120M ADC时钟20M。一共10个通常批量采集的 尝试好几种时间长度都没有改善的,ADC_SampleTime_239_5 ADC_SampleTime_71_5 采样率10K 5k 都尝试过了,没有改善 奇葩的是413C8T7是正常的421C8T7就有这个问题 yuri1230 发表于 2021-5-21 10:08
奇葩的是413C8T7是正常的421C8T7就有这个问题
对不起,是10k以内 最高采用和MCU较为规整的整数采集频率,例如MCU为120M,则采集时钟取8和12的整数倍,
例如 :3、4、6、8、12、20 MHz等,并测试后采用误差最小且更最稳定的一个时钟,作为ADC时钟。
我感觉,我的小学没上好,没懂这个什么是“8和12的整数倍” 本帖最后由 GlenX 于 2021-7-4 17:12 编辑
没表达准确,是想说建议:“8和12的整数倍”,或接近,最好试试。例如我试过30MHz还能正常工作,这超出了芯片的参数范围。所以属于不建议使用的。
的确是很棒的体验,帮楼主顶一下 感觉楼主的分享精神。 这个确实不错的试验,很好的试验,有必要好好的推广一下的。
滤波处理下那几毫伏都没有了 提高采样精度与干扰处理是不同的方向。
如果能从采集上提高精度,则很多时候滤波也变得简单了很多。
页:
[1]