STM32 属于高级单片机,其内部有很多的外设,但不是所有外设都使用同一时钟频率工作,比如内部看门狗和 RTC,它只需 30 几 KHz 的时钟频率即可工作,所以内部时钟源就有多种选择。
在 STM32 时钟系统中,有 5 个重要的时钟源:
- HSI 是内部高速时钟,RC 振荡器,频率为 8MHz。
- HSE 是外部高速时钟,芯片的23和24引脚为外部高速晶振管脚。可外接一个频率范围是4-16MHz的时钟或者晶振。
- LSI 是内部低速时钟,RC 振荡器,频率大约为 40K,可供独立看门狗和 RTC 使用。
- LSE 是外部低速时钟,开发板上 PC14 和 PC15为外部低速时钟管脚。通常外接32.768KHz的晶振,供 RTC使用。
- PLL 是锁相环,用于倍频输出,常作为SYSTICK系统时钟源。
STM32 的 5 个时钟源如何给其他外设和系统提供时钟?
(A)MCO 是 STM32 的一个时钟输出 IO(PA8),它可以选择一个时钟信号输出,可以选择为 PLL 输出的 2 分频、 HSI、HSE 或者系统时钟。这个时钟可以用来给外部其他系统提供时钟源。
(B)RTC 时钟。从图中线的流向可知,RTC 时钟来源可以是内部低速的 LSI 时钟,外部低速 LSE 时钟(32.768K),还可以通过 HSE 128 分频后得到。