分享

自由运行时钟(free running clock)FCLK

 zxx8808 2011-08-06

ARM技术注:FCLK 为处理器的自由振荡的处理器时钟,用来采样中断和为调试模块计时。在处理器休眠时,通过FCLK 保证可以采样到中断和跟踪休眠事件。 Cortex-M3内核的“自由运行时钟(free running clock)”FCLK。“自由”表现在它不来自系统时钟HCLK,因此在系统时钟停止时FCLK 也继续运行。FCLK和HCLK 互相同步。FCLK 是一个自由振荡的HCLK。FCLK 和HCLK 应该互相平衡,保证进入Cortex-M3 时的延迟相同。

关于Systick的时钟问题

对于我这个初学者来说,时钟很重要,也是最容易搞混的,所以学习这部分,我又一遍一遍的去理解STM32内的各种时钟。那么第一个我认为要明确是,STM32为了实现低功耗,当你某个外设不使用的时候,便可以将这个外设的时钟关掉。所以,相反在使用外设时,一定要把相应的外设时钟开启。

在STM32中,驱动系统时钟的时钟和系统时钟不是一个概念,通过手册介绍可以看出:

三种不同的时钟源可被用来驱动系统时钟(SYSCLK):

● HSI振荡器时钟 高速内部时钟

● HSE振荡器时钟 高速外部时钟

● PLL时钟

这些设备有以下2种二级时钟源:

● 40kHz低速内部RC,可以用于驱动独立看门狗和通过程序选择驱动RTC。RTC用于从停机/待机模式下自动唤醒系统。

● 32.768kHz低速外部晶体也可用来通过程序选择驱动RTC(RTCCLK)。

并且通过手册上的结构图也可以清楚地了解,以上都是用来驱动系统时钟的。也就是说HSI,HSE,PLL时钟等产生了系统时钟SYSCLK,这个时钟是最开始的。

那么,在Systick的时钟设置上有两种模式:

1,外部时钟,HCLK/8                 2,内部时钟 ,HCLK

那么HCLK是从哪里来的呢,我们再看手册上的结构图,晶振时钟进来之后,来驱动系统时钟SYSCLK,SYSCLK并没有直接用来驱动外设,而是要经过AHB预分频器来调整芯片使用者的时钟,那么经过AHB预分频出来的时钟就叫做HCLK,到这里终于知道了HCLK的来历吧。那么,在系统初始化的时候,我们设置RCC时,就可以根据手册,来设置我们所需要的时钟了。

如果你仔细看数据手册的话,会发现还有个时钟,就在Systick下面,它叫做FCLK,STM32手册上说这是CM3的自由时钟(我看到这里,本来前面的时钟还搞得清楚,但是这里之后又不明白了,于是查看CM3技术参考手册),于是找到如下一段解释FCLK的话:

       Free running processor clock, used for sampling interrupts and clocking debug blocks. FCLK
ensures that interrupts can be sampled, and sleep events can be traced, while the processor is
sleeping.

       看完也是半懂不懂得,只是知道这个时钟跟中断,睡眠唤醒有关,于是在往下面看:

FCLK and HCLK are synchronous to each other. FCLK is a free running version of
HCLK. For more information, see Chapter 7 Power Management. FCLK and HCLK
must be balanced with respect to each other, with equal latencies into the processor.

这里说了HCLK与FCLK的关系,我英文不好,理解为FCLK与HCLK并需相等,而且更重要的是要同步。

我想到这里,大家应该可以初步理解一点了,我是这么认为的,HCLK是可以驱动各种外设的时钟,而这些外设由于一些需要或者操作可以产生中断等信号,这个信号要到CM3内核中进行处理,如果CM3内核的时钟与这些外设的时钟不同步,那么可以设想外设的中断请求可能会由于不同步而导致内核处理延误,中断不能得到及时响应,这要是发生在对要求实时性很高的情况下,会造成严重的后果。这是对这二者同步的理解。但是同样会问,那么直接将HCLK接过来就可以,还要FCLK做什么,还是理解的不透彻,于是在看下面的文字,看样子跟电源管理有关。而且这个FCLK在睡眠模式中是必不可少的,似乎在睡眠的时候,只有FCLK在运行,并且还要检测中断,FCLK与SLEEPING通过决定着HCLK。(还是不太懂,求高人指点)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多