ps:本文基于stm32F407ZGT6单片机
stm32F4单片机单通道采集的最大采样率为2.4M,所以有时会难以满足较高频率的采样,于是查阅芯片手册,发现stm32F4支持多重ADC采集,利用每个通道的转换时间,错位采样,从而提高采样率,最大把采样率开到2.4*3=7.2M. (去年初学ADC时研究的,基于cube和HAL库的三重ADC交错采样参考资料不多,我也是研究了一段时间,写下这篇博客希望可以帮助到更多人。)
示意图如下:
以下是官方例子的说明,
In this example, the system clock is 144MHz, APB2 = 72MHz and ADC clock = APB2 /2.
Since ADCCLK= 36MHz and Conversion rate = 5 cycles
==> Conversion Time = 36M/5cyc = 7.2Msps
这是利用软件触发ADC连续采样的,我试了一下,是可行的。网上为数不多的参考资料也是按上述连续转换模式下的。
但是我是比较习惯使用定时器触发采样的,因为采样率连续可调,比连续转换灵活一些。
所以我开始尝试定时器触发三重ADC!
配置如下:打开TIM8,挂在APB2上,为144M