|
肯定有隐患,因为ST的手册只承认36MHz以下出问题可以找它
对于ADC的计算,我记得香水城有回答过一个用户的类似问题,哪个贴不记得了,不过俺偷懒,copy了关键部分,可供参考。
ADC时钟 由时钟控制器提供的ADCCLK 时钟和PCLK2(APB2 时钟)同步。CLK 控制器为 ADC 时钟提供一个专用的可编程预分频器,更多详细信息请参考CLK 章节。 ################################################################## 那么请教: 72MHZ的STM32 ADC最快转换速度是1.17us还是1us ? 那些STM32是增强型产品? ADC时钟可以到56MHZ? 现在的STM32的APB2=72MHZ ,最大2分频后为36MHZ! 如何到56MHZ呢?
已知道:
STM32 ADC的最快采样时间是1.5周期的采样时间 ########################################################### 手册: ADC 使用若干个ADC_CLK 周期对输入电压采样,采样周期数目可以通过 ADC_SMPR1 和ADC_SMPR2 寄存器中的SMP[2:0]位而更改。每个通道可以以 不同的时间采样。总转换时间如下计算: TCONV = 采样时间+ 12.5 个周期 例如: 当ADCCLK=14MHz 和1.5 周期的采样时间 TCONV = 1.5 + 12.5 = 14 周期 = 1μs ############################################################
如果是36MHZ 那么ADC最快是 0.388us !
根据设计,当ADC模块的频率为14MHz时,可以达到ADC的最快转换时间。
要得到14MHz的ADC频率,就要求SYSCLK的频率是14MHz的倍数,即14MHz、28MHz、42MHz、56MHz、70MHz、84MHz等;对于基本型产品14MHz和28MHz处于它的最大允许频率范围内;对于增强型产品,14MHz、28MHz、42MHz、56MHz和70MHz几种频率都在它的最大允许频率范围内,但因为ADC预分频器的分频系数只有2、4、6、8这几个,使用70MHz不能得到最大的14MHz,所以要想得到最快的ADC转换速度,在增强型产品上能用的最快SYSCLK频率是56MHz。
-------------------------------------------------------------------------------- 关于你的第2个问题,道理很简单:ADC模块能够允许的最大工作频率只能达到14MHz,因此它不能工作在36MHz,所以也达不到0.388us的转换时间。
ADC采样转换至少需要14个周期,而ADC模块的最大频率为14MHz
如果SYSCLK为72MHz,则通过ADC预分频器能够得到小于等于14MHz的最高频率为12MHz(72MHz除以6)。
12MHz频率下,14个周期需要1.17us,因此当系统时钟频率为72MHz时,ADC采样转换时间达不到1us |
|