这一节的目标是对板子上的时钟有一个初步的了解,并且能通过初步设置,为我们接下来的程序做准备。
1. 板子上的基本资源:
板载晶振12M
主时钟源和 USB 时钟源都是晶振
2. 手册中的相关项(按时钟进入的方向):
2.1 时钟的整体结构:
2.2 OM[ 3:2 ]:
从图中我们可以看到OM[] 起到可选择的作用(效果同三八译码器):
注意:
1.虽然MPLL在复位后就开始, MPLL输出 (Mpll) 并没有作为系统时钟, 直到软件写入有效值来设置MPLLCON
寄存器。 在设置此值之前, 是将外部晶振或外部时钟源提供的时钟直接作为系统时钟。 即使用户不想改变MPLLCON
寄存器的默认值,用户也应当写入与之相同的值到MPLLCON寄存器寄存器中。
2.OM[3:2]是用于当OM[1:0]为 11 时决定一个测试模式。
上电一瞬间时钟的状态:
需要注意 OM[3:2] 是引脚,不是寄存器,看原理图得知 OM[3:2] = 00 ,从前边的图中可以得到结论是主时钟源和 USB 的时钟源都是从外部晶振得到的。
2.3 MPLL :
这里有点需要说明:
当你设置MPLL 和UPLL的值时,你必须首先设置UPLL值再设置MPLL 值。 (大约需要7个 NOP的间隔)
一般情况下,pll不会关闭,这里包括上电。
对于pll的取值官方称很困难,给出了推荐值
如果你想私人定制你的时钟,公式如下:
MPLL Control Register
Mpll = (2 * m * Fin) / (p * 2^s)
其中:
m = (MDIV + 8)
p = (PDIV + 2)
s = SDIV
UPLL Control Register
Upll = (m * Fin) / (p * 2S)
其中:
m = (MDIV + 8)
p = (PDIV + 2)
s = SDIV
PLL值选择向导(MPLLCON)
1. Fout = 2 × m × Fin / ( p*2s ),Fvco = 2 × m × Fin / p
此处:m =MDIV+8, p=PDIV+2, s=SDIV
2. 600MHz ≤ FVCO ≤ 1.2GHz
3. 200MHz ≤ FCLKOUT ≤ 600MHz
4. 不要设置P 或M的值为0,这是因为设置P=000000,M=00000000 将会引起PLL的故障。
5. P 和M的合理范围为:1 ≤ P ≤ 62,1 ≤ M ≤ 248
6. pll稳定的最高频率是400MHZ
时钟计算举例:
ldr r0, =0x4c000014 //CLKDIV
mov r1, #3
str r1, [r0]
...
ldr r0, =0x4c000004 //MPLLCON
ldr r1, =((0x5c<<12)|(0x01<<4)|(0x02)) //MDIV=0x5c PDIV=0x01 SDIV=0x02
str r1, [r0]
m = (MDIV + 8) = 100
p = (PDIV + 2) = 3
s = SDIV = 2
Mpll = (2 * m * Fin) / (p * 2^s) = (2*100*12)/12MHz = 200MHz
从最开始的那张图可以看到,FCLK 直接用的是 Mpll 之后的时钟频率,中间没有分频。
从下面这张图中我们能看到UPLL 的频率只能有两个取值,并且给固定的单元供应频率:
2.4 FCLK,HCLK和 PCLK 介绍:
FCLK 是给 ARM920T 内核使用的
HCLK 是给 AHB总线使用的,具体涉及的硬件包括: memory 控制器,中断控制器,LCD控制器,DMA 和 USB 主机模式的AHB总线时钟
PLK 是给 APB 总线使用的,具体涉及的硬件包括:看门狗,iis,i2c,pwm的定时器,mmc接口,ADC,UART,GPIO,RTC 和 SPI。
UCLK 是给 USB 用的
下边的这两张图看着更清楚:
S3C2440可以对他们三个的比例进行设定:(其中的 HDIVN 和 PDIVN 属于 CLKDIVN 寄存器)
相关寄存器:
2.5 时钟要想到达具体的硬件(比如spi,i2c)还需要开启他们之间的开关:
上一篇:jz2440 ----移植自制的USB RTL8188EUS网卡驱动
下一篇:02-JZ2440裸机学习之系统时钟和UART串口实验
推荐阅读最新更新时间:2024-11-12 10:21
设计资源 培训 开发板 精华推荐
- EVAL-ADM1186-1EBZ,用于 ADM1186-1 四路电压排序器和监视器的评估板
- SiP12117 3A 电流模式恒定导通时间同步降压稳压器的典型应用
- 电子科大纪念卡
- KITFS5600SKTEVM: FS56评估板(带插座)
- LTC2656BUFD-L16 八路、16 位数模转换器的典型应用
- LTC2470 的典型应用 - 具有 10ppm/摄氏度最大精度基准的可选 208sps/833sps、16 位 ADC
- 使用 Analog Devices 的 ADM1024 的参考设计
- LTC3110IFE 2A 双向降压-升压型 DC/DC 稳压器的典型应用电路
- 使用 NXP Semiconductors 的 TL431AC 的参考设计
- LTC1734,具有 0mA、200mA、500mA 或 700mA 输出电流的可编程电流源