找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4053|回复: 0
收起左侧

STM32 ADC采样周期的确定方法

[复制链接]
ID:923315 发表于 2021-5-18 15:34 | 显示全部楼层 |阅读模式
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);



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表