Stm32复习之时钟系统

时间:2024-01-14 13:43:02

地点:南图

这部分的内容是整个STM32学习知识的核心,不管是什么微控制器处理器,时钟系统都是其核心类似于人之心脏,因此学好理解这一章节至关重要。

为了便于理解这一系统,将从以下几个层次来讲。(忘了是在哪儿看到的这么一句话,当你能对某人解释清楚某一部分知识,那么说明你已经完全掌握了它) 。

1、第一个层次:硬件

STM32的时钟源 可以有以下5个来源:

(1)HSI高速的内部时钟

8M的RC震荡时钟,相对于晶体振荡器精确度差些,因此在需要精确频率或定时的应用时,应选用HSE作为系统时钟。这个是在STM32内部的,在没有外接晶体振荡器的时候,系统的时钟就会用此作为时钟源。

(2)HSE高速的外部时钟

允许外接4~16M频率的晶体振荡器 ,相比于内部的RC晶体振荡器精确度高些。通常最小系统板上接的椭圆形扁平的就是8M的晶体谐振器。

(3)LSI低速的内部时钟

因为现阶段不会用到,所以没细看。大致功能是作为RTC的时钟源。

(4)LSE低速外部时钟

同(3)。

(5)外部的输入时钟

可以使用其他单片器或时钟电路的输入方波作为时钟源,接入的引脚是OSC_IN,输入的必须是占空比为50%的方波或三角波。

2、第二层次:时钟系统内的时钟源细分

这部分的分析从源头出发分析,着重分析系统时钟SYSCLK的来源。

(1)sysclk的时钟来源。(SYSCLK允许的最大频率是72MHZ)

有三个来源:

HSE:提供8MHZ频率给SYSCLK

HSI:同HSE

PLL :PLL是第二级的时钟源,他的时钟来源是HSE(HSE/2、HSE)或HSI(HSI/2),输出的频率是倍频之后的频率。

这部分的内容重点是SYSCLK的来源,SYSCLK的作用是直接作为外设和AHB总线的时钟源(这样表述好像有问题)。

(2) AHB时钟源(对应时钟频率HCLK)

来源是SYSCLK分频之后,因此频率最大的情况是1分频时即72MHz。AHB的作用是作为APB1和APB2的时钟源,以及8分频后作为Cortex的外部时钟(Systick)

(3)APB1低速时钟总线

APB1低速时钟总线的作用是作为挂载在上面的外设的时钟源,最大36MHz。

(4)APB2高速时钟总线

最大72Mhz。

3、重要外设时钟源分析

(1)定时器

高级定时器TIM1、TIM8是挂载在APB2上的,其他定时器TIM2~TIM7挂载在APB1上。值得注意的是定时器的时钟频率取决于分频系数,当分频系数为1时,则其时钟频率和相应总线频率相等,其他分频系数,时钟频率为总线频率的2倍。