您的位置:首页 > 其它

时钟体系

2015-08-13 17:28 387 查看
1、2440时钟产生模块



S3C2440可以使用外部晶振(XTIpll(默认为12MHZ)

和外部时钟(EXTCLK)两种方式输入时钟信号。它由跳

线OM[3:2]决定。

S3C2440
默认的工作主频为12MHz

(晶振频率),S3C2440有两个PLLMPLLUPLL。通

MPLL会产生三个部分的时钟频率:FCLKHCLK

PLCKUPLL则负责产生USB所需时钟UCLK

2、2440有两个锁相环PLL(MPLL和UPLL)



3、时钟初始化流程



4、时钟工作流程

1、上电几毫秒后,晶振输出稳定,FCLK=晶振频率,nRESET信号恢复高电平后,CPU开始执行指令。

2、我们的程序开头启动MPLL,设置MPLL的寄存器

3、在设置MPLL的寄存器后,需要等待一段时间(LockTime),MPLL的输出才稳定。在这段时间(Lock Time)内,FCLK停振,CPU停止工作。Lock
Time的长短 由寄存器LOCKTIME设定。

4、Lock Time之后,MPLL输出正常,CPU工作在新的FCLK下。

5、时钟初始化--寄存器配置
1、设置locktime(LOCKTIME 寄存器)

2、设置分频系数(CLKDIVN 寄存器)

3、如果FCLK != HCLCK (即CLKDIVN 寄存器 PDIVN 位不为0)应设置CPU至异步模式。

4、设置UCLK与FCLK频率(UPLLCON 寄存器、MPLLCON 寄存器)

5、NOTE: When you set MPLL&UPLL values, you have to set the UPLL value first and then the MPLL value. (Needs intervals

approximately 7 NOP)

6、启动代码时钟初始化
#define CLKDIVN 0x4c000014
#define MPLLCON 0x4c000004
#define MPLL_405MHZ ((127<<12)|(2<<4)|(1<<0))

init_clock:
ldr r0, =CLKDIVN
mov r1, #0x5
str r1, [r0]

mrc p15,0,r0,c1,c0,0
orr r0,r0,#0xc0000000
mcr p15,0,r0,c1,c0,0

ldr r0, =MPLLCON
ldr r1, =MPLL_405MHZ
str r1, [r0]
mov pc, lr
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: