STM32时钟树分析
作者:互联网
对于刚接触STM32的时钟树,对时钟树的理解,可以重点先思考两个问题:
1、时钟从哪里来:时钟源。
2、时钟怎么供给STM32的系统工作:时钟的流向(输入——>处理——>输出)
下面以STM32F4系列的时钟树为例,分析以上两个问题。以下图是STM32F4系列的时钟树。
问题一、时钟从哪里来:时钟源。 STM32的时钟源主要有:内部时钟、外部时钟、锁相环倍频输出时钟。内部时钟、外部时钟又分为告诉时钟、低速时钟。锁相环倍频输出时钟又主PLL时钟、PLLI2S时钟。具体如下图所示。 1、LSI低速内部时钟:由内部RC振荡器产生,频率为32kHz。如图区域①; 2、HSI高速内部时钟:由内部RC振荡器产生,频率为16MHz。如图区域②; 3、LSE低速外部时钟:一般由外部晶振提供,频率为32.768kHz。如图区域③; 4、HSE低速外部时钟:一般由外部晶振提供,频率为4~26MHz。如图区域④; 5、主PLL时钟:由HSE或HSI提供。如图区域⑤; 6、PLLI2S时钟:由HSE或HSI提供。如图区域⑥;
问题二、时钟怎么供给STM32的系统工作:时钟的流向 我们已经知道了各个时钟源的输入,那么有了输入的时钟源,各个时钟源又是分别输出给哪些外设工作。我们分别从时钟源输入处开始,根据走线和结点,寻找到相应的输出。对应编号如下图中所示。 1、LSI低速内部时钟:供给独立看门狗⑴、实时时钟RTC⑵ 2、HSI高速内部时钟:供给系统时钟⑸、时钟输出1MCO1⑷、主PLL时钟⑹、PLLI2S时钟⑺ 3、LSE低速外部时钟:供给实时时钟RTC⑵、时钟输出1MCO1⑷ 4、HSE低速外部时钟:供给系统时钟⑸、实时时钟RTC⑵、主PLL时钟⑹、PLLI2S时钟⑺、时钟输出1MCO1⑷、时钟输出2MCO2⑶ 5、主PLL时钟:供给系统时钟⑸、外设时钟⑻、时钟输出1MCO1⑷、时钟输出2MCO2⑶ 6、PLLI2S时钟::供给I2S时钟⑼、时钟输出1MCO1⑷、时钟输出2MCO2⑶
HSI、HSE、主PLL时钟都可以供给系统时钟⑸,STM32的很多外设是挂载在AHB、APB总线桥上的,这些外设的时钟又是怎么样的,这就和系统时钟的流向有关了,系统时钟的流向分析如下: 1、供给时钟输出2MCO2⑶ 2、供给以太网PTP时钟⑽ 3、经AHBPRESC预分频器⑾后:HCLK到AHB总线、内核、存储器和DMA⒁,到Cortex系统定时器⒂,自由运行时钟⒃ 4、经AHBPRESC预分频器⑾、APBxPRESC预分频器⑿后:供给APBx外设时钟⒄ 5、经AHBPRESC预分频器⑾、APBxPRESC预分频器后⑿,再经倍频条件判断⒀处理后:供给APBx定时器时钟⒅
用多个时钟源、分层控制时钟的好处: 1、一个外设有多个时钟源:可以根据需要选择相应频率的时钟源。 2、分层、分开控制外设时钟:使得各个外设的时钟都是可控的,各个外设有对应的时钟控制开关,实际应用过程根据需要开启相应外设时钟,不需要的外设时钟不开启,可以降低功耗。
有了以上对STM32时钟树的理解后,我们知道了各个时钟源的输入和输出后,可以进一步理解STM32时钟树: 1、从时钟源的输入到输出这两个节点,中间过程,是怎么处理的:即STM32时钟树涉及的的分频器、倍频器该怎么配置,即如何配置系统时钟、外设时钟? 本文尚未涉及该问题分析。
下面以STM32F4系列的时钟树为例,分析以上两个问题。以下图是STM32F4系列的时钟树。
问题一、时钟从哪里来:时钟源。 STM32的时钟源主要有:内部时钟、外部时钟、锁相环倍频输出时钟。内部时钟、外部时钟又分为告诉时钟、低速时钟。锁相环倍频输出时钟又主PLL时钟、PLLI2S时钟。具体如下图所示。 1、LSI低速内部时钟:由内部RC振荡器产生,频率为32kHz。如图区域①; 2、HSI高速内部时钟:由内部RC振荡器产生,频率为16MHz。如图区域②; 3、LSE低速外部时钟:一般由外部晶振提供,频率为32.768kHz。如图区域③; 4、HSE低速外部时钟:一般由外部晶振提供,频率为4~26MHz。如图区域④; 5、主PLL时钟:由HSE或HSI提供。如图区域⑤; 6、PLLI2S时钟:由HSE或HSI提供。如图区域⑥;
问题二、时钟怎么供给STM32的系统工作:时钟的流向 我们已经知道了各个时钟源的输入,那么有了输入的时钟源,各个时钟源又是分别输出给哪些外设工作。我们分别从时钟源输入处开始,根据走线和结点,寻找到相应的输出。对应编号如下图中所示。 1、LSI低速内部时钟:供给独立看门狗⑴、实时时钟RTC⑵ 2、HSI高速内部时钟:供给系统时钟⑸、时钟输出1MCO1⑷、主PLL时钟⑹、PLLI2S时钟⑺ 3、LSE低速外部时钟:供给实时时钟RTC⑵、时钟输出1MCO1⑷ 4、HSE低速外部时钟:供给系统时钟⑸、实时时钟RTC⑵、主PLL时钟⑹、PLLI2S时钟⑺、时钟输出1MCO1⑷、时钟输出2MCO2⑶ 5、主PLL时钟:供给系统时钟⑸、外设时钟⑻、时钟输出1MCO1⑷、时钟输出2MCO2⑶ 6、PLLI2S时钟::供给I2S时钟⑼、时钟输出1MCO1⑷、时钟输出2MCO2⑶
HSI、HSE、主PLL时钟都可以供给系统时钟⑸,STM32的很多外设是挂载在AHB、APB总线桥上的,这些外设的时钟又是怎么样的,这就和系统时钟的流向有关了,系统时钟的流向分析如下: 1、供给时钟输出2MCO2⑶ 2、供给以太网PTP时钟⑽ 3、经AHBPRESC预分频器⑾后:HCLK到AHB总线、内核、存储器和DMA⒁,到Cortex系统定时器⒂,自由运行时钟⒃ 4、经AHBPRESC预分频器⑾、APBxPRESC预分频器⑿后:供给APBx外设时钟⒄ 5、经AHBPRESC预分频器⑾、APBxPRESC预分频器后⑿,再经倍频条件判断⒀处理后:供给APBx定时器时钟⒅
用多个时钟源、分层控制时钟的好处: 1、一个外设有多个时钟源:可以根据需要选择相应频率的时钟源。 2、分层、分开控制外设时钟:使得各个外设的时钟都是可控的,各个外设有对应的时钟控制开关,实际应用过程根据需要开启相应外设时钟,不需要的外设时钟不开启,可以降低功耗。
有了以上对STM32时钟树的理解后,我们知道了各个时钟源的输入和输出后,可以进一步理解STM32时钟树: 1、从时钟源的输入到输出这两个节点,中间过程,是怎么处理的:即STM32时钟树涉及的的分频器、倍频器该怎么配置,即如何配置系统时钟、外设时钟? 本文尚未涉及该问题分析。
标签:分析,输出,分频器,供给,STM32,外设,时钟 来源: https://blog.csdn.net/weixin_41543617/article/details/97247435