我在这里设置了adc样本时间周期:
ADC_RegularChannelConfig(ADC1, ADC_Channel_17, 1, ADC_SampleTime_71Cycles5);
如何从stm32f103中计算ADC的采样率?
答案 0 :(得分:3)
您没有提供足够的信息来提供确切的数字。但在这里你应该知道什么。 您已选择采样时间为71.5个ADC时钟周期。 ADC时钟由PCLK2通过ADC预分频器产生。 ADC预分频器位于RCC_CFGR寄存器中。 例如,如果PCLK2为72MHz且ADC预分频比为6,则ADC时钟为12MHz。采样时间为71.5个周期,转换为71.5 / 12~6us
答案 1 :(得分:1)
每个通道的采样时间可以从ADC CLK计算,如参考手册“逐个通道可编程采样时间”一节所述:
ADC对输入电压进行采样,以获得多个ADC_CLK周期 使用ADC_SMPR1和ADC_SMPR2中的SMP [2:0]位进行修改 寄存器。可以使用不同的采样时间对每个通道进行采样。 总转换时间计算如下:Tconv =采样 时间+ 12.5周期示例:ADCCLK = 14 MHz并采样 1.5个循环的时间:Tconv = 1.5 + 12.5 = 14个循环=1μs
在扫描模式下,一个ADC的采样率为:
1 /(每个启用的通道的Tconv总和)
要设置“特定”采样时间,您可以将定时器更新事件用作外部触发器转换作为触发器。