TQ2440开发设计板学习培训纪实(3) 设定数字时钟

摘要:0.1 数字时钟源于哪儿说白了的数字时钟,便是电压高矮的转变,仅有持续的0,1更替转变,CPU才可以被驱动器运作。S3C2440适用多种多样数字时钟源,这根据CPU针脚OM3和OM3来挑选。针对...

0.1 数字时钟源于哪儿

说白了的数字时钟,便是电压高矮的转变,仅有持续的0,1更替转变,CPU才可以被驱动器运作。S3C2440适用多种多样数字时钟源,这根据CPU针脚OM3和OM3来挑选。针对QT2440板子来讲,OM3和OM2均立即接地装置,这就寓意着数字时钟源来源于针脚XTIpll和XTOpll,这2个针脚在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设定以前,切中间间距最少七个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]
 ldr r0, =MPLLCON
 ldr r1, =(M_MDIV 12) + (M_PDIV 4) + M_SDIV
 str r1, [r0]
2 检测表明

大家還是应用了与



联系我们

全国服务热线:4000-399-000 公司邮箱:343111187@qq.com

  工作日 9:00-18:00

关注我们

官网公众号

官网公众号

Copyright?2020 广州凡科互联网科技股份有限公司 版权所有 粤ICP备10235580号 客服热线 18720358503

技术支持:如何做一个小程序