一、STM32单片机的四种时钟源
STM32单片机的时钟系统主要包括四种不同的时钟源,这些时钟源为STM32内部的各个部分提供所需的时钟信号。以下是STM32的四个主要时钟源的详细解释:
1.HSI(High Speed Internal Clock)高速内部时钟:
HSI时钟信号由内部8MHz的RC振荡器产生。
HSI时钟可以直接作为系统时钟(SYSCLK),或者在2分频后作为PLL(锁相环)的输入。
2.HSE(High Speed External Clock)高速外部时钟:
HSE时钟来自外部的无源晶振,其频率范围通常在4MHz到16MHz之间,但常用的是8MHz。HSE时钟可以不分频或进行2分频(频率/2)后作为PLL的输入,也可以直接作为系统时钟(SYSCLK),或进行128分频后作为外设RTC(实时时钟)的时钟输入。
3.PLL(Phase Locked Loop)锁相环时钟:
PLL时钟的源可以是HSI/2或HSE。PLL可以对输入的时钟信号进行倍频,以产生更高频率的时钟信号,从而提高系统的性能。
4.LSE(Low Speed External Clock)和LSI(Low Speed Internal Clock)低速时钟:
LSE是一个低速的外部时钟源,通常由一个32.768kHz的低速外部晶体或陶瓷谐振器提供。它为实时时钟(RTC)或其他需要低功耗且精确时钟的定时功能提供时钟源。
LSI是一个低功耗的内部时钟源,它可以在停机和待机模式下保持运行,为独立看门狗和自动唤醒单元提供时钟。LSI的时钟频率大约在30kHz到60kHz之间,但通常约为40kHz。
另外,STM32的时钟系统还包括一个复杂的时钟树结构,通过分频器、预分频器等电路将上述时钟源进行配置和分配,以满足不同外设和内部模块对时钟频率和精度的需求。例如,AHB(Advanced High-performance Bus)总线、APB(Advanced Peripheral Bus)总线等都会有自己独立的时钟源和分频器配置。
STM32的四个主要时钟源HSI、HSE、PLL、LSE/LSI为整个系统提供了灵活多样的时钟选择,使得STM32能够在各种应用场景下都保持高效、稳定的运行。
二、 STM32单片机系统时钟(SYSCLK)的三个主要来源
STM32单片机的系统时钟(SYSCLK)通常有三个主要来源,这些来源可以通过配置时钟控制系统(RCC)来选择。以下是系统时钟的三个主要来源:
1.HSI(High Speed Internal)高速内部时钟:
HSI通常是由STM32内部的RC振荡器产生的。这个时钟源的频率相对较低,通常是固定的,如8MHz或16MHz,取决于具体的STM32型号。HSI时钟可以作为系统时钟的备选源,但在大多数应用中,由于其频率较低,可能不会作为首选的系统时钟源。
2.HSE(High Speed External)高速外部时钟:
HSE时钟源来自外部晶振。开发者可以根据需要选择一个合适频率的晶振(如4MHz到16MHz),并通过STM32的HSE引脚接入。HSE时钟信号可以经过PLL(锁相环)倍频后,为系统提供更高频率的时钟。HSE通常作为系统时钟的首选源,因为它提供了灵活性和高性能。
3.PLL(Phase Locked Loop)锁相环时钟:
PLL是STM32中最重要的时钟生成器之一。它可以将HSI或HSE时钟信号进行倍频,产生更高频率的系统时钟。PLL的倍频因子是可配置的,可以根据应用的需要进行调整。通过PLL倍频,开发者可以获得更高的系统性能,同时仍然保持对功耗和成本的控制。
需要注意的是,不同的STM32型号在时钟源和配置选项上可能有所不同。因此,在具体应用中,开发者需要参考相应的STM32参考手册和数据手册,了解可用的时钟源和配置选项,并根据应用需求进行选择和配置。
另外,STM32的时钟系统还包括一些其他的时钟源和时钟分发机制,如APB(Advanced Peripheral Bus)时钟、AHB(Advanced High-performance Bus)时钟等。这些时钟源和分发机制共同构成了STM32的复杂时钟系统,为整个系统提供了灵活、可靠的时钟管理方案。
STM32F103xx数据手册时钟树,如下图