01前言在嵌入式系统中,时钟是其脉冲,处理器核心由时钟驱动,以完成指令的执行,状态转换和其他动作。外围组件由时钟驱动,以完成各种任务,例如串行数据传输,A / D转换,计时器计数等。
02 STM32时钟源HSI是一个高速内部时钟,RC振荡器,频率为8MHz。 HSE是高速外部时钟,其可以连接到石英/陶瓷谐振器或外部时钟源,更常用的是8MHz,12MHz和25MHz。
LSI是一个低速内部时钟,RC振荡器,频率为40kHz。 LSE是低速外部时钟,连接到频率为32.768kHz的石英晶体。
在STM32中,每个外设都有自己的独立时钟。在使用外围设备之前,必须先打开外围设备的时钟。
为什么设置每个外设的时钟而不是统一所有外设的时钟这么麻烦?打开?由于STM32具有许多外设,因此外设操作所需的最佳时钟是不同的。如果所有时钟都同时运行,将会给MCU带来很大的负担,因此STM32旨在实现低功耗并具有完整的功能设计。
复杂的时钟系统称为时钟树。使外围功能的时钟可自行配置。
03 STM32时钟树▲图片源网络上图底部红色框中的LSE和LSI用于系统看门狗和RTC(实时时钟)。如果需要高精度RTC时钟,则需要使用LSE,并且频率为32.768K以提供准确的时钟源。
HSI为8M,不如HSE准确。对于不需要性能的情况,必须使用HSI来节省成本。
在时钟树系统中,主时钟选择由PLL产生,PLL是锁相环倍频器输出,其时钟输入源可以选择为HSI / 2,HSE或HSE / 2。倍频器可以选择2到16倍,但最大输出频率不应超过72MHz。
当HSE发生故障时,css时钟监控系统会自动切换到HSI5,并且有独立的时钟分频配置,主要是USB,SDIO,FSMC,APB1,APB2,ADC等。APB1和APB2是两个总线桥:APB1和APB2,其中APB1是低速总线,而APB2是全速总线。
有关挂在该总线上的特定外设,请参见下图:**使用STM32CubeMX配置时钟**以STM32F105为例打开项目,选择HSE,然后选择外部晶体振荡器作为输入。单击Clock Configuration,如下所示:04结束本文主要分析STM32的时钟,并以stm32f105为例,以STM32CubeMX来配置时钟。
如有任何疑问,请留言讨论。免责声明:本文内容经21ic授权后发布,版权归原作者所有。
该平台仅提供信息存储服务。本文仅代表作者的个人观点,并不代表该平台的立场。
如有任何疑问,请与我们联系,谢谢!。