<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > MSP430單片機的時鐘系統(tǒng)

          MSP430單片機的時鐘系統(tǒng)

          作者: 時間:2013-01-10 來源:網(wǎng)絡(luò) 收藏

          根據(jù)型號的不同最多可以選擇使用3個振蕩器。我們可以根據(jù)需要選擇合適的振蕩頻率,并可以在不需要時隨時關(guān)閉振蕩器,以節(jié)省功耗。這3個振蕩器分別為:

          (1)DCO 數(shù)控RC振蕩器。它在芯片內(nèi)部,不用時可以關(guān)閉。DCO的振蕩頻率會受周圍環(huán)境溫度和工作電壓的影響,且同一型號的芯片所產(chǎn)生的頻率也不相同。但DCO的調(diào)節(jié)功能可以改善它的性能,他的調(diào)節(jié)分為以下3步:a:選擇BCSCTL1.RSELx確定時鐘的標(biāo)稱頻率;b:選擇DCOCTL.DCOx在標(biāo)稱頻率基礎(chǔ)上分段粗調(diào);c:選擇DCOCTL.MODx的值進行細調(diào)。

          (2)LFXT1 接低頻振蕩器。典型為接32768HZ的時鐘振蕩器,此時振蕩器不需要接負載電容。也可以接450KHZ~8MHZ的標(biāo)準(zhǔn)晶體振蕩器,此時需要接負載電容。

          (3)XT2 接450KHZ~8MHZ的標(biāo)準(zhǔn)晶體振蕩器。此時需要接負載電容,不用時可以關(guān)閉。

          低頻振蕩器主要用來降低能量消耗,如使用電池供電的系統(tǒng),高頻振蕩器用來對事件做出快速反應(yīng)或者供CPU進行大量運算。

          的3種時鐘信號:MCLK系統(tǒng)主時鐘;SMCLK系統(tǒng)子時鐘;ACLK輔助時鐘。

          (1)MCLK系統(tǒng)主時鐘。除了CPU運算使用此時鐘以外,外圍模塊也可以使用。MCLK可以選擇任何一個振蕩器所產(chǎn)生的時鐘信號并進行1、2、4、8分頻作為其信號源。

          (2)SMCLK系統(tǒng)子時鐘。供外圍模塊使用。并在使用前可以通過各模塊的寄存器實現(xiàn)分頻。SMCLK可以選擇任何一個振蕩器所產(chǎn)生的時鐘信號并進行1、2、4、8分頻作為其信號源。

          (3)ACLK輔助時鐘。供外圍模塊使用。并在使用前可以通過各模塊的寄存器實現(xiàn)分頻。但ACLK只能由LFXT1進行1、2、4、8分頻作為信號源。

          PUC復(fù)位后,MCLK和SMCLK的信號源為DCO,DCO的振蕩頻率為800KHZ。ACLK的信號源為LFXT1。

          MSP430內(nèi)部含有晶體振蕩器失效監(jiān)測電路,監(jiān)測LFXT1(工作在高頻模式)和XT2輸出的時鐘信號。當(dāng)時鐘信號丟失50us時,監(jiān)測電路捕捉到振蕩器失效。如果MCLK信號來自LFXT1或者XT2,那么MSP430自動把MCLK的信號切換為DCO,這樣可以保證程序繼續(xù)運行。但MSP430不對工作在低頻模式的LFXT1進行監(jiān)測。



          關(guān)鍵詞: MSP430 單片機 時鐘系統(tǒng)

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();