s3c6410_时钟管理

6410时钟管理

6410内部有着复杂的时钟管理机制,为支持ARM内部、内部总线、普通外设以及特殊外设时钟需求,6410有三种不同的晶振源接入管脚,分别是主时钟(一般为12MHz)、27MHz(用于MFC、TV、LCD等)以及48MHz(用于USB通讯)。

6410时钟结构图:


摘自《s3c6410 user’s manual REV 1.2》

1.1            主时钟选择与PLL配置

6410根据OM[0]来选择外部时钟输入或外部晶振振荡时钟输入,当OM[0] = 1选择外部时钟输入,OM[0] = 0选择外部晶振振荡时钟输入,此外6410内部还包含3个PLL,分别为:

1)       APLL:为ARM内核倍频,PLL最大输出1.6GHz,内核主频最大667MHz;

2)       MPLL:为6410内部总线AXI、AHB、APB等提供时钟,PLL最大输出1.6GHz,连接到AXI/AHB总线最大频率133MHz,APB总线最大66MHz。

EPLL:6410一般外设时钟(如UART、I2C等),PLL最大输出600MHz


PLL内部结构框图:


摘自《s3c6410 user’s manual REV 1.2》

APLL/MPLL锁相环输出频率计算:FOUT = MDIV X FIN / (PDIV X 2^SDIV),EPLL锁相环输出频率计算:FOUT = (MDIV + KDIV / 216) X FIN/ (PDIV X 2SDIV)

实际的APLL、MPLL或EPLL使用一般使用手册里面的推荐值:

1)       APLL/MPLL推荐配置:

摘自《s3c6410 user’s manual REV 1.2》

1.2            ARM及AXI/AHB/APB总线时钟

根据下表配置,选择合适的分频系数。


摘自《s3c6410 user’s manual REV 1.2

1.3            内核同步/异步模式

在AXI/AHB/APB总线配置有一个同步或异步模式选择,通过OTHER[6] = 0,或OTHER[6] = 1来确定是同步还是异步模式,关于同步或异步模式在《ARMApplication Note 172》有描述,当需要系统最大性能需求时,6410内部的AXI RegisterSlices工作在同步模式,AXI Register Slices由不同深度的FIFO组成。

工作同步模式就是AXI Register Slices(包括VCORE和VSOC两边的),AXI RegisterSlices数据不先经过FIFO缓存,而是直接由 VSOC AXI与VCORE AXI经过“Level shift r wrappers”直接到达对方。

摘自《ARM1176  Technical Reference manual》

当AXI地址写通道从VCORE到VSOC,异步模式下,VCORE需要经过FIFO slot0 和FIFO slot1缓存,若为同步模式,则不需要FIFO缓存。

若要从异步模式切换到同步模式,使SYSCMODEREQ = 1,等待当SYNCMODEACK = 1,表示FIFO内容已经被“抽干”并且接下来FIFO都不起作用,即已经切换同步模式。

从同步模式切换到异步模式:使SYSCMODEREQ= 0,等待当SYNCMODEACK= 0,即表示已经切换到异步模式。


摘自《ARM1176  Technical Reference manual》


Switchingbetween asynchronous and synchronous mode is controlled by the

SYNCMODEREQinput on each register slices. This input must be driven to a logic

1 to requestsynchronous mode, and logic 0 for asynchronous mode. The AXI

AsynchronousRegister Slice also has an output SYNCMODEACK to indicate the

currentoperating status. Logic 1 on SYNCMODEACK indicates that all FIFOs within

the slices havebeen drained, and the slice is operating in synchronous mode. Logic 0

on SYNCMODEACKindicates that the slice operates asynchronously.

摘自《ARM Application Note 172》

在6410芯片中同步模式切换是通过设置OTHER[6]=1,等待当OTHER[11:8]=1111,表示已经切换到同步模式,之所以需要4bit 的SYNCMODECACK,我觉得可能是与ARM1176JZF-S内核有Peripheral AXI、DMA AXI、Data AXI及Instruction AXI 等四组VCORE AXI Register Slices有关。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值