标题: STM32 ADC采样周期的确定方法 [打印本页]

作者: 小伙子灬    时间: 2021-5-18 15:34
标题: STM32 ADC采样周期的确定方法
STM32 的 ADC 的采样周期确定
采样频率的确定

    1.首先确定 ADC 的时钟,这里需要看你的 RCC 的设置。在采用固
件库的基础上,设定 ADC 的采样频率相对来说是很容易的。

    (1)由时钟控制器提供的 ADCCLK 时钟和 PCLK2(APB2 时钟)
同步。CLK 控制器为 ADC 时钟提供一个专用的可编程预分频器。

    (2) 一般情况下在程序 中将 PCLK2 时钟设为 与系统时钟 相同

    RCC_HCLKConfig(RCC_SYSCLK_Div1);
    RCC_PCLK2Config(RCC_HCLK_Div1);
    RCC_PCLK1Config(RCC_HCLK_Div2);

    (3)采样时间和转换时间

    ADC 使用若干个 ADC_CLK 周期对输入电压采样,采样周期数目可以通过

    ADC_SMPR1 和 ADC_SMPR2 寄存器中的 SMP[2:0]位而更改。每个通道可以以不同的时间采样。


    总转换时间如下计算:
    TCONV = 采样时间+ 12.5 个周期

    例如:

    当 ADCCLK=36MHz 和 239.5 周期的采样时间
    TCONV = 239.5 + 12.5 = 252 周期 = 7μs
    若你采样的是 1KHz 的正弦波信号,采样了 10000 个点,则其中就有
70 个周期。

    STM32 ADC 采样频率的确定

    1. :先看一些资料,确定一下 ADC 的 时钟:

    (1)、由时钟控制器提供的 ADCCLK 时钟和 PCLK2(APB2 时钟)同步。CLK 控制器为 ADC 时钟提供一个专用的可编程预分频器。

    (2)、一般情况下在程序 中将 PCLK2 时钟设为 与系统时钟 相同

    RCC_HCLKConfig(RCC_SYSCLK_Div1);
    RCC_PCLK2Config(RCC_HCLK_Div1);
    RCC_PCLK1Config(RCC_HCLK_Div2);
    (3)在时钟配置寄存器(RCC_CFGR) 中 有 为 ADC 时钟提供一个专用的可编程预分器
    位 15:14 ADCPRE:ADC 预分频由软件设置来确定 ADC 时钟频率
    00:PCLK2 2 分频后作为 ADC 时钟
    01:PCLK2 4 分频后作为 ADC 时钟
    10:PCLK2 6 分频后作为 ADC 时钟
    11:PCLK2 8 分频后作为 ADC 时钟

    我们可对其进行设置 例如:

    RCC_ADCCLKConfig(RCC_PCLK2_Div4);


    另外还有 ADC 时钟使能设置


    RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 |
RCC_APB2Periph_ADC2 |


    RCC_APB2Periph_GPIOC, ENABLE);








欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1