历史上的今天
今天是:2024年09月06日(星期五)
2021年09月06日 | S3C2440—4.时钟系统
2021-09-06 来源:eefocus
一.S3C2440时钟体系介绍
1.总线与时钟
S3C2440有俩个总线:AHB高速总线、APB外围总线。
对应三个时钟源:
ARM芯片CPU的FCLK
AHB总线的HCLK
APB总线的PCLK
三个时钟的工作频率:

(可以看出对比STM32中72MHz的频率,ARM时钟的性能有了很大的提高)
2.时钟来源
如何得到三种时钟?系统的时钟来源是12MHz的晶振,通过PLL锁相环硬件设备可以得到高达400MHz的时钟频率,其时钟框图如下:

可以看出系统时钟来源的选择有俩种:
晶振
外部输入
(这里只讨论晶振)
3.选择时钟
通过设置OM[3:2]可以选择时钟源:

设置方法如下:

打开原理图查看一下目前的OM[3:2]的情况(查看目前时钟源的选择情况)
看出OM[3:2]都接地,即OM[3:2]=00,所以时钟源都采用12MHz晶振

4.产生时钟
所以FCLK、HCLK、PCLK这三个时钟都是由晶振发生的。
晶振提供的时钟频率经过MPLL、UPLL得到新的时钟频率
MPLL:main PLL,利用P[5:0]、M[7:0]、S[1:0]来控制输出时钟的频率
UPLL:USB PLL,利用P[5:0]、M[7:0]、S[1:0]来控制输出时钟的频率
框图如下:

晶振信号经过MPLL后产生时钟作为FCLK(400MHz)提供给CPU,FCLK再经过分频器生成HCLK(136MHz)、PCLK(68MHz)。
FCLK提供给CPU(ARM920T)
HCLK提供给各种AHB总线(高速设备):Nand FLASH、ITC、Memory Controler…
PCLK提供给各种APB总线(低速设备):IIC、IIS、GPIO、ADC…
所以,晶振经过MPLL得到FCLK,FCLK分频得到HCLK、PCLK,

5.流程

上电后,复位引脚会维持一段时间等待电源稳定,由专用的复位芯片维持复位引脚:

在上电后一段时间后才会让复位引脚输出高电平。
开始的时候,FCLK频率由晶振频率直接提供,因为此时CPU还没有工作(没有复位),当PLL锁存OM[3:2]的值后,CPU开始运行,这时开始设置PLL,设置期间CPU停止(Lock Time),设置PLL完成后,FCLK就是新的频率了:

二.如何配置时钟源
配置时钟源主要是要操作俩个寄存器:
MPLLCON
CLKDIVN
1.设置FCLK频率寄存器 MPLLCON
控制MPLL输出FCLK时钟频率

可以参靠手册中给出的标准:

MPLL的计算公式:

2.设置分频HDIV、PDIV寄存器 CLKDIVN

3.时钟开关控制寄存器 CLKCON
控制某些模块的时钟开启关闭

注意:
史海拾趣
|
AVX公司近日推出专用于汽车ESD保护的CANBus系列变阻器产品。这种可表面安装的产品可替代由三种元件组成ESD保护器(两个背对背的齐纳二极管和一个并联的EMC电容),是AVX的TransGuard系列瞬态电压抑制产品的组成部分。 该CANBus系列变阻器适用于包括LI ...… 查看全部问答> |
|
深圳驰泰代理中颖全系列单片机,附件为选型表,欢迎大家下载。 CHIPTECH SEMICONDUCTOR CO.,LTD 深圳市驰泰电子有限公司 hidy/王芳 QQ:313030919 MSN:wfhidy@hotmail.com Tel:86-755-33340867 Fax:86-755-33340839 Mob:13590192992 E-ma ...… 查看全部问答> |
|
我现在有480*800的一个窗口 上面有背景图和其他一些图。。都贴在上面。 当我点击任意一点。如何才能把点击后规定的区域下的图片拿出来可以用?… 查看全部问答> |
|
我是一个大一的大专生,专业是软件,大一这年年主要学了英语,计算机基础应用,C语言,C++,SQL SERVER2000,HTML,离数。 大一也快完了,下学期要分班选方向了,我选了C++嵌入式方向。 听说嵌入式很难,要学很多方面的东西,眼下可能也只有一年时间 ...… 查看全部问答> |
|
USB协议中如何识别usb移动介质和USB 光驱或者usb硬盘? 在U3盘中,U盘可以被Windows系统识别为光驱或者移动存储介质或者本地硬盘,我想知道这个是怎么实现的呢? 在USB协议中,那一块定义了这方面的内容? 我看了下,本来以为是SubClass Code,后来看了usb官方文档,才知道不是有这个来决定的,这个决 ...… 查看全部问答> |
|
就是把一些关键的文件保护起来,不让用户删除,但我不知道在WinCE里怎么实现. PS:我现在要做的是在GPS上跑的WinCE程序,我试过设好几种文件属性都不行....请高手指点… 查看全部问答> |
|
主时钟为CLKA为64M,现在要4分频和8分频产生CLKB和CLKC作为另外模块的时钟,请问CLKB、CLKC怎样约束?create_generated_clock -name CLKB -source [get_ports CLKA] -devide_by 4 [get_pins CLKB];create_generated_clock -name CLKC -source [get ...… 查看全部问答> |




