刚看完韦东山老师的教学视频,写个随笔巩固一下下。
2440芯片上不止有cpu,还有 AHB高速总线(LCD,中断,USB,内存 控制器等),APB低速外设总线(I2C,I2S,GPIO等)。存在3个时钟,FCLK,HCLK(AHB),PCLK(APB).
2440有一个12m的晶振(时钟源),是通过锁相环PLL硬件实现倍频。2440芯片有两个PLL:MPLL、UPLL,时钟源经过MPLL, MPLL和UPLL (供给USB)通过 M、P、S 这3个参数确定FCLK输出频率。MPLL通过HDIVN和PDIVN分频之后确定HCLK和PCLK的频率,通过通过设置MPLL、HDIVN、PDIVN 给CPU提速。
2440CPU 启动过程。
1.上电之后,复位芯片等待电源稳定,会处于低电平一段时间,电源稳定之后才输出高电平。
2.根据OM[3:2]的值,此时的FCLK为12MHZ(时钟源的频率)
3.复位芯片输出高电平之后,会锁存OM[3:2]的值。
4.设置PLL的值,此时PLL开始工作,并等待PLL输出稳定之后(LOCK TIME寄存器)
5.FCLK输出新时钟。
涉及寄存器
设置CLKDIVN寄存器设置HDIVN和PDIVN。
设置MPLL寄存器
具体如何设置MDIV PDIV SDIV,下图提供了相关参考:
具体代码如下:
1 //设置LOCKTIME
2 ldr r0, =0x4C000000
3 ldr r1, =0xFFFFFFFF
4 str r1, [r0]
5
6 //设置MPLL FCLK:HCLK:PCLK = 400:100:50(1:4:8)
7 ldr r0, =0x4C000014
8 ldr r1, =0x5 //CLKDIV = Ox5 (0b101)
9 str r1, [r0]
10
11 //设置cpu为异步模式
12 mrc p15, 0, r0, c1, c0, 0
13 orr r0, r0, #0xc0000000
14 mcr p15, 0, r0, c1, c0, 0
15
16 /*设置时钟以最高频率运行 400MHZ*/
17 //MPLL= (92 << 12) | (1 << 4) | (1 << 0)
18 ldr r0, =0x4C000004
19 ldr r1, =(92 << 12) | (1 << 4) | (1 << 0)
20 str r1, [r0]
上一篇:S3C2440 gpio
下一篇:s3c2440之点亮led
推荐阅读最新更新时间:2024-11-12 22:10
设计资源 培训 开发板 精华推荐
- UC3842B 高性能电流模式控制器的典型应用电路
- LT1236AILS8-5 精密、低噪声、2 极低通滤波电压基准的典型应用电路
- 使用 Analog Devices 的 LTC1261LIMS8-4 的参考设计
- esp32-s3-lite-box
- 面向MC24XS4系列的Freedom硬件
- 使用 IXYS 的 AXV-002 的参考设计
- ADR292GRUZ 低噪声、微功率 4.096V 精密电压基准的典型应用电路,具有开尔文连接的优势
- LTC3670 的典型应用 - 在 3mm -2mm DFN 中具有双路 150mA LDO 的单片式 400mA 降压稳压器
- 黄淮学院立创杯电子设计大赛-#991768A-#李庆博
- Raspberry Pi Model B+,基于BCM2835 ARM11应用处理器的评估板