新闻  |   论坛  |   博客  |   在线研讨会
Cortex-M0(Lpc111x)时钟系统解析(二)-原创
xiajiashan | 2012-08-29 10:30:49    阅读:3405   发布文章

 

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

六:主时钟六路输出

主时钟有六路输出,这六路又归纳为四类:

第一类:给系统时钟分频器

第二类:有四路,分别给SSP0外设时钟分频器(SSP0_PCLK)

UART外设时钟分频器(UART_PCLK)

SSP1外设时钟分频器(SSP1_PCLK)

SYSTICK定时器时钟分频器(SYSTICK_timer)

第三类:给看门狗时钟分频器(WDT_PCLK)

第四类:给CLKOUT引脚时钟分频器(CLKOUT pin)

6.1 系统时钟

这里的系统时钟,包括给CPU内核(AHB,APB,Cortex-M0/3 FCLK, HCLK、SysCon 和PMU),ROM,RAM,FLASH;及所有外设如:I2C,GPIO,timer,UART,AD,SPI等共19个。

那么cortex系统是怎么来设计这些时钟系统的呢?

首先,Cortex给这19种时钟的每个时钟设计了一个开关,那么,我们怎么操作这个开关呢?在lpc1114中是通过AHB时钟控制寄存器AHBCLKCTRL来操作的。

 

 

 

4.jpg
 

 

 

 

 

 

 

 

那么,系统时钟从哪里来呢?由图,我们很容易知道,是从主时钟通过“系统时钟分频器”得到。但是,为什么要分频呢?给AHB,APB外设时钟有的不能太快,比如I2C,所以要分频,大家好理解,但是给cortex的核心频率(FCLK,HCLK等)是越快越好啊,为什么还要经过“系统时钟分频器”来分频呢?

我想是为了睡眠状态,低功耗状态,待机状态等需要吧!!!在这个问题上我希望有人加入更深入的研究与讨论,如果哪位有做过相关研究,请补充!!!

6.2外设时钟

这里的外设时钟,指

分别给SSP0外设时钟分频器(SSP0_PCLK)

UART外设时钟分频器(UART_PCLK)

SSP1外设时钟分频器(SSP1_PCLK)

SYSTICK定时器时钟分频器(SYSTICK_timer)

这些外设时钟的输入时钟都来自于主时钟,因为,主时钟很高,有些外设接收不了这么高的时钟,所以要分频!

这里有个疑问,为什么I2C,A/D这些外设没有独立外设时钟分频器呢?(希望有人加入更深入的研究与讨论,如果哪位有做过相关研究,请补充!!!)

为什么UART有16位分频因子还要设计外设时钟分频器呢?(希望有人加入更深入的研究与讨论,如果哪位有做过相关研究,请补充!!!)

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

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

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

 

 

 

6.3 看门狗时钟

 

看门狗时钟有三个来源,

IRC振荡器;

看门狗振荡器;

主时钟;

具体选择哪个,由WDT 时钟源选择寄存器(WDTCLKSEL)决定!

 

5.jpg

看门狗时钟源选择后,还要经过一个分频器,当然你可以选择1分频(就是不分频)。

6.4 CLKOUT pin

首先,要搞清楚,什么是CLKOUT pin。CLKOUT pin,就是时钟输出引脚,或者说,在这个引脚上(PIO0_1)引脚上有象晶振一样的波形输出,这个有什么用呢?这个功能太好了,当你要接摄像头,或者视频转换类的芯片,这些芯片的输入频率有时候要根据应用变化,那么我们就可以接到这个引脚,也就是说,我们这个cpu,lpc1114可以提供一个晶振源给外设。

CLKOUT pin的时钟源有四个,分别是:

IRC振荡器;

系统振荡器;

看门狗振荡器;

主时钟;

具体选择哪个,由CLKOUT 时钟源选择寄存器(CLKOUTCLKSEL)决定。

6.jpg
 

选择时钟源后,CLKOUT pin的分频器就不用介绍了吧!!!

索漫赠言:

不要被这些错综复杂的关系搞糊涂,觉得很麻烦就不去理清楚,其实当你试着去理清晰的时候,你会发现很有意思!整个过程也增加了自己探索未知的兴趣!!!

当我把这篇文章写完时,Cortex的时钟系统已经非常清晰,而且已经觉得非常简单!!!

2012-6-19

写于上海松江

作者:下家山(请尊重原创, 转载请注明) http://www.xiajiashan.com,有什么问题可与我联系:ximenpiaoxue4016@sina.com

 

 

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

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