STM32时钟配置图详解

一图概述:
在这里插入图片描述

左侧输入时钟源

Input Frequency (LSE/LSI/HSI/HSE)
  • LSE (Low-Speed External):外部32.768 kHz晶体振荡器,通常用于RTC(实时时钟)。
  • LSI (Low-Speed Internal):内部低速时钟,频率为40 kHz,通常用于看门狗计时器等低功耗模块。
  • HSI (High-Speed Internal):内部高速时钟,频率为8 MHz,系统默认使用。
  • HSE (High-Speed External):外部高速晶体振荡器,频率范围为4-16 MHz,外部来源的主时钟。
RTC(Real-Time Clock)时钟
  • RTC Clock Mux:选择用于RTC模块的时钟源,包括LSE、LSI和HSE的1/128分频输出。
  • LSE, LSI, HSE_RTC:分别为32.768 kHz的LSE时钟,40 kHz的LSI时钟,以及HSE时钟的分频输出。
系统时钟路径
  • PLL Source Mux:选择PLL的输入源,HSE或者HSI都可以作为输入源。图中选择了HSE作为PLL输入源。
  • HSI 8 MHz 或 HSE,默认选择 HSE 时钟。
PLL(Phase Locked Loop)
  • PLL源时钟分频器:HSE被1分频(即不改变频率)后输入PLL。
  • PLL倍频器:设置为8倍,即HSE的8 MHz被倍频到64 MHz,作为PLLCLK输出。
系统时钟选择

System Clock Mux:选择系统主时钟(SYSCLK)的源。可以选择HSI、HSE或PLL。图中选用了PLL时钟。

时钟分频器
  • AHB Prescaler:AHB总线分频器,图中设置为1倍,不对时钟进行分频,输出的HCLK与SYSCLK相同,都是8 MHz。
  • HCLK:核心时钟(HCLK),用于CPU和内存总线。最大值为72 MHz,当前设置为8 MHz。
  • APB1 Prescaler:APB1外设总线分频器,设置为2倍。因为APB1最大允许时钟为36 MHz,分频后得到APB1总线时钟为4 MHz。
  • APB2 Prescaler:APB2外设总线分频器,设置为1倍,输出与HCLK一致,8 MHz。
外设时钟
  • PCLK1:APB1外设时钟,分频后为4 MHz。
  • PCLK2:APB2外设时钟,与HCLK相同,为8 MHz。
    USB Prescaler:USB时钟分频器,配置为1倍,输出64 MHz(PLL输出)用于USB时钟。
关键模块的时钟频率
  • I2S2, I2S3:音频接口I2S时钟,8 MHz。
  • SDIO:SD卡接口时钟,8 MHz。
  • FCLK:闪存接口时钟,8 MHz。
  • Cortex系统定时器:用于Cortex-M核心系统的时钟,8 MHz。
  • ADC Prescaler:ADC时钟分频器,当前设置为2倍,ADC时钟为4 MHz。

外设在总线上的分布

  • 在STM32的总线上,外设分布在不同的总线(AHB、APB1、APB2)上,下面是主要外设的分类:
AHB(Advanced High-Performance Bus)总线上的外设:
  • AHB总线通常用于高速外设和DMA控制器,负责连接核心系统、存储器以及外设。

  • 主要的外设包括

  1. DMA(Direct Memory Access)控制器:用于内存与外设之间的直接数据传输。
  2. FSMC(Flexible Static Memory Controller):用于连接外部存储器,如SRAM、NOR Flash等。
  3. SDIO(Secure Digital Input Output):用于连接SD卡的接口。
  4. 以太网MAC(Ethernet MAC):如果支持,以太网控制器通常也连接到AHB总线。
  5. USB OTG(On-The-Go):用于USB连接的外设。
  6. 闪存接口(Flash Interface):负责与内部闪存进行通信。
APB1(Advanced Peripheral Bus 1)总线上的外设:
  • APB1总线连接低速外设,最大工作频率通常是36 MHz。
  • 主要的外设包括:
  1. TIM2 - TIM7:通用定时器2到7,低速定时器,用于计时、脉冲宽度调制(PWM)等。
  2. USART2、USART3、UART4、UART5:串行通信外设,用于串口通信。
  3. I2C1、I2C2:I2C接口,用于与I2C兼容设备进行通信。
  4. SPI2、SPI3:SPI接口,用于高速串行数据通信。
  5. CAN:控制器局域网(CAN)通信接口。
  6. DAC(Digital-to-Analog Converter):数字-模拟转换器,用于模拟信号输出。
  7. PWR:电源管理外设。
  8. WWDG(Window Watchdog):窗口看门狗定时器,用于系统复位。
  9. IWDG(Independent Watchdog):独立看门狗,用于系统保护。
APB2(Advanced Peripheral Bus 2)总线上的外设:
  • APB2总线连接高速外设,最大工作频率可以达到72 MHz。
    主要的外设包括:
  1. TIM1、TIM8:高级定时器1和8,通常用于电机控制、PWM输出等。
  2. USART1:高速串口,用于高速通信。
  3. SPI1:高速SPI接口。
  4. ADC1、ADC2、ADC3:模数转换器(ADC),用于模拟信号采样和转换。
  5. EXTI(External Interrupt Controller):外部中断控制器,用于处理外部引脚中断。
  6. GPIOA - GPIOG:通用输入输出口,用于与外部设备进行交互。
  7. SYSCFG:系统配置控制器,用于配置系统参数,如复位和时钟。
其它外设:

RTC(Real-Time Clock):实时时钟,用于时间管理,通常连接在低速时钟(LSI或LSE)上。
CRC:循环冗余校验(CRC)计算单元,用于数据完整性校验。

注意事项
  1. Timer Clock(定时器时钟)
    定时器时钟是专门为定时器(Timer)模块提供的时钟信号,特别是那些用于计时、PWM生成、捕获和比较等操作的硬件定时器。
  2. Peripheral Clock(外设时钟)
    外设时钟是为其他外设模块(非定时器)提供的时钟信号。与定时器时钟不同,外设时钟直接来自APB1或APB2的时钟分频器,不会经过额外的倍频。
  3. 定时器时钟主要负责与定时器相关的任务(如PWM、捕获比较),而外设时钟负责一般外设的运行。
  • 11
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值