ARM系列之时钟模块详述及其分频系数的设定

发布者:Huanle666最新更新时间:2016-08-01 来源: eefocus关键字:ARM系列  时钟模块  分频系数 手机看文章 扫描二维码
随时随地手机看文章
S3C2440的时钟控制单元可以产生如下的时钟信号:FCLK FOR CPU, HCLK FOR AHB BUS(高速设备,比如内存控制器、中断控制器、LCD控制器、DMA以及USBhost), PCLK FOR APB BUS(低速设备,比如WTG、I2C,SDI/MMC,GPIO,RTC,UART,PWM,ADC,SPI)和用于USB的UCLK,共四种分频率,前三种共用一个PLL。 S3C2440有两个PLL, 一个用于FCLK,HCLK,和PCLK,叫做MPLL; 而另一个用于USB模块(固定48MHz),叫做UPLL。时钟控制逻辑还可以没有PLL来降低时钟或者不使每个外设连接到时钟以降低电源能耗。

 


-------------------------------------o---------------------------------------------------------


关于时钟源选择的问题,主要时钟源一个来自于外部晶振(XTlpll),一个来自于外部时钟(EXTCLK)。时钟发生器包括一个连接到外部晶振的振荡器和两个锁相环(PLL)。 时钟源的选择可以通过芯片引脚的状态进行配置,即芯片的OM3和OM2引脚。具体分配情况如下表所示:(原理图中已经将OM3和OM2都接地,即00的情况,用的是外部晶振,而且晶振频率为12MHz)。.
图片


 


---------------------------o-----------------------------------------------------


具体分频寄存器设置时序如下图所示:(尽管MPLL在系统复位的时候就开始产生,但是只有有效的设置好MPLLCON寄存器后才能用于系统时钟。在此之前,外部时钟将直接作为系统时钟。即使不需要改变MPLLCON寄存器的初值,也必须将同样的值写入寄存器。设置完成后,经过LOCKTIME的时间,设置的分频才能起效果。)
图片


 如上图所示,FCLK的启动过程:


1、上电几毫秒后,晶振输出稳定,FCLK=晶振频率,nRESET信号恢复高电平后,CPU开始执行指令。


2、我们可以在程序开头启动MPLL,在设置MPLL的几个寄存器后,需要等待一段时间(Lock Time),MPLL的输出才稳定。在这段时间(Lock Time)内,FCLK停振,CPU停止工作。Lock Time的长短由寄存器LOCKTIME设定。


3、Lock Time之后,MPLL输出正常,CPU工作在新的FCLK下。LOCKTIME默认时间为200us。


 


-----------------------------------------o-------------------------------------------------


时钟分频流程如下图所示:(Fin默认为外部晶振时钟频率,12MHz。)
图片


位于时钟信号发生器的内部MPLL用于将输出信号和相关输入信号在相位和频率上同步起来。包括上图所示的一些基本模块:根据DC电压产生相应比例关系频率的压控振荡器VCO,出书P(对输入频率Fin进行分频),除数M(对VCO的输出频率进行M分频,分频后输入到相位频率探测器PFD),除数S(对MPLL输出频率Mpll进行分频),相差探测器,charge pump,loop filter。


 


----------------------------o------------------------------------------------


时钟频率的计算关系:FCLK,HCLK,PCLK. (其中已经知道用于USB的UCLK位48MHz。)


一般情况下,这三个始终之间是存在一定的额比例关系的,默认情况下为1:1:1。但是通常情况下会设置为1:4:8或者1:3:6。寄存器CLKDIVN用于设置这三者之间的比例关系。
图片


也就是说,如果CLKDIVN设置为0x5,那么比例即为1:4:8,前提是CAMDIVN[9]为0. 也就说如果主频FLCK是400MHz,按照1:4:8的设置,那么HLCK是100MHz,PLCK是50MHz。讲到这里主题也该突出,说到最后,问题的关键就是如何计算FCLK了吧!!!


 


--------------------------------ooo------------------------------------------


现在的CPU主频都是通过倍频的技术实现的,下面就描述下如何个倍频法:


1. MPLL. 对于S3C2440来说,常用的输入Fin主要有两种频率:12MHz和16.935MHz。CPU通过MDIV、PDIV和SDIV进行倍频得到MPLL,即FCLK。公式如下所示:


Mpll = (2 * m * Fin) / (p * 2^S)


m = (MDIV + 8), p = (PDIV + 2), s = SDIV;  1<=M<=248,1<=P<=62
图片


理论上,我们可以通过设置任意值而得到我们想要的频率,然而由于实际存在种种的约束关系,设置一个适当的频率不容易,手册中推荐了如下的设置值:
图片


例如,假设输入时钟FIN=16.9344M,MDIV=110, PDIV=3, SDIV=1,利用上面的公式,FCLK=2*16.9344*(110+8)/((2+3)*2)=399.65 MHz。


2. UPLL.上面已经详细的描述了MPLL的设置过程。下面着重描述USB的使用频率UPLL的设置。需要对UPLLCON寄存器设置,如上上图所示。同样也可以通过查表。


Upll = (m * Fin) / (p * 2^S)


m = (MDIV + 8), p = (PDIV + 2), s = SDIV


需要注意的是CLKDIVN寄存器的第三位DIVN_UPLL用来设置USB时钟UCLK和UPLL的关系,如果UPLL已经是48Mhz了,那么这一位应该设置为0,表示1:1的关系,否则是1:2的关系。由于目标USB只需要48MHz的频率,所以源频率,即UPLL只能为48或者96。


 


--------------------------------ooo------------------------------------------


讲到这里,重点都说了哇,不多还有些特别的东西需要提出来下。


1. 在arm的体系中,还存在一个概念,叫做慢时钟模式的概念,即将时钟减半或者关闭,以减少能源消耗。可以通过CLKSLOW和CLKDIVN寄存器相互配合实现。如下图所示:
图片


2. arm体系中很多模块都需要时钟,要是能够将不需要使用时钟的外设的时钟共用给关了,也能减少消耗,在arm中提供了这样的寄存器给予定制,即CLKCON寄存器。


3. 专门用于相机时钟设定的寄存器CAMDIVN。如下图所示,在分频时候用到了HCLK4_HALF、HCLK3_HALF。
图片


没了~~~


------------over----------------------------------------


样例程序如下:


[PLL_ON_START   ; //设置CLKDIVN的值在PLL锁存时间LOCKTIME之后有效。


;Configure FCLK:HCLK:PCLK
 ldr r0,=CLKDIVN  
 ldr r1,=CLKDIV_VAL  ;CLKDIV_VAL=7, 7=1:3:6. Fclk:Hclk:Pclk
 str r1,[r0]


 


;Configure UPLL  //UPLL
 ldr r0,=UPLLCON
 ldr r1,=((U_MDIV<<12)+(U_PDIV<<4)+U_SDIV)  ; //Fin = 12.0MHz, UCLK = 48MHz
 str r1,[r0]


 


;Configure MPLL  //MPLL
 ldr r0,=MPLLCON
 ldr r1,=((M_MDIV<<12)+(M_PDIV<<4)+M_SDIV)  ; //Fin = 12.0MHz, FCLK = 400MHz
 str r1,[r0]
    ]


 


END.!!!

关键字:ARM系列  时钟模块  分频系数 引用地址:ARM系列之时钟模块详述及其分频系数的设定

上一篇:STM32内部温度传感器的使用与计算
下一篇:ARM系列之分散加载描述符(scatte)文件的应用

推荐阅读最新更新时间:2024-03-16 15:02

STM32F103的复位及时钟控制模块头文件
在处理器正常工作前,肯定要做一些初始化工作,其中最主要的一个就是初始化各种时钟。通过对STM32F103的复位及时钟控制(RCC)模块分析之后,自己写了一个RCC的头文件,这样使用起来更方便。头文件中首先定义了最基本的几个寄存器,然后再对每个寄存器中的域使用结构体做了定义,可以直接使用寄存器中的位来操作。注意设置系统时钟时要先设置好FLASH的等待周期,不然程序就可能会跑飞。 该测试工程是在以前的GPIO实验的基础上增加系统时钟初始化代码,设置系统时钟为72M。通过流水灯可以看到,比未配置系统时钟之前(8M)流水灯的速度快了很多。 从这里下载完整的测试工程: 系统时钟初始化的代码如下: //以下时钟配置为最高性能 void
[单片机]
Keil(MDK-ARM系列教程(七)_菜单
Ⅰ、写在前面 本文带来关于Keil软件菜单的内容,系列教程中前面讲述的内容都可以通过菜单而找到,只是大部分内容都可以通过快捷按钮或快捷键找到,该文就讲述主菜单里每一个子菜单的内容。 Keil有些菜单在编辑模式和调试模式下可能有所不同,也就是说在不同模式下有些功能或许不能使用,下面内容会将每项菜单在不同模式下的区别提出来。 按照前面文章编辑方式,为了使文章内容精简,过于简单和不常用且过于复杂的内容只简述。 本文内容已经整理成PDF文件,提供给大家下载: http://pan.baidu.com/s/1nuJ0RDR Ⅱ、File文件菜单 File文件菜单在两种模式下略有不同。比较简单,只简述。 1.New
[单片机]
Keil(MDK-<font color='red'>ARM</font>)<font color='red'>系列</font>教程(七)_菜单
意法半导体新型STM32系列ARM RealView微控制器开发工具包支持
中国上海,2007年6月27日 —— ARM公司(伦敦证交所:ARM;纳斯达克:ARMHY)宣布即日起,RealView微控制器开发工具包将支持意法半导体基于ARM Cortex-M3处理器的全新 STM32F1xx系列器件。    STM32F101 (接入行)和STM32F103 (性能行)将是意法半导体首个基于ARM Cortex-M3处理器的器件系列,兼具卓越的高性能和低功耗,待机功耗仅为2?A。该系列器件拥有高达72MHz的CPU时钟速度、128Kbyte片上闪存ROM及20Kbyte片上RAM,还包括A/D、CAN、USB、SPI、I2C等众多外设及多达80个GPIO。    RealView微控制器开发工具包3.1可
[新品]
51单片机外围模块——DS1302时钟模块
一.DS1302的主要性能指标 DS1302实时时钟具有能计算2100年之前的秒、分、时、日、日期、星期、月、年的能力,还有闰年调整的能力。 内部含有31个字节静态RAM,可提供用户访问。 采用串行数据传送方式,使得管脚数量最少,简单SPI 3线接口。 工作电压范围宽:2.0~5.5V。 工作电流:2.0V时,小于300nA 时钟或RAM数据的读/写有两种传送方式:单字节传送和多字节传送方式。 采用8脚DIP封装或SOIC封装。 与TTL兼容,Vcc=5V。 可选工业级温度范围:-40C~+85C。 具有涓流充电能力。 采用主电源和备份电源双电源供应。 备份电源可由电池或大容量电容实现。 DS1302采用SPI总线与外结通信
[单片机]
51单片机外围<font color='red'>模块</font>——DS1302<font color='red'>时钟</font><font color='red'>模块</font>
TI系列DSP的I2C模块配置与应用
I2C总线最早是由Philips公司提出的串行通信接口规范,标准I2C总线只使用两条线通信,能将多个具有I2C接口的设备连接,进行可靠的通信,连接到同一总线的I2C器件数量,只受总线最大电容400pF的限制,而且最高通信速率可以达到3.4Mb/s,由于I2C接口简单,使用方便,被很多芯片采用,成为一种广泛应用的接口 。 DSP即数字信号处理器,是一种广泛应用的嵌入式处理器,主要应用是实时快速地实现各种数字信号处理算法,目前,国际主要的DSP供应商是TI公司,其TMS32系列产品占据了DSP市场近一半的份额,为了用户能方便快捷的进行系统的开发与集成,TI公司在一些型号的DSP中集成了I2C通信模块,本文以TMS320C6713为例
[应用]
采用arm7系列处理器的数据采集控制系统的设计方案介绍
引言 在一些工业现场中,设备长时间运行容易出现故障,为了监控这些设备,通常利用数据采集装置采集他们运行时的数据并送给PC机, 通过运行在PC机上的特定软件对这些数据进行分析,以此判断当前运行设备的状况,进而采取相应措施。当前常用的数据采集装置,在其系统软件设计中,多采用 单任务顺序机制。这样就存在系统安全性差的问题。这对于稳定性、实时性要求很高的数据采集装置来说是不允许的,因此有必要引入嵌入式操作系统。本文以 μC/OSII为操作系统平台,基于arm7系列处理器设计了一种通用的高性能数据采集控制系统。 1 系统总体设计 系统总体结构框图如图1所示。系统采用LPC2220工业级ARM7微控制器,内嵌μC/0S—II实时操作系统,
[单片机]
采用<font color='red'>arm</font>7<font color='red'>系列</font>处理器的数据采集控制系统的设计方案介绍
东芝推出“TXZ+™族高级系列ARM® Cortex®-M3微控制器
—配备1MB代码闪存,支持无需中断微控制器运行的固件升级— 中国上海,2023年6月27日—— 东芝电子元件及存储装置株式会社(“东芝”)今日宣布,在其搭载32位微控制器产品组“TXZ+TM族高级系列”的“M3H组”中新推出“M3H组(2)”,该系列产品配备了采用40nm工艺制造而成的Cortex®-M3。 近年来,随着数字技术的渗透,特别是在物联网IoT领域的普及,以及日益先进的各种设备功能,用户对更大程序容量和支持FOTA(无线固件升级)的需求不断增加。新产品M3H组(2)将东芝现有产品M3H组(1)的代码闪存容量从512KB(部分为256KB或384KB)扩展至1MB ,RAM容量从66KB 扩展至130KB
[嵌入式]
东芝推出“TXZ+™族高级<font color='red'>系列</font>” <font color='red'>ARM</font>® Cortex®-M3微控制器
EPON系统中ONU的设计
引言   千兆以太网无源光网络(EPON)是一种点到多点拓扑结构的光接入网技术,采用无源光器件连接局端和远端设备,实现以太网业务的透明传输,并能在同一架构中实现语音、视频等综合业务的接入。EPON作为新兴接入网技术的突出优势在于低成本、易维护和扩展性好。EPON系统由OLT与ONU构成。    ONU硬件系统设计   系统硬件由嵌入式控制模块和网络交换模块两部分构成。嵌入式控制模块是ONU的控制和管理核心,它为嵌入式Linux操作系统的运行提供硬件平台,通过它来实现对网络交换模块的控制与配置,实现网络交换模块的正常运行。网络交换模块提供以太帧的交换与转发功能,嵌入式控制模块通过PCI总线与网络交换模块进行通信,访问网络交换模
[网络通信]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved