色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 【E課堂】MSP430:MCLK、SMCLK、ACLK默認(rèn)時(shí)鐘頻率

          【E課堂】MSP430:MCLK、SMCLK、ACLK默認(rèn)時(shí)鐘頻率

          作者: 時(shí)間:2016-08-10 來源:網(wǎng)絡(luò) 收藏

            一、、S、ACLK默認(rèn)時(shí)鐘頻率

          本文引用地址:http://cafeforensic.com/article/201608/295297.htm

            1.1 POR與PUC

            POR指Power-On Reset,即上電復(fù)位(硬件),PUC指Power-Up Clear,即上電清除(軟件復(fù)位),這是兩種分離的復(fù)位信號(hào)。POR總會(huì)引起PUC,關(guān)于POR與PUC的觸發(fā)條件見用戶指南,如下:

            

           

            圖1 POR與PUC觸發(fā)條件

            1.2 默認(rèn)時(shí)鐘頻率

            有兩種方法(甚至更多)可以得知、SMCLK、ACLK默認(rèn)的時(shí)鐘頻率。

            (1)通過用戶指南描述

            查閱用戶指南可得到系統(tǒng)復(fù)位后,時(shí)鐘信號(hào)MCLK、SMCLK、ACLK的時(shí)鐘源分別是DCOCLK(數(shù)控震蕩器)、DCOCLK、LFXT1CLK(低速晶體震蕩器)。如下:

            

           

            圖2 復(fù)位后默認(rèn)時(shí)鐘頻率

            (2)通過寄存器初始值判定

            用戶指南會(huì)給出每個(gè)寄存器的初始值,通過分析初始值各位的含義,并對(duì)照數(shù)據(jù)手機(jī),也可得到其默認(rèn)頻率。定位到用戶指南基本時(shí)鐘模塊(Basic Clock Model),其寄存器描述如下:

            

           

            結(jié)合圖5分析,可知RSELx為7(BCSCTL1低3位),DCOx為3,MODx為0,再對(duì)照?qǐng)D4可知系統(tǒng)復(fù)位后MCLK和SMCLK的頻率在0.8MHz~1.5MHz,即819.2KHz~1536KHz。再結(jié)合圖3基本時(shí)鐘系統(tǒng)控制寄存器2(BCSCTL2),可知MCLK默認(rèn)時(shí)鐘源是DCOCLK,SMCLK默認(rèn)時(shí)鐘源也是DCOCLK。BCSCTL2示意圖如下:

            

           

            圖3 BCSCTL2示意圖

            1.2.1 MCLK和SMCLK時(shí)鐘頻率

            在數(shù)據(jù)手冊(cè)可以找到DCO頻率表(搜索關(guān)鍵詞DCOCLK可快速找到),如下:

            

           

            圖4 DCO時(shí)鐘頻率

            由上圖可知,系統(tǒng)復(fù)位后MCLK和SMCLK的頻率在0.8MHz~1.5MHz,即819.2KHz~1536KHz。系統(tǒng)啟動(dòng)后,可以調(diào)整RSELx(基本時(shí)鐘系統(tǒng)控制寄存器1BCSCTL1前3位)、DCOx(DCO控制器DCOCTL前5位)、MODx(DCO控制器DCOCTL后3位)的值得到合適的頻率,示意圖如下[3]:

            

           

            圖5 DCOCTL和BCSCTL1示意圖

            注:圖5跟用戶指南有一定出入,G2231的BCSCTL1位0~4都是RSELx,但因是中文比較直觀,就沒換了。

            1.2.2 ACLK時(shí)鐘頻率

            同理,可以從數(shù)據(jù)手冊(cè)查得ACLK時(shí)鐘源LFXT1CLK時(shí)鐘頻率如下:

            

           

            圖6 LFXT1時(shí)鐘頻率

            由上圖可知,系統(tǒng)復(fù)位后ACLK的頻率典型值是32768Hz,即32KHz。

            二、應(yīng)用舉例

            2.1 FLASH時(shí)鐘設(shè)置

            FLASH擦除、寫入是由時(shí)序發(fā)生器控制的,所以擦除、寫入之前需要設(shè)定合適的時(shí)鐘頻率(查看用戶指南可知,頻率必須在257KHz~476KHz),而時(shí)鐘頻率由選擇哪種時(shí)鐘源FSSELx及分頻系數(shù)FNx決定(在FLASH控制寄存器2),F(xiàn)CL2示意圖如下(FCL2默認(rèn)值是0x9642,即只讀、MCLK、3分頻):

            

           

            圖7 FCL2示意圖

            假設(shè)選擇默認(rèn)MCLK作為FLASH時(shí)序發(fā)生器,默認(rèn)MCLK時(shí)鐘頻率典型值是1.1MHz,即1126.4KHz,需要3分頻(375.5KHz,此時(shí)FN1為1)或者4分頻(281.6KHz,此時(shí)FN1、FN0為1)才能符合257KHz~476KHz。通過設(shè)置FN0~FN5可以將時(shí)鐘分頻1~64,即32*FN5 + 16*FN4 + 8*FN3 + 4*FN2 + 2*FN1 + FN0 + 1。(此處FNx是指第x位,與下文不同)如果選擇3分頻,設(shè)置FCTL2如下:

            FCTL2 = FWKEY + FSSEL_2 + FN1; /*FN1=0x0002,此時(shí)是3分頻*/

            FWKEY、FSSEL_2、FNx在io430G2231.h定義,如下:

            #define FWKEY (0xA500u) /* Flash key for write */

            #define FSSEL_0 (0x0000u) /* Flash clock select: 0 - ACLK */

            #define FSSEL_1 (0x0040u) /* Flash clock select: 1 - MCLK */

            #define FSSEL_2 (0x0080u) /* Flash clock select: 2 - SMCLK */

            #define FSSEL_3 (0x00C0u) /* Flash clock select: 3 - SMCLK */

            /* Divide Flash clock by 1 to 64 using FN0 to FN5 according to: */

            /* 32*FN5 + 16*FN4 + 8*FN3 + 4*FN2 + 2*FN1 + FN0 + 1 */

            enum

            {

            FN0 = 0x0001,

            FN1 = 0x0002,

            FN2 = 0x0004,

            FN3 = 0x0008,

            FN4 = 0x0010,

            FN5 = 0x0020,

            FSSEL0 = 0x0040,

            FSSEL1 = 0x0080

            };



          關(guān)鍵詞: MSP430 MCLK

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉