历史上的今天

今天是:2024年09月16日(星期一)

2021年09月16日 | TQ2440开发板学习纪实(3)--- 设置时钟频率,让CPU运行的更快

发布者:码字奇才 来源: eefocus关键字:TQ2440  时钟频率 手机看文章 扫描二维码
随时随地手机看文章

0 原理

0.1 时钟源自哪里

所谓的时钟,就是电压高低的变化,只有不断的0,1交替变化,CPU才能被驱动运行。S3C2440支持多种时钟源,这通过CPU针脚OM3和OM3来选择。对于QT2440板子来说,OM3和OM2均直接接地,这就意味着时钟源来自针脚XTIpll和XTOpll,这两个针脚在TQ2440的核心板上被连接上了一个12MHz的晶振。


0.2 S3C2440的时钟原理与设置

CPU、RAM、UART等不同的设备运行时需要不同的时钟频率,这些不同的频率需要通过变频电路来提供,在电子行业这个变频电路叫做PLL(Phase Locked Loop)。作为软件出身的程序员,不太可能精通电路设计,只需要知道这个PLL可以把输入的时钟转换为很多其他不同的时钟供系统使用。


Fin(12MHz)——>(PLL变频)——–>FCLK、HCLK、PCLK


而输出频率和输入频率的关系则通过响应的寄存器进行控制。控制参数的设置在s3c2440数据手册上有详细说明。这里只列出特别需要注意的地方。


If HDIVN is not 0, the CPU bus mode has to be changed from the fast bus mode to the asynchronous

bus mode using following instructions(S3C2440 does not support synchronous bus mode).

MMU_SetAsyncBusMode

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

orr r0,r0,#R1_nF:OR:R1_iA

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

If HDIVN is not 0 and the CPU bus mode is the fast bus mode, the CPU will operate by the HCLK.

This feature can be used to change the CPU frequency as a half or more without affecting the HCLK

and PCLK.

也就是说,S3C2440不支持异步总线模式(S3C2440A支持)。所以只能工作在fast bus模式下,此时如果HDIVN不是0的的话,驱动CPU工作的将不是FCLK,而是HCLK。


FCLKOUT must be bigger than 200MHz (It does not mean that the ARM core has to run more than 200MHz).因为CPU可能以HCLK工作,如第一条所示。


When you set MPLL&UPLL values, you have to set the UPLL value first and then the MPLL value. (Needs intervals

approximately 7 NOP。即是说,UPLL设置要在MPLL设置之前,切之间间隔至少7个NOP。


如果没有设置MPLL,那么CPU会一直以Fin的频率时钟运行。

MPLL和UPLL的计算公式并不完全相同。

MPLL Control Register

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

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

UPLL Control Register

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

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


1 关键代码说明

尽管理论稍显复杂,实际设置代码非常简单。我们要设置的最终结果是:FCLK=200MHz,并且CPU以此来运行。当然可以根据手册上的数据,设置成更高的频率,只不过尝试后发现高频率下CPU发热明显,为保护好测试板子,采用了一个较低的FCLK。


/* Fin=12MHz, FCLK=200MHz */

.equ MPLLCON,   0x4c000004

.equ M_MDIV,    92

.equ M_PDIV,    4

.equ M_SDIV,    1


/* Fin=12MHz, UPLLCLK = 48MHz */

.equ UPLLCON,   0x4c000008

.equ U_MDIV,    56

.equ U_PDIV,    2

.equ U_SDIV,    2


/* HCLK=FCLK, PCLK=FCLK, UCLK=UPLLCLK */

.equ CLKDIVN,   0x4c000014

/*

  if If HDIVN is not 0 and the CPU bus mode is the fast bus mode,

  the CPU will operate by the HCLK

*/

.equ HDIVN,     0

.equ DIVN_UPLL, 0

.equ PDIVN,     0


    ldr r0, =CLKDIVN

    ldr r1, =(DIVN_UPLL<<3) + (HDIVN<<1) + PDIVN

    str r1, [r0]


    ldr r0, =UPLLCON

    ldr r1, =(U_MDIV<<12) + (U_PDIV<<4) + U_SDIV

    str r1, [r0]

    nop

    nop

    nop

    nop

    nop

    nop

    nop


    ldr r0, =MPLLCON

    ldr r1, =(M_MDIV<<12) + (M_PDIV<<4) + M_SDIV

    str r1, [r0]


2 测试说明

我们还是使用了与上一篇博文同样的一个LED流水灯C程序,不过由于CPU工作频率由12MHz提高到了200MHz,流水灯的速度较上一版本变化非常明显,这也直观上验证了我们设置CPU时钟成功了。

关键字:TQ2440  时钟频率 引用地址:TQ2440开发板学习纪实(3)--- 设置时钟频率,让CPU运行的更快

上一篇: 初始化片外RAM,让程序有更大内存空间
下一篇:Freestanding C与交叉编译器的生成原理分析

推荐阅读

这是一场围绕半导体生态圈的持久话题。最大赢家我的选择是台积电。他们迎来一个丰收年,而未来也会如此。GF终止7nm让AMD转入台积电帐下,传闻称英特尔也将转移部分产能到台积电,当然苹果和其他产业界已经开始在台积电流片7nm让其继续保持行业领先,可以提前庆祝这一年的胜利了。有消息提到英特尔的动作,称英特尔Coffee Lake处理器的生产已经迁移到台积...
由中关村集成电路设计园主办的第三届“芯动北京”中关村IC产业论坛于9月11日在北京隆重召开,本次论坛以“构建产业生态,加速自主创芯”为主题,围绕全球半导体产业趋势、IC自主创新与人才培养、关键芯片自主可控与产业生态构建、资本驱动产业创新等问题展开了深入探讨。 此次论坛是为进一步贯彻落实《国家集成电路产业发展推进纲要》,加快提升国家集成...
半导体基础元器件领域的高产能生产专家Nexperia推出四款全新的TrEOS ESD保护器件,这些器件通过了AEC-Q101认证,适用于车规级应用,并且可承受高达175°C的高温。同时,与所有TrEOS器件一样,这些新的车用器件具有很低的电容,可确保高信号完整性,并具有很低的钳位电压和高稳健性,适用于新的车载接口。具体的车载应用包括采用USB 3.2、HDMI、LVDS、SerD...
具体实现功能系统由STC89C52单片机+单体数码管+LED指示灯+ULN2003驱动芯片+DC-5V步进电机构成。具体功能:(1)实现按键控制步进电机正转、反转、加速、减速、停止;(2)2个发光二极管显示正反转,1位7段LED数码管显示当前转速档位(共9个档位);(3)4个红色LED,指示电机的转速。设计背景步进电机是一种将电脉冲信号转换成角位移的执行机构,其转子角...

史海拾趣

问答坊 | AI 解惑

关于2440开发板换屏后显示不全的问题

我有个2440开发板,配的是3.5的屏,我换了个5.6的屏 VBPD等那6个参数修改后,用测试代码跑一边,测屏,没问题。 在Wince的BSP里,我把屏大小参数改了,系统下进去后,开机图片显示不全,系统起来后也是,640*480屏,大概从100到320的位置从上到下 ...…

查看全部问答∨

打印机驱动程序

我想写一个打印机驱动程序  想先了解一下这个驱动程序里应该包括什么内容啊   比如说发送数据啊  什么的   是不是还要知道具体打印机的一些命令…

查看全部问答∨

急求啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

急求HEX的资料,拜托各位大侠给点资料哦!!!!急求啊...............…

查看全部问答∨

看中了ST的多路CAN和汽车级温度范围!

                                 最近想作个车载控制装置,有不是很复杂的逻辑运算,和其他一些运算;但是要求有64M以上的数据记录功能,而且可以通 ...…

查看全部问答∨

求助!!butterword低通滤波问题 。

本帖最后由 paulhyde 于 2014-9-15 09:13 编辑 我想问下“2007年索尼杯获得者作品论文--程控滤波器”里边采用LTC1068低通滤波时那个第一级滤波器的Q=1.3066,第二级滤波器的Q=0.5412    里面的Q 是怎么算出来的啊???   ...…

查看全部问答∨

这么快A5已经作为MCU

Atmel® 公司(纳斯达克:ATML)今天宣布,公司拓展了其基于 Cortex-A5 处理器的微处理器(MPU)。新型 SAMA5D3 微处理器的封装更小,所支持的温度范围更广,并提供全新外设组合,同时又保持了高性能、低功耗的特点,并拥有一个包含新型软硬 ...…

查看全部问答∨

关于在鄂尔多斯创立一个遥控玩具的生产基地的实践

   目前鄂尔多斯为吸引大批有识之士进驻鄂尔多斯发展,政策上给予大力扶持,现面向社会诚挚招募有创业意向的大学生进驻鄂尔多斯高科技产业园区,开展创业项目,本人大学学的是电子信息科学专业,一直对嵌入式有浓厚的兴趣,觉得创办一个 ...…

查看全部问答∨

跪求采用UCC3895输出4路PWM的电路

跪求采用UCC3895输出4路PWM的电路…

查看全部问答∨

28335怎么实现float转Uint16或者取整函数?

以前用定点的DSP IQMATH提供一个取整的函数 但是28335好像没有这东西了 先问下怎么做? …

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

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

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

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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