MSO430F6638系統(tǒng)時鐘與控制_第1頁
MSO430F6638系統(tǒng)時鐘與控制_第2頁
MSO430F6638系統(tǒng)時鐘與控制_第3頁
MSO430F6638系統(tǒng)時鐘與控制_第4頁
MSO430F6638系統(tǒng)時鐘與控制_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

2、系統(tǒng)時鐘與控制(3.1)

?復(fù)位系統(tǒng)?基礎(chǔ)時鐘系統(tǒng)2

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.pt1.MSP430CPU有多少種類型的指令: (a)27種內(nèi)核指令 (b)20種內(nèi)核指令和14種仿真指令 (c)27種內(nèi)核指令和24種仿真指令 (d)24種內(nèi)核指令2.

MSP430RISC型CPU是指: (a)基于精簡指令集 (b)基于純模式匹配和指令的缺省 (c)基于復(fù)雜指令集 (d)不需要外設(shè)連接的CPU3.1.1系統(tǒng)復(fù)位復(fù)位信號:?掉電復(fù)位信號(BOR)?上電復(fù)位信號(PUR)?上電清零信號(PUC)每個復(fù)位信號將產(chǎn)生不同的系統(tǒng)初始狀態(tài)掉電復(fù)位信號(BOR)引起的原因:監(jiān)測電壓,當(dāng)超出范圍,則引起B(yǎng)OR為高

當(dāng)此信號為高時,進(jìn)行復(fù)位操作:狀態(tài)寄存器復(fù)位,PC=0xfffe,全部外設(shè)有關(guān)的寄存器復(fù)位。上電復(fù)位信號(POR):又稱硬件復(fù)位信號引起的原因:1、單片機(jī)上電2、RST/NMI管腳上產(chǎn)生低電平時系統(tǒng)復(fù)位(由BOR復(fù)位引起)系統(tǒng)復(fù)位(指POR)后的狀態(tài)為:(1)RST/NMI管腳功能被設(shè)置為復(fù)位功能;(2)所有I/O管腳被設(shè)置為輸入;(3)外圍模塊被初始化,其寄存器值為相關(guān)手冊上的默認(rèn)值;(4)狀態(tài)寄存器SR復(fù)位;(5)看門狗激活,進(jìn)入工作模式(注意和其它單片機(jī)區(qū)別,其它是默認(rèn)看門狗關(guān)閉狀態(tài));(6)程序計數(shù)器PC載入0xFFFE處的地址,微處理器從此地址開始執(zhí)行程序。上電清除信號(PUC)引起的原因:1、軟件操作2、由POR復(fù)位引起當(dāng)此信號為高時,進(jìn)行復(fù)位操作:狀態(tài)寄存器復(fù)位,PC=0xfffe,部分外設(shè)有關(guān)的寄存器復(fù)位。3.1.2MSP430基礎(chǔ)時鐘模塊時鐘系統(tǒng)模塊設(shè)計要求MSP430X5XX/6XX系列時鐘系統(tǒng)模塊五個時鐘輸入源振蕩器模塊外設(shè)模塊請求時鐘系統(tǒng)(低功耗運(yùn)行模式下)模塊振蕩器(MODOSC)故障安全邏輯操作時鐘模塊應(yīng)用舉例(MSP430F5XX/6XX)時鐘模塊庫函數(shù)9

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.pt1.MSP430CPU有多少種類型的指令: (a)27種內(nèi)核指令 (b)20種內(nèi)核指令和14種仿真指令 (c)27種內(nèi)核指令和24種仿真指令 (d)24種內(nèi)核指令2.

MSP430RISC型CPU是指: (a)基于精簡指令集 (b)基于純模式匹配和指令的缺省 (c)基于復(fù)雜指令集 (d)不需要外設(shè)連接的CPU時鐘系統(tǒng)模塊設(shè)計要求(1/1)為適應(yīng)系統(tǒng)和具體應(yīng)用需求,單片機(jī)的系統(tǒng)時鐘必須滿足以下不同要求:高頻率。用于對系統(tǒng)硬件需求和外部事件快速反應(yīng);低頻率。用于降低電流消耗;穩(wěn)定的頻率。以滿足定時應(yīng)用,如實(shí)時時鐘RTC;低Q值振蕩器。用于保證開始及停止操作最小時間延遲。

數(shù)字控制RC

振蕩器(DCO)外部低頻(LFXT1)外部高頻(XT2)MSP430X5XX/6XX系列時鐘系統(tǒng)模塊五個時鐘輸入源振蕩器模塊,包括:XT1振蕩器XT2振蕩器(由具體器件決定,不是所有MSP430單片機(jī)都有的)低功耗低頻內(nèi)部振蕩器(VLO)低頻修整內(nèi)部參考振蕩器(REFO)片內(nèi)數(shù)字控制振蕩器(DCO)一、XT1振蕩器XT1工作在低頻(LF)模式時(XTS=0),提供支持32768HZ時鐘的超低功耗模式。晶振只需經(jīng)過XIN和XOUT兩個引腳連接,不需要其他外部器件,所有保證工作穩(wěn)定的元件和移相電容都集成在芯片中。在一些設(shè)備中當(dāng)XT1選擇高頻(HF)模式時(XTS=1)也支持高頻晶振或者振蕩器。高頻晶振或諧振器連接到XIN和XOUT引腳,需要在兩個端口配置電容。二、XT2振蕩器(由具體器件決定,不是所有MSP430單片機(jī)都有的)一般稱之為第二振蕩器XT2,它產(chǎn)生時鐘信號XT2CLK,它的工作特性與XTl振蕩器工作在高頻模式時類似。系統(tǒng)頻率和系統(tǒng)的工作電壓密切相關(guān),某些應(yīng)用需要較高的工作電壓,所以也需要系統(tǒng)提供相應(yīng)較高的頻率。三、低功耗低頻內(nèi)部振蕩器(VLO)低頻低功耗內(nèi)部振蕩器(VLO)能夠提供典型10kHz的振蕩頻率(具體參數(shù)見數(shù)據(jù)手冊),而不需要外接任何晶振。VLO可以對時鐘精確要求不高的的應(yīng)用提供低成本和超低功耗的時鐘源。四、低頻修整內(nèi)部參考振蕩器(REFO)REFO可以產(chǎn)生一個比較穩(wěn)定的頻率,其典型值為32768Hz,它可以用作FLLREFCLK。低頻修整內(nèi)部參考振蕩器(REFO)可以在沒有外部晶振,對成本又比較敏感的場合得到很好的應(yīng)用。五、片內(nèi)數(shù)字控制振蕩器(DCO)DCO振蕩器是一個可數(shù)字控制的RC振蕩器,它的頻率隨供電電壓、環(huán)境溫度變化而具有一定的不穩(wěn)定性。DCO頻率可以通過選擇FLL的頻率(FLLRENCLK/n)來增強(qiáng)振蕩頻率的穩(wěn)定性。從上圖可以看出,MSP430F5XX/6XX時鐘模塊有5個時鐘輸入源:XT1CLK低頻或高頻時鐘源:可以使用標(biāo)準(zhǔn)晶振,振蕩器或者外部時鐘源輸入4MHz~32MHz。XT1CLK可以作為內(nèi)部FLL模塊的參考時鐘。XT2CLK高頻時鐘源:可以使用標(biāo)準(zhǔn)晶振,振蕩器或者外部時鐘源輸入4MHz~32MHz。VLOCLK低功耗低頻內(nèi)部時鐘源:典型值為10KHZ;REFOCLK低頻修整內(nèi)部參考時鐘源:典型值為32768Hz,作為FLL基準(zhǔn)時鐘源;DCOCLK片內(nèi)數(shù)字控制時鐘源:通過FLL模塊來穩(wěn)定。基礎(chǔ)時鐘模塊可提供3種時鐘信號:ACLK輔助時鐘:ACLK可由軟件選擇來自XT1CLK、REFOCLK、VLOCLK、DCOCLK、DCOCLKDIV、XT2CLK(由具體器件決定,不是所有MSP430單片機(jī)都有的)這幾個時鐘源之一。然后經(jīng)1、2、4、8、16、32分頻得到。ACLK可由軟件選作各個外設(shè)模塊的時鐘信號,一般用于低速外設(shè)模塊。MCLK系統(tǒng)主時鐘:

MCLK可由軟件選擇來自上述5種時鐘源,同樣可經(jīng)過分頻得到。MCLK主要用于CPU和系統(tǒng)。SMCLK子系統(tǒng)時鐘:可由軟件選擇來自上述5種時鐘源,同樣可經(jīng)過分頻得到。SMCLK可由軟件選作各個外設(shè)模塊的時鐘信號,主要用于高速外設(shè)模塊。模塊振蕩器(MODOSC)UCS模塊還有一個內(nèi)部的振蕩器(MODOSC)。它主要給FLASH模塊控制器或其他任意需要的模塊提供時鐘。MODOSC產(chǎn)生時鐘信號MODCLK。例:ADC12_A可以選擇使用MODOSC作為轉(zhuǎn)換時鐘源,用戶選擇ADC12OSC作為轉(zhuǎn)換時鐘源時,ADC12OSC就來自MODOSC。故障安全邏輯操作(1/2)時鐘系統(tǒng)模塊包含有晶振故障保護(hù)的功能。這個功能可以檢測XT1、XT2、DCO的振蕩器故障。當(dāng)晶體振蕩器啟用后,沒有正常工作時,則相應(yīng)的故障標(biāo)志位XT1LFOFFG、XT1HFOFFG、XT2OFFG將被置位。如下圖所示,可檢測的故障有: XT1的LF模式下低頻晶振故障(XT1LFOFFG) XT1的HF模式下高頻晶振故障(XT1HFOFFG) XT2高頻晶振故障(XT2OFFG) DCO故障標(biāo)志(DCOFFG)UCSCTL7UCSCTL7標(biāo)準(zhǔn)時鐘系統(tǒng)控制寄存器715141312111098保留76543210保留保留XT2OFFGXT1LFOFFGXT1HFOFFGDCOFFGXT2晶振失效標(biāo)志位。如果該位置位,那么OFIFG也置位。只要XT2失效條件存在,XT2OFFG標(biāo)志位就會置位。XT2OFFG可以通過軟件清零。0:最近一次復(fù)位后沒有失效條件產(chǎn)生;1:XT2失效。最近一次復(fù)位之后出現(xiàn)失效條件。UCSCTL7標(biāo)準(zhǔn)時鐘系統(tǒng)控制寄存器715141312111098保留76543210保留保留XT2OFFGXT1HFOFFGXT1LFOFFGDCOFFG

XT1晶振失效標(biāo)志位。如果該位置位(高頻模式),那么OFIFG也置位。只要XT1失效條件存在,XT1HFOFFG標(biāo)志位就會置位。XT1HFOFFG可以通過軟件清零。0:最近一次復(fù)位后沒有失效條件產(chǎn)生;1:XT1失效。最近一次復(fù)位之后出現(xiàn)失效條件。UCSCTL7標(biāo)準(zhǔn)時鐘系統(tǒng)控制寄存器715141312111098保留76543210保留保留XT2OFFGXT1HFOFFGXT1LFOFFGDCOFFG

XT1晶振失效標(biāo)志位。如果該位置位(低頻模式),那么OFIFG也置位。只要XT1失效條件存在,XT1LFOFFG標(biāo)志位就會置位。XT1LFOFFG可以通過軟件清零。0:最近一次復(fù)位后沒有失效條件產(chǎn)生;1:XT1失效。最近一次復(fù)位之后出現(xiàn)失效條件。UCSCTL7標(biāo)準(zhǔn)時鐘系統(tǒng)控制寄存器715141312111098保留76543210保留保留XT2OFFGXT1HFOFFGXT1LFOFFGDCOFFGDCO失效標(biāo)志位。如果該位置位,那么OFIFG也置位。如果DCO={0}或者DCO={31},DCOFFG標(biāo)志位就會置位。DCOFFG可以通過軟件清零。0:最近一次復(fù)位后沒有失效條件產(chǎn)生;1:DCO失效。最近一次復(fù)位之后出現(xiàn)失效條件。故障安全邏輯操作(1/2)時鐘系統(tǒng)模塊包含有晶振故障保護(hù)的功能。這個功能可以檢測XT1、XT2、DCO的振蕩器故障。當(dāng)晶體振蕩器啟用后,沒有正常工作時,則相應(yīng)的故障標(biāo)志位XT1LFOFFG、XT1HFOFFG、XT2OFFG將被置位。如下圖所示,可檢測的故障有: XT1的LF模式下低頻晶振故障(XT1LFOFFG) XT1的HF模式下高頻晶振故障(XT1HFOFFG) XT2高頻晶振故障(XT2OFFG) DCO故障標(biāo)志(DCOFFG)上述任何一個失效標(biāo)志位置位,都會引起晶振失效中斷標(biāo)志位OFIFG置位。SFRIFG1寄存器1514131211109876543210

OFIFG

晶振失效標(biāo)志位故障安全邏輯操作(2/2)晶振故障邏輯MSP430X5XX/6XX時鐘模塊寄存器1、UCSCTL0標(biāo)準(zhǔn)時鐘系統(tǒng)控制寄存器02、UCSCTL1標(biāo)準(zhǔn)時鐘系統(tǒng)控制寄存器13、UCSCTL2標(biāo)準(zhǔn)時鐘系統(tǒng)控制寄存器24、UCSCTL3標(biāo)準(zhǔn)時鐘系統(tǒng)控制寄存器35、UCSCTL4標(biāo)準(zhǔn)時鐘系統(tǒng)控制寄存器46、UCSCTL5標(biāo)準(zhǔn)時鐘系統(tǒng)控制寄存器57、UCSCTL6標(biāo)準(zhǔn)時鐘系統(tǒng)控制寄存器68、UCSCTL7標(biāo)準(zhǔn)時鐘系統(tǒng)控制寄存器79、UCSCTL8標(biāo)準(zhǔn)時鐘系統(tǒng)控制寄存器810、UCSCTL9標(biāo)準(zhǔn)時鐘系統(tǒng)控制寄存器91、UCSCTL0標(biāo)準(zhǔn)時鐘系統(tǒng)控制寄存器0各位定義如下:15141312111098保留DCO76543210MOD保留DCO:Bits12~8,DCO頻率階梯選擇,確定DCO頻率的大致范圍。注意:在鎖相環(huán)(FLL)工作時,這些位自動修正。2、UCSCTL0標(biāo)準(zhǔn)時鐘系統(tǒng)控制寄存器1各位定義如下:15141312111098保留76543210

保留

DCORSEL保留保留保留DISMODDCORSEL:Bits6~4,DCO頻率范圍選擇,可以調(diào)整頻率的大致范圍。

DCO模塊操作DCO頻率的調(diào)節(jié)5、UCSCTL4標(biāo)準(zhǔn)時鐘系統(tǒng)控制寄存器4各位定義如下:15141312111098保留SELA76543210保留SELS保留SELMSELA:bits10~8,選擇ACLK的時鐘源。000XT1CLK001VLOCLK010REFOCLK011DCOCLKDCOCLKDIVXT2CLK如果XT2CLK不可用,默認(rèn)DCOCLKDIV110保留,默認(rèn)XT2CLK(如果可用),否則默認(rèn)DCOCLKDIV111保留,默認(rèn)XT2CLK(如果可用),否則默認(rèn)DCOCLKDIV5、UCSCTL4標(biāo)準(zhǔn)時鐘系統(tǒng)控制寄存器4各位定義如下:15141312111098保留SELA76543210保留SELS保留SELMSELS:bits6~4,選擇SMCLK的時鐘源。000XT1CLK001VLOCLK010REFOCLK011DCOCLKDCOCLKDIVXT2CLK如果XT2CLK不可用,默認(rèn)DCOCLKDIV保留,默認(rèn)XT2CLK(如果可用),否則默認(rèn)DCOCLKDIV保留,默認(rèn)XT2CLK(如果可用),否則默認(rèn)DCOCLKDIV5、UCSCTL4標(biāo)準(zhǔn)時鐘系統(tǒng)控制寄存器4各位定義如下:15141312111098保留SELA76543210保留SELS保留SELMSELM:bits2~0,選擇MCLK的時鐘源。000XT1CLK001VLOCLK010REFOCLK011DCOCLKDCOCLKDIVXT2CLK如果XT2CLK不可用,默認(rèn)DCOCLKDIV110保留,默認(rèn)XT2CLK(如果可用),否則默認(rèn)DCOCLKDIV111保留,默認(rèn)XT2CLK(如果可用),否則默認(rèn)DCOCLKDIV7、UCSCTL6標(biāo)準(zhǔn)時鐘系統(tǒng)控制寄存器615141312111098XT2DRIVE保留XT2BYPASS保留XT2OFF76543210XT1DRIVEXTSXT1BYPASSXCAPSMCLKOFFXT1OFFXT2OFFbit8,關(guān)閉XT2晶振0假如XT2已經(jīng)通過端口選擇,并且非旁路模式,那么XT2被打開假如XT2沒有被用作ACLK、MCLK及SMCLK的時鐘源,或者沒有用作FLL的校準(zhǔn)源,XT2關(guān)閉XT1OFFbit0,關(guān)閉XT1晶振0假如XT1已經(jīng)通過端口選擇,并且非旁路模式,那么XT1被打開假如XT1沒有被用作ACLK、MCLK及SMCLK的時鐘源,或者沒有用作FLL的校準(zhǔn)源,XT1關(guān)閉時鐘模塊應(yīng)用舉例(MSP430F5XX/6XX)(1/2)P1.0

MSP430F6638P3.4SMCLKACLK例1,MSP430x66xx演示例程:設(shè)ACLK=XT1=32768Hz,令SMCLK=XT2CLK,MCLK=DCO(默認(rèn))=32xACLK=1048576Hz,ACLK和SMCLK分別通過P1.0和P3.4輸出。程序代碼如下:#include<msp430f6638.h>voidmain(void){WDTCTL=WDTPW+WDTHOLD;//關(guān)閉看門狗

P1DIR|=BIT0;//ACLK通過P1.0輸出

P1SEL|=BIT0;P3DIR|=BIT4;//SMCLK分別通過P3.4輸出。

P3SEL|=BIT4;while(BAKCTL&LOCKIO)//解鎖XT1引腳

BAKCTL&=~(LOCKIO);

P7SEL|=BIT2+BIT3;//選擇端口功能為XT2

UCSCTL6&=~XT2OFF;//使能XT2UCSCTL6&=~(XT1OFF);//使能XT1UCSCTL6|=XCAP_3;//配置內(nèi)接電容值,//若使輸出為32.768KHz,則需要選擇XCAP_3do{UCSCTL7&=~(XT2OFFG+XT1LFOFFG+DCOFFG);//清零XT1、XT2、DCO故障標(biāo)志位

SFRIFG1&=~OFIFG;//清零SFR中的故障標(biāo)志位

}while(SFRIFG1&OFIFG);//檢測振蕩器故障標(biāo)志位

UCSCTL6&=~XT2DRIVE0;//根據(jù)預(yù)期的頻率,減小XT2的驅(qū)動

UCSCTL4|=SELA_0+SELS_5;//選擇SMCLK和ACLK的時鐘源

while(1);//循環(huán)等待}時鐘模塊應(yīng)用舉例(MSP430F5XX/6XX)(2/2)3.2低功耗模式低功耗結(jié)構(gòu)(LPM)主要內(nèi)容低功耗結(jié)構(gòu)(LPM)概述低功耗工作模式進(jìn)入和退出低功耗模式(LPM0~LPM4)進(jìn)入和退出低功耗模式(LPMx.5)低功耗應(yīng)用原則低功耗應(yīng)用舉例低功耗結(jié)構(gòu)(LPM)概述(1/1)TI的MSP430是一個特別強(qiáng)調(diào)低功耗的單片機(jī)系列,尤其適合應(yīng)用于采用電池供電的長時間工作場合。MSP430系統(tǒng)使用不同的時鐘信號:ACLK、MCLK和SMCLK。這3種不同頻率的時鐘輸出給不同的模塊,從而更合理地利用系統(tǒng)的電源,實(shí)現(xiàn)整個系統(tǒng)的超低功耗。MSP430的瞬間響應(yīng)特性是系統(tǒng)超低功耗事件驅(qū)動方式的重要保證。如下圖所示:低功耗工作模式(1/2)用戶可通過軟件配置成8種不同工作模式:1種活動模式和7種低功耗模式(LPM0到LPM4、LPM3.5和LPM4.5)。通過設(shè)置控制位MSP430可以從活動模式進(jìn)入到相應(yīng)的低功耗模式;而各種低功耗模式又可通過中斷方式回到活動模式。如下圖,顯示了各種模式之間的關(guān)系。低功耗工作模式(2/2)狀態(tài)寄存器(SR):1514131211109876543210ReservedforCG1VSCG1SCG0OSCOFFCPUOFFGIENZCBitDescription8V溢出位.

V=1運(yùn)算結(jié)果超出有符號范圍7SCG1系統(tǒng)時鐘發(fā)生器0.

SCG1=1

當(dāng)DCO未被用作MCLK或SMCLK時,關(guān)閉DCO發(fā)生器

6SCG0系統(tǒng)時鐘發(fā)生器1.

SCG0=1

關(guān)閉FLL和循環(huán)控制5OSCOFF關(guān)閉振蕩器.

OSCOFF=1

當(dāng)LFXT1未被用作MCLKorSMCLK時,關(guān)閉LFXT1

4CPUOFF關(guān)閉CPU.

CPUOFF=1禁止CPU核3GIE使能通用中斷.

GIE=1

使能中斷屏蔽2N負(fù)標(biāo)志.

N=1

運(yùn)算結(jié)果為負(fù)1Z零標(biāo)志.

Z=1運(yùn)算結(jié)果為零0C進(jìn)位標(biāo)志.

C=1運(yùn)算結(jié)果產(chǎn)生進(jìn)位MSP430CPU寄存器◆在低功耗模式下,所有的I/O引腳和RAM寄存器將保持不變。可以通過開中斷后用中斷事件來喚醒LMP0到LMP4?!粝到y(tǒng)響應(yīng)中斷的過程:硬件自動中斷服務(wù) PC入棧 SR入棧 中斷向量賦給PC GIE、CPUOFF、OSCOFF和SCG1清除 IFG標(biāo)志位清除(單源中斷標(biāo)志)執(zhí)行中斷處理子程序執(zhí)行RETI指令(中斷返回) SR出棧(恢復(fù)原來的標(biāo)志) PC出棧進(jìn)入和退出低功耗模式(LPM0~LPM4)(1/4)進(jìn)入和退出低功耗模式(LPM0~LPM4)(2/4)系統(tǒng)響應(yīng)中斷時的堆棧情況,如下圖所示:堆棧初始狀態(tài)

入棧時PC和SR

出棧前PC和SR例:系統(tǒng)初始化完畢之后工作于低功耗模式0,中斷事件觸發(fā)到活動模式,中斷處理結(jié)束后進(jìn)入到低功耗模式3。;主程序…..;初始化操作開始……;……;初始化完畢BIS#GIE+CPUOFF,SR;主程序中設(shè)置低功耗模式0;…...;程序在這里停止;;中斷子程序……;中斷處理開始…………;中斷處理結(jié)束BIS#GIE+CPUOFF+SCG1+SCG0,0(SP);設(shè)置SR為低功耗模式3RETI;中斷返回;系統(tǒng)進(jìn)入低功耗模式3?!?/p>

進(jìn)入和退出低功耗模式(LPM0~LPM4)(3/4)在上述處理過程中,堆棧的變化情況,如下圖所示:堆棧初始狀態(tài)

入棧時PC和SR

出棧前PC和SR進(jìn)入和退出低功耗模式(LPM0~LPM4)(4/4)進(jìn)入和退出低功耗模式(LPMx.5)(1/1)低功耗模式LPMx.5的進(jìn)入和退出與其他低功耗模式不同。恰當(dāng)?shù)氖褂肔PMx.5模式,可以獲得更低的功耗。當(dāng)進(jìn)入LPMx.5(LPM3.5和LPM4.5)模式時,電源管理模塊(PMM)的電壓調(diào)節(jié)器也停止工作。所有的RAM、寄存器及IO口的配置數(shù)據(jù)都將丟失,所有的IO口被鎖定在當(dāng)前狀態(tài)。LMP4.5可以通過上電、復(fù)位或具體的IO口來喚醒。在LPM3.5模式下,除了可以用LPM4.5模式下的喚醒事件外,還可用RTC喚醒事件來喚醒。從LPMx.5模式下退出都會產(chǎn)生一次BOR事件。因此,在退出LPMx.5模式后,IO口的狀態(tài)將一直保持鎖定狀態(tài)直到應(yīng)用程序解除鎖定,用戶應(yīng)根據(jù)需要重新配置芯片。低功耗應(yīng)用原則(1/2)◆一般的低功耗原則:最大化延長其在LPM3或LPM4模式下的時間,用32KHz晶振作為ACLK時鐘,DCO用于CPU激活后的突發(fā)短暫運(yùn)行。如果在應(yīng)用中有短暫性的周期工作并對反應(yīng)速度不敏感的場合,可以最大化的利用LPMx.5模式來降低功耗。用接口模塊代替軟件驅(qū)動功能。例如Timer_A和Timer_B可以自動產(chǎn)生PWM和捕獲外部時序,而不占用CPU資源。用中斷控制程序運(yùn)行。用可計算的分支代替標(biāo)志位測試產(chǎn)生的分支。用快速查表代替冗長的軟件計算。在冗長的軟件計算中使用單周期的CPU寄存器。避免頻繁的子程序和函數(shù)調(diào)用。盡可能直接用電池供電。低功耗應(yīng)用原則(2/2)◆在設(shè)計外設(shè)時還有一些常規(guī)原則:將不用的FETI輸入端連接到VSS。JTAG端口TMS、TCK和TDI不要連接到VSS。CMOS輸入端不能有浮空節(jié)點(diǎn),將所有輸入端接適當(dāng)?shù)碾娖?。不論對于?nèi)核還是對于各外圍模塊,選擇盡可能低的運(yùn)行頻率,如果不影響功能應(yīng)設(shè)計自動關(guān)機(jī)。低功耗應(yīng)用舉例(1/3)例1,MSP430x66xx演示例程:配置ACLK=LFXT1=32kHz,MCLK=SMCLK=DCO(默認(rèn)值),禁用REF0、VUSBLDO、SLDO和SLDO。進(jìn)入LPM3。程序代碼如下:#include<msp430f6638.h>voidmain(void){WDTCTL=WDTPW+WDTHOLD;//關(guān)閉看門狗

//使能XT1UCSCTL6&=~(XT1OFF);//使能XT1UCSCTL6|=XCAP_3;//配置內(nèi)接電容值, //若使輸出為32.768KHz,則需要選擇XCAP_3while(BAKCTL&LOCKIO)//解鎖XT1引腳

BAKCTL&=~(LOCKIO);低功耗應(yīng)用舉例(2/3)do{UCSCTL7&=~(XT2OFFG+XT1L

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論