arm学习笔记-时钟(s3c2451)
2016-04-04 22:26
295 查看
主锁相环MPLL作为系统时钟的参考时钟
辅助锁相环EPLL作为特殊的功能块的参考时钟
MPLL的配置方法
OM【0】寄存器配置为0,则时钟源为XTl,配置为1,则时钟源为外部时钟EXTCLK
EPLL的配置方法
如下图配置CLKSRC【8】,CLKSRC【7】和OM【0】寄存器
正常状况下当改变MPLL时,此时会产生一段locktime,在改变PLL的这段时间,时钟不会作被提供给内部的资源
示例配置时钟REGITER产生特定的频率
eg:PLL 输出频率为533MHz时,
时钟 | ARMCLK | HCLK | PCLK | DDRCLK | SSMCCLK |
频率 | 533MHz | 133MHz | 66MHz | 266MHz | 66MHz |
配置寄存器 | ARMDIV | PREDIV | HCLKDIV | PCLKDIV | HALKHCLK |
值 | 4'b0000 | 2'b01 | 2'b01 | 1'b1 | 1'b1 |
时钟 | ARMCLK | HCLK | PCLK | DDRCLK | SSMCCLK |
频率 | 400MHz | 133MHz | 66MHz | 266MHz | 66MHz |
配置寄存器 | ARMDIV | PREDIV | HCLKDIV | PCLKDIV | HALKHCLK |
值 | 4'b0001 | 2'b10 | 2'b01 | 1'b1 | 1'b1 |
初始化时钟clock_init()
1.设置分频 CLKDIV0
2.设置locktime LOCKCON0
3.设置MPLL MPLLCON
4.设置时钟源 CLKSRC
公式:
ARMCLK = MPLLout/ARMCLK Ratio = MPLLout/(ARMDIV+1) = 800/2 = 400MHz
HCLK = MPLLout/HCLK Ratio = MPLLout/( (PREDIV+1) * (HCLKDIV + 1) ) = 800/(3*2) = 133MHz
PCLK = HCLK/PCLKDIV = 133/2 = 66MHz
(串口的时钟为PCLK)
参考程序:
相关文章推荐
- ACM学习网站、
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- Java总结篇系列:Java泛型
- 【杭电】[2076]夹角有多大
- c#怎么分析网页的DOM?
- oracle数据库什么情况下创建索引比较好
- TimesTen强大且简单的开发接口支持
- nodejs群聊和私聊
- 2.请把学生名与考试分数录入到Map中,并按分数显示前三名成绩学员的名字。
- 0404《构建之法》第四章读后感
- java web error:Choose unique values for the 'webAppRootKey' context-param in your web.xml files
- Android 学习笔记(3)—— ImageView/RadioButton/CheckBox
- shell 之 printf
- Codeforces Beta Round #6 (Div. 2 Only) C. Alice, Bob and Chocolate 水题
- 【FLUENT案例】03:冲蚀
- OpenStack 和 Hadoop 的区别是什么?
- 【备忘】
- Linux CPU亲缘性详解
- POJ 3069 Saruman's Army(贪心、思维)
- 学习四:高级查询语句