请问STM32F4的ADC是如何计算转换时间的?

2019-07-14 18:02发布

我有3个问题向大家请教。第1   STM32F4参考手册里说的ADC转换时间有冲突吗?    第2    STM32F4 discovery 的 ADC_Interleaved_DMAmode2的转换时间如何计算的?  第3  CPU在168MHz时,单个ADC能达到2.4MSPSM吗?

针对第1个问题,ADC时间由2部分组成:抽样时间+转换时间。从寄存器配置看,SMPx[2:0]显示抽样最少3CLK,,RES[1:0]显示转换最少15CLK,那12Bit的最快就是18CLK,可是在参考手册11.7 Fast conversion mode中举例,最快是3+12CLK,即0.5us@30MHz,所以 达到2MSPS,这前后是否矛盾了?
针对第2个问题,PCLK = HCLK/2=SYSCLK/1/2 = 84MHz,STM32F4 discovery的ADC_Interleaved_DMAmode2代码计算可见Fadc = PCLK/2 = 42MHz(特性表要求Fadc最高是36MHz)。最后结论居然是3个ADC轮替模式采样是6MSPS,即单个ADC是2MSPS,这只能在Fadc =30MHz才成立啊。
针对第3个问题,根据Fadc = PCLK/2 = HCLK/2/2 = SYSCLK/1/2/2 计算,如果Fadc最高36MHz(我想达到3个ADC轮替模式7.2MSPS),那SYSCLK= 144MHz,达不到168MHz啊,CPU的运算能力降低了。
有没有大虾能帮我解答这3个疑惑啊?
先谢啦啊!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。