总结:S5PV210时钟系统

发布者:BlossomWhisper最新更新时间:2024-12-18 来源: elecfans关键字:S5PV210  时钟系统  SoC 手机看文章 扫描二维码
随时随地手机看文章

在数据手册《S5PV210_UM_REV1.1》中的section 02_system/3 CLOCK CONTROLLER(354页)

 

一、时钟

在S5PV210的SoC中,时钟系统分为三个区域:MSYS、DSYS、PSYS。

1f0d27dcd809dc0f76528b061a363480_n+gAAkEnrAwBAJq0PAACZtD4AAGT6BYkdB7XTPd7DAAAAAElFTkSuQmCC.png?imageView2/2/w/1000

(1)MSYS:CPU(Cortex-A8内核)、DRAM控制器(DMC0和DMC1)、IRAM、IROM等

(2)DSYS:主要是视频图像解码相关的时钟

(3)PSYS:内部外设相关(串口、SD、USB、GPIO、IIC、SPI等)

 

二、时钟源

可以通过四个晶振作为时钟源信号输入,通过MUX开关进行选择,再使用PLL进行倍频。

98532b098811156f068b21859a2c39b3_wfdZaOgOAHsXQAAAABJRU5ErkJggg==.png?imageView2/2/w/1000

三、详细分析

需要设置的几个关键寄存器

(1)CLK_SRC0:用来配置时钟源,对应框图中的MUX开关

(2)APLL_LOCK:配置APLL锁相环

(3)MPLL_LOCK:配置MPLL锁相环

(4)CLK_DIV0:配置分频系数

(5)APLL_CON0:配置锁相环倍频系数

(6)MPLL_CON:配置锁相环倍频系数

配置代码如下:


 1 void clock_init(void)

 2 {

 3     // 第1步:设置时钟开关,使用24MHz的原始时钟源

 4     rREG_CLK_SRC0 = 0x0;

 5     

 6     // 第2步:设置PLL锁定时间(使用默认值即可)

 7     // 默认是:0x0fff    我们设置为:0xffff

 8     rREG_APLL_LOCK = 0x0000ffff;

 9     rREG_MPLL_LOCK = 0x0000ffff;

10     

11     // 第3步:设置DIV分频系数

12     rREG_CLK_DIV0 = 0x14131440;

13     

14     // 第4步:设置PLL倍频系数

15     // FOUT = MDIV*FIN/(PDIV*2^(SDIV-1)) = 0x7d*24(0x3*2^(1-1))=1000MHz

16     rREG_APLL_CON0 = APLL_VAL;

17     // FOUT = MDIV*FIN/(PDIV*2^(SDIV-1)) = 0x29b*24(0xc*2^(1))=667MHz

18     rREG_MPLL_CON = MPLL_VAL;

19     

20     // 第5步:设置各种时钟开关,使用PLL通过

21     rREG_CLK_SRC0 = 0x10001111;    

22 }


最后配置的结果如下:

 b72d42495752d7fbf4c7456d81cbbd89_cujJb6X2GxFAdFRUXQWSxVKpWLiwtWoVoYLUqWlJTgTY4yWMJrobMohgJdu3alGhgMBoPBsHTqXudksv8HJrc1gichPPwAAAAASUVORK5CYII=.png?imageView2/2/w/1000

0fe1b57e40e75500edd36fbc28be5b20_1AqlfQMkqIoOzs7uhBkbWRkZCiVSm2lLz29kSRZHzGCIGgxHMefPXumDbAbMGDAQBX+D6JvOOrlFwaUAAAAAElFTkSuQmCC.png?imageView2/2/w/1000

注意:重点是学会如何看懂这种类型的时钟框图,学会分析这一类的问题


关键字:S5PV210  时钟系统  SoC 引用地址:总结:S5PV210时钟系统

上一篇:S5PV210刷机时“Uart negotiation Error​​​​​​​​”无法刷机解决办法
下一篇:S5PV210启动过程分析

推荐阅读最新更新时间:2026-03-25 10:33

S5PV210初始化系统时钟
S5PV210时钟体系 S5PV210中包含3大类时钟domain,分别是主系统时钟domain (简称MSYS,下面将使用简称来进行相关讲解)、显示相关的时钟domain (DSYS)、外围设备的时钟domain (PSYS)。 1) MSYS:用来给cortex a8处理器,dram控制器,3D,IRAM,IROM,中断控制器等提供时钟; 2) DSYS:用来给显示相关的部件提供时钟,包括FIMC, FIMD, JPEG, and multimedia IPs; 3) PSYS:用来给外围设备提供时钟,如i2s, spi,i2c,uart等 S5PV210外接的晶振频率(简称Fin)为24MHz,通过时钟控制逻辑PLL可以提高
[单片机]
<font color='red'>S5PV210</font>初始化<font color='red'>系统</font><font color='red'>时钟</font>
Linux-3.0.8中基于S5PV210的IRQ模块代码追踪和分析
init/main.c: 1 asmlinkage void start_kernel(void) 2 { 3 ...... 4 early_irq_init(); 5 init_IRQ(); 6 ...... 7 } early_irq_init()函数有两种实现,一种是基于radix tree,一种是定义静态数组,如果要使用radix tree实现的,那么需要打开SPARSE_IRQ配置选项,由于我对数据结构不了解,所以分析以下静态数组实现方式版本的。 /kernel/irq/irqdesc.c 1 struct irq_desc irq_desc __cacheline_aligned_in_
[单片机]
S5PV210版本NDT嵌入式Linux主机目录分布及开发流程简要说明
开发才用win10宿主机+VMWare12.5+Ubuntu14.04 LTS虚拟机环境。 1、文件目录介绍 开发机器所建用户名为administrator,机器密码为******。 嵌入式QT目录:/home/administrator/linuxtools/armqt/ tftp共享目录:/home/administrator/tftp 根文件系统: /home/administrator/rootfs 内核目录: /home/administrator/kernel/linux-2.6.35.7 工程目录: /home/administrator/NDT-2015/NDT-F 2、
[单片机]
s5pv210编译qt
编译tslib,执行make时提示undefined reference to `rpl_malloc' 是因为config.h.in文件中有 /* Define to rpl_malloc if the replacement function should be used. */ #undef malloc 把#undef malloc注释掉重新make即可 requires installation of untrusted packages 一、在源里面加入软件下载地址; 二、直接用“sudo apt-get install 软件包名”这个命令安装。 在出现提示的时候按y,同意安装即可。 e
[单片机]
【ARM裸机s5pv210时钟配置
clock.c // 时钟控制器基地址 #define ELFIN_CLOCK_POWER_BASE 0xE0100000 // 时钟相关的寄存器相对时钟控制器基地址的偏移值 #define APLL_LOCK_OFFSET 0x00 #define MPLL_LOCK_OFFSET 0x08 #define APLL_CON0_OFFSET 0x100 #define APLL_CON1_OFFSET 0x104 #define MPLL_CON_OFFSET 0x108 #define CLK_SRC0_OFFSET 0x200 #define CL
[单片机]
【ARM裸机s5pv210 】汇编开栈跳转 C语言
makefile final.bin: start.o led.o arm-linux-ld -Ttext 0x0 -o start.elf $^ arm-linux-objcopy -O binary start.elf final.bin %.o : %.S arm-linux-gcc -o $@ $ -c -nostdlib    //不连接系统标准启动文件和标准库文件,只把指定的文件传递给连接器 %.o : %.c arm-linux-gcc -o $@ $ -c -nostdlib clean: rm *.o *.elf *.bin -f start.S #define W
[单片机]
s5pv210 cpu运行debian
1.环境准备 sudo apt-get install binfmt-support qemu qemu-user-static debootstrap 2.获取debian根文件系统 2.1.cd /opt 2.2.sudo debootstrap --foreign --arch armel wheezy wheezy_fs http://ftp.debian.org/debian/ 3.为chroot做准备 3.1.cp /usr/bin/qemu-arm-static /opt/wheezy_fs/usr/bin/ 3.2.sudo DEBIAN_FRONTEND=noninteractive DEBCONF_NONINT
[单片机]
S5PV210之beep驱动从linux2.6.35.7移植到linux3.0.8
beep驱动从linux2.6.35.7内核移植到linux3.0.8,修改的部分为:   '='后面的为修改后的   .ioctl  =  .unlocked_ioctl   static int beep_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)   = static int beep_ioctl(struct file *file, unsigned int cmd, unsigned long arg)   beep_ioctl函数中struct inode *inode去掉,原因是b
[单片机]
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved