STM32时钟分配

STM32时钟分配STM32中有多达8个定时器,其中TIM1和TIM8是能够产生三对PWM互补输出 的高级定时器,常用于三相电机的驱动,它们的时钟由APB2的输出产生。其它 6个为普通定时器,时钟由A

STM32 时钟分配 STM32中有多达8个定时器,其中TIM1和TIM8是能够产生三对PWM互补输出的 高级定时器,常用于三相电机的驱动,它们的时钟由APB2的输出产生。其它6 个为普通定时器,时钟由APB1的输出产生。 下图是STM32参考手册上时钟分配图中,有关定时器时钟部分的截图: 36MHz 最大 —\PCLKI 至 APB1 外设, 20 个外设时钟使能位 TIM2,3,4,567APB1 如果 至 =1.x1 预分颇则输出, TIM2~7lW 2 否贝以输出 TIMXCLK 6 个外设时钟使能位 APB2 72ZHz 最大 PCLK2» 「乱分施 Z1,2,4,3,16 APB2 至外 设 15 个外设时仲使能位 TIM1&8 定时踞 TIM1 至和 TIM8 APB2=1, » 如果预分频 x12 刖输出,否则乂输出 TIMXCLK 2 个外设叶钟使能位 从图中可以看出,定时器的时钟不是直接来自APB1或APB2,而是来自于输入 为APB1或APB2的一个倍频器,图中的蓝色部分。 〜 下面以定时器27的时钟说明这个倍频器的作用:当APB1的预分频系数为1时, 这个倍频器不起作用,定时器的时钟频率等于APB1的频率;当APB1的预分频系 数为其它数值(即预分频系数为2、4、8或16)时,这个倍频器起作用,定时器 的时钟频率等于APB1的频率两倍。 假定AHB=36MHz,因为APB1允许的最大频率为36MHz,所以APB1的预分频系数可以 〜 取任意数值;当预分频系数二1时,APBl=36MHz,TIM27的时钟频率=36MHz (倍频器不起作用);当预分频系数二2时,APB1=18MHz,在倍频器的作用下, 〜 TIM27的时钟频率=36MHz。 有人会问,既然需要TIM2~7的时钟频率=36MHz,为什么不直接取APB1的预分频系 数二1?答案是:APB1不但要为TIM2~7提供时钟,而且还要为其它外设提供时 钟;设置这个倍频器可以在保证其它外设使用较低时钟频率时,TIM2,仍能得到较 高的时钟频率。

腾讯文库STM32时钟分配