飞思卡尔单片机PLL时钟总线模块

要设定PWM模块首先要确定片内总线时钟,MC9S12XS系列单片机增加了时钟产生器模块,锁定内部频率更高的压控振荡器VCO频率,作为系统时钟,单片机的内部时钟可达80MHz,片内总线时钟可达40MHz

 

 先给出一段例程

Code:
  1. REFDV=0x07;  //REFDIV=7   
  2. SYNR=0x53;  //SYNDIV=19   
  3. while(LOCK!=1);   //等待VCO稳定   
  4. POSTDIV=0;    //POSTDIV=0,VCO时钟=80MHz   
  5. CLKSEL_PLLSEL=1;  //选择由Fpll产生总线时钟,Fbus=Fpll/2=40MHz   

注:LOCK之前省去了寄存器名,这里是屏蔽不给发出来。

下面开始简单分析一下寄存器

1)时钟分频寄存器(CRG Reference Divider Register REFDV

 

REFDV

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

 

REFFRQ1

REFFRQ0

REFDV5

REFDV4

REFDV3

REFDV2

REFDV1

REFDV0

复位时:

0

0

0

0

0

0

0

0

 

REFDV寄存器的高两位REFFRQ[ 10 ]表示参考时钟范围

 

REFFRQ1

REFFRQ0

参考时钟范围

0

0

1~2MHz(默认)

0

1

2~6MHz

1

0

6~12MHz

1

1

大于12MHz

 

REFDV的低六位为分频因子REFDV的值,有效值的范围为0~63.

 

2)时钟合成寄存器(CRG Synthesizer Register , SYNR

SYNR

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

 

VCOFRQ1

VCOFRQ0

SYNR5

SYNR4

SYNR3

SYNR2

SYNR1

SYNR0

复位时

0

0

0

0

0

0

0

0

SYNR高两位控制压控振动器VCO的增益

VCOFRQ1

VCOFRQ0

VOC频率

0

0

默认,32~48MHz

0

1

48~80MHz

1

0

冗余

1

1

80~120MHz

SYNR寄存器的低六位可写入0~63.可将锁相环时钟倍频1~64倍。

 

锁相环产生的时钟频率可由下面的公式得到

 

PLLCLK=2 * OSCCLK * ( SYNR+1 ) / ( REFDV+1 )

 

 

 

 

 

 

3)锁相环寄存器(PLL Control Register , PLLCTL

PLLCTL

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

 

CME

PLLON

FM1

FM0

PSTWKP

PRE

PCE

SCME

复位时:

1

1

0

0

0

0

0

1

CME:时钟监控允许位。

 

PLLON:锁相环电路允许位。

 

FM [ 1 : 0 ]:选择附加调频滤波器以降低VCO噪声,默认值表示不使用该滤波器,可写入01,1011,表示参考频率相对于VCO偏高1%,2%,4%时自动调整。

 

FSTWKP:时钟快速唤醒CPU功能位。

 

PRECPU伪停止状态时,实时中断(RT1)允许位。

 

PCECPU虚拟停止时,看门狗(COP)允许位。

 

SCEM:自时钟方式允许位,默认为1,探测到外部晶振停振时进入自时钟模式,为0时,禁止自时钟模式,探测到外部晶振停振时复位。

 

 

 

4)时钟产生标志寄存器(CRG Flag Register

 

 

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

 

RTIF

PORF

LVRF

LOCKIF

LOCK

ILAF

SCMIF

SCM

复位时:

0

0

0

0

0

0

0

0

 

LOCK:锁相环频率锁定标志,为1表示时钟频率已稳定,锁相环频率已锁定。

 

 

5)时钟选择寄存器(Clock Select Register , CLKSEL

 

CLKSEL

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

 

PLLSEL

PSTF

SYSWA

ROAWA

PLLWAI

CWA

RTIWA

COPWA

复位时:

0

0

0

0

0

0

0

0

 

PLLSEL:选定锁相环(PLL Select)位,置1为选定锁相环时钟。

 

你可能感兴趣的:(51,MSP430,XS128,DSP)