STM32开发板原理图中的时钟设计详解:4个关键步骤,实现高精度计时
发布时间: 2024-07-05 07:33:41 阅读量: 103 订阅数: 40
![stm32单片机开发板原理图](https://upload.42how.com/article/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20230320121236_20230320121333.png?x-oss-process=style/watermark)
# 1. STM32开发板原理图时钟设计概述
时钟是嵌入式系统中不可或缺的一部分,它为系统中的各个组件提供同步信号,确保系统稳定可靠地运行。在STM32开发板的原理图设计中,时钟设计尤为重要,它直接影响着系统的性能、功耗和稳定性。
本章将对STM32开发板的时钟设计进行概述,包括时钟源的选取、时钟树的构建、时钟信号的输出和时钟设计的优化等方面。通过对这些内容的深入理解,可以帮助开发者设计出高效、可靠的STM32开发板。
# 2. 时钟源的选取与配置
### 2.1 内部时钟源
STM32微控制器内置了多种内部时钟源,包括:
#### 2.1.1 HSI时钟
HSI(内部高速时钟)是一种基于 RC 振荡器的内部时钟源,频率为 16 MHz。HSI 的优点是功耗低、成本低,缺点是精度较差,温度漂移较大。
```c
/* 使能 HSI 时钟 */
RCC->CR |= RCC_CR_HSION;
/* 等待 HSI 时钟稳定 */
while ((RCC->CR & RCC_CR_HSIRDY) == 0);
```
#### 2.1.2 HSE 时钟
HSE(外部高速时钟)是一种基于外部晶振或陶瓷谐振器的外部时钟源。HSE 的频率范围为 4 MHz 至 25 MHz,精度比 HSI 高,温度漂移也较小。
```c
/* 使能 HSE 时钟 */
RCC->CR |= RCC_CR_HSEON;
/* 等待 HSE 时钟稳定 */
while ((RCC->CR & RCC_CR_HSERDY) == 0);
```
#### 2.1.3 LSI 时钟
LSI(内部低速时钟)是一种基于 RC 振荡器的内部时钟源,频率为 32 kHz。LSI 的优点是功耗极低,缺点是精度非常差,温度漂移极大。
```c
/* 使能 LSI 时钟 */
RCC->CSR |= RCC_CSR_LSION;
/* 等待 LSI 时钟稳定 */
while ((RCC->CSR & RCC_CSR_LSIRDY) == 0);
```
### 2.2 外部时钟源
除了内部时钟源,STM32 微控制器还支持多种外部时钟源,包括:
#### 2.2.1 晶振时钟
晶振时钟是一种基于石英晶体的外部时钟源,频率范围很广,精度极高,温度漂移极小。晶振时钟的缺点是成本较高,功耗也较高。
```c
/* 配置晶振时钟 */
RCC->CFGR |= RCC_CFGR_HSEBYP; /* 旁路 HSE 晶振 */
RCC->CFGR |= RCC_CFGR_HSEON; /* 使能 HSE 时钟 */
/* 等待 HSE 时钟稳定 */
while ((RCC->CR & RCC_CR_HSERDY) == 0);
```
#### 2.2.2 RTC 时钟
RTC 时钟是一种基于外部 32.768 kHz 晶体的时钟源,用于时钟和日历功能。RTC 时钟的优点是精度高、温度漂移小,缺点是功耗较高。
```c
/* 配置 RTC 时钟 */
RCC->BDCR |= RCC_BDCR_RTCEN; /* 使能 RTC 时钟 */
RCC->BDCR |= RCC_BDCR_BDRST; /* 复位 RTC */
/* 等待 RTC 时钟稳定 */
while ((RCC->BDCR & RCC_BDCR_RTCEN) == 0);
```
### 时钟源选择
时钟源的选择取决于具体的应用需求。如果需要高精度、低漂移的时钟,则应选择晶振时钟或 RTC 时钟。如果需要低功耗、低成本的时钟,则应选择 HSI 时钟或 LSI 时钟。
# 3.1 PLL倍频器
#### 3.1.1 PLL倍频原理
PLL(Phase-Locked Loop,锁相环)是一种电子电路,它可以将一个输入时钟信号倍频输出一个新的时钟信号。PL
0
0