金沙国际app-金沙国际手机app下载

金沙国际app包括教育和科研机构建设、学科共建等,欢迎来到金沙国际手机app下载这里有多种线上娱乐游戏,金沙国际app获颁“创意中国榜”中国文化创意产业领军企业,是一家专业从事网络休闲平台游戏开发、运营的服务性企业。

当前位置:金沙国际app > 网络世界 > ARM920T--时钟模式

ARM920T--时钟模式

文章作者:网络世界 上传时间:2019-10-21

ARM920T clocking

时钟初始化

The ARM920T has two functional clock inputs, BCLK and FCLK. Internally, the ARM920T is clocked by GCLK,which can be seen on the CPCLK output as shown in Figure 5-1.GCLK can be sourced from either BCLK or FCLK depending on the clocking mode, selected using nF bit and iA bit in CP15 register 1 (see Register 1: Control register on page 2-12),and external memory access.The three clocking modes are FastBus, synchronous and asynchronous.

  1. 首先需要选择时钟源的来源,jz2440选择的是00,使用晶振的模式

ARM920T有2个时钟输入,分别是BCLK和FCLK。从图5-1中GPCLK的输出可以看出,ARM920T内部是由GCLK时钟模式驱动。CP15寄存器1(参见寄存器1:控制寄存器,2-12页)的nF位和iA位决定时钟模式,即决定了GCLK是由FCLK还是BCLK产生。一共有3种时钟模式,分别为快速总线、同步以及异步模式。

图片 1

 

上电时钟源选择

The ARM920T is a static design and both clocks can be stopped indefinitely without loss of state. From Figure 5-1 it can be seen that some of the ARM920T macrocell signals will have timing specified with relation to GCLK, which can be either FCLK or BCLK depending on the clocking mode

  1. 时钟相关的寄存器设置

ARM920T的设计是固定的,两种时钟都可以被无期限的暂停,而不会导致状态丢失。从图5-1这可以看出,有些ARM92的macrocell信号的timing受到GCLK的影响,而GCLK具体是由FCLK是还是BCLK产生,则是由时钟模式决定。

图片 2

 

时钟相关的寄存器

 图片 3

3.注意事项

 

  1. CLKDIVN should be set carefully not to exceed the limit of HCLK and PCLK.
  2. 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.

FASTBUS MODE

上面是总的步骤,现在一个个详解
1.时钟源的选择
由OM[3:2]引脚来控制选择,参考图片"时钟电路1",可知这两个引脚接地,选择的是00.Main Clock source 和USB Clock Source都是晶振

快速总线模式

2.寄存器设置
 2.1 LOCKTIME寄存器

In FastBus mode GCLK is sourced from BCLK. The FCLK input is ignored. This

图片 4

means that BCLK is used to control the AMBA ASB interface and the internal

LOCKTIME寄存器

ARM920T processor core.

从上图可以看出bit'31-16是控制UCLK的lock time的,bit'15-0是控制FCLK(给cpu用的),HCLK(AHB设备用的),PCLK(APB设备用的),那这个lock time是干什么的?
 从"Clock Generator Block Diagram"这个图可以看出,晶振输入的时钟(MPLLin),先要经过一个MPLL得到Mpll(应该就是FCLK),这个过程不是瞬间就完成的,需要一定的转换时间.这个就是设置这个的.

On reset, the ARM920T is put into FastBus mode and operates using BCLK. A typical

这里你可以不设置,因为上电启动默认值是0xffffffff

use for FastBus mode is to execute startup code while configuring a PLL under software

PS:什么是AHB,什么是APB,具体什么意思可以百度,google,以下截图是cpu手册两个总线具体有什么设备.

control to produce FCLK at a higher frequency. When the PLL has stabilized and

图片 5

locked, you can switch the ARM920T to synchronous or asynchronous clocking using

AHB

FCLK for normal operation.

图片 6

在快速总线模式,GCLK来自于BCLK,FCLK输入被忽略。这意味着BCLK被用来控制AMBA ASB接口和内部的ARM920T处理器核。复位时,ARM920T进入快速总线模式,操作使用BCLK。一般快速总线模式在启动代码时执行,然后由软件配置PLL产生高频的FCLK。在PLL稳定后可以切换ARM920T到同步或异步时钟,使用FCLK进行操作。

APB

小结:

2.2 MPLLCON控制分频系数的

  • GCLK=BCLK,FCLK被忽略

图片 7

寄存器的格式

  • 板子reset之后即进入该模式

晶振的频率要进行扩充,晶振频率采用的是12Mhz,FCLK最高能到400MHZ,起码得扩大30多倍,当然手册上也是提供了计算方法的..

Mpll = (2 * m * Fin) / (p * 2S这是2的s次方)
m = (MDIV + 8), p = (PDIV + 2), s = SDIV
举一个实际例子--"时钟参考表格"图里面的
12.0000MHz 400.00 MHz 92(0x5c) 1 1以这个为
例计算频率
m = 92 + 8 = 100
p = 1 + 2 = 3
s = 1
mpll = (210012)/(3*2的一次方), = 400MHz

  • 该模式的典型应用是执行启动代码,同时软件配置PLL,使得FCLK更高
  • 2.3 UPLLCON是控制usb的,裸板也没有讲要设置

  • 2.4 CLKCON相应外设的时钟使能不使能,按需进行设置

  • 2.5 CLKSLOW

图片 8

  • nF=0且iA=0

CLKSLOW

 

显然MPLL应该是要turn on的

SYNCHRONOUS MODE

  • 2.6 CLKDIVN
    设置了FCLK并没有设置HCLK和PCLK啊!这个寄存器就是设置另外两个时钟的!

同步模式

In this mode of operation GCLK is sourced from BCLK or FCLK. There are three

这里设置HCLK为FCLK的一半:
01 : HCLK = FCLK/2.
PCLK是HCLK的一半:
1: PCLK has the clock same as the HCLK/2.

restrictions that apply to BCLK and FCLK:

  • 2.7 CAMDIVN这个应该是摄像头的,不用操作

• FCLK must have a higher frequency than BCLK

图片 9

• FCLK must be an integer multiple of the BCLK frequency

Clock Generator Block Diagram

• FCLK must be HIGH whenever there is a BCLK transition.

图片 10

在这个操作模式GCLK来自于BCLK或FCLK。但是对于BCLK和FCLK要满足3个条件:

PLL (Phase-Locked Loop) Block Diagram

1. FCLK必须比BCLK有更高的频率

图片 11

2. FCLK必须是BCLK频率的整数倍数

时钟参考表格

3. 无论BCLK怎么转换,FCLK的频率都要高于BCLK

图片 12

 

Main Oscillator Circuit Examples

BCLK is used to control the AMBA ASB interface, and FCLK is used to control the

图片 13

internal ARM920T processor core. When an external memory access is required the

时钟电路1

core either continues to clock using FCLK or is switched to BCLK, as shown in

  1. 最后注意事项说了,如果HDIV不等于0的话,需要切换总线模式
    <ARM920T_TRM1_S.pdf>
    fast bus mode to the asynchronous

Table 5-1. This is the same as for asynchronous mode.

mrc p15,0,r0,c1,c0,0 先把c1寄存器读出来
orr r0,r0,#R1_nF:OR:R1_iA 设置nF,iA两位为1
mcr p15,0,r0,c1,c0,0 写回c1寄存器

图片 14

图片 15

BCLK被用来控制AMBA ASB总线接口,FCLK用来控制内部的ARM920T处理器核。

c1寄存器nF-iA

  • 当访问外部存储地址时,处理器核心要么继续使用FCLK,要么切换到BCLK。见表1。

图片 16

外部存储访问操作

GCLK=

写缓冲区

FCLK

写非缓冲区

BCLK

页搜寻、读缓冲(占满)、读非缓冲

BCLK

设置参考表

表1

本文由金沙国际app发布于网络世界,转载请注明出处:ARM920T--时钟模式

关键词: