GlenX 发表于 2021-5-1 11:48

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时钟。

chenjun89 发表于 2021-5-2 10:17

感谢楼主分享

caigang13 发表于 2021-5-2 16:10

看来ADC性能还不错哦

gregrgr 发表于 2021-5-19 11:10

用的是外部晶振吗

GlenX 发表于 2021-5-19 21:02

gregrgr 发表于 2021-5-19 11:10
用的是外部晶振吗

外部晶振,8MHz,主频120MHz.
很好的体验。

yuri1230 发表于 2021-5-21 10:01

配置ADC通道转换顺序和时间 方面,前两个稍低,其他正常。实验已经配置成120M ADC时钟20M。一共10个通常批量采集的

yuri1230 发表于 2021-5-21 10:04

尝试好几种时间长度都没有改善的,ADC_SampleTime_239_5 ADC_SampleTime_71_5   采样率10K 5k 都尝试过了,没有改善

yuri1230 发表于 2021-5-21 10:08

奇葩的是413C8T7是正常的421C8T7就有这个问题

GlenX 发表于 2021-5-22 09:36

yuri1230 发表于 2021-5-21 10:08
奇葩的是413C8T7是正常的421C8T7就有这个问题

对不起,是10k以内

skyred 发表于 2021-7-3 10:53

最高采用和MCU较为规整的整数采集频率,例如MCU为120M,则采集时钟取8和12的整数倍,

例如 :3、4、6、8、12、20 MHz等,并测试后采用误差最小且更最稳定的一个时钟,作为ADC时钟。

我感觉,我的小学没上好,没懂这个什么是“8和12的整数倍”

GlenX 发表于 2021-7-4 17:10

本帖最后由 GlenX 于 2021-7-4 17:12 编辑

没表达准确,是想说建议:“8和12的整数倍”,或接近,最好试试。例如我试过30MHz还能正常工作,这超出了芯片的参数范围。所以属于不建议使用的。

两只袜子 发表于 2021-7-6 14:30

的确是很棒的体验,帮楼主顶一下

单片机小哥 发表于 2021-8-5 17:12

感觉楼主的分享精神。

单片小菜 发表于 2021-8-7 10:20

这个确实不错的试验,很好的试验,有必要好好的推广一下的。

my6978344 发表于 2022-10-14 11:53

滤波处理下那几毫伏都没有了

GlenX 发表于 2022-10-17 21:42

提高采样精度与干扰处理是不同的方向。
如果能从采集上提高精度,则很多时候滤波也变得简单了很多。
页: [1]
查看完整版本: AT32F421 ADC 有趣试验