新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 飛思卡爾單片機PLL時鐘總線模塊

        飛思卡爾單片機PLL時鐘總線模塊

        作者: 時間:2016-11-22 來源:網絡 收藏
        要設定PWM模塊首先要確定片內總線時鐘,MC9S12XS系列單片機增加了時鐘產生器模塊,鎖定內部頻率更高的壓控振蕩器VCO頻率,作為系統時鐘,單片機的內部時鐘可達80MHz,片內總線時鐘可達40MHz。

        本文引用地址:http://www.104case.com/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為選定鎖相環時鐘。




        評論


        技術專區

        關閉
        主站蜘蛛池模板: 凤翔县| 武川县| 赣榆县| 肃北| 云和县| 从江县| 屏边| 松原市| 吉安市| 溆浦县| 大理市| 永仁县| 丁青县| 宣武区| 文登市| 罗源县| 苍南县| 宣化县| 大厂| 冕宁县| 马鞍山市| 亳州市| 武清区| 大渡口区| 简阳市| 高安市| 广灵县| 临澧县| 武清区| 崇阳县| 九龙城区| 巫溪县| 枣强县| 景德镇市| 南投县| 寿阳县| 宿迁市| 上犹县| 石门县| 隆回县| 蕲春县|