s5pv210的时钟系统和时钟的编程方式
来源:互联网 发布:数据机房建设方案 编辑:程序博客网 时间:2024/04/30 09:37
编程的基本的过程:
1,使能PLL配置寄存器[31]=1,设置PMS
2,设置locktime
3,设置分频寄存器CLK_DIV
4, 设置时钟源 CLK_SRC
P M S
APLL PMS Value: 3 125 1 (1000M)
MPLL PMS Value: 12 667 1 (667M)
EPLL PMS Value: 3 48 2 (96M)
VPLL PMS Value: 6 108 3 (54M)
Turn on a PLL
(A,M,E,V)PLL_CON[31] = 1; // Power on a PLL (Refer to (A, M, E, V) PLL_CON SFR)
PLL_CON[31] = 1;
1.寄存器:
3.7.2 PLL CONTROL REGISTERS
3.7.2.1 PLL Control Registers (APLL_LOCK / MPLL_LOCK / EPLL_LOCK / VPLL_LOCK)
• (APLL_LOCK, R/W, Address = 0xE010_0000)
• (MPLL_LOCK, R/W, Address = 0xE010_0008)
• (EPLL_LOCK, R/W, Address = 0xE010_0010)
• (VPLL_LOCK, R/W, Address = 0xE010_0020)
APLL_LOCK : 30us
1/24 * 10 ^6 * n = 30 * 10^-6
n = 30 * 24;
MPLL_LOCK : 200us
n = 200 * 24
EPLL_LOCK : 375us
n = 375 * 24
VPLL_LOCK : 100us
n = 100 * 24
APLL_LOCK = 0x2d0
MPLL_LOCK = 0x12c0
EPLL_LOCK = 0x2328
VPLL_LOCK = 0x960
2.倍频:
对于APLL:
(1<<31)|(125<<16)|(3<<8)|(1<<0)
对于MPLL:
(1<<31)|(667<<16)|(12<<8)|(1<<0)
对于EPLL:
(1<<31)|(48<<16)|(3<<8)|(2<<0)
对于VPLL:
(1<<31)|(108<<16)|(6<<8)|(3<<0)
3.分频:
Clock Divider Control Register (CLK_DIV0, R/W, Address = 0xE010_0300)
APLL_RATIO [2:0]
ARMCLK = MOUT_MSYS / (APLL_RATIO + 1)
A2M_RATIO [6:4]
SCLKA2M = SCLKAPLL / (A2M_RATIO + 1)
HCLK_MSYS_RATIO [10:8]
HCLK_MSYS = ARMCLK / (HCLK_MSYS_RATIO + 1)
PCLK_MSYS_RATIO [14:12]
PCLK_MSYS = HCLK_MSYS / (PCLK_MSYS_RATIO + 1)
HCLK_DSYS_RATIO [19:16]
HCLK_DSYS = MOUT_DSYS / (HCLK_DSYS_RATIO + 1)
PCLK_DSYS_RATIO [22:20]
PCLK_DSYS = HCLK_DSYS / (PCLK_DSYS_RATIO + 1)
HCLK_PSYS_RATIO [27:24]
HCLK_PSYS = MOUT_PSYS / (HCLK_PSYS_RATIO + 1)
PCLK_PSYS_RATIO [30:28]
PCLK_PSYS = HCLK_PSYS / (PCLK_PSYS_RATIO + 1)
ARMCLK(1000) = MOUT_MSYS(1000) / (APLL_RATIO + 1) // 1/1 APLL_RATIO=0
SCLKA2M(1000) = SCLKAPLL (1000)/ (A2M_RATIO + 1) // 1/1 A2M_RATIO = 0
HCLK_MSYS(200) = ARMCLK(1000) / (HCLK_MSYS_RATIO + 1) // 1/5 HCLK_MSYS_RATIO =4
PCLK_MSYS(100) = HCLK_MSYS(200) / (PCLK_MSYS_RATIO + 1) //1/2 PCLK_MSYS_RATIO = 1
HCLK_DSYS(166) = MOUT_DSYS (667)/ (HCLK_DSYS_RATIO + 1) // 1/4 HCLK_DSYS_RATIO = 3
PCLK_DSYS(83) = HCLK_DSYS (166)/ (PCLK_DSYS_RATIO + 1) //1/2 PCLK_DSYS_RATIO=1
HCLK_PSYS(133) = MOUT_PSYS(667) / (HCLK_PSYS_RATIO + 1) // 1/5 HCLK_PSYS_RATIO = 4
PCLK_PSYS(66) = HCLK_PSYS(133) / (PCLK_PSYS_RATIO + 1) //(1/2) PCLK_PSYS_RATIO = 1
//CLK_DIV0 = (0<<0) | (0<<4)|(4<<8) | (1<<12)|(3<<16)|(4<<20)|(1<<24)--之前出错的地方
CLK_DIV0 = (0<<0)| (0<<4)|(4<<8) | (1<<12)|(3<<16)|(1<<20)|(4<<24)|(1<<28)
CLK_DIV6, R/W, Address = 0xE010_0318
CLK_DIV6 |= (4<<28)
4.时钟源:
3.7.3.1 Clock Source Control Registers (CLK_SRC0, R/W, Address = 0xE010_0200)
CLK_SRC0 = 0x1111;
- s5pv210的时钟系统和时钟的编程方式
- S5PV210的时钟系统
- S5PV210的时钟系统简介
- S5PV210的时钟系统(上)
- 实时时钟、系统时钟和CPU时钟的区别
- s5pv210时钟系统详解
- ARM时钟系统(S5PV210)
- S5PV210时钟系统
- 从零开始基于S5PV210的嵌入式时钟系统的分析
- 三星S5PV210(ARM Cortex-A8)的时钟分频系统
- 1.6.ARM裸机第六部分-S5PV210的时钟系统
- s5pv210 clock的时钟的发生过程
- linux的系统时钟和硬件时钟不一致问题
- 修改ARM linux的系统时钟和硬件时钟
- 4.S5PV210时钟设置的关键寄存器
- s5pv210——时钟系统
- 2. S5PV210系统时钟简介
- S5PV210 sys_clock编程流程 系统时钟功能模块操作
- Android Studio中SVN的配置
- 每周前端知识整理(15.07.26)
- Android批量打包提速 - 1分钟900个市场不是梦
- UNIX网络编程卷一:第四章 基本TCP套接字编程
- hdu1452
- s5pv210的时钟系统和时钟的编程方式
- Mac 學習系列之Git环境配置及使用
- HDU 2838
- Makefile经典教程(掌握这些足够)
- MyEclipse8.5下修改字体大小
- Linux正则表达式
- hdu 1312 Red and Black
- php小程序--记事本--防止为登陆直接打开页面
- 建设自己拥有的B2C网站一般需要什么样的插件以及大体花费