msp430系統時鐘詳解

2020-12-25 電子發燒友

  SP430 系列單片機基礎時鐘主要是由低頻晶體振蕩器,高頻晶體振蕩器,數字控振蕩器(DCO),鎖頻環(FLL)及 FLL+等模塊構成。由於 430 系列單片機中的型號不同而時鐘模塊也將有所不同。雖然不同型號的單片機的時基模塊有所不同,但這些模塊生出來的結果是相同的。在MSP430F13、 14中是有TX2振蕩器的, 而MSP430F11X,F11中是用LFXT1CLK來代替XT2CLK時鐘信號的。在時鐘模塊中有3個(對於F13,F14)時信號源(或 2個時鐘信號源,對於F11X、F11X1):

  1-LFXT1CLK: 低頻/高頻時鐘源。由外接晶體振蕩器,而無需外接兩個振蕩電容器常使用的晶體振蕩器是32768HZ。

  2-XT2CLK: 高頻時鐘源。由外接晶體振蕩器。需要外接兩個振蕩電容器,較常的晶體振蕩器是 8MHZ。

  3-DCOCLK: 數字可控制的 RC 振蕩器。

  

  在這三個時鐘源的獨立工作或是在三個時鐘源相互協調配合(是可以通過軟體配置的)下為2553系統提供了系統時鐘ACLK、MCLK和SMCLK。ALCK、MCLK、SMCLK是和CPU或者外設連接起來的,而LFXT1CLK、XT2CLK、DCOCLK、VLOCLK這四個又是和ALCK、MCLK、SMCLK連接起來的,也就是說LFXT1CLK、XT2CLK、DCOCLK、VLOCLK是通過ALCK、MCLK、SMCLK和外設連接起來的。

  

  上電後,系統默認使用的主系統時鐘MCLK和子系統時鐘SMCLK是同為DCOCLK產生的1MHz時鐘,而輔助時鐘ACLK則為內部VLOCLK產生的12KHz時鐘。G2553上電後時鐘的初始狀態我們可以用Grace來查看:

 

  可以看出MCLK和SMCLK都是DCOCLK產生的1MHz的時鐘,ACLK則是VLOCLK產生的12KHz的時鐘。

  DCO時鐘:

  DCO時鐘源產生的頻率可以通過DCOCTL寄存器來設置寄存器來設定,通過設定DCOCTL中的高三位(其名字為DCOx),BCSCTL1基本時鐘控制寄存器低四位(其名字為RSELx)就可以控制DCO振蕩器產生100K~20M不等的時鐘頻率。設定時應儘量居中,以保持穩定

  

  1.DCOCTL,DCOControlRegister

  DCOxDCO頻率選擇寄存器,通過該位設置DCO的頻率。

  MODx模式選擇位。

  2.BCSCTL1,BasicClockSystemControlRegister1

  XT2OFFG2553該位無效,詳細請參閱官方技術文檔。

  XTS LFXT1,模式選擇位

  0低頻模式。

  1高頻模式。

  DIVAx

  分頻寄存器,分頻後給ACLK提供時鐘00/1。01/2。10/4。11/8。

  RSELx DCO頻率選擇寄存器,通過該位設置DCO頻率。

  3.BCSCTL2,BasicClockSystemControlRegister2

  SELMx

  MCLK時鐘源選擇

  00DCOCLK。

  01DCOCLK,與00效果一樣。

  10G系列單片機該位無效。

  11低頻外部時鐘。

  DIVMx

  時鐘源分頻寄存器,選擇時鐘源後經過該位分頻後提供給MCLK

  00/1。01/2。10/4。11/8。

  SELS

  SMCLK時鐘源選擇寄存器

  0DCOCLK。

  1外部晶振。

  DIVSx

  時鐘源分頻寄存器,選擇時鐘源後經過該位分頻後提供給SMCLK

  00/1。01/2。10/4。11/8。

  DCOR 該位保留。

  4.BCSCTL3,BasicClockSystemControlRegister3

  XT2SxG系列單片機該位無效

  LFXT1Sx

  對G系列單片機,當BCSCTL1寄存器中XTS=0時,該位的設置才有效

  00外部接的是32768HZ的晶振。

  01保留位。

  10選擇超低頻外部時鐘(VLOCLK)

  11數字外部時鐘源。

  XCAPx

  振蕩器電容選擇寄存器,當XTS=0時該位有效,假如XTS=1或者LFXT1Sx=11,

  XCAPx應該設置為00

  00~1pF。01~6pF。10~10pF。11~12.5pF。

  XT2OF 對G系列單片機該位無效

  LFXT1OF

  LGXT1晶體振蕩器故障狀態寄存器

  0沒有故障。

  1有故障。

  5.IE1,InterruptEnableRegister1中斷使能寄存器

  OFIE

  晶體振蕩器故障使能寄存器

  0禁止中斷

  1使能中斷

  MSP430G22x0不支持該位。

  6.IFG1,InterruptFlagRegister1

  OFIFG

  晶體振蕩器故障標誌寄存器

  0沒有發生中斷。

  1有中斷事件發生。

  MSP430G22x0不支持該位。

  MSP430 單片機時鐘模塊提供 3個時鐘信號輸出,以供給片內各部電路使用。

  1-ACLK: 輔助時鐘信號。由圖所示,ACLK 是從 FLXT1CLK 信號由 1/2/4/8 分頻器分頻後所得到的。由BCSCTL1 寄存器設置DIVA相應為來決定分頻因子.ACLK可用於提供CPU外圍功能模塊作時鐘信號使用。

  2-MCLK: 主時鐘信號。由圖所示,MCLK 是由 3 個時鐘源所提供的。他們分別是LFXT1CLK,XT2CLK(F13、F14,如果是 F11,F11X1 則由 LFXT1CLK 代替),DCO 時鐘源信號提供.MCLK主要用於MCU和相關系統模塊作時鐘使用。同樣可設置相關寄存器來決定分頻因子及相關的設置。

  3-SMCLK: 子系統時鐘,SMCLK 是由 2 個時鐘源信號所提供。他們分別是XT2CLK(F13、F14)和DCO,如果是F11、F11X1則由LFXT1CLK代替TX2CLK。同樣可設置相關寄存器來決定分頻因子及相關的設置。

  BCSCTL1 基本時鐘系統控制寄存器1

  7 6 5 4 3 2 1 0

  XT2OFF TXS DIVA.1 DIVA.0 XT5V Rsel.2 Resl.1 Resl.0

  XT2OFF 控制XT2振蕩器的開啟與關閉。

  TX2OFF=0,XT2振蕩器開啟。

  TX2OFF=1,TX2振蕩器關閉(默認為TX2關閉)

  XTS 控制LFXT1 工作模式,選擇需結合實際晶體振蕩器連接情況。

  XTS=0,LFXT1 工作在低頻模式(默認)。

  XTS=1,LFXT1 工作在高頻模式(必須連接有高頻相應的高頻時鐘源)。

  DIVA.0 DIVA.1 控制ACLK分頻。

  0 不分頻(默認)

  1 2分頻

  2 4分頻

  3 8分頻

  XT5V 此位設置為0。

  Resl1.0,Resl1.1,Resl1.2 三位控制某個內部電阻以決定標稱頻率。

  Resl=0,選擇最低的標稱頻率。

  ……。。

  Resl=7,選擇最高的標稱頻率。

  BSCCTL2 |= DIVM_x (x=0,1,2,3)MCLK分頻(x=0,不分頻;x=1,2分頻;x=2,4分頻;x=3,8分頻)

  DIVS_0

  BCSCTL2 基本時鐘系統控制寄存器2

  7 6 5 4 3 2 1 0

  SELM.1 SELM.0 DIVM.1 DIVM.0 SELS DIVS.1 DIVS.0 DCOR

  SELM.1 SELM.0 選擇MCLK時鐘源

  0 時鐘源為DCOCLK(默認)

  1 時鐘源為DCOCLK

  2 時鐘源為LFXT1CLK(對於MSP430F11/12X),時鐘源為XT2CLK(對於MSP430F13/14/15/16X);

  3 時鐘源為LFTXTICLK。

  DIVM.1 DIVM.0 選擇MCLK分頻

  0 1分頻(默認)

  1 2分頻

  2 4 分頻

  3 8 分頻

  SELS 選擇SMCLK時鐘源

  0 時鐘源為DCOCLK(默認)

  1 時鐘源為LFXT1CLK(對於MSP430F11/12X),時鐘源為XT2CLK(對於MSP430F13/14/15/16X)。

  DIVS.1 DIVS.0 選擇SMCLK分頻。

  0 1分頻

  1 2分頻

  2 4分頻

  4 8分頻

  DCOR 選擇DCO電阻

  0 內部電阻

  1 外部電阻

  PUC信號之後,DCOCLK被自動選擇MCLK時鐘信號,根據需要,MCLK的時鐘源可以另外設置為LFXT1或者XT2。設置順序如下:

  [1] 復位OscOff

  [2] 清除OFIFG

  [3] 延時等待至少50us

  [4] 再次檢查OFIFG,如果仍然置位,則重複[3]、[4]步驟,直到OFIFG=0為止。

  低功耗設置的技巧問題:

  1、LPM4:在振蕩器關閉模式期間,處理機的所有部件工作停止,此時電流消耗最小。此時只有在系統上電電路檢測到低點電平或任一請求異步響應中斷的外部中斷事件時才會從新工作。因此在設計上應含有可能需要用到的外部中斷才採用這種模式。否則發生不可預料的結果。

  2、LPM3:在DC發生器關閉期間,只有晶振是活動的。但此時設置的基本時序條件的DC發生器的DC電流被關閉。由於此電路的高阻設計,使功耗被抑制。註:當從DC關閉到啟動DC0要花一端時間(ns-us)

  3、LPM2:在此期間,晶鎮振和DC發生器是工作的,所以可實現快速啟動。

  4、LPM1:在此振蕩器已經工作,所以不存在啟動時間延時問題。

  

  Timer_A的寄存器

  寄存器 縮寫 讀定類型 地址 初態

  Timer_A控制寄存器 TACTL R/W 160H POR復位

  Timer_A計數器 TAR R/W 170H POR復位

  捕撈/比較控制寄存器0 CCTL0 R/W 162H POR復位

  捕撈/比較寄存器0 CCR0 R/W 172H POR復位

  捕撈/比較控制寄存器1 CCTL1 R/W 164H POR復位

  捕撈/比較寄存器1 CCR1 R/W 174H POR復位

  捕撈/比較控制寄存器2 CCTL2 R/W 166H POR復位

  捕撈/比較寄存器2 CCR2 R/W 176H POR復位

  中斷向量寄存器 TAIV R/W 12EH POR復位

  時鐘發生器的原理說明:

  問題的提出:

  1、高頻、以便能對系統硬體請求和事件作出快速響應

  2、低頻率,以便將電流消耗降制至最少

  3、穩定的頻率,以滿足定時器的應用。

  4、低 Q值振蕩器,以保證開始或停止操作沒有延時

  MSP430 採用了一個折衷的辦法:就是用一個低頻晶鎮振,將其倍頻在高頻的工作頻率上。一般採用這種技術的實用方法有兩種,一個是說、鎖相環、 一個是鎖頻環,而鎖相環採用模擬的控制容易引起「失鎖」和易引起電容量的改變。而TI 採用的是鎖頻環技術,它採用數字控制器DCO和頻率積分來產 生高頻的運行時鐘頻率。

  TIMER_A有多個捕獲比較模塊,每個模塊都有自己的控制寄存器CCTLx

  CAPTMOD1-0 選擇捕獲模式

  00 禁止捕獲模式

  01 上升沿捕獲

  10 下降沿捕獲

  11 上升沿與下降沿都捕獲

  CCISI1-0 在捕獲模式中用來定提供捕獲事件的輸入端

  00 選擇CCIxA

  01 選擇CCIxB

  10 選擇GND

  11 選擇VCC

  SCS 選擇捕獲信號與定時器時鐘同步、異步關係

  0 異步捕獲

  1 同步捕獲

  異步捕獲模式允許在請求時立即將CCIFG置位和捕獲定時器值,適用於捕獲信號的周期遠大於定時器時鐘周期的情況。但是,如果定時器時鐘和捕獲信號發生時間競爭,則捕獲寄存器的值可能出錯。

  在實際中經常使用同步捕獲模式,而且捕獲總是有效的。

  SSCIx 比較相等信號EQUx將選擇中的捕獲、比較輸入信號CCIx(CCIxA,CCIxB,Vcc和GND)進行鎖存,然後可由SCCIx讀出。

  CAP 選擇捕獲模式還是比較模式。

  0 比較模式

  1 捕獲模式

  注意:同時捕獲和捕獲模式選擇

  如果通過捕獲比較寄存器CCTLx中的CAP使工作模式從比較模式變為捕獲模式,那麼不應同時進行捕獲;否則,在捕獲比較寄存器中的值是不可預料的,推薦的指令順序為:[1]修改控制寄存器,由比較模式換到捕獲模式。

  [2]捕獲

  OUTMODx 選擇輸出模式

  000 輸出

  001 置位

  010 PWM翻轉/復位

  011 PWM置位/復位

  100 翻轉/置位

  101 復位

  110 PWM翻轉/置位

  111 PWM復位/置位

 

  CCIx 捕獲比較模的輸入信號

  捕獲模式:由CCIS0和CCIS1選擇的輸入信號通過該位讀出。

  比較模式:CCIx復位。

  OUT 輸出信號

  0 輸出低電平

  1 輸出高電平

  如果OUTMODx選擇輸出模式0(輸出),則該位對應於輸入狀態。

  COV 捕獲溢出標誌

  0 輸出低電平

  1 輸出高電平

  [1]當CAP=0時,選擇比較模式。捕獲信號發生復位,沒有使COV置位的捕獲事件。

  [2]當CAP=1時,選擇捕獲模式,如果捕獲寄存器的值被讀出再次發生捕獲事件,則COV置位。程序可檢測COV來斷定原值讀出前是否又發生捕獲事件。讀捕獲寄存器時不會使溢出標誌復位,須用軟體復位。

  CCIFGx 捕獲比較中斷標誌

  捕獲模式:寄存器CCRx捕獲了定時器TAR值時置位。

  比較模式:定時器TAR值等於寄存器CCRx值時置位。

  #include

  void main(void)

  {

  WDTCTL = WDTPW + WDTHOLD; //停止看門狗定時器

  P1DIR |= 0x01; // 設P1.0為輸出

  TACTL = TASSEL_1 + MC_2 + TAIE; // ACLK, 定時器A計數模式,且開中斷功能

  _BIS_SR(LPM3_bits + GIE); //進入LPM3 低功耗模式和開總中斷允許

  }

  // Timer_A3中斷向量(TAIV)處理程序

  #pragma vector=TIMERA1_VECTOR

  __interrupt void Timer_A(void)

  {

  switch( TAIV ) //應用switch語句來處理多中斷源的向量

  { //向量列表通過case語句來分多中斷源的入口

  case 2: break; // CCR1比較/捕獲寄存器的中斷入口,

  //本例子未用到。

  case 4: break; // CCR2比較/捕獲寄存器的中斷入口,

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • msp430系統時鐘概述
    MSP430內部分為三種時鐘MCLK(系統主時鐘)、ACLK(輔助時鐘)和SMCLK(子系統時鐘),可以根據使用的外設不同及實際情況適當選擇和調節時鐘的頻率
  • 基於MSP430 的溫溼度監控系統分析
    因此,為了隨時可以檢測環境溫溼度以進行監測,減少由於溫溼度對工程帶來的經濟損失,本文設計基於SHT11 對溫溼度進行測量的系統,可以實現對環境溫溼度的監測。  1 系統硬體設計  1.1 總體結構  溫度監測系統以msp430 為核心,採用溫溼度傳感器SHT11測量溫溼度,系統由溫溼度數據採集模塊、主控模塊、顯示模塊、按鍵模塊組成,由溫溼度數據採集模塊採集數據送入單片機,處理之後根據按鍵操作完成相應的溫度和溼度顯示,並且具有超限報警的功能,圖1 為系統結構圖。
  • MSP430系統應用結構設計與選型
    MSP430F44X與MSP430F11X在硬體結構上、在系統整合上存在較大差異;MSP430F41X與MSP430F11X的差異不是很大。但這3系列晶片的價格由幾元到數十元不等,那麼如何選擇系統晶片呢?以3種晶片為例,其系統功能框圖分別如圖1、圖2、圖3所示。
  • NEC V850 之 系統時鐘及內部設備時鐘
    下圖是系統時鐘的框圖:(紅色的圈裡就是不理解的地方,不知道在哪個地方設置)本文引用地址:http://www.eepw.com.cn/article/201612/325099.htm下面我會把代碼和示波器測量的截圖發出來。
  • 利用MSP430調採集脈衝程序(疑問+解答)
    (說明:當時模擬周期信號時用是ACLK,但當模擬2.4ms的周期信號時,把ACLK進  行了2分頻,但我感覺,因為AD採樣採用不同的時鐘,因些應該與分頻沒關係,但實際確不是這樣,  為什麼?希望日後能發現這個問題)  終於找到問題所在了: :::::::::::::::::  msp430----最大特色在於低功耗,然而低功耗確在於靈活時鐘的應用。
  • msp430如何選擇頭文件?怎麼添加?
    打開APP msp430如何選擇頭文件?怎麼添加? 發表於 2017-11-17 10:50:29   使用iar,如果沒有頭文件,編譯肯定通不過,更加不用說繼續設計了,本人使用IAR進行msp430開發,選擇原因是因為ccs所需內存太大了,
  • 北京天良數字網絡時鐘系統
    1、系統概述:天良全數字子母鍾系統主要為醫院提供準確、標準的時間,系統採用GPS與北鬥衛星導航定位系統中的時標信號作為標準時間源對母鐘的時鐘信號源進行校準,向醫療場所的時鐘及區域網內的計算機提供準確的時鐘信號
  • 銀行基準時鐘系統時間同步方案
    基於NTP 協議,依靠北鬥和GPS衛星導航系統獲取標準時間,結合信息設備全量及分布現狀,合理設計時鐘同步網絡架構,通過時鐘同步系統將全轄設備的系統時間與標準時間進行校準統一,可以實現銀行信息系統生態時鐘標尺的高度準確與統一。銀行基準時鐘系統設計原則構成銀行信息系統的設備不僅規模體量巨大,而且地域分布廣泛。
  • 整理系統時鐘定時器--SysTick的應用
    Cortex-M3的內核中包含一個SysTick時鐘。SysTick 為一個24位遞減計數器,SysTick設定初值並使能後,每經過1個系統時鐘周期,計數值就減1。計數到0時,SysTick計數器自動重裝初值並繼續計數,同時內部的COUNTFLAG標誌會置位,觸發中斷(如果中斷使能)。
  • 時鐘採樣系統最大限度減少抖動
    例如,如果系統需要 100MHz 14(最小值)位的 ENOB,我們就需要抖動小於 80 飛秒的時鐘!這可通過假設一個無失真的理想系統進行計算,讓 SINAD 和 SNR 數值相等(見公式 2)。  接下來,使 ENOB 等於 14,我們可在大約 86db 下計算出最小 SNR。將結果帶入公式 1,計算出大約為 80fs 的 tJ 值。
  • 安徽京準NTP數字網絡時鐘系統
    1、系統概述:安徽京準數字子母鍾系統主要為醫院提供準確、標準的時間,系統採用GPS與北鬥衛星導航定位系統中的時標信號作為標準時間源對母鐘的時鐘信號源進行校準,向醫療場所的時鐘及區域網內的計算機提供準確的時鐘信號,監視所有時鐘的工作狀態,從而使網絡和每個有安裝該子鐘的位置均能顯示與衛星時間信號保持一致的北京時間
  • 網絡同步時鐘系統讓所有終端時間精準一致
    網絡同步時鐘系統一、網絡同步時鐘系統在市場上的需求:1、 標準化考場自動接收網絡同步時鐘系統社會追求一個完整的平衡機制,對機制的考核需要相對統一的標準,考場實現時間統一協調是標準化考場的基底,標準化考場自動接收同步時鐘系統是基底的核心,保證考場秩序,考場時間運行的時效完整性。
  • 大咖說|MCU 外設之系統時鐘的選擇
    1、系統時鐘及框圖我們都知道,MCU的組成中有各種各樣的外設:GPIO、DMA、I2C …。MCU 之所以能穩定有條不紊的運行,離不開時鐘。為什麼說時鐘很重要 ?原因是時鐘是單片機系統的脈搏 , CPU 執行指令、訪問數據、DMA 搬運、狀態變換等動作都離不開系統時鐘。所有的外設能完成工作 , 比如串口數據的發送、A/D 轉換、定時器計數等等,都是在時鐘的驅動下才能完成的。因此時鐘對於計算機系統是至關重要的,通常時鐘系統出現問題也是致命的,比如振蕩器不起振、振蕩不穩、停振等。可以說系統時鐘是 MCU 的基礎。系統時鐘的發展也由單時鐘源到現在的多個時鐘源。
  • 基於lpc1768的系統時鐘設計
    基於lpc1768的系統時鐘設計 工程師周亮 發表於 2018-11-15 16:11:12 #define XTAL_FREQ 12000000 #define VECT_TAB_OFFSET
  • 時鐘抖動對光纖接入數字中頻系統的影響分析
    本文引用地址:http://www.eepw.com.cn/article/130445.htm■數字中頻系統的時鐘信號而在遠端設備中(如圖1),這個時鐘信號將會作為整個系統的參考時鐘,包括ADC,DAC,調製器和鎖相環等等。如果這個參考時鐘信號的抖動性能不佳,將會造成系統中上述器件的性能惡化。所以在光纖接入的數字中頻系統中,時鐘抖動設計非常重要。  ■時鐘相噪對ADC性能的影響分析  對於數字中頻系統中的ADC,SNR指標是我們非常關注的指標之一。這個指標會影響系統的動態範圍。
  • 時鐘設備如何滿足複雜系統的高性能時序需求?
    作為 I2C 主機,微控制器將配置寫入時鐘 IC 的內部易失性存儲器並控制 PLL。因此,可以通過板上 MCU - IC 組合進行系統時鐘頻率的動態更新。可編程微控制器為高性能時鐘 IC 提供控制邏輯能力,通過減少板載 IC和板上走線使整體設計更加緊湊,並降低最終物料成本。操作理論圖 1 為高性能時鐘設備的基本 PLL 架構。
  • 手機屏幕上怎麼顯示時鐘?大屏桌面翻頁時鐘老人看時間時尚又方便
    我目前手機屏幕上是時鐘長這樣。主要是非常大字,估計老人家用都非常醒目。點擊去還可以做成全屏時鐘。手機全屏時鐘,用於學習具體怎麼設置的,只需要簡單三步就可以設置好1、去應用商店下一個【桌面時鐘】2、安裝成功後,長按手機桌面空白處,並點擊右上角「+」號,找到剛剛安裝的
  • 採用CyClockWizard軟體實現系統設計和時鐘管理
    時鐘是幾乎所有電子系統的心臟,而時鐘管理則是整體系統設計的重要組成部分。由於時鐘準確性、穩定性和整體信號質量都會影響系統性能,因此選擇可滿足應用設計需求的適當計時解決方案是至關重要的。
  • 基於MSP430的信號發生系統設計
    該系統具有輸出頻率精確穩定、波形質量好和輸出頻率範圍寬等優點,同時還具有頻率計和數位訊號調製的功能。經過仿真和實驗,驗證了該系統的可行性。引言  隨著DDS技術應用越來越廣泛,市場上出現許多種高性能信號發生器,但是目前可以產生多種信號輸出且低價位的儀器並不多,可選擇餘地不大。
  • 單片機系統中日曆時鐘自動校準及調整
    1、概述本文引用地址:http://www.eepw.com.cn/article/171826.htm在各類檢測控制系統中,需要通過日曆時鐘