STM32(四)时钟系统总结

13 篇文章 0 订阅
13 篇文章 2 订阅

系列文章目录

提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言


一、时钟系统

时钟系统图:
在这里插入图片描述

二、时钟系统配置结构

1.STM32时钟源

可分为五种:

HSE时钟
高速外部时钟信号(HSE)由以下两种时钟源产生:
● HSE外部晶体/陶瓷谐振器
● HSE用户外部时钟
HSI时钟
HSI时钟信号由内部8MHz的RC振荡器产生,可直接作为系统时钟或在2分频后作为PLL输入。
PLL
内部PLL可以用来倍频HSI RC的输出时钟或HSE晶体输出时钟。
LSE时钟
LSE晶体是一个32.768kHz的低速外部晶体或陶瓷谐振器。它为实时时钟或者其他定时功能提供
一个低功耗且精确的时钟源。
LSE晶体通过在备份域控制寄存器(RCC_BDCR)里的LSEON位启动和关闭。
LSI时钟
LSI RC担当一个低功耗时钟源的角色,它可以在停机和待机模式下保持运行,为独立看门狗和
自动唤醒单元提供时钟。LSI时钟频率大约40kHz(在30kHz和60kHz之间)。进一步信息请参考数
据手册中有关电气特性部分。
LSI RC可以通过控制/状态寄存器(RCC_CSR)里的LSION位来启动或关闭

2.RCC寄存器

时钟控制寄存器(RCC_CR)
时钟配置寄存器(RCC_CFGR)
时钟中断寄存器 (RCC_CIR)
APB2 外设复位寄存器 (RCC_APB2RSTR)
APB1 外设复位寄存器 (RCC_APB1RSTR)
AHB外设时钟使能寄存器 (RCC_AHBENR)
APB2 外设时钟使能寄存器(RCC_APB2ENR)
APB1 外设时钟使能寄存器(RCC_APB1ENR)
备份域控制寄存器 (RCC_BDCR)
控制/状态寄存器 (RCC_CSR)

typedef struct
{
__IO uint32_t CR; //HSI,HSE,CSS,PLL等的使能和就绪标志位
__IO uint32_t CFGR; //PLL等的时钟源选择,分频系数设定
__IO uint32_t CIR; // 清除/使能 时钟就绪中断
__IO uint32_t APB2RSTR; //APB2线上外设复位寄存器
__IO uint32_t APB1RSTR; //APB1线上外设复位寄存器
__IO uint32_t AHBENR; //DMA、SDIO等时钟使能
__IO uint32_t APB2ENR; //APB2线上外设时钟使能
__IO uint32_t APB1ENR; //APB1线上外设时钟使能
__IO uint32_t BDCR; //备份域控制寄存器
__IO uint32_t CSR; //控制状态寄存器
} RCC_TypeDef;
详细查阅:STM32中文参考手册6.2。

未定义STM32F10X_CL,在system_stm32f10x.c(第0115行)中定义了SYSCLK_FREQ_72MHz,具体如下:
#if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL) || (defined STM32F10X_HD_VL)
/* #define SYSCLK_FREQ_HSE HSE_VALUE /
#define SYSCLK_FREQ_24MHz 24000000
#else
/
#define SYSCLK_FREQ_HSE HSE_VALUE /
/
#define SYSCLK_FREQ_24MHz 24000000 /
/
#define SYSCLK_FREQ_36MHz 36000000 /
/
#define SYSCLK_FREQ_48MHz 48000000 /
/
#define SYSCLK_FREQ_56MHz 56000000 */
#define SYSCLK_FREQ_72MHz 72000000
#endif
STM32F103系列晶振能跑最大值72MHz


三、时钟的作用

单片机中的时钟系统扮演着至关重要的角色,它是单片机正常工作的基础。以下是时钟在单片机中的几个主要作用:

  1. 同步操作:
    • 时钟信号为单片机内部的各种操作提供了一个统一的时序基准。
    • 通过时钟信号的上升沿或下降沿,触发器和其他逻辑电路可以被同步地更新状态。
    • 时钟信号确保了单片机内部各个模块(如 CPU、RAM、定时器等)之间的协调工作。
  2. 程序控制:
    • 时钟信号决定了单片机内部指令的执行速度。
    • 每个时钟周期,单片机可以执行一条指令。
    • 通过控制时钟频率,可以调整单片机的运行速度和指令的执行速度。
  3. 效能提升:
    • 较高的时钟频率可以提高单片机的运算速度和处理能力。
    • 允许单片机以更快的速度执行指令和处理数据,从而提高系统的整体效能。
  4. 时序要求:
    • 单片机内部的许多操作和外设接口都有严格的时间要求。
    • 时钟信号确保这些时序要求得到满足,保证系统的可靠性和稳定性。
  5. 触发器和存储器的操作:
    • 时钟信号触发 D 触发器等存储元件的置位、复位或数据加载功能。
    • 存储器的读写操作通常依赖于时钟信号来同步数据的进出。
  6. 定时器和计数器:
    • 时钟信号通常被用来作为定时器和计数器的基础,用于生成定时中断或实现定时功能。
  7. 外部设备同步:
    • 在与外部设备通信时,时钟信号可以帮助同步数据的发送和接收。
    • 特别是在同步通信协议中,时钟信号是必不可少的。
  8. 降低功耗:
    • 通过降低时钟频率或在不需要处理任务时让单片机进入低功耗模式,可以有效地减少功耗。
  9. 晶振的作用:
    • 晶振是产生稳定时钟信号的关键部件。
    • 它利用晶体的共振频率产生稳定的振荡信号,为单片机提供基准时钟。
  10. 内部时钟与外部时钟:
    • 许多单片机支持使用内部 RC 振荡器或外部晶振来产生时钟信号。
    • 内部 RC 振荡器通常不够精确,但在低功耗或成本敏感的应用中很有用。
    • 外部晶振提供了更高的频率稳定性和精度,适用于需要精确计时的应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小超电子笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值