注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
fjjjnk1234的个人空间 https://home.eeworld.com.cn/space-uid-540201.html [收藏] [复制] [分享] [RSS]
日志

HELPER2416学习笔记4——S3C2416时钟体系

已有 2144 次阅读2014-7-26 14:20 |个人分类:HELPER2416学习笔记

HELPER2416学习笔记4——S3C2416时钟体系
参与HELPER2416开发板助学计划
首先,先说一下看数据手册发现的一点问题:下载了网友分享的S3C2416英文数据手册与君益兴光盘里的S3C2416数据手册,发现在时钟发生模块框图这部分有点不一样,S3C2416不带摄像头接口了吧。
网友分享的数据手册时钟发生模块框图:

光盘里的
所以数据手册还是不能随便下载啊通过时钟框图可以看出:S3C2416的主时钟晶振来自于外部晶振(XTI)或外部时钟(EXTCLK)。MPLL时钟源可以通过控制引脚OM[0]来选择,当OM[0]0时,主时钟晶振来自于外部晶振;当OM[0]1时,主时钟晶振来自于外部时钟。EPLL时钟源CLKSRC寄存器的两个位和控制引脚OM[0]共同选择。
S3C2416有两个锁相环:MPLLEPLL。以下是MPLLEPLL的框图:
从上图可以看出:MPLL用于产生:ARMCLKHCLKPCLKDDRCLKSSMCCLK时钟。ARMCLK用于ARM926EJS内核的时钟。HCLK用于AXI/AHB总线的外设PCLK用于APB总线的外设,具体的外设从上图可以很直观看到EPLL用于产生USBHOSTCLK的时钟。系统复位后EPLL是关闭的。接着分享时钟的启动流程:
从上图可以看出S3C2416时钟的启动流程:(1)系统上电几毫秒后,等到外部时钟或外部晶振输出稳定,此时SYSCLK=外部时钟或外部晶振频率,nRESET信号恢复高电平后,CPU开始执行指令。(2)在设置PLL的几个寄存器后,需要等待一段时间(成为Lock time),SYSCLK才输出稳定。在Lock time期间,SYSCLK停振,CPU停止工作。(可通过LOCKCON0LOCKCON1分别设置MPLLEPLLLock time(3) Locktime之后,SYSCLK输出正常,CPU工作在新的稳定频率中。接着与大家分享与S3C2416时钟频率设置的方法:几个与时钟频率设置相关的寄存器:
LOCKCON0LOCKCON1分别设置MPLLEPLL的锁定时间,数据手册要求大于300微秒接着以MPLL产生的时钟举例吧1)设置MPLLCON寄存器
从上图可知:MPLL输出的时钟频率主要通过设置MPLLCON寄存器的MDIV(最大值为1023)、PDIV(最大值为63)和SDIV(最大值为7),从原理图可知:晶振为12M,即Fin=12MHzMPLL的输出频率FOUT=(MDIV*12M)/(PDIV*2^SDIV)FOUT应该在40~1600MHz比如:MDIV设置为400PDIV设置为3SDIV设置为1FOUT=400*12/3*2=800MHz2)设置分频:设置CLKDIV0寄存器公式:ARMCLK=MPLLout/ARMCLK Ratio=MPLLout/(ARMDIV+1)HCLK= MPLLout/HCLKRatio= MPLLout/((PREDIV+1)*(HCLKDIV+1))PCLK=HCLK/PCLKDIV3)设置Lock time设置LOCKCON0寄存器(4)设置CLKSRC第四位置1,使用MPLL output作为MSYSCLK输入论坛IDfjjjnk1234提交时间:2014.07.26

本文来自论坛,点击查看完整帖子内容。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章