HAL库教程7:STM32的时钟系统

  STM32的时钟系统比较复杂,不像51单片机,可能只有一个时钟。原因:1、外设多,不同的外设有不同的时钟要求;2、功耗原因,速度越快,功耗越大,抗电磁干扰能力越弱。 此处以STM32F405为例,讲一点最常用的知识。其它的型号大同小异。

时钟 含义 特点
HSE 外部高速时钟信号 一般选择外接晶振,最常用的时钟信号。电机驱动板外接12Mhz
HSI 内部高速时钟信号 由单片机内部的16MHzRC振荡器生成,成本低,但精度低。默认的系统时钟,但实际使用的场合不多。
PLL 锁相环 由HSE或HSI提供时钟信号,主要用于生成高速系统时钟,STM32F405最高168Mhz,103 72Mhz 429 180Mhz
LSE 外部低速时钟信号 外接的32.768Khz晶振,用于驱动RTC时钟。RTC可以提供时钟、日历功能,功耗低精度高。
LSI 内部低速时钟信号 32Khz左右,功耗低,可在停机、待机状态下使运行,供看门狗和自动唤醒单元使用

  命名是很有规律的,H高 L低 I内 E外
  在使用CubeMX以前,理解并正确配置时钟系统并不是一件容易的事情。在中文参考手册6.2节,有关于时钟系统的说明。也配备了时钟树的图,但不如STM32CubeMX中的图直观,除了可以显示各个分支的含义、速度,还能动态修正设定值。
HAL库教程7:STM32的时钟系统_第1张图片
  不同的总线有不同的频率,不同的外设挂在不同的总线下,外设与总线的对应关系可以查看参考手册P52或数据手册P19。为了更适合初学者查阅,我把常用的外设与总线的对应关系总结如下:
HAL库教程7:STM32的时钟系统_第2张图片
  比如,我们想知道定时器3的时钟是多少,可以通过上表查出定时器3属于APB1。然后再找APB1的时钟,对于定时器来说是84Mhz,对于其它外设是42Mhz,所以Timer3的时钟是84Mhz。
HAL库教程7:STM32的时钟系统_第3张图片

你可能感兴趣的:(STM32)