Arm STM32内部时钟

Arm STM32内部时钟,arm,clock,stm32,cortex-m,stm32f7,Arm,Clock,Stm32,Cortex M,Stm32f7,我对STM32F7设备(STMicroelectronics的Cortex-M7微控制器)上的时钟系统感到困惑。参考手册没有充分阐明这些时钟之间的差异: 系统时钟 HCLK FCLK 参考手册在章节>“RCC通过AHB时钟(HCLK)除以8为Cortex系统定时器(SysTick)的外部时钟供电。” 这一说法与CubeMX的数据相矛盾。注意,在CubeMX中,我可以选择自己作为预分频器,从HCLK到“Cortex System Timer”。它不一定是8的除法 正常情况下,HCLK和FCLK

我对STM32F7设备(STMicroelectronics的Cortex-M7微控制器)上的时钟系统感到困惑。参考手册没有充分阐明这些时钟之间的差异:

  • 系统时钟
  • HCLK
  • FCLK
参考手册在章节>“RCC通过AHB时钟(HCLK)除以8为Cortex系统定时器(SysTick)的外部时钟供电。”
这一说法与CubeMX的数据相矛盾。注意,在CubeMX中,我可以选择自己作为预分频器,从HCLK到“Cortex System Timer”。它不一定是8的除法


正常情况下,
HCLK
FCLK
之间的唯一区别是:

  • HCLK
    是主CPU时钟,也用于AHB接口。当CPU处于睡眠状态时,它可以被选通(例如WFI)
  • FCLK
    HCLK
    同步,但在CPU进入睡眠状态时不选通,以便在中断时可以唤醒

谢谢您,先生。你说的“门”是什么意思?SYSCLK只是一个中间时钟信号,HCLK和FCLK是从中派生出来的,但它本身并没有实际使用吗?是的,这是我从图表中理解的;所谓门控,我的意思是时钟可以在不需要的时候停止以节省电能。门控意味着它通过一个门。特别是一个与门,看看RCC寄存器中的所有时钟使能位,这些独立外围设备/逻辑块的独立位基本上与一个时钟进行AND运算(有时相反的是AND运算)。停止逻辑块上的时钟边缘可以节省大量电源,这在“微控制器”中非常常见。很难将cortex-m7称为微控制器,但它确实属于这一类。请注意,在复位时保持某种状态并仍然启用时钟并不一定意味着低功耗或最低功耗,因此时钟门的存在是为了防止时钟级联通过该块,可能会翻转组合门的实现(并消耗功耗)。谢谢@dwelch,这真的澄清了很多:-)请注意SYSCLK!=伊斯蒂克。SYSCLK是“系统时钟”,由系统时钟生成单元(SCGU)生成,用于驱动CPU和总线。SysTick是ARMv7-M标准的“系统滴答”计时器,常用作实时操作系统中的时基。有趣的@claymation,感谢您的评论:-)