Helper2416:裸机第二步之时钟配置
2014-08-10 19:03
190 查看
时钟,在一个完整的系统运行过程中的重要性不言而喻。有人曾把它比作是心脏起搏器,感觉十分贴切。因为其关乎到指令运行的周期时间。对于2416这样较为高级的芯片来说,时钟方面还是比较给力的。从芯片手册可以轻易了解到各时钟的来龙去脉:
通过OM[0]管脚和CLKSRC寄存器可以对时钟来源进行选择:外部时钟XTI(原理图中可以轻易发现其为12MHZ晶振)或内部时钟EXTCLK,再经由两个锁相环PLL进行频率调整,达到更高频率以便于使用。更具体的外设时钟来源可以参考下边图片:
对于各时钟值,这张表格给出了很好的说明:
为保证核心板正常工作,需要对ARMCLK进行配置;为保证接下来的UART能使用,我们选择开启PCLK,至于其他相关外设,需要用到时再开启。
与时钟相关的寄存器有:LOCK(计数稳定时间)、CON0(分频寄存器)、DIV(分频)、CON(Fin的倍频)、SRC(控制时钟总的来源)
为保证正确的频率,强烈建议时钟设置顺序为:LOCK、DIV、CON、SRC
1)LOCK:建议写入的锁时时间大于300us,这里选择默认即可
2)DIV:不同倍数以便于进行分频,关于这点,官方给出了参考值:
于是对CLKDIV寄存器进行如下设置:
3)SRC:设置CLKSRC寄存器选择总的时钟来源,其他选择默认即可
MPLLCON:设置MPLL的时钟来源
计算公式如下:
输入为12MHZ,目标频率为800MHZ,选择m为0x190,p为3,s为1
EPLLCON:选择默认值即可
由于开发板没有引出管脚便于我们用示波器进行观察,故时钟配置成功与否通过下一个串口实验来判定
通过OM[0]管脚和CLKSRC寄存器可以对时钟来源进行选择:外部时钟XTI(原理图中可以轻易发现其为12MHZ晶振)或内部时钟EXTCLK,再经由两个锁相环PLL进行频率调整,达到更高频率以便于使用。更具体的外设时钟来源可以参考下边图片:
对于各时钟值,这张表格给出了很好的说明:
为保证核心板正常工作,需要对ARMCLK进行配置;为保证接下来的UART能使用,我们选择开启PCLK,至于其他相关外设,需要用到时再开启。
与时钟相关的寄存器有:LOCK(计数稳定时间)、CON0(分频寄存器)、DIV(分频)、CON(Fin的倍频)、SRC(控制时钟总的来源)
为保证正确的频率,强烈建议时钟设置顺序为:LOCK、DIV、CON、SRC
1)LOCK:建议写入的锁时时间大于300us,这里选择默认即可
2)DIV:不同倍数以便于进行分频,关于这点,官方给出了参考值:
于是对CLKDIV寄存器进行如下设置:
3)SRC:设置CLKSRC寄存器选择总的时钟来源,其他选择默认即可
MPLLCON:设置MPLL的时钟来源
计算公式如下:
输入为12MHZ,目标频率为800MHZ,选择m为0x190,p为3,s为1
EPLLCON:选择默认值即可
由于开发板没有引出管脚便于我们用示波器进行观察,故时钟配置成功与否通过下一个串口实验来判定
相关文章推荐
- Helper2416开发板学习②配置/etc文件夹
- 七、mini2440裸机程序之定时器中断(2)时钟相关寄存器配置
- Helper2416:裸机第一步之点亮LED
- “裸机”下VS2005配置OGRE完全攻略
- Linux下时钟时区以及时间同步的命令和配置
- 汇编语言裸机实现时钟程序-BCD转ASCII,修改中断向量表
- 以本地时钟配置NTP
- Linux(Unix)时钟同步ntpd服务配置方法(转载)
- u-boot与uClinux下系统时钟和波特率配置文件
- 裸机系列——2440实时时钟
- 路由器DCE配置时钟频率
- 远程配置linux裸机 RHAS 3.0上的Oracle 9i的安装
- 迈向flex 的第二步 ----FLEX 与 VS 2008 利用 FluorineFx 开发快速配置演示 (二)
- uboot优美代码赏析3:系统时钟配置
- 2440裸机之ADS环境配置
- 【转】 STM32芯片时钟配置
- jsp环境的配置-jdk(1.6)和tomcat6.0-第二步 tomcat 6.0 的安装
- S3C2440时钟配置与学习
- 裸机系列——2440时钟
- msp430f149学习心得之一 时钟配置