S3C2440时钟体系笔记

发布者:psi33最新更新时间:2024-08-21 来源: cnblogs关键字:S3C2440  时钟体系 手机看文章 扫描二维码
随时随地手机看文章

一、整体架构 

S3C2440的主时钟源可以是外部谐振器(XTIpll),或者外部输入时钟(EXTCLK),经过锁相环MPLL、UPLL产生高频时钟信号,并经由分配传输给AHB总线,APB总线,USB设备,以及内核使用。其中UPLL是USB专用的PLL。以下是时钟体系的总体框架:

二、控制逻辑

时钟控制逻辑的主要内容为时钟的开启、配置过程。首先是时钟的上电开启时序:

上图来自于芯片手册,是时钟的上电开启过程,经上电与复位,谐振器开始输入信号,此时PLL根据默认配置启动,进入LockTime,由于上电后PLL工作不稳定,其输出信号并不会接入FCLK等,而是接入谐振器输入频率信号,只有在软件配置PLL后才会接入到FCLK等,即使想要使用PLL默认配置,也要用软件重新配置一下。配置PLL即配置PLL CONTROL REGISTER ,配置完成后,PLL会自动进入锁定状态,此时FCLK等保持一段低电平,之后接入修改后的时钟信号。


三、工作模式

围绕着时钟设备,S3C2440的工作模式分为NORMAL mode、SLOW mode、IDLE mode、SLEEP mode,属于Power Management block。

NORMAL mode:该模式下,允许内核和所有外设使用对应的时钟。

SLOW mode:Non-PLL模式,锁相环关闭,芯片工作在外部时钟下,频率取决于外部时钟。

IDLE mode:仅断开内核的工作时钟,外设可正常工作,中断可唤醒。

SLEEP mode:休眠状态,内核和外设均断开时钟,时钟仅连接唤醒逻辑,使用该模式需要两个独立的时钟源,其中一个要保持唤醒程序始终活跃,以便唤醒CPU。

下图为Power Management block在时钟体系中的定位,可以看到,最终的FCLK等输出时钟信号需要Power Management的配合。

模式切换:以下是芯片手册中对于模式切换的图解:

其中SLEEP mode以及IDLE mode需要通过中断来返回NORMAL mode,着重记录NORMAL与SLOW模式间的切换问题:NORMAL==>SLOW:SLOWmode有专门的寄存器(CLOCK SLOW  CONTROL (CLKSLOW) REGISTER)用于开启、配置和关闭,从NORMAL模式转换到SLOW模式时,需要首先配置SLOW_BIT再配置MPLL_OFF关闭MPLL,这时转换为SLOW模式,可以通过配置该寄存器的SLOW_VAL来控制分频,如下图:

其他模式可以参考芯片手册,当然我也是搬运工。


四、配置方法

1、在NORMAL模式下,修改PMS更改PLL配置,当然这会使PLL重新进入LoadTime,在此期间FCLK等持续低电平。

2、在NORMAL模式下,临时开启SLOW模式,并在SLOW期间关闭PLL,这期间FCLK等以SLOW模式下的频率输出,可以更改PLL配置而不至于使内核和外设停止工作。

五、寄存器说明

1、LOCK TIME COUNT REGISTER (LOCKTIME)
PLL的LockTime由该寄存器设置。

2、PLL CONTROL REGISTER (MPLLCON & UPLLCON)

对应上文PMS,可以参照一些经典值来设置PLL输出的频率。
3、CLOCK CONTROL REGISTER (CLKCON)

对应外设、内核的时钟使能等。
4、CLOCK SLOW CONTROL (CLKSLOW) REGISTER

SLOWmode的控制寄存器,可以配置SLOW_VAL,可以使能SLOWbit位,以及开关PLL。
5、CLOCK DIVIDER CONTROL (CLKDIVN) REGISTER

配置分频因子。
6、CAMERA CLOCK DIVIDER (CAMDIVN) REGISTER


关键字:S3C2440  时钟体系 引用地址:S3C2440时钟体系笔记

上一篇:S3C2440 SPI驱动框架
下一篇:S3C2440开发环境搭建(Ubuntu)

推荐阅读最新更新时间:2026-03-24 14:43

S3C2440时钟体系笔记
一、整体架构  S3C2440的主时钟源可以是外部谐振器(XTIpll),或者外部输入时钟(EXTCLK),经过锁相环MPLL、UPLL产生高频时钟信号,并经由分配传输给AHB总线,APB总线,USB设备,以及内核使用。其中UPLL是USB专用的PLL。以下是时钟体系的总体框架: 二、控制逻辑 时钟控制逻辑的主要内容为时钟的开启、配置过程。首先是时钟的上电开启时序: 上图来自于芯片手册,是时钟的上电开启过程,经上电与复位,谐振器开始输入信号,此时PLL根据默认配置启动,进入LockTime,由于上电后PLL工作不稳定,其输出信号并不会接入FCLK等,而是接入谐振器输入频率信号,只有在软件配置PLL后才会接入到FCLK等,即使
[单片机]
<font color='red'>S3C2440</font><font color='red'>时钟</font><font color='red'>体系</font>笔记
S3C2440时钟体系结构
任意一款单板,我们了解其时钟都是通过时钟树来的。 这里没有全部截完,只是讲解时钟来源,OSC代表晶振,这说明我们的时钟可以来至晶振OSC也可以来至外部输入EXTCLK,这是通过OM选择器来完成的。 2440的时钟,分为主时钟和usb时钟,先说主时钟,usb时钟之后用到的时候再说。 要如何配置FCLK,HCLK,PCLK? 可以知道我们cpu的最大时钟位400M,高速总线最大时钟136M,外设最大时钟68M。 为了试验,我们配置FCLK=400,HCLK=100,PCLK=50。 较之前的LED灯程序,我们增加一个初始化函数: 启动汇编增加一条语句: 这样下载进去之后,你会看到LED灯的闪烁频率变
[单片机]
<font color='red'>S3C2440</font><font color='red'>时钟</font><font color='red'>体系</font>结构
S3C2440⑤ | S3C2440时钟体系架构及实验
1.时钟架构 简化一下如图所示: 1.1.时钟源的选择 S3C2440的时钟源来源有两种: 外部晶振(OSC) 外部时钟信号(EXTCLK) 选择哪一路作为S3C2440的时钟源由模式控制引脚OM3和OM2引脚(的电平)决定,如何选择见下图: 以JZ2440开发板为例,其使用的是12Mhz外部晶振, 硬件电路如下: 其OM3和OM2选择引脚设置如下,选择第一种方式: 1.2.MPLL改变主时钟FCLK的控制时序(上电复位时序) 2.实验 —— LED闪烁(为了后续对比) 2.1.实验目的 使用C语言控制LED闪烁。 2.2.实验代码 启动文件与之前相同; C程序添加延时函数delay修改后如下:
[单片机]
<font color='red'>S3C2440</font>⑤ | <font color='red'>S3C2440</font><font color='red'>时钟</font><font color='red'>体系</font>架构及实验
S3C2440芯片的时钟体系结构
下图是S3C2440芯片的整体架构图: 其中, AHB BUS为高速设备的总线,H即为high的意思。 APB BUS为低速设备的总线,P为英文单词peripheral(外围设备)。 不同的总线,挂载在上面的设备运行的频率肯定是不一样的,在我们这款S3C2440芯片中: Fclk就是CPU的运行频率,最高可达400MHz Hclk为高速设备的运行频率,最高可达136MHz Pclk为低速设备的运行频率,最高可达68MHz 那么这三种时钟频率是怎么得到的,他们又是什么关系呢? S3C2440这款芯片的时钟源为一个12M的晶振,再配合PLL(锁相环)就可以获得相应的频率。这里我们不对PLL的工作原理
[单片机]
<font color='red'>S3C2440</font>芯片的<font color='red'>时钟</font><font color='red'>体系</font>结构
总结C51、STM32和S3C2440时钟体系和定时器
/* 名称:总结C51、STM32和S3C2440的时钟体系和定时器 说明:对于C51单片机来说,其谈不上什么时钟体系。片上运行的所有东西都靠一个时钟脉冲提供–外部晶振。 对于STM32来说,其时钟体系比较复杂。为了达到降低能耗的目的,再设计STM32时,其厂商特地设计了一个STM32的时钟树。就连最简单的点亮一个LED灯,都必须配置其时钟树,再打开对应的时钟开关。 在这里简单介绍一些STM32的时钟树的主要部分: 对于这个复杂的时钟树,它的来源可以为外部高速时钟、外部低速时钟、内部低速时钟、内部高速时钟(HSE、HSI、LSI、LSE)。当然,具体选择哪个需要根据需要。在这里选择一个主要的来讲:就是外部高速时钟(HSE)。然
[单片机]
S5PV210 时钟体系分析
S5PV210 时钟体系 如下面时钟结构图所示,S5PV210 中包含 3 大类时钟域, 分别是主系统时钟域(简称 MSYS)、显示相关的时钟域(简称 DSYS)、 外围设备的时钟域(简称 PSYS)。 1) MSYS:用来给 cortex a8 处理器、DRAM 控制器、3D、IRAM、IROM、INTC(中断控制器)等提供时钟; 2) DSYS:用来给显示相关的部件提供时钟,包括 FIMC、FIMD、JPEG 和 multimedia IPs; 3) PSYS:用来给外围设备提供时钟,如 i2s、spi、i2c、uart 等 Mini210S 外接的晶振频率(简称 Fin)为 24MHz,通过时钟控制逻辑 PLL 可
[单片机]
S5PV210 <font color='red'>时钟</font><font color='red'>体系</font>分析
s5pv210时钟体系框图详解
1、两张图之间是渐进的关系。第一张图从左到右依次完成了原始时钟生成—— PLL倍频得到高频时钟—— 初次分频得到各总线时钟;第二张图是从各中间时钟(第一张图中某个步骤生成的时钟)到各外设自己使用的时钟(实际就是个别外设自己再额外分频的设置)。第一张图是理解整个时钟体系的关键,第二张图是进一步分析各外设时钟来源的关键。 2、要看懂时钟体系框图,2个符号很重要:一个是MUX开关,另一个是DIV分频器。(反应在软件编程中就是两个寄存器设置) (1)MUX开关就是个或门,实际对应某个寄 存器的某几个bit位的设置,设置值决定了哪 条通道是通的,(要对应时时钟框图分析)分析这个可以知道右边的时钟是从左边哪条路过来的,从而知道右边时钟是多
[单片机]
s5pv210<font color='red'>时钟</font><font color='red'>体系</font>框图详解
s3c6410时钟体系
S3C6410可以使用外部晶振( XXTIpll )(默认为12MHZ)和外部时钟( XEXTCLK )两种方式输入时钟信号。它由跳线OM 决定。S3C6410 默认的工作主频为12MHz(晶振频率),S3C6410有三个PLL,分别为APLL、MPLL和EPLL。其中APLL产生ACLK,给arm core使用。MPLL产生HCLK和PCLK。EPLL产生特殊的时钟,比如为USB提供48MHz时钟。 时钟初始化流程: 当锁相环配置好了后,处理器会进入lock time。这段时间是不工作的,之后会根据配置的进行工作。 根据上图,可以进行软件的设置,如下图: 一.设置lock time时,一般不去设置,使用默认值
[单片机]
s3c6410<font color='red'>时钟</font><font color='red'>体系</font>
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

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