以GD32F30x为例,我们看下用户手册中关于ADC转换时间的介绍:
可以看到,ADC一个通道的转换时间=采样时间+12.5个CK_ADC周期。
我们再来看GD官方ADC的例程。
首先是时钟配置,程序中ADC的时钟来源是APB2的6分频:
从GD32F30x的系统架构中我们能看到,ADC0、1、2是挂载在APB2总线下的:
如果APB2总线的频率是120MHz,那么按照程序中的设置,ADC的时钟频率为120M/6 = 20MHz。
继续来看ADC的配置代码:
代码中配置了常规序列4个通道,也就是说,一次触发,ADC采样4个通道。每个通道的采样周期为55.5,那么按照前面ADC转换时间公式:单通道转换时间=采样时间+12.5个CK_ADC计算,即:
(55.5+12.5)个CK_ADC = 68/20M = 3.4us
进而得知4个通道总转换时间为3.4us*4 = 13.6us。
好了,小伙伴们应该知道怎么算ADC转换时间了,赶紧拿开发板试试看吧。
发表评论 取消回复