S3C2440⑤ | S3C2440时钟体系架构及实验

发布者:Serendipitous33最新更新时间:2024-07-15 来源: elecfans关键字: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修改后如下:


代码语言:javascript

复制

void delay(unsigned int xms)

{

    while(xms--);

}


int main(void)

{


    /* 设置GPFCON寄存器,配置GPF4引脚为输出模式 */

    *(unsigned int *)0x56000050 &= ~(3<<(2*4));

    *(unsigned int *)0x56000050 |= 1<<(2*4);


    /* 程序循环闪烁LED */

    while(1)

    {

        /* 设置GPFDAT寄存器,GPF4输出低电平,点亮LED */

        *(unsigned int *)0x56000054 &= ~(1<<4);

        delay(100000);


        /* 设置GPFDAT寄存器,GPF4输出高电平,熄灭LED */

        *(unsigned int *)0x56000054 |= (1<<4);

        delay(100000);

    }

}

编译的makefile也和之前相同;


2.3.运行结果

第一个LED先亮起,1s后熄灭,1s后再次点亮,如此循环。

3.实验 —— 设置芯片时钟运行频率

3.1.实验目的

设置芯片的时钟工作频率最高,如下:

  • FCLK  = 400Mhz

  • HCLK = 100Mhz

  • PCLK  = 50Mhz

与实验2对比观察效果。

注:芯片手册中给出的最高时钟频率:

3.2.实验步骤

  1. 设置PLL更改之后的锁定时间(默认即可)

  1. 设置分频系数(UCLK=UPLL(默认值)、HCLK = FCLK/4(100M)、PCLK=HCLK/2(50M))

  1. HDIVN不为0,设置CPU为异步模式 注:其中#R1_nF:OR:R1_iA的值为0xc0000000。

  1. 设置MPLL倍频,产生FCLK=400Mhz:

注:MPLLCON寄存器的值可以由公式自己推算,但芯片手册中推荐直接查找推荐表获得:


3.3.实验代码

时钟修改应该在上电后修改,所以在启动文件中关闭看门狗之后添加:


代码语言:javascript


@ brief:    S3C2440启动文件

@ author:    mculover666

@ note:

@            1.关闭看门狗

@            2.设置栈顶指针SP(从Nand启动)

@            3.设置时钟:FCLK=400Mhz,HCLK=100Mhz,PCLK=50Mhz

@            4.调用main函数,保存返回地址,转入C程序


.text

.global    _start


_start:

    @ 关闭看门狗

    LDR R0,=0x53000000

    MOV R1,#0

    STR R1,[R0]


    @ 设置栈顶指针SP(从Nand启动)

    LDR SP,=4096


    @ 设置时钟:FCLK=400Mhz,HCLK=100Mhz,PCLK=50Mhz

    @ 设置PLL更改之后的锁定时间(默认值)

    LDR R0,=0x4c000000

    LDR R1,=0xFFFFFFFF

    STR R1,[R0]


    @ 设置分频系数

    LDR R0,=0x4c000014

    LDR R1,=0x04

    STR R1,[R0]


    @ HDIVN不为0,设置CPU为异步模式(来源芯片手册)

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

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

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


    @ 设置MPLL,输出FCLK=400Mhz

    LDR R0,=0x4c000004

    LDR R1,=(92<<12)|(1<<4)|(1<<0)

    STR R1,[R0] 


    @ 设置MPLL之后锁定一段时间,然后系统变为设置的频率


    @ 调用main函数,保存返回地址,转入C程序

    BL  main


    @ main函数返回,程序暂停

halt:

    B   halt

为了方便对比,C程序与实验2的相同;

编译的makefile和之前的也相同;


3.4.实验结果

程序编译下载后,可以观察到,LED闪烁速度与之前相比快了非常多。


3.5.实验总结

通过本节的两个实验,


从直观的的现象来看:同样的C语言程序(都是delay(100000)),但是在第二个实验中因为CPU时钟FCLK提高到最高运行频率400Mhz,所以LED的闪烁速度与之前相比快了好几倍;

深入到S3C2440芯片的结构:掌握了S3C2440的时钟体系架构和上电复位时序,其时钟源有两个:外部晶振或者外部时钟,通过OM[3:2]硬件选择,其内部主要调整频率的PLL有两个:MPLL(产生FCLK)和UPLL(产生UCLK),其主要的时钟频率有三个(FCLK->CPU使用,HCLK->AHB总线高速外设使用,PCLK->APB总线低速外设使用),其中HCLK和PCLK由FCLK分频而来;

在芯片操作上:掌握了如何编程设置寄存器控制S3C2440的时钟频率(比如本节设置FCLK=400Mhz,HCLK=100Mhz,PCLK=50Mhz)。



关键字:S3C2440  时钟  体系架构 引用地址:S3C2440⑤ | S3C2440时钟体系架构及实验

上一篇:嵌入式:S3C2410与S3C2440的区别
下一篇:S3C2440③ | GPIO实验

推荐阅读最新更新时间:2024-11-18 11:04

mini2440也即S3C2440地址分配问题
写这篇文章完全是回答一个网友的问题,因为我之前也是对这里不理解,现在简单说一下。源引问题“mini2440的地址到底是怎么分配的呢?内部rom ram 外部的ram和rom分别占用的地址是多少啊,我从板子上看到有3个k4561632N芯片还有一个S29AL016J70TF102.但是看了相关的电路图也不知道他的地址是怎么分配的” 你问的是mini2440的地址怎么分配。我只能再细节一下你的问题,mini2440处理器的地址怎么分配。mini2440的处理器是S3C2440,理论上,S3C2440处理器可以使用的物理地址空间可以达到4GB,其中前1GB的地址(也就是0x0000 0000--0x4000 0000)为外设地址空间
[单片机]
mini2440也即<font color='red'>S3C2440</font>地址分配问题
ATmega32 外部时钟
AVR为了从外部时钟源驱动芯片, XTAL1 必须如Figure 14 所示的进行连接。同时,熔丝位CKSEL必须编程为“0000”。若熔丝位CKOPT也被编程,用户就可以使用内部的XTAL1和GND 之间的36 pF 电容。 选择了这个振荡器之后,启动时间由熔丝位SUT 确定,如Table 12 所示。 为了保证MCU 能够稳定工作,不能突然改变外部时钟源的振荡频率。工作频率突变超过2% 将会产生异常现象。应该在MCU 保持复位状态时改变外部时钟的振荡频率。
[单片机]
ATmega32 外部<font color='red'>时钟</font>
ARM芯片的时钟系统详解(S5PV210芯片)
1、时钟介绍 时钟是同步工作系统的同步节拍,时钟的快慢就是我们常说的工作频率,以赫兹(HZ)为单位。时钟系统指导器件的运行,我们分析器件的工作特性时,常常会看器件的时序图,时序图中的时钟周期就是时钟系统来决定的。 2、时钟来源 2.1、 三种时钟配置 1、外部直接输入时钟信号,SoC有个引脚用来输入外部时钟信号,用的很少。 2、外部晶振+内部时钟发生器产生时钟,大部分低频单片机都是这么工作的。 3、外部晶振+内部时钟发生器+内部PLL产生高频时钟+内部分频器分频得到各种频率的时钟。 2.2、S5PV210的时钟来源 S5PV210的时钟来源属于第三种,也可以说复杂的Soc都是第三种,因为复杂Soc的内部器件是很多的,具体原
[单片机]
ARM芯片的<font color='red'>时钟</font>系统详解(S5PV210芯片)
时钟失效后STM32还能运行是什么情况
该问题由某客户提出,发生在 STM32F103VDT6 器件上。据其工程师讲述:在其产品的设计中,STM32 的 HSE 外接 8MHz 的晶体产生振荡,然后通过 STM32 内部的PLL 倍频到 72MHz,作为 STM32 的系统时钟,驱动芯片工作。在 STM32 片外有专用的看门狗芯片,监控 STM32 的运行。STM32 内部的软件会在 STM32 的某个管脚上产生脉冲来复位看门狗。一旦 STM32 没有及时的产生脉冲来复位门狗,则看门狗会认为 STM32 运行不正常,从而复位 STM32。在对该产品做可靠性测试时,进行了对看门狗监控时钟失效能力的测试。测试的方法是:将 HSE 外接的晶体的两个端子接地,使其停止振荡,从而
[单片机]
<font color='red'>时钟</font>失效后STM32还能运行是什么情况
MSP430F54系列UCS时钟
1:UCS(Unified Clock System)包含5个时钟源: XT1CLK:可以用于低频率的32.768KHZ或者4~32MHZ的频率。但不是每一个设备都支持高频率的,有些只支持32.768KHZ。 VLOCLK:内部低功耗,低频率的时钟,典型值为10KHZ。 REFOCLK:内部时钟,典型值32.768KHZ。 DCOCLK: Internal digitally-controlled oscillator (DCO) that can be stabilized by the FLL。 XT2CLK:高频时钟源,外部时钟,4 MHz到32 MHz。 2:我们可用的从UCS模块出来的3个时钟: ACLK:辅助
[单片机]
状态、振荡(时钟)、机器、指令周期
1、节拍与状态周期 时钟发生器是一个2分频的触发器电路,它将振荡器的信号频率fOSC除以2,向CPU提供两相时钟信号P1和P2。 时钟信号的周期称为机器状态周期S(STATE),是振荡周期的2倍。 在每个时钟周期(即机器状态周期S)的前半周期,相位1(P1)信号有效,在每个时钟周期的后半周期,相位2(P2,节拍2)信号有效。 每个时钟周期(以后常称状态S)有两个节拍(相)P1和P2,CPU就以两相时钟P1和P2为基本节拍指挥STC89C52单片机各个部件协调地工作。 2、机器周期和指令周期 机器周期 计算机的一计算机的一条指令由若干个字节组成。执行一条指令需要多长时间则以机器周期为单位。 一个机器周期是指CPU访问存储器一次所
[单片机]
状态、振荡(<font color='red'>时钟</font>)、机器、指令周期
[正点原子]STM32开发板F103 第41讲 RTC实时时钟备份区域BKP原理
RTC模块与 时钟配置系统在后备区域,在复位时候不会被清除(框图: 中文参考手册) 如何使用RTC实现时钟?RTCCLK RTC的时钟有几个来源有三种 32.768khz 8Mhz 40khz RTC_PRL是自动重装载寄存器 RTC_DIV 预分频余数寄存器 RTC_DIV的作用就是 可以提供一个更加精确的时钟, 时钟开启之后会给RTC_PRL写一个值(比如100),那么RTCCLK就会被 /100 之后得到 TR_CLK。 TR_CLK的一个周期有100个 RTCCLK ,RTC_DIV在你装载之后它的值就是100,他在 RTCCLK的控制下每一个时钟 减一, 假如RTCCLK=100hz,那么 RT
[单片机]
[正点原子]STM32开发板F103 第41讲 RTC实时<font color='red'>时钟</font>备份区域BKP原理
基于嵌入式S3C2440的船舶导航系统设计
文章在以ARMS3C2440为核的硬件平台上应用Linux操作系统开发了船舶导航系统,完成了系统的硬件设计、软件设计、交叉编译环境的建立、引导程序的移植、内核的移植、驱动程序的编写和根文件系统的建立等,实现了系统的功能。 1.前言 集计算机技术、通信技术、微电子技术等多种技术为一体的嵌入式技术进入到了一个飞速发展的阶段,嵌入式系统已被广泛应用到了航空、消费电子、信息家电、网络通信等各个领域。ARMS3C2440ARM是嵌入式处理器是性价比较优秀的芯片,在各个领域的开发应用有着广阔的应用前景。 船舶导航技术也应随着科学技术背景的改变不断地向着高性能稳定性的方面发展,潜入式技术,为其提供了优质的开发资源。
[单片机]
基于嵌入式<font color='red'>S3C2440</font>的船舶导航系统设计
小广播
设计资源 培训 开发板 精华推荐

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

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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