0 卖盘信息
BOM询价
您现在的位置: 首页 > 电子资讯 >技术信息 > stm32如何确认apb时钟是哪

stm32如何确认apb时钟是哪

来源:
2024-12-24
类别:技术信息
eye 14
文章创建人 拍明芯城

STM32 如何确认 APB 时钟

STM32 系列微控制器(MCU)作为一款广泛应用的微控制器,其内部的时钟系统设计非常复杂。时钟系统是微控制器正常工作的基础,正确的时钟配置能够保证其各项外设的稳定运行。在 STM32 中,APB 时钟是其总线时钟之一,涉及到外设的数据传输和外设操作的速度。了解和配置 STM32 的 APB 时钟,是开发过程中至关重要的一环。

本文将详细介绍 STM32 微控制器如何确认 APB 时钟,涵盖 STM32 时钟树的基本概念、APB 总线时钟的工作原理、如何在 STM32 中获取和配置 APB 时钟,以及在不同 STM32 系列中时钟设置的差异。

image.png

1. STM32 时钟树的概念

STM32 微控制器的时钟系统采用了树状结构,称为“时钟树”。时钟树是整个微控制器时钟源分配的核心,时钟信号通过时钟树从不同的源(如外部晶振、内部 RC 振荡器等)分配到不同的模块和外设。

时钟树的根源通常来自于系统时钟(SYSCLK),而每个外设则有对应的时钟源。系统时钟通过不同的分频器(Prescaler)控制着各个子模块和总线的工作时钟。APB 时钟(Advanced Peripheral Bus Clock)作为两条总线之一(另一个是 AHB 总线)的时钟,负责驱动 STM32 内部的外设工作,主要包括 GPIO、UART、SPI、I2C 等常用外设。

2. STM32 系列的时钟系统

STM32 的时钟系统在不同系列之间会有所差异,但整体框架大致相同。主要时钟源包括:

  • 外部时钟源(HSE):外部晶振,提供一个高精度的时钟信号。

  • 内部时钟源(HSI、LSI):HSI 是内部高速振荡器,LSI 是低速振荡器。

  • 主时钟源(PLL):通过倍频器将外部时钟源(HSE 或 HSI)提升为系统时钟(SYSCLK)。

  • 系统时钟(SYSCLK):直接控制处理器核心的时钟。

  • AHB 时钟(AHB):高级外设总线时钟。

  • APB 时钟(APB):高级外设总线时钟,分为 APB1 和 APB2 两个子总线。

3. APB 时钟的基本工作原理

APB 总线主要负责低速外设的数据传输,其时钟来源于 AHB 总线时钟。APB 总线的工作速度由 AHB 时钟和预分频器共同决定。STM32 系列的微控制器通常有两个 APB 总线:

  • APB1:用于一些低速外设,如 I2C、SPI、USART、ADC 等。

  • APB2:主要负责高速外设,如 USART、SPI 等。

在 STM32 的时钟配置中,APB 总线的时钟通过 AHB 时钟分频(Prescaler)来实现控制,通常使用的分频器为 APB1 和 APB2 分频器。

4. 如何确认 STM32 的 APB 时钟

确认 STM32 的 APB 时钟,首先需要理解 STM32 时钟树的配置。以下是确认 APB 时钟的一些步骤:

4.1 使用 CubeMX 工具

STM32CubeMX 是 STM32 开发中的一个图形化配置工具,它帮助开发者可视化地配置时钟树。通过 CubeMX,用户可以轻松地查看和修改 APB 时钟的配置。

  1. 打开 STM32CubeMX。

  2. 选择合适的微控制器型号。

  3. 在 “Clock Configuration” 选项卡中,查看时钟树的配置。

  4. CubeMX 会显示 AHB、APB1 和 APB2 的时钟源及其分频器(Prescaler)设置。

4.2 查看 STM32 的参考手册

参考手册是了解 STM32 内部时钟配置的重要工具。每个 STM32 系列的微控制器都有对应的参考手册,里面详细描述了时钟树的结构和各个时钟源的配置。

在 STM32 的参考手册中,时钟树通常有一个章节详细描述时钟信号的来源、频率和分频器设置。要确认 APB 时钟,可以查找:

  • 系统时钟(SYSCLK)源的配置。

  • AHB 时钟分频器(AHB Prescaler)设置。

  • APB1 和 APB2 的时钟源及分频器设置。

4.3 使用寄存器读取时钟状态

对于 STM32 微控制器,可以通过访问寄存器直接读取时钟配置信息。具体来说,APB 时钟由以下寄存器控制:

  • RCC_CFGR:这个寄存器是时钟配置的核心,包含了系统时钟、AHB 时钟、APB1 和 APB2 时钟的源和分频设置。

  • RCC_APB1RSTRRCC_APB2RSTR:这两个寄存器分别控制 APB1 和 APB2 总线的外设复位。

  • RCC_AHB1ENRRCC_AHB2ENR:这些寄存器控制 AHB 总线上外设的时钟使能。

通过读取这些寄存器的值,可以获取当前系统时钟的配置状态,从而推算出 APB 时钟的频率。

5. STM32 不同系列的时钟配置差异

不同的 STM32 系列微控制器在时钟系统上有一定的差异,具体表现在时钟源的选择、时钟倍频器(PLL)和分频器的配置等方面。以 STM32F1、STM32F4 和 STM32L系列为例:

5.1 STM32F1 系列

STM32F1 系列的时钟系统较为简单,通常使用内部的 HSI 作为主时钟源,或者使用外部的 HSE 时钟源。通过 PLL 可以将时钟频率提升至更高的值。APB 时钟的配置由 AHB 分频器和 APB1、APB2 的分频器共同控制。

5.2 STM32F4 系列

STM32F4 系列的时钟系统更加复杂,支持更高的时钟频率。它提供了更多的时钟源选择,包括 HSE、HSI 和 PLL,能够提供多达 180 MHz 的系统时钟频率。APB 时钟的配置和调整也更加灵活,可以支持更高速度的外设。

5.3 STM32L 系列

STM32L 系列主要侧重低功耗设计,其时钟系统为低功耗模式提供了更多选择。例如,它支持更低的系统时钟频率,并且提供了 LSI 和 LSE 时钟源。APB 时钟的配置同样受到 AHB 分频器的影响,但在低功耗模式下,时钟频率通常较低,以降低功耗。

6. 如何配置和优化 APB 时钟

在 STM32 开发中,时钟的配置和优化是提高系统性能和降低功耗的重要手段。以下是一些常见的 APB 时钟配置技巧:

6.1 选择合适的时钟源

选择合适的时钟源对于系统的稳定性和性能至关重要。例如,使用 HSE 时钟源可以提供更高的精度,但其功耗相对较高。对于一些不要求高精度的应用,可以选择 HSI 或内部振荡器来降低功耗。

6.2 配置分频器以适应外设需求

APB1 和 APB2 时钟的分频器可以根据外设的性能需求进行配置。对于一些高带宽要求的外设,建议使用较低的分频系数以获得更高的时钟频率。而对于低速外设,可以适当增加分频系数,以减少功耗。

6.3 使用低功耗模式优化时钟

对于电池供电的嵌入式应用,合理配置时钟,特别是 APB 时钟,能够显著降低功耗。STM32 微控制器提供了多种低功耗模式,例如睡眠模式、停止模式等,这些模式下,时钟频率和外设活动都会降低。


责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

标签: stm32 apb时钟

相关资讯

资讯推荐
云母电容公司_云母电容生产厂商

云母电容公司_云母电容生产厂商

开关三极管13007的规格参数、引脚图、开关电源电路图?三极管13007可以用什么型号替代?

开关三极管13007的规格参数、引脚图、开关电源电路图?三极管13007可以用什么型号替代?

74ls74中文资料汇总(74ls74引脚图及功能_内部结构及应用电路)

74ls74中文资料汇总(74ls74引脚图及功能_内部结构及应用电路)

芯片lm2596s开关电压调节器的中文资料_引脚图及功能_内部结构及原理图_电路图及封装

芯片lm2596s开关电压调节器的中文资料_引脚图及功能_内部结构及原理图_电路图及封装

芯片UA741运算放大器的资料及参数_引脚图及功能_电路原理图?ua741运算放大器的替代型号有哪些?

芯片UA741运算放大器的资料及参数_引脚图及功能_电路原理图?ua741运算放大器的替代型号有哪些?

28nm光刻机卡住“02专项”——对于督工部分观点的批判(睡前消息353期)

28nm光刻机卡住“02专项”——对于督工部分观点的批判(睡前消息353期)

拍明芯城微信图标

各大手机应用商城搜索“拍明芯城”

下载客户端,随时随地买卖元器件!

拍明芯城公众号
拍明芯城抖音
拍明芯城b站
拍明芯城头条
拍明芯城微博
拍明芯城视频号
拍明
广告
恒捷广告
广告
深亚广告
广告
原厂直供
广告