找回密码
 注册
关于网站域名变更的通知
查看: 377|回复: 3
打印 上一主题 下一主题

STM32的5个时钟源

[复制链接]
  • TA的每日心情

    2019-11-19 15:55
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2022-1-4 13:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x

    众所周知STM32有5个时钟源HSI、HSE、LSI、LSE、PLL,其实它只有四个,因为从上图中可以看到PLL都是由HSI或HSE提供的。

    其中,高速时钟(HSE和HSI)提供给芯片主体的主时钟.低速时钟(LSE和LSI)只是提供给芯片中的RTC(实时时钟)及独立看门狗使用,图中可以看出高速时钟也可以提供给RTC。
    内部时钟是在芯片内部RC振荡器产生的,起振较快,所以时钟在芯片刚上电的时候,默认使用内部高速时钟。
    而外部时钟信号是由外部的晶振输入的,在精度和稳定性上都有很大优势,所以上电之后我们再通过软件配置,转而采用外部时钟信号.
    高速外部时钟(HSE): 以外部晶振作时钟源,晶振频率可取范围为4~16MHz,我们一般采用8MHz的晶振。
    高速内部时钟(HSI): 由内部RC振荡器产生,频率为8MHz,但不稳定。
    低速外部时钟(LSE): 以外部晶振作时钟源,主要提供给实时时钟模块,所以一般采用32.768KHz。
    低速内部时钟(LSI): 由内部RC振荡器产生,也主要提供给实时时钟模块,频率大约为40KHz。
    OSC_OUT和OSC_IN开始,这两个引脚分别接到外部晶振8MHz,第一个分频器PLLXTPRE,遇到开关PLLSRC(PLL entry clock source),我们可以选择其输出,输出为外部高速时钟(HSE)或是内部高速时钟(HSI)。
    这里选择输出为HSE,接着遇到锁相环PLL,具有倍频作用,在这里我们可以输入倍频因子PLLMUL,要是想超频,就得在这个寄存器上做手脚啦。
    经过PLL的时钟称为PLLCLK, 倍频因子我们设定为9倍频,也就是说,经过PLL之后,我们的时钟从原来8MHz的HSE变为72MHz的PLLCLK。
    紧接着又遇到了一个开关SW,经过这个开关之后就是STM32的系统时钟(SYSCLK)了。
    通过这个开关,可以切换SYSCLK的时钟源,可以选择为HSI、PLLCLK、HSE。
    我们选择为PLLCLK时钟,所以SYSCLK就为72MHz了。
    PLLCLK在输入到SW前,还流向了USB预分频器,这个分频器输出为USB外设的时钟(USBCLK)。
    回到SYSCLK,SYSCLK经过AHB预分频器,分频后再输入到其它外设。
    如输出到称为HCLK、FCLK的时钟,还直接输出到SDIO外设的SDIOCLK时钟、存储器控制器FSMC的FSMCCLK时钟,和作为APB1、APB2的预分频器的输入端。
    GPIO外设是挂载在APB2总线上的, APB2的时钟是APB2预分频器的输出,而APB2预分频器的时钟来源是AHB预分频器。
    因此,把APB2预分频器设置为不分频,那么我们就可以得到GPIO外设的时钟也等于HCLK,为72MHz了。
    SYSCLK: 系统时钟,STM32大部分器件的时钟来源。主要由AHB预分频器分配到各个部件。
    HCLK: 由AHB预分频器直接输出得到,它是高速总线AHB的时钟信号,提供给存储器,DMA及cortex内核,是cortex内核运行的时钟,cpu主频就是这个信号,它的大小与STM32运算速度,数据存取速度密切相关。
    FCLK: 同样由AHB预分频器输出得到,是内核的“自由运行时钟”。“自由”表现在它不来自时钟 HCLK,因此在HCLK时钟停止时 FCLK 也继续运行。
    它的存在,可以保证在处理器休眠时,也能够采样和到中断和跟踪休眠事件 ,它与HCLK互相同步。
    PCLK1: 外设时钟,由APB1预分频器输出得到,最大频率为36MHz,提供给挂载在APB1总线上的外设,APB1总线上的外设如下:
    RCC_APB1Periph_tiM2 TIM2时钟 RCC_APB1Periph_TIM3 TIM3时钟 RCC_APB1Periph_TIM4 TIM4时钟 RCC_APB1Periph_WWDG WWDG时钟 RCC_APB1Periph_SPI2 SPI2时钟 RCC_APB1Periph_USART2 USART2时钟 RCC_APB1Periph_USART3 USART3时钟 RCC_APB1Periph_I2C1 I2C1时钟 RCC_APB1Periph_I2C2 I2C2时钟 RCC_APB1Periph_USB USB时钟 RCC_APB1Periph_CAN CAN时钟 RCC_APB1Periph_BKP BKP时钟 RCC_APB1Periph_PWR PWR时钟 RCC_APB1Periph_ALL 全部APB1外设时钟
    PCLK2: 外设时钟,由APB2预分频器输出得到,最大频率可为72MHz,提供给挂载在APB2总线上的外设,APB2总线上的外设如下:
    RCC_APB2Periph_AFIO 功能复用IO时钟 RCC_APB2Periph_GPIOA GPIOA时钟 RCC_APB2Periph_GPIOB GPIOB时钟 RCC_APB2Periph_GPIOC GPIOC时钟 RCC_APB2Periph_GPIOD GPIOD时钟 RCC_APB2Periph_GPIOE GPIOE时钟 RCC_APB2Periph_ADC1 ADC1时钟 RCC_APB2Periph_ADC2 ADC2时钟 RCC_APB2Periph_TIM1 TIM1时钟 RCC_APB2Periph_SPI1 SPI1时钟 RCC_APB2Periph_USART1 USART1时钟 RCC_APB2Periph_ALL 全部APB2外设时钟

    该用户从未签到

    2#
    发表于 2022-1-4 13:51 | 只看该作者
    GPIO外设是挂载在APB2总线上的

    该用户从未签到

    3#
    发表于 2022-1-4 14:38 | 只看该作者
    低速内部时钟由内部RC振荡器产生

    该用户从未签到

    4#
    发表于 2022-1-4 14:49 | 只看该作者
    好资料  感谢分享
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-6-16 09:06 , Processed in 0.078125 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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