新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 飞思卡尔单片机PLL时钟总线模块

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

作者:时间:2016-11-22来源:网络收藏
要设定PWM模块首先要确定片内总线时钟,MC9S12XS系列单片机增加了时钟产生器模块,锁定内部频率更高的压控振荡器VCO频率,作为系统时钟,单片机的内部时钟可达80MHz,片内总线时钟可达40MHz。

本文引用地址:http://www.eepw.com.cn/article/201611/319683.htm

先给出一段例程

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[ 1:0 ]表示参考时钟范围

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,10或11,表示参考频率相对于VCO偏高1%,2%,4%时自动调整。

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

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

PCE:CPU虚拟停止时,看门狗(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为选定锁相环时钟。




评论


技术专区

关闭