S2C2440 时钟的设置方式

发布者:支持中文最新更新时间:2023-09-05 来源: elecfans关键字:时钟 手机看文章 扫描二维码
随时随地手机看文章

1. S2C2440 的时钟是通过MPLL锁相环环来进行倍频的 其中公式为

 

 

在S2C2440里面有三种时钟 1: FLCK 这个是内核的时钟最大可以到400Mhz

                                            2.    HLCK 高速时钟 这个是提供给内部资源的时钟最大为136Mhz

                                            3. Pclk 这个是外设的时钟 最大是68Mhz

 

注意: 所有的时钟都是有FLCK分频得来

 

 下面我们要做的是如何在内核时钟最大的时候400Mhz 的时候 分频给Hclk 100Mhz 和外设时钟68Mhz

 

 

 上图的寄存器是为ARM提供上电延时的时钟延时 一般都是取默认值

 

 

 

上图的寄存器是从FCLK分频: 其中HDIVN我们选择 10  PDIVN 我们选择HLCK/2 即1   100MZH/2

 

 

这段代码需要加载到汇编语言中

 

随后就是倍频寄存器 图如下

 

 

我们利用已经给好的数组算出就好。

下面是代码

.text

.global _start


_start:


    /* 关闭看门狗 */

    ldr r0, =0x53000000

    ldr r1, =0

    str r1, [r0]


    /* 设置MPLL, FCLK : HCLK : PCLK = 400m : 100m : 50m */

    /* LOCKTIME(0x4C000000) = 0xFFFFFFFF */

    ldr r0, =0x4C000000

    ldr r1, =0xFFFFFFFF

    str r1, [r0]


    /* CLKDIVN(0x4C000014) = 0X5, tFCLK:tHCLK:tPCLK = 1:4:8  */

    ldr r0, =0x4C000014

    ldr r1, =0x5

    str r1, [r0]


    /* 设置CPU工作于异步模式 */

    mrc p15,0,r0,c1,c0,0

    orr r0,r0,#0xc0000000   //R1_nF:OR:R1_iA

    mcr p15,0,r0,c1,c0,0


    /* 设置MPLLCON(0x4C000004) = (92<<12)|(1<<4)|(1<<0) 

     *  m = MDIV+8 = 92+8=100

     *  p = PDIV+2 = 1+2 = 3

     *  s = SDIV = 1

     *  FCLK = 2*m*Fin/(p*2^s) = 2*100*12/(3*2^1)=400M

     */

    ldr r0, =0x4C000004

    ldr r1, =(92<<12)|(1<<4)|(1<<0)

    str r1, [r0]


    /* 一旦设置PLL, 就会锁定lock time直到PLL输出稳定

     * 然后CPU工作于新的频率FCLK

     */

    

    


    /* 设置内存: sp 栈 */

    /* 分辨是nor/nand启动

     * 写0到0地址, 再读出来

     * 如果得到0, 表示0地址上的内容被修改了, 它对应ram, 这就是nand启动

     * 否则就是nor启动

     */

    mov r1, #0

    ldr r0, [r1] /* 读出原来的值备份 */

    str r1, [r1] /* 0->[0] */ 

    ldr r2, [r1] /* r2=[0] */

    cmp r1, r2   /* r1==r2? 如果相等表示是NAND启动 */

    ldr sp, =0x40000000+4096 /* 先假设是nor启动 */

    moveq sp, #4096  /* nand启动 */

    streq r0, [r1]   /* 恢复原来的值 */

    


    bl main


halt:

    b halt


关键字:时钟 引用地址:S2C2440 时钟的设置方式

上一篇:s3C2440 Memory controller
下一篇:S2C2440 nor-flash的研究

推荐阅读最新更新时间:2024-11-09 11:30

S5PV210 时钟
CLOCK DOMAINS 时钟域 S5PV210 consists of three clock domains, namely, main system (MSYS), display system (DSYS), and peripheral system (PSYS) 时钟源 外部焊接: 1.XRTCXTI:实时时钟 2.XXTI:CPU时钟 3.XUSBXTI:USB时钟 4.XHDMIXTI:HDMI时钟 CMU典型应用: 1.MSYS clock domain uses APLL (that is, ARMCLK, HCLK_MSYS, and PCLK_MSYS) 2.DSYS and PSYS cl
[单片机]
S5PV210 <font color='red'>时钟</font>
STM32的复用时钟(应该是复用重映射时钟)的开启时间
STM32的AFIO时钟真的是在开启引脚复用功能的时候开启吗?其实并不是~ 什么是复用? 我们知道,STM32有很多外设,这些外设的外部引脚都是与GPIO共用的。我们可以通过软件来配置引脚作为GPIO引脚还是作为外设引脚。当引脚配置为外设引脚时就叫做复用。如串口默认复用的引脚为: PA9、PA10引脚可配置为普通IO,也可配置为串口引脚(PA9为TX,PA10为RX)。 例子:串口1为例 我们可能经常看到一些代码(基于STM32F103ZET6)的串口配置如下: 看到这里开启了AFIO时钟,让我疑惑了一下,为什么SPI相关的引脚也配置为复用但并没有开启APIO时钟也能正常工作。所以AFIO时钟应该什么时候开呢?
[单片机]
STM32的复用<font color='red'>时钟</font>(应该是复用重映射<font color='red'>时钟</font>)的开启时间
STM32有哪几种定时器 STM32高级定时器有哪些功能
在数字电路中时钟是整个电路的心脏,电路的的一举一动都是根据时钟节拍下进行的,随着信息量逐渐提高,对硬件信息处理能力提出了更大的需求,时钟作为数字硬件的关键成员,其性能需要我们关注,尤其在高速电路设计中对模拟转换芯片对时钟性能有很高的需求,因此正确选择时钟是很关键的一步,前提是我们要了解时钟的关键参数咯。在数字电路中最常见的时钟元件有晶振和锁相环、时钟缓冲器等,本节对外部定时器进行重点讲解。 STM32 定时器专题讲解 SysTick定时器的功能比较单一,主要是供给系统使用的,系统默认设置为1ms触发一次中断。而用户想要使用自己的定时器,STM32提供的用户定时器不但数量多且功能更加强大。不同型号的STM32提供的定时器数量不同
[单片机]
STM32有哪几种定时器 STM32高级定时器有哪些功能
单片机stm32之时钟树以及修改系统时钟频率
  前言:在学51的时候我们知道单片机想要工作必须要有时钟,在stm32中,外部时钟源不是必须的,因为内部就有时钟源,因此我们需要了解stm32的时钟树以方便以后我们设置自己所需要的时钟频率   时钟树   解读   1.首先我们找到最重要的系统时钟:   他的最高频率为168MHZ,他可以由三个提供,一个是HSI(内部高速时钟源,h=high,i=internal),可以在主图中找到这个HSI RC,还有一个是HSE(外部高速时钟源,e=external),最后一个是PLLCLK(pll为锁相环提供,也可以在主图中找到)。。但系统时钟主要还是由PLLCLK提供   注意:   是指这个东西可以由三个其中之
[单片机]
单片机stm32之<font color='red'>时钟</font>树以及修改系统<font color='red'>时钟</font>频率
系统时钟学习笔记
12m晶振 ----- pll ------ cpu Mux 多路选择器 Div 分频器 示例代码如下: 汇编实现 .globl clock_init clock_init: /* 1.设置LOCK_TIME */ ldr r0, =0x7E00F000 /* APLL_LOCK */ ldr r1, =0x0000FFFF str r1, str r1, /* MPLL_LOCK */ str r1, /* EPLL_LOCK */ #define OTHERS 0x7e00f900 @ set async mode /* 当CPU时钟 != HCLK时,要设为异步模式 */ ldr r0, =OTH
[单片机]
STM32中的时钟
下面就以STM32开发板中最常见的STM32F103系列芯片的时钟为例,介绍一下STM32中的时钟。 时钟作用 说到时钟,你一定会问,这是用来计时的吗?没错,是用来计时的,但这只是它在STM32中的一项功能而已,下面就为你列出了时钟的具体功能。 计时作用(供给某些计数器统计时间); 控制时序(串口数据的传输,只能一位一位的传输); 控制信号(将时钟的上升下降沿作为独特的控制标志)。 STM32时钟模型 STM32内部时钟树 时钟源 时钟源就是产生时钟的电路啦,我们来一起看一下,什么样的电路可以产生时钟。 STM32中的时钟源分为以下五种: 低速内部时钟LSI:频率为40kHz ; 高速内部时钟HSI :频率为8MH
[单片机]
STM32中的<font color='red'>时钟</font>
51单片机:定时器与LCD1602的运用,做一个简易时钟
#include regx52.h #include LCD1602.h void Delay(int time) { while(time--) //while循环一次需要10us { } } void Timer0Init(void) //1毫秒@11.0592MHz { TMOD &= 0xF0; //设置定时器模式 TMOD |= 0x01; //设置定时器模式 TL0 = 0x66; //设置定时初值 TH0 = 0xFC; //设置定时初值 TF0 = 0; //清除TF0标志 TR0 = 1; //定时器0开始计时 ET0
[单片机]
51单片机:定时器与LCD1602的运用,做一个简易<font color='red'>时钟</font>
为什么STM32单片机编程时需要使能时钟
作为一个STM32的菜鸟级人物,我刚开始接触STM32时,其实和当年开始学习51单片机的心理是一样的。茫然,谁说不是呢?但是,正常的学习途径无非就是看书,然后敲代码,最后烧程序,有问题就check,然后再继续烧,我都怀疑我快成了火头工。因为在我的印象中,只有这类职业才和“烧”有着密不可分的联系。即使当一名敬业又牛逼的火头工是我毕生的梦想。OK,不侃了。我希望,通过写日志把我作为一个菜鸟在学习STM32中的问题记录下来,同时以我为鉴,规避那些没有必要的破事。 1. 学习STM32要不要基础 原则上它应该是需要的,但是,我们也能发现很多人也是没有基础的。比如说,我们实验室的大师兄原来是管理专业,但是现在相当牛逼,软硬皆通。如果你和
[单片机]
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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