千家信息网

STM32CubeMX中Clock Configration的示例分析

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,今天就跟大家聊聊有关STM32CubeMX中Clock Configration的示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在创建
千家信息网最后更新 2024年09月22日STM32CubeMX中Clock Configration的示例分析

今天就跟大家聊聊有关STM32CubeMX中Clock Configration的示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

在创建STM32CubeMX这个工程中,除了调试模式的选取重点就是时钟的配置,即主要为程序中RCC(Reset and Clock Control)的配置。STM32F4的工程中打开Clock Configration看到如下界面:

我们做的操作十分简单,由于在Pinout&Configuration中RCC选项中我们将HSE选择为Crystal/Ceramic Resonator,因此在Clock Configuration中将时钟源配置为HSE,设置为12MHZ(根据实际硬件选择),选择PLLM的系数为6分频、PLLN系数200倍频、PLLP系数4分频、其余参数默认,这样我们就将系统的主频(SYSCLK)设置到了100MHZ。从图中可以看出,作为一个基础工程,我们首要的工作是选择系统的时钟源,确定系统的主频,再根据主频配置各总线的时钟。接下来对这过程中涉及的参数进行说明。

1 时钟源

STM32有5个时钟源,HSI、HSE、LSI,LSE和PLL,其中,

(1)HSI 是高速内部时钟,RC振荡器,频率为16MHz,精度不高。可以直接作为系统时钟或者作PLL时钟输入;

(2)HSE 是高速外部时钟,可接石英/陶瓷谐振器,或者时钟源,频率为4MHz~26MHz;

(3)LSI 是低速内部时钟,RC振荡器,频率为32kHz,提供低功耗时钟,主要供独立看门狗和RTC;

(4)LSE 是低速外部时钟,接频率为32.768kHz的石英晶体。主要用于RTC时钟;

(5)PLL 是锁相环倍频输出。PLL48CK中,PLLP用于生成高速的系统时钟,PLLQ用于生成USB OTG FS的时钟,随机数发生器的时钟和SDIO时钟。PLLI2SCK中的PLLR用于生成I2S时钟。

其中,HSE,LSE和PLL均可作为系统时钟源(SYSCLK)。

2 总线与时钟

得到系统时钟后,经过一个分频器会得到AHB(Advanced High-performance Bus)总线时钟信号(HCLK),从HCLK分频得到APB(Advanced Peripherals Bus)的时钟信号(PCLK)。HCLK是为AHB总线提供的时钟信号, ,主要用于

(1)内存控制器,中断控制器,LCD控制器, DMA 等高速外设;

(2)经过分频器得到系统时钟(Cortex System Timer),一般为8分频,该系统时钟用于嘀嗒定时器;

(3)CPU核供给时钟信号(FCLK),我们所说的主频100MHz,指的就是这个时钟信号,1/FCLK为CPU的时钟时钟周期。

PCLK是为APB总线提供的时钟信号,主要用于看门狗,UART控制器, IIS, I2C, SDI/MMC, GPIO,RTC and SPI等低速外设。

3 配置注意事项

基础工程中,我们采用的是PLL作为系统时钟源,PLL由HSE分频得到,分频系数PLLM为6,主要由于为了确保VCO( voltage-controlled oscillator 压控振荡器)输入频率介于1到2MHz之间,建议选择2MHz,以便限制PLL抖动。PLLN配置时需要注意的是要保证VCO的输出频率要再192至432MHz之间。

看完上述内容,你们对STM32CubeMX中Clock Configration的示例分析有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

0