请问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个疑惑啊?
先谢啦啊!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
kaishengdianzi
1楼-- · 2019-07-14 22:58
很失望,太冷清了!
bairunwanda168
2楼-- · 2019-07-15 04:28
我是来帮顶的
TOPCB
3楼-- · 2019-07-15 05:14
1、11.7讲的是conversion time,11.5讲的是Sampling time
冬冬5241
4楼-- · 2019-07-15 07:24
 精彩回答 2  元偷偷看……
TOPCB
5楼-- · 2019-07-15 08:26
2、这个采样是和你设置的通道数有关系的,需要循环采样和单独采样的频率是不一样的。
TOPCB
6楼-- · 2019-07-15 09:46
3、如果模块本身的最大频率是小于APB2时,在设置频率的时候不要超过他,即使设置超过频率,工作时也是按照最大的频率来处理。但这个并不能用来推算系统时钟。

一周热门 更多>