<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > MSP430F5418學(xué)習筆記----UCS時(shí)鐘模塊配置

MSP430F5418學(xué)習筆記----UCS時(shí)鐘模塊配置

作者: 時(shí)間:2016-11-28 來(lái)源:網(wǎng)絡(luò ) 收藏
引言:一年前開(kāi)始用TI公司的x14x系列超低功耗單片機MSP430F149,感覺(jué)與普通的51系列相比,各個(gè)外設的功能強大了一些,使用起來(lái)沒(méi)有很大的區別,但有一個(gè)重要的區別就是外部晶振需要正確配置才能使用?,F在在用TI的x54x系列的MSP430F5418芯片,發(fā)現它的各個(gè)外設的集成度更高了(比如所有的外部時(shí)鐘和內部時(shí)鐘由一個(gè)Unified Clock System(UCS)模塊統一管理,內部Uart,IIC,SPI之類(lèi)的串行接口由Universal Serial Communication Interfaces(USCI)模塊統一管理),使用起來(lái)更靈活了,由此帶來(lái)的影響就是配置起來(lái)也就更麻煩了。(呵呵,要想擁有更強大的功能,還不得花更多的精力去研究它的使用方法?)

剛剛才把F5418的UCS模塊調通,特此慶祝一番~~

本文引用地址:http://dyxdggzs.com/article/201611/322782.htm

動(dòng)手之前,首先要閱讀TI提供的430x54x Family User Guide(slau208d)和MIXED SIGNAL MICROCONTROLLER,了解一下這種全新的芯片的時(shí)鐘模塊的框圖,有個(gè)整體把握:



下面是我翻譯的MIXED SIGNAL MICROCONTROLLER第18頁(yè)對UCS的介紹(覺(jué)得翻譯不好可別拍磚哦):

@振蕩器和系統時(shí)鐘 (MIXED SIGNAL MICROCONTROLLER, P18)

在MSP430x5xx家族的器件中,時(shí)鐘系統由統一時(shí)鐘系統Unified Clock System(UCS)模塊提供,它包含了一個(gè)32KHz鐘表石英晶體(XT1 LF Mode),一個(gè)內部低功率,低頻率震蕩器(VLO),一個(gè)內部平衡的低頻震蕩器(REFO),一個(gè)集成的內部數字可控震蕩器(DCO),和一個(gè)高頻石英晶體振蕩器(XT1 HF模式或XT2).這個(gè)UCS模塊的設計符合了系統對低成本和低功耗的要求,它包含數字鎖頻環(huán)(FLL),通過(guò)連接一個(gè)數字的調制器,使DCO頻率穩定成一個(gè)可編程倍數的鐘表石英晶體頻率.其內部DCO提供了一個(gè)快速開(kāi)啟的時(shí)鐘源,并能夠在低于5us內穩定.
統一時(shí)鐘系統模塊提供了如下時(shí)鐘信號:
·Auxiliary輔助時(shí)鐘(ACLK),可由32KHz鐘表晶體,高頻晶體,內部低頻振蕩器(VLO),平衡的低頻振蕩器(REFO)或內部數字控制振蕩器(DCO)提供.
·Main系統時(shí)鐘(MCLK),供CPU使用,信號提供與ACLK相同.
·Sub-Main系統子時(shí)鐘(SMCLK),供外設模塊使用,信號提供與ACLK相同.
·ACLK/n,由ACLK分頻后緩沖輸出,分頻系數可為1,2,4,8,16,32.

當你不做任何時(shí)鐘配置時(shí),你仍然可以像使用普通單片機一樣正常使用它,那么它是時(shí)鐘默認是怎么配置的呢?這時(shí)候你就得了解USC模塊的默認配置了,這部分在430x54x Family User Guide中第64頁(yè)有講解。我的翻譯:

@Unified Clock System(UCS)操作---430x54x Family User Guide slau208d,P64

在上電清除信號(PUC)之后,UCS模塊的默認配置是:
·XT1 低頻模式被選擇為XT1CLK時(shí)鐘的振蕩器。XT1CLK被選擇為ACLK的時(shí)鐘源。
·DCOCLKDIV作為MCLK的時(shí)鐘源。
·DCOCLKDIV作為SMCLK的時(shí)鐘源。
·FLL(鎖頻環(huán))運行被使能,XT1CLK作為FLL參考時(shí)鐘,即FLLREFCLK。
·XIN和XOUT引腳被設置為通用IO時(shí),XT1保持禁能直到IO口置為XT1操作模式。
·如果XT2IN和XT2OUT引腳被設置為通用IO,XT2被禁能。
在初始狀態(tài),FLL以XT1為參考時(shí)鐘的運行默認使能,但XT1被禁止。要使能XT1,相應管腳的PSEL位必須置位。當一個(gè)32.768KHz的晶振用作XT1CLK時(shí),出錯的控制邏輯電路直接造成REFOCLK作為ACLK的時(shí)鐘源,因為XT1不會(huì )立即穩定。一旦振蕩開(kāi)始信號被獲取到了,FLL就使MCLK和SMCLK穩定到1.048576MHz,f(DCO)=2.097152MHz。
狀態(tài)寄存器控制位(SCG0,SCG1,OSCOFF和CPUOFF)配置MSP430的運行模式,還使能或禁能UCS模塊的部分功能(參考系統復位,中斷,運行模式等章節)。寄存器UCSCTL0到UCSCTL8配置UCS模塊。

廢話(huà)別太多,下面直接看程序:

如果想將MCLK、SMCLK的時(shí)鐘源設為外部高速晶振(我接的是16MHz),在初始化時(shí)加入以下程序段

//使用XT2振蕩器
P5SEL |= BIT2 + BIT3;//配置管腳為晶振輸入
UCSCTL6 &= ~XT2OFF; //打開(kāi)XT2振蕩器
do
{
UCSCTL7 &= ~(XT2OFFG; //清除振蕩器XT2失效標志
SFRIFG1 &= ~OFIFG; // 清除振蕩器失效標志
//上面這句必須有,否則起振了也不會(huì )分配成功
}
while (UCSCTL7 & XT2OFFG); //判斷XT2是否起振
UCSCTL6 &= ~XT2DRIVE0;//設置驅動(dòng)電流最小以降低功耗
UCSCTL4 |= SELM__XT2CLK + SELS__XT2CLK; //選擇MCLK、SMCLK為XT2
//UCSCTL5 |= DIVS__2;//SMCLK設為2分頻

如果想讓外部的XT1,XT2和內部DCO同時(shí)使用,并從端口輸出以便于測試,連接圖示意(參考ti例程)
// MSP430F5418
// -----------------
// /| | XIN|-
// | | | 32kHz
// ---|RST XOUT|-
// | |
// | |
// | XT2IN|-
// | | HF XTAL or Resonator (add capacitors)
// | XT2OUT|-
// | |
// | P1.0|--> ACLK = 32kHz Crystal Out
// | |
// | P1.6|--> SMCLK = High Freq Xtal or Resonator Out
// | |
// | P2.0|--> MCLK = Default DCO Frwequency
// | |
// | |


在初始化是加入以下程序段:


P1DIR = BIT6 + BIT0; //
P1SEL = BIT6 + BIT0; // 配置管腳為時(shí)鐘 SMCLK, ACLK輸出
P2DIR = BIT0; //
P2SEL = BIT0; // 配置管腳為時(shí)鐘 MCLK輸出

P5SEL |= 0x0C; // 配置管腳為晶振XT2輸入
P7SEL |= 0x03; // 配置管腳為晶振XT1輸入


UCSCTL6 &= ~(XT1OFF + XT2OFF); // 打開(kāi)XT1,XT2振蕩器
UCSCTL6 |= XCAP_3; // 為XT1加載內部電容


// 循環(huán)直到XT1,XT2 和 DCO 穩定起振
do
{
UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + XT1HFOFFG + DCOFFG);
// 清除振蕩器XT2,XT1,DCO失效標志
SFRIFG1 &= ~OFIFG; // 清除振蕩器失效標志
}while (SFRIFG1&OFIFG); // 判斷所有晶振是否起振


UCSCTL6 &= ~XT2DRIVE0; // 根據晶振頻率減小XT2驅動(dòng)電流以降低功耗
UCSCTL4 |= SELA__XT1CLK + SELS__XT2CLK;


// 選擇SMCLK時(shí)鐘源為XT2, ACLK時(shí)鐘源為XT1,MCLK默認為DCO/2



評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>