新闻  |   论坛  |   博客  |   在线研讨会
Cortex-M0(Lpc111x)时钟系统解析(一)---上海索漫培训教材
xiajiashan | 2012-08-29 10:29:13    阅读:1231   发布文章

 

LPC1114系统时钟原理(作者:下家山(请尊重原创,转载请注明) http://www.xiajiashan.com )

一:复杂与灵活

从51过渡到Cortex-M0/3的人,觉得最大的变化也许是时钟系统!而且,往往在心底里面抱怨:为什么把一个时钟搞得这么复杂!有此怨言之人,往往还没有领悟到Cortex的真谛。

我举个日常的例子!数码相机大家都用过,就三个按钮,一个电源开/关,一个快门开关,一个旋钮(选择录像,拍照,场景等)。大家都很喜欢,因为很方便,所以以前叫傻瓜相机,但卖数码相机的人为了给用户面子,后来并不叫傻瓜相机。但是,数码相机对于专业人士来说没任何用途,因为他给使用者的选择太少,就几个按钮,如果要焦距微调,曝光,白平衡,增益调节,无法实现!

这里,cortex把一个时钟搞的这么复杂是为了给用户更自由方便的控制。Cortex可以让用户控制到每一个模块的时钟。而且,复位状态大部分模块时钟是关闭的,当你要用到那个模块时再打开。所有这些目的,是为了”低功耗”。

二:逻辑框图更能说明问题

很多初学者很反感cortex datasheet里面时钟功能框图,而且很不愿意去看它(主要是看不懂)。但是,有经验的工程师,其实最先看的是各种图,他们没有那么多时间去看详细的文字描述。

下面,我们就从LPC1114时钟系统框图入手!

1.jpg
三:主时钟

我们看“1”部分,这部分是主时钟,有四根线进来。这四根线分别是:

IRC振荡器时钟,看门狗振荡器时钟,PLL前时钟,PLL后时钟。

(IRC是什么,PLL是什么)

好,这又要涉及到“2”部分图,在2图里面,产生了两个时钟,一个sys_pllclk_in,和sys_pllclk_out。

sys_pllclk_in:系统PLL输入时钟,即提供给PLL的输入时钟。这提供给PLL的输入时钟来源有三种:即

IRC,看门狗,系统振荡器。

呵呵,什么是系统振荡器???

IRC就是内部振荡器,就是集成在芯片里面的一个振荡器。

PLL是锁相环,就是用来倍频的一个内部电路,有了它,12M的频率可以提高到48M,或者72M。

系统振荡器,就是我们焊接的外部晶振。

===================================================================

By 下家山 Q群 75303301 上海松江文汇路928号258室 松江大学城 8/5/2012

上海索漫科技 http://www.xiajiashan.com 专注嵌入式(ARM7,Cortex-M0,Cortex-M3,ARM9,linux)培训====================================================

四:PLL输入时钟

既然PLL输入时钟有三个来源,那么怎么选择呢?

LPC1114(Cortex-M0)是通过SYSPLLCLKSEL寄存器来选择的

2.jpg

具体选择哪种,用户自己设置!(不难理解吧)

五:主时钟来源

主时钟,四个来源中的两个,一个是sys_pllclk_in一个是sys_pllclk_out,这两个时钟之间就隔了一个“系统PLL”,这个系统PLL是什么呢?呵呵,系统PLL的文章可大了!我们这里先不详细介绍,你在这里只需把它当作一个黑盒子,这个黑盒子就是一个放大器,比如,进去是时钟是12M,出来的时钟可以达到48M。就这么简单。

好,主时钟进来的四根线都搞清楚了,那么这四根线该选择哪根呢?

LPC1114(Cortex-M0)是通过MAINCLKSEL寄存器来选择的

3.jpg

具体选择哪种,用户自己设置!

 

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
02年接触ARM和ucos,开发过有线和无线图像报警器,IPCamera,人脸识别系统,OCR识别系统,指纹识别系统,05年开始从事Linux及Rtems下WiFi,camera,Ethernet等驱动开发工作,专做嵌入式linux培训,致力于把我十年来的研发经验传授给每一个学员,招人的可以找我,ximenpiaoxue4016@sina.com
推荐文章
最近访客