历史上的今天

今天是:2024年09月22日(星期日)

正在发生

2021年09月22日 | s3c6410 系统时钟

发布者:朱雀 来源: eefocus关键字:s3c6410  系统时钟  时钟设置 手机看文章 扫描二维码
随时随地手机看文章

-----------------------------
使用环境 
PC:     ubuntu 11.04
kernel: 2.6.32-28-generic
corss:  arm-linux-gcc 4.3.2
arm:    s3c6410
-----------------------------

系统时钟配置
这篇主要介绍s3c6410在时钟设置上面是怎么处理的.
对于arm大家应该都不陌生,在使用的时候很多时候也非常关心主频是多少多少.经常听到的533Mhz 133Mhz 66Mhz 这些是比较典型的时钟频率了


那么这些值是怎么来的,时钟源在选择的时候,又是通过哪些寄存器.怎么一步步的设置过来的呢.


今天就来解析arm的clock系统.到底如何配置,才能让CLK_ARM CLK_HCLK CLK_PCKLS得到自己想要的频率的值呢?


首先直接看一个图:


我们从左往右进行分析,首先当然是外部的时钟源的选择了,这里主要有 EXTCLK XTIpll 这两种源的提供,对于EXTCLK是我们比较常用的外部晶振了.而XTIpll是外部的时钟输入了.


接着,有了外部时钟之后,如何进行选择呢,,到底是晶振还是时钟输入呢?
这里我们看下面一张图

从这图的最右边,可以看到clock source看到,对于XXTIpll 选择的话,只需要设置OM[0]这个引脚为0,而使用XEXTCLK那么设置OM[0]引脚为1就好了.


为了下面说明的方面,这里我们假设我们使用的是XEXTCLK 也就是OM[0]=1 假设为12MHz 通常这也是最常用的频率了.


顺便提一下, 从图中可知,s3c6410支持很多的启动模式,可以从nand sd srom等,通常用的很多是nand启动了.对于nand启动只需要根据外部nand的参数
设置OM引脚的电平,就可以给芯片指定启动方式了.这是题外话

继续看最上面那图的下一部分,我这里单独放出这个图,也是从手册里面摘录出来的,在看图之前,我们从大图中可以看到,整个图中有3个PLL,分别是
APLL MPLL EPLL这也是整个s3c6410中仅有的3个PLL,这三个PLL决定了核心,总线上面的频率.


在继续分析之前,这里我希望读者能够知道 PLL 和 DIV 的概念,一个是倍频器一个是分频器,说白了一个是做乘法一个是做除法

继续分析,从外面的EXTCLK之后,我们进入了APLL(这里先介绍APLL,其实另外两个也差不多).


从APLL之后会看到一个MUXapll,这是一把开关,表示我是直接用外部频率呢,还是使用对外部频率进行倍频后的频率,下面有个CLK_SRC[0]这个寄存器位.
果断去看一下.

这里写着 select clock source 选择时钟源的,具体看看第0位表示的是啥

这里可以看到,原来APLL_SEL[0]位就是control MUXapll 0:FINapll 是apll的输入,也就是EXTCLK,1:FOUTapll 是经过APLL之后输出的频率,既然我们
要使用倍频器,那么这里果断设置成1.
Ps:这里顺便把MPLL EPLL的列出来了,下次就不分析咯...

从倍频器出来到MUX之后,我们已经得到了倍频之后的频率了(倍频多少,下面会分析),继续往后有个1/2 这样的东西存在,按照前面的分析,看下MISC_CON[19]

这是一个BUS控制寄存器.还是先看看19位是什么吧

需要设置为0,那么也就是说MISC_CON[19] = 0
好了,既然明白了这里选择的是不经过1/2那么倍频之后的频率是直接到DIV/ARM上面了...
好到了这里,基本可以总结出 ARMCLK频率是这么算的
ARMCLK = EXTCLK * APLL / DIV 
这里有人要问了,既然APLL 之后还要DIV 那为什么不干脆直接把DIV去了,直接APLL低一点不就行了,省的后面还是DIV.
其实前面还有一个岔路,就是让HCLKx2 也使用APLL的频率.这样APLL可以同时给ARMCLK 和 HCLKx2提供基准频率了,想怎么用,那就自己对这个频率进行DIV就行了

APLCLK分析完了,下面看MPLL
MPLL的前面跟APLL一样,到了中间有个SYNCMUX的选择,从图中看出是通过OTHERS[6]这一位来控制的,甚至可以发现1选择APLL 0选择MPLL


这里一般我们都使用默认的,选择MPLL
接着到了MICS_CON[19]这里上面已经分析过,是直接过来进入DIV/HCLKx2
但是CLKHCLKx2并不一定就是得到的是DIV/HCLKx2的频率,中间还有一个HCLK_GATE[24:23].这寄存器是啥?


可以看到,其实这些是对时钟频率是否提供给外设使用的gate位.这里默认HCLK_DDR1 = 1 也就是说 DIV/HCLKx2 提供的频率直接通过这里到大HCKx2的
HCLKx2 = EXTCLK * MPLL / DIV
HCLKx2 到底用在哪.看下面这段说明
HCLKX2 clocks are supplied to two DDR controllers, DDR0 and DDR1, of 6410. The operating speed can be up 
to maximum 266MHz to send and to receive data through DDR controllers.

下面可以看到 HCLK 仅仅就是(DIV/HCKLx2) / (DIV/HCLK) 而已
剩下的,基本上也都能看懂了...EPLL这里就不分析了


那么这么多频率都被应用到哪了呢?
请看下面这个图

对于整个内部来说,所有的模块之间都是以总线的形式进行链接的,比如 WDT UART 等都链接到了APB/AXI这两者之一.那么这两个总线的频率又是多少呢?
依旧看图来说明

从图中可以看到ARMCLK 直接提供给ARM1176核心处理.HCLK PCLK也都有对应的模块.
要知道详细模块从哪获得基准频率,请参看手册.这里就不一一列出来了.


下面重点要讲,如何计算这些频率的值.

首先得知道,频率计算是有公式的...
在手册中介绍了.该公式如下,同时这个公式仅适用于APLL MPLL

下面看一个计算的方法,摘自手册



可以自行根据公司代入上面的值,就可以计算出来了....

对于EPLL的计算公式有点不同..下面直接看图了...


是不是越来月简单了...arm的频率计算也就那么回事..哈哈~~~继续继续哈...





关于频率相关的介绍就介绍到这,详细的请参看s3c6410手册..内容比较多...


关键字:s3c6410  系统时钟  时钟设置 引用地址:s3c6410 系统时钟

上一篇:tiny6410烧录
下一篇:s3c2440时钟+nandflash拷贝至SDRAM+开启mmu

推荐阅读

意义: 有时候我们在操作多个STM32 IO 时,硬件设计未必有规律,比如输出引脚是:PB3,PC4,PC5,PD0,但是操作这些引脚具有共性,或者说我们想用 for(it i = 0; i < 4; i++) 像操作数组一样操作这些引脚,程序将变得非常简洁,这时候把 IO 映射到地址就可以实现该目的。方法: 1.//位带操作,实现51类似的GPIO控制功能//具体实现思想,参...
(文章来源:中科罗伯特机器人学院) 智能制造是由智能机器和人类专家组成的人机一体化的智能系统,它在制造的过程中可以进行智能活动,如分析、推理、判断、构思和决策等。在国家政策的推动下,制造业转型到智能制造就成为了发展的必然趋势,在这样的背景下,工业机器人产业发展就有着极其重要的作用。 工业机器人往往应用在汽车制造、、橡胶塑料、军...
<br data-filtered="filtered">其中.asm文件是汇编代码的源文件,.inc文件是包含文件,类似于<a class="replace_word" title="C语言知识库" href="http://lib.csdn.net/base/c" target="_blank">C语言</a>当在的.c文件和.h文件。接下来让我们来分析一下这三个文件。(分析汇编代码最好也要对STM8单片机的启动流程有所了解,可以看我的另一篇博文<a ...
其实,并不是波形响应慢,而是调整时基时波形重新采集刷新了一次。在运行状态下,ZDS2022示波器无论是改变时基、水平位移还是垂直档位都会重新采集刷新波形。 不同时基下,存储时间不同,因此采集时间也不同。比如从500ms/div切换到1s/div时,预触发从3.5s变为7s,也就是需要等预触发存满7s的波形后才会触发开始采集显示。而在改变垂直档位与水平位移时,Z...

史海拾趣

问答坊 | AI 解惑

比赛倒计时!让我们一起来!!!

本帖最后由 paulhyde 于 2014-9-15 09:19 编辑 同学们,加油阿!!! 让我们在这里彼此鼓励!!! 比赛越来越近了,大家进来彼此鼓励一下也好啊!  …

查看全部问答∨

求助 小信号放大器设计

我想做一个放大器,分立电路,不知道选用什么器件 信号范围:nV级,频率 100k 到1M (要求不严格) 谁能提供给我个器件 我想用场效应管,cascode电路应该可以 但不知道选用哪个型号 请求帮助…

查看全部问答∨

紧急求助,4位数码管有一个不亮,原因真的想不通了

是动态显示电路,PNP9012接共阳极数码管驱动位选.2.0-2.3口控制1-4号数码管. 单片机没有下程序,通电后,前3位都亮,第四位不亮.把导线将2.2口和2.3口短接,第四位就亮了,证明,单片机外围电路一点问题没有,所以是单片机P2.3口的问题,但是我将一个确认正 ...…

查看全部问答∨

单片机的应用与开发技巧论文

目前单片机渗透到我们生活的各个领域,本文介绍了单片机的应用并且根据自己的一些经验谈了单片机应用过程中应该掌握的几个技巧。         目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置, ...…

查看全部问答∨

★★★想实现“技术+证书+高薪就业”吗??★★★

硬件工程师高级职业教育项目组(http://test.pche.com.cn/pche/seign/default.asp)直属于信息产业部电子教育考试培训中心,为了提高从业人员及学生朋友的硬件设计水平和职业技能,开发出了一系列硬件设计工程师培训课程: 1、PCB设计工程师初级班 ...…

查看全部问答∨

开发wince用什么工具啊?

小弟我刚开始接触wince  请问要用什么工具开发比较好啊?  有的说用wince with platform bulid 5.0 有的说用vs2005  搞不清楚   如果有的话  大家传上来吧  谢谢啊   还 ...…

查看全部问答∨

有人站内消息我问我要8962里的例程,我把光盘里的传上来

  [ 本帖最后由 drjloveyou 于 2011-1-17 14:21 编辑 ]…

查看全部问答∨

如何正确安装软件(2812用)?

我昨天才买的DEC2812,仿真器USB2.0(前几年买的),安装软件碰到麻烦,安装说明里说28XX用的一定要在WIN98下安装,但那是好几年前开发系统里附带的光碟,请问现在还是这样吗?我的板子上的正负15V电压,那个-15V电压的孔被焊上了,请问本来就是这 ...…

查看全部问答∨

SI4432 完整版中文资料及设计参考资料(资料持续更新)

&nbsp;&nbsp; 为了大家设计方便,顾上传一些参考资料,设计中遇到问题欢迎大家一起交流,一起探讨,希望能帮到大家,废话不说,直接上资料!欢迎大家加入射频交流群:91378473 [ 本帖最后由 ywdjob 于 2011-10-4 02:35 编辑 ]…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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