FCLK ->CPU
HCLK->AHB总线
PCLK ->APB总线
两个锁相环(PLL)
MPLL->FCLK HCLK PCLK
UPLL ->USB(48M)
时钟来源
外部晶振->PLL->FCLK->HCLK->PCLK
必须先配置MPLLCON MPLL才会输出系统时钟
在软件重新配置PLLCON 寄存器之前系统时钟使用晶振时钟,即如果不配置PLLCON则系统时钟为晶振时钟(12M)(即上电后要想使用PLL放大晶振频率就要配置 MPLLCON)
CLKDIVN寄存器中HDIVN和 PDIVN 决定FCLK HCLK PCLK之间的比例
HDIVN:1 PDIVN:1 可以使FCLK HCLK PCLK之间的分频比例为1:2:4
但是 如果 HDIVN 不为 0,CPU 总线模式应该使用以下指令使其从快总线模式改变为异步总线模式(S3C2440不支持同步总线模式)。
MMU_SetAsyncBusMode
MRC p15, 0, r0, c1, c0, 0
ORR r0, r0, #R1_nF:OR:R1_iA
MCR p15, 0, r0, c1, c0, 0
不添加此指令的影响
如果 HDIVN 不为 0 并且 CPU 总线模式为快总线模式,CPU 运行在 HCLK
MPLLCON寄存器配置
MDIV [19:12] 主分频器控制
PDIV [9:4] 预分频器控制
SDIV [1:0] 后分频器控制
晶振经过锁相环PLL后时钟计算公式为:
Mpll = ( 2 × m × Fin ) / ( p × 2 s )
m = M(分频器 M 的值)+ 8
p = P(分频器 P 的值)+ 2
s = SDIV
UPLL 控制寄存器
Upll = ( m × Fin ) / ( p × 2 s )
m = ( MDIV + 8 )
p = ( PDIV + 2 )
s = SDIV
当你设置 MPLL 和 UPLL 的值时,你必须首先设置 UPLL 值再设置 MPLL 值。(大约需要 7 个 NOP 的间隔)
如果要设置S3C2440 CPU工作在200MHZ可配置
MDIV = 100
PDIV = 1
SDIV = 2
重点:
即上电后要想使用PLL放大晶振频率就要配置 MPLLCON
先设置 UPLL 值再设置 MPLL 值
CLKDIVN:决定FCLK HCLK PCLK之间的比例
MPLLCON:决定晶振放大后的频率
配置CLKDIVN时注意总线模式切换
上一篇:S3C2440上电启动流程概述
下一篇:ARM9(S3C2440)时钟与定时器
推荐阅读最新更新时间:2024-11-19 22:46
设计资源 培训 开发板 精华推荐
- OP497GSZ-REEL精密绝对值运算放大器典型应用电路
- ESP8266烧录器 测试环版
- LT3091MPFE 基本可调线性稳压器的典型应用
- LT3467AES67 单节锂离子电池至 5V 升压转换器的典型应用
- AL8400EV1,基于 AL8400 线性 LED 驱动器的评估板
- LTC3638MPMSE 5V 至 140V 输入至 5V/250mA 输出和 20kHz 最小突发频率的典型应用电路
- TCR2BF25、200mA、2.5V 输出电压 CMOS 低压降稳压器的典型应用,在 SMV(SOT-25) 中具有自动放电功能
- 具有欠压锁定功能的 LT3990EMSE-5 5V 降压转换器的典型应用
- DC1925A-A,使用 LTC2378CMS-20、低功耗、高速、20 位、1 MSPS SAR 模数转换器的演示板
- 使用 Analog Devices 的 LT1328 的参考设计