今天就跟大家聊聊有关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。从图中可以看出,作为一个基础工程,我们首要的工作是选择系统的时钟源,确定系统的主频,再根据主频配置各总线的时钟。接下来对这过程中涉及的参数进行说明。
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)。
得到系统时钟后,经过一个分频器会得到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等低速外设。
基础工程中,我们采用的是PLL作为系统时钟源,PLL由HSE分频得到,分频系数PLLM为6,主要由于为了确保VCO( voltage-controlled oscillator 压控振荡器)输入频率介于1到2MHz之间,建议选择2MHz,以便限制PLL抖动。PLLN配置时需要注意的是要保证VCO的输出频率要再192至432MHz之间。
看完上述内容,你们对STM32CubeMX中Clock Configration的示例分析有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。