MSP430課件3.1系統(tǒng)時鐘_第1頁
MSP430課件3.1系統(tǒng)時鐘_第2頁
MSP430課件3.1系統(tǒng)時鐘_第3頁
MSP430課件3.1系統(tǒng)時鐘_第4頁
MSP430課件3.1系統(tǒng)時鐘_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第三部分 MSP430基本外設2 Copyright 2009 Texas Instruments All Rights Reservedwww.msp430.ubi.ptnMSP430系列微控制器的片內(nèi)資源非常豐富,系列微控制器的片內(nèi)資源非常豐富,外設模塊外設模塊通過數(shù)據(jù)總線、控制總線和地址總線與通過數(shù)據(jù)總線、控制總線和地址總線與CPU相連相連。q3.1 系統(tǒng)時鐘q3.2 低功耗模式q3.3 通用輸入輸出端口q3.4 定時器q3.5 DMA控制器q3.6 比較器Aq3.7 模數(shù)轉換器(ADC)q3.8 數(shù)模轉換模塊(DAC) q3.9 LCD液晶驅(qū)動模塊q3.10 硬件乘法器q3.11 Fl

2、ash編程3.1 系統(tǒng)時鐘 (UCS)Unified Clock System 本節(jié)內(nèi)容n時鐘系統(tǒng)模塊設計要求時鐘系統(tǒng)模塊設計要求nMSP430X5XX / 6XX系列時鐘系統(tǒng)模塊系列時鐘系統(tǒng)模塊n五個時鐘輸入源振蕩器模塊五個時鐘輸入源振蕩器模塊nDCO模塊操作模塊操作n外設模塊請求時鐘系統(tǒng)(低功耗運行模式下)外設模塊請求時鐘系統(tǒng)(低功耗運行模式下)n模塊振蕩器(模塊振蕩器(MODOSC)n故障安全邏輯操作故障安全邏輯操作n時鐘模塊應用舉例(時鐘模塊應用舉例(MSP430F5XX / 6XX)n時鐘模塊庫函數(shù)時鐘模塊庫函數(shù)時鐘系統(tǒng)模塊設計要求(1/1) 單片機各部件能有條不紊自動工作,實際上是

3、在其系統(tǒng)時鐘作用下,控制器指揮芯片內(nèi)各個部件自動協(xié)調(diào)工作,使內(nèi)部邏輯硬件產(chǎn)生各種操作所需的脈沖信號而實現(xiàn)的。 為適應系統(tǒng)和具體應用需求,單片機的系統(tǒng)時鐘必須滿足以下不同要求:高頻率。高頻率。用于對系統(tǒng)硬件需求和外部事件快速反應;低頻率。低頻率。用于降低電流消耗;穩(wěn)定的頻率。穩(wěn)定的頻率。以滿足定時應用,如實時時鐘RTC;低低Q Q值振蕩器。值振蕩器。用于保證開始及停止操作最小時間延遲。MSP430X5XX / 6XX系列時鐘系統(tǒng)模塊(1/3)右圖為MSP430X5XX / 6XX系列單片機時鐘模塊結構:MSP430X5XX / 6XX系列時鐘系統(tǒng)模塊(2/3) 從上圖可以看出,MSP430F5X

4、X / 6XX時鐘模塊有 5 個時鐘輸入源:XT1CLK 低頻或高頻時鐘源:可以使用標準晶振,振蕩器或者外部時鐘源輸入4MHz32MHz。XT1CLK可以作為內(nèi)部FLL模塊的參考時鐘。XT2CLK 高頻時鐘源:可以使用標準晶振,振蕩器或者外部時鐘源輸入4MHz32MHz。VLOCLK 低功耗低頻內(nèi)部時鐘源:典型值為10KHZ;REFOCLK 低頻修整內(nèi)部參考時鐘源:典型值為32768Hz,作為FLL基準時鐘源;DCOCLK 片內(nèi)數(shù)字控制時鐘源:通過FLL模塊來穩(wěn)定。MSP430X5XX / 6XX系列時鐘系統(tǒng)模塊(3/3)基礎時鐘模塊可提供3種時鐘信號:ACLK 輔助時鐘:ACLK可由軟件選擇

5、來自XT1CLK、REFOCLK、VLOCLK、DCOCLK、DCOCLKDIV、XT2CLK(由具體器件決定)這幾個時鐘源之一。然后經(jīng)1、2、4、8、16、32分頻得到。ACLK可由軟件選作各個外設模塊的時鐘信號,一般用于低速外設模塊。MCLK 系統(tǒng)主時鐘: MCLK可由軟件選擇來自上述5種時鐘源,同樣可經(jīng)過分頻得到。MCLK主要用于CPU和系統(tǒng)。SMCLK 子系統(tǒng)時鐘:可由軟件選擇來自上述5種時鐘源,同樣可經(jīng)過分頻得到。 SMCLK可由軟件選作各個外設模塊的時鐘信號,主要用于高速外設模塊。五個時鐘輸入源振蕩器模塊(1/6)五個時鐘輸入源振蕩器模塊,包括:XT1 振蕩器XT2 振蕩器低功耗低

6、頻內(nèi)部振蕩器(VLO)低頻修整內(nèi)部參考振蕩器(REFO)片內(nèi)數(shù)字控制振蕩器(DCO)五個時鐘輸入源振蕩器模塊(2/6)一、一、XT1 振蕩器振蕩器XT1工作在低頻(LF)模式時(XTS=0),提供支持32768HZ時鐘的超低功耗模式。晶振只需經(jīng)過XIN和XOUT兩個引腳連接,不需要其他外部器件,所有保證工作穩(wěn)定的元件和移相電容都集成在芯片中。在一些設備中當XT1選擇高頻(HF)模式時(XTS=1)也支持高頻晶振或者振蕩器。高頻晶振或諧振器連接到XIN和XOUT引腳,需要在兩個端口配置電容。五個時鐘輸入源振蕩器模塊(3/6)二、二、XT2 振蕩器振蕩器一般稱之為第二振蕩器XT2,它產(chǎn)生時鐘信號X

7、T2CLK,它的工作特性與XTl振蕩器工作在高頻模式時類似。系統(tǒng)頻率和系統(tǒng)的工作電壓密切相關,某些應用需要較高的工作電壓,所以也需要系統(tǒng)提供相應較高的頻率。系統(tǒng)頻率和系統(tǒng)工作電壓之間的關系下圖所示:五個時鐘輸入源振蕩器模塊(4/6) 頻率(MHz)頻率和工作電壓的關系在陰影中的數(shù)字表示所支持PMMCOREVx配置。電壓(V)五個時鐘輸入源振蕩器模塊(5/6)三、低功耗低頻內(nèi)部振蕩器(三、低功耗低頻內(nèi)部振蕩器(VLO)低頻低功耗內(nèi)部振蕩器 (VLO)能夠提供典型10kHz的振蕩頻率(具體參數(shù)見數(shù)據(jù)手冊),而不需要外接任何晶振。VLO可以對時鐘精確要求不高的的應用提供低成本和超低功耗的時鐘源。五個

8、時鐘輸入源振蕩器模塊(6/6)四、低頻修整內(nèi)部參考振蕩器(四、低頻修整內(nèi)部參考振蕩器(REFO)REFO可以產(chǎn)生一個比較穩(wěn)定的頻率,其典型值為32768Hz,它可以用作FLLREFCLK。低頻修整內(nèi)部參考振蕩器(REFO)可以在沒有外部晶振,對成本又比較敏感的場合得到很好的應用。五、片內(nèi)數(shù)字控制振蕩器(五、片內(nèi)數(shù)字控制振蕩器(DCO)DCO振蕩器是一個可數(shù)字控制的RC振蕩器,它的頻率隨供電電壓、環(huán)境溫度變化而具有一定的不穩(wěn)定性。DCO頻率可以通過選擇FLL的頻率(FLLRENCLK/n)來增強振蕩頻率的穩(wěn)定性。DCO模塊操作(1/4)DCOCLK頻率調(diào)整過程:頻率調(diào)整過程:設置DCORSELx

9、這3位可以從8個DCO額定頻率中選擇一個頻率。5位的DCO用來在DCORSEL的32個頻率級別中選擇,相鄰兩個的頻率相差約8%。5位的MOD用于控制在DCO中的32個頻率中選擇切換兩種頻率。如果DCO=31,表示DCO已經(jīng)選擇最高頻率,此時不能利用MOD進行頻率調(diào)整。(如下圖所示)其中,在鎖頻環(huán)工作的時候,這些DCO位和MOD位的值由硬件自動調(diào)節(jié)。DCO模塊操作(2/4)DCO頻率的調(diào)節(jié)DCO模塊操作(3/4)鎖頻環(huán)鎖頻環(huán)(FLL)DCOCLK可用作ACLK、MCLK、SMCLK,但它的頻率隨供電電壓、環(huán)境溫度變化而具有一定的不穩(wěn)定性,F(xiàn)LL通過頻率積分器和調(diào)制器的自動調(diào)節(jié)使DCOCLK的頻率

10、趨于穩(wěn)定。FLL通過在兩個最相近的鄰居頻率之間進行切換,產(chǎn)生兩個頻率的加權頻率,最終獲得我們所需的頻率。(如下圖所示)DCO模塊操作(4/4)外設模塊請求時鐘系統(tǒng)(1/2)外設模塊可以控制3個時鐘請求信號中的一個來獲得時鐘ACLK_REQ、MCLK_REQ、SMCLK_REQ。不管在任何模式下,外設模塊的正常操作都可以從標準時鐘系統(tǒng)(UCS)請求時鐘信號。 例如:如果定時器選擇了ACLK作為時鐘源,只要定時器允許,ACLK_REQ信號就一直有效并向UCS申請時鐘,而UCS則不管當前是在什么LPM低功耗模式都會輸出ACLK信號。 如下圖所示,為外設模塊請求時鐘系統(tǒng)。外設模塊請求時鐘系統(tǒng)(2/2)

11、外設模塊請求時鐘系統(tǒng)。模塊振蕩器(MODOSC)(1/1)UCS模塊還有一個內(nèi)部的振蕩器(MODOSC)。它主要給FLASH模塊控制器或其他任意需要的模塊提供時鐘。MODOSC產(chǎn)生時鐘信號MODCLK。 例:ADC12_A可以選擇使用MODOSC作為轉換時鐘源,用戶選擇ADC12OSC作為轉換時鐘源時,ADC12OSC就來自MODOSC。故障安全邏輯操作(1/2)時鐘系統(tǒng)模塊包含有晶振故障保護的功能。這個功能可以檢測XT1、XT2、DCO的振蕩器故障。當晶體振蕩器啟用后,沒有正常工作時,則相應的故障位XT1LFOFFG、XT1HFOFFG、XT2OFFG將被置位。如下圖所示,可檢測的故障有:X

12、T1的LF模式下低頻晶振故障(XT1LFOFFG)XT1的HF模式下高頻晶振故障(XT1HFOFFG)XT2高頻晶振故障(XT2OFFG)DCO故障標志(DCOFFG)故障安全邏輯操作(2/2)晶振故障邏輯時鐘模塊應用舉例(MSP430F5XX / 6XX)(1/2)SMCLKACLK例1,MSP430 x66xx演示例程:設ACLK = XT1 = 32768Hz,令SMCLK = XT2CLK,MCLK = DCO(默認) = 32 x ACLK = 1048576Hz,ACLK和SMCLK分別通過P1.0和P3.4輸出。程序代碼如下:#include void main(void) WD

13、TCTL = WDTPW + WDTHOLD; / 關閉看門狗關閉看門狗 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; / 使能使能 XT2 UCSCTL6 &= (XT1OFF); / 使能使能

14、 XT1 UCSCTL6 |= XCAP_3; / 配置內(nèi)接電容值,配置內(nèi)接電容值, / 若使輸出為若使輸出為32.768KHz,則需要選擇,則需要選擇XCAP_3 do UCSCTL7 &= (XT2OFFG + XT1LFOFFG + DCOFFG); / 清零清零XT1、XT2、DCO故障標志位故障標志位 SFRIFG1 &= OFIFG; / 清零清零SFR中的故障標志位中的故障標志位 while (SFRIFG1&OFIFG); / 檢測振蕩器故障標志位檢測振蕩器故障標志位 UCSCTL6 &= XT2DRIVE0; / 根據(jù)預期的頻率,減小根據(jù)預期的頻率,減小XT2的驅(qū)動的驅(qū)動 U

15、CSCTL4 |= SELA_0 + SELS_5; / 選擇選擇 SMCLK和和ACLK的時鐘源的時鐘源 while(1); / 循環(huán)等待循環(huán)等待 時鐘模塊應用舉例(MSP430F5XX / 6XX)(2/2) 時鐘系統(tǒng)時鐘系統(tǒng)(UCS)常用配置和初始化的常用配置和初始化的API函數(shù)函數(shù)UCS_clockSignalInit()UCS_initFLLSettle()UCS_enableClockRequest()UCS_disableClockRequest()UCS_SMCLKOff()UCS_SMCLKOn()時鐘模塊庫函數(shù)(1/4) 時鐘系統(tǒng)時鐘系統(tǒng)(UCS)的的API被分成三組函數(shù):

16、被分成三組函數(shù):時鐘系統(tǒng)(UCS)常用配置和初始化的API函數(shù)外部晶振特定的配置和初始化的API函數(shù)對狀態(tài)和配置進行設置和詢問的API函數(shù)時鐘模塊庫函數(shù)(2/4) 外部晶振特定的配置和初始化的外部晶振特定的配置和初始化的API函數(shù)函數(shù)UCS_setExternalClockSource()UCS_LFXT1Start()UCS_HFXT1Start()UCS_bypassXT1()UCS_LFXT1StartWithTimeout()UCS_HFXT1StartWithTimeout()UCS_bypassXT1WithTimeout()UCS_XT1Off()UCS_XT2Start()UC

17、S_XT2Off()UCS_bypassXT2()UCS_XT2StartWithTimeout()UCS_bypassXT2WithTimeout()UCS_clearAllOscFlagsWithTimeout()時鐘模塊庫函數(shù)(3/4)對狀態(tài)和配置進行設置和詢問的對狀態(tài)和配置進行設置和詢問的API函數(shù)函數(shù)UCS_faultFlagStatus() UCS_clearFaultFlag() UCS_getACLK() UCS_getSMCLK() UCS_getMCLK() 時鐘模塊庫函數(shù)(4/4)庫函數(shù)編程示例(偽代碼)庫函數(shù)編程示例(偽代碼)/ 設置 DCO FLL 參考基準 = REFO UCS_clockSignalInit(_MSP430_BASEADDRESS_UCS , UCS_FLLREF, UCS_REFOCLK_SELECT, UCS_CLOCK_DIVIDER_1 ); / 令 ACLK = REFOUCS_clockSignalInit(_M

溫馨提示

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

評論

0/150

提交評論