stm32f4 ADC采样频率是多少?

2019-07-20 10:23发布

  对于F4ADC配置有几点疑问希望大家帮忙解答一下:  问题1:这个表的意思是否是说明F4在供电电压大于2.4V时其最大时钟是36MHZ?当其时钟在30MHZ时,外部触发采样频率最大为1764KHZ?
 如果上面这个问题是对的话,那么对于库函数的几项操作有点疑问:  这个说明给出了ADC转换时间的计算方式,那么对应的我配置如下:
//ADC时钟为APB2的4分频->84/4=21MHZ(F407ADC在2.4-3.6V供电电压下最大速率36M,稳定速度为30M)
        ADC_CommonInitStructure.ADC_Prescaler=ADC_Prescaler_Div4;
//配置ADC1规则组(得出其单次采样时间为->(3+12)/21≈0.7us)
ADC_RegularChannelConfig(ADC1,ADC_Channel_10,1,ADC_SampleTime_3Cycles);
//两次采样的间隔时间为5个ADC时钟周期(5/21≈0.24us)
        ADC_CommonInitStructure.ADC_TwoSamplingDelay=ADC_TwoSamplingDelay_5Cycles;
问题2:按照如上数据理论值计算其最大采样频率:0.7+0.24≈1us->1MHZ,是否是这样计算的?
问题3:我想用ADC+DMA+TIM触发的方式来做一个简易的示波器,方法就是通过TIM的定时触发ADC采样,将采样值装入DMA缓存中,DMA装满后触发LCD刷新程序。
有一个概念我不是很清楚,比如我一屏采100个点,要能显示400HZ的正弦信号,是不是说我ADC采样速率至少要100*400=40KHZ的速率呢?
补充内容 (2017-5-12 17:49): 更正一个几年前的错误, ADC_CommonInitStructure.ADC_TwoSamplingDelay=ADC_TwoSamplingDelay_5Cycles; 此项配置仅仅用于双重或三重交错模式下才有效,也就是说之前的计算是错误的
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
47条回答
elvin
2019-07-24 01:33
本帖最后由 elvin 于 2016-3-7 16:37 编辑
KC_CEC 发表于 2015-8-20 12:20
回复【29楼】静秋:
---------------------------------
这个值在多重ADC模式下才有意义,比如ADC1和ADC2交 ...

/** @defgroup ADC_delay_between_2_sampling_phases
  * @{
  */
#define ADC_TwoSamplingDelay_5Cycles               ((uint32_t)0x00000000)

  uint32_t ADC_TwoSamplingDelay;          /*!< Configures the Delay between 2 sampling phases.
                                               This parameter can be a value of
                                               @ref ADC_delay_between_2_sampling_phases */



定义在两个采样保持阶段中间的ADC的延迟
怎么理解成在多ADC模式下才有意义呢,这地方不太理解啊   @正点原子   原子哥求助@正点原子

一周热门 更多>