S3C44B0X 使用手册第五章 CLOCK & POWER MANAGEMENT(自译)

不知为何图片丢失,可对照英文版来看

Translator:  Miss.   BikaQ

All rights reserved.

CLOCK & POWER MANAGEMENT     S 3C 44B0X RISC MICROPROCESSOR

5时钟&电源管理

51 时钟发生器(Clock Generator

511  S 3C 44B0X 片上的时钟发生器(内嵌PLL)为CPU及外设提供时钟信号。如图:

512功能介绍

时钟的产生

 

如图5-1 ,主时钟源有两个:一是XTAL0,EXTAL0连接外部晶振时钟。(OSC是需要连接到外部晶真的晶振放大器。)二是EXTCLK连接一个外部时钟。PLL的功能是以低频的晶振输出作为输入,然后产生S 3C 44B0X需要的高频时钟。时钟发生器的逻辑电路可以在重启之后,或是从STOP MODE退出之后产生稳定的时钟信号。

时钟源的选择   

 

如表5-1 S 3C 44B0X时钟源的选择由处理器的两个引脚OM[3:2]控制。OM[3:2]的状态是在nRESET信号的上升沿定的。

OM[3:2]控制多路开关MUX来选择Fin的提供者。 

时钟源的选择一般是厂家使用处理器时确定的,所以不需要我们来设定。

   NOTE::虽然 PLL在重启之后就开始启动了,但是它的输出一直到对PLLCON寄存器设置之后才能作为Fout.在对寄存器进行设置之前,Fin将直接作为Fout.。即使用户想使用PLLCON寄存器中的默认值,也需要吧它重新写入才行。

 

PLL (PHASE-LOCKED-LOOP)

时钟发生器中的PLL是一个电路,它可以产生与输入信号频相同步的输出信号,它包括以下基本模块(如图5-2):

VCO (Voltage controlled oscillator),:产生与所需的直流电压想符合的频率。

Divider P:产生Fref=Fin/P

Divider M:产生Fvco=VCO输出/M

Divider S:产生Fpllo=VCO输出/S(Fpllo就是PLL模块的输出频率)

PFD (Phase Difference Detector) :监视Fref,Fvco,当他们产生相位差时发出一个控制信号。

Charge Pump (PUMP) :PFD产生的控制信号转换成比例相应的电压,并使其通过外部滤波器(Loop Filter)来驱动VCO

Loop Filter :为避免VCO超载,这个低通滤波器把由控制信号产生的高频部分过滤掉。

Loop Filter 中推荐使用电容大小为700Pf(如图5-2)

PLL输入Fin与输出Fpllo之间的关系:

 

                 m = M (赋给 divider M的值)+ 8, p = P(赋给 divider P的值) + 2

 

 

PLL产生稳定输出原理:

Fref,Fvco有相位差时,PFD产生控制信号发给PUMPPUMPPFD产生的控制信号转换成比例相应的电压,并使其通过外部滤波器(Loop Filter)来驱动VCO,引起VCO中晶振频率线性的增长或是降低得到了动态变化平均电压。

Fref,Fvco相一致时,PFD不再产生控制信号发给PUMP,从而PUMP可以输出稳定的电压提供给外部滤波器(Loop Filter)Loop Filter的稳定输出不再驱动VCO改变频率。于是,VCO的频率保持恒定,PLL就可以为作为系统时钟了。

PLL频率设置方法(Normal Operation Mode 下):

1.根据FinFpllo(即需要的时钟输出Fout计算MDIV, PDIVSDIV

公式如下:

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

 

示例:

Fin=14.318Mhz Fout=60Mhz

计算得:MDIV=59, PDIV=6 and SDIV=1

(可以用 SAMSUNG 公司提供的PLLSET.EXE 来计算. )

 

计算PLL 值需满足的限制:

1. Fpllo 的范围( 20Mhz ~ 66Mhz.

2. Fpllo * 必须小于170 MHz.

3. S 需尽量大.

4. 推荐(Fin / p) 1Mhz . 同时需满足, (Fin / p) < 2Mhz

 

2.按照计算所得MDIV, PDIVSDIV值,设置寄存器PLLCON

 

 

PLL&Clock Generator的正常状态:

 

 

时钟控制逻辑(CLOCK CONTROL LOGIC

它的作用是决定 Fout是来自 PLL(Fpllo) 时钟还是直接来自 OSC 时钟(Fin. 当为PLL设置一个新的频率值的时候, clock control logic 使 FOUT PLL 锁定时间内失效直到 PLL 产生稳定的输出时才使FOUT有效。除了此种情况外,clock control logic 在重启或者是从掉电模式唤醒的时候也会被激活。

 

PLL 封锁时间(PLL Lock Time

为了使PLL输出是稳定的, lock time 应该大于 208us. 在重启之后,或者是从STOP SL_IDLE 模式唤醒之后, lock-time 就会根据lock time count 寄存器的配置自动的插入。自动插入的 lock time

计算公式:

t_lock( PLL lock time by 硬件逻辑) = (1/ Fin) x n, (n = LTIMECNT value)

 

 

加电重启(Power-On Reset ):

5-4 演示了加电重启后的时序关系。家电后,在若干msmillionsecond)内,晶振开始启动,当OSC时钟输出稳定之后, nRESET 发出信号,然后 PLL 根据默认配置开始启动。但是 PLL在刚加电时是不稳定的,所以此时 Fout 仍然直接使用Fin而不是 Fpllo,直到用软件对PLLCON重新配置之后,产生稳定输出才能使Fout使用Fpllo即使用户想在重启后使用PLLCON寄存器中的默认值,也需要用软件把它重新写入寄存器才行

lock time.之后Fout立即被配置为PLL 的输出(Fpllo) ,而 PLL 只有在用软件对PLL配置一个新的频率的时候才会开始它的上锁操作序列即lock time.才会开始。

 

Normal Operation Mode 下改变PLL设置

S 3C 44B0X  Normal mode操作时,如果用户想通过改写PMS值来改变频率,PLL lock time将会自动插入。在lock time中,将停止为S 3C 440X提供时钟。时间图如下:

 

你可能感兴趣的:(c,filter,generator)