soc时钟系统4月17 一个周末玩了三四天啊 速八真不错
来源:互联网 发布:淘宝店铺视频制作 编辑:程序博客网 时间:2024/05/16 03:12
学习朱有鹏朱老师嵌入式教学视频学习笔记 shfit键又坏了
大部分cpu采用三种方式;
外部直接输入时钟信号,soc引脚用来输入外部时钟信号,可以用在低频,用的很少
外部晶振加上内部时钟发生器。可以用在低频。大部分的单片机
外部晶振加上内部时钟发生器加上内部PLL锁相环产生高频时钟加上内部分频器分频得到各种频率的时钟,210就是这样。
210采用这种方式的原因;
第一;外部高频电路很复杂,干扰大。
第二;高频晶振价格高
第三 ;因为soc不同设备之间时钟频率不同,所以需要先统一高频,然后每个外设都有自己的分频器。
s5pv210的时钟系统简介;
时钟域;
MSYS.DSYS.PSYS
首先在s5pv210开发板上有三种时钟域
main system (MSYS) 包括cortexA8内核,dram控制器,IRAM,IROM
display system (DSYS) 和视频显示,编解码有关的。硬件编解码比如软件的快得多。
peripheral system (PSYS)。和内部的各种外设有关 GPIO,USB等
时钟产生过程 晶振加时钟发生器
s5pv210外接的晶振是USBXTI,所以给晶振模块上电后,得到原始时钟,经过一系列开关筛选,并经过PLL锁相环得到高频时钟。
四种PLL使用范围,在数据手册可以查看到;
APLL;Cortex A8 and MSYS clock domain uses APLL ( ARMCLK, HCLK_MSYS, and PCLK_MSYS).
MPLL和VPLL;DSYS and PSYS clock domain (that is, HCLK_DSYS, HCLK_PSYS, PCLK_DSYS, and PCLK_PSYS) and
other peripheral clocks (that is, audio IPs, SPI, and so on)
EPLL;Video clocks uses VPLL
三种时钟域的关系 CLOCK RELATIONSHIP
MSYS;
ARMCLK;给cpu内核工作使用的时钟,也就是主频
HCLK-MSYS;给内存DMC0。DMC1使用
PCLK-MYSY 低频时钟
HCLK-IMEM 给iram,irom使用的时钟
DSYS;
HCLK-DSYS;高频时钟
PCLK-DYSY 低频时钟
PSYS;
HCLK-PSYS;高频时钟
PCLK-PYSY 低频时钟
默认设置的时钟典型值;
时钟系统体系框图;
从晶振和时钟发生器得到原始时钟,经过PLL高频再分频到各总线时钟
从中间时钟到各外设自己使用的时钟;
时钟系统的寄存器
1,xPLL-LOCK 控制PLL的锁定周期
PLL需要锁定周期,当输入频率改变或分频(乘法)值改变时。不可能一下就从低频突变到1Ghz, PLL_LOCK寄存器指定此锁定周期,该周期基于PLL的源时钟。
2,xPLL-CON用来开关pll电路,查看锁定状态,设置倍频倍数
3,控制不同MUX的选择
4,决定mux器件的开关。
4,设置DIV分频器的数值
实现时钟设置代码
.global clock_init
clock_init:
ldr r0, =ELFIN_CLOCK_POWER_BASE
// 1 设置各种时钟开关,暂时不使用PLLldr r1, =0x0// 芯片手册P378 寄存器CLK_SRC:Select clock source 0 (Main)str r1, [r0, #CLK_SRC0_OFFSET] // 2 设置锁定时间,使用默认值即可// 设置PLL后,时钟从Fin提升到目标频率时,需要一定的时间,即锁定时间ldr r1, =0x0000FFFF str r1, [r0, #APLL_LOCK_OFFSET] str r1, [r0, #MPLL_LOCK_OFFSET] // 3 设置分频// 清bit[0~31]ldr r1, [r0, #CLK_DIV0_OFFSET] ldr r2, =CLK_DIV0_MASK bic r1, r1, r2ldr r2, =0x14131440 orr r1, r1, r2str r1, [r0, #CLK_DIV0_OFFSET]// 4 设置PLL// FOUT = MDIV*FIN/(PDIV*2^(SDIV-1))=0x7d*24/(0x3*2^(1-1))=1000 MHzldr r1, =APLL_VAL str r1, [r0, #APLL_CON0_OFFSET]// FOUT = MDIV*FIN/(PDIV*2^SDIV)=0x29b*24/(0xc*2^1)= 667 MHzldr r1, =MPLL_VAL str r1, [r0, #MPLL_CON_OFFSET]// 5 设置各种时钟开关,使用PLLldr r1, [r0, #CLK_SRC0_OFFSET]ldr r2, =0x10001111orr r1, r1, r2str r1, [r0, #CLK_SRC0_OFFSET]mov pc, lr
- soc时钟系统4月17 一个周末玩了三四天啊 速八真不错
- SoC时钟系统简介
- SoC时钟系统简介
- soc时钟系统
- 1.SoC时钟系统简介
- 18.SoC时钟系统概述及初始化
- 4月的周末
- 一个不错的时钟画面
- 7月9日,周末了
- 天啊呀了
- 失败了一天啊!
- 9月的最后一个周末
- 三四月找实习总结
- 实习结束了!接下来的是最后一个月大学生活!好好玩!
- 租了一个月的腾讯云服务, 玩ubuntu爽爽哒
- 11月17日周末作业
- 天啊!!!!!!!!!
- 天啊
- android system 签名
- 动态规划总结
- 图的连通
- event
- 网络流量监控
- soc时钟系统4月17 一个周末玩了三四天啊 速八真不错
- CAP理论中的P理解
- 使用maven编译部署代码时,跳过Junit测试的办法
- Web.xml配置详解之context-param
- HDU 1495 非常可乐
- Android调用后台服务c# Webservice(源码)
- D-duino-32环境开发
- python基础知识
- GAZEBO中scale标签的使用