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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 說一下SN(松翰單片機)的低功耗工作

          說一下SN(松翰單片機)的低功耗工作

          作者: 時間:2016-12-02 來源:網(wǎng)絡(luò) 收藏
          當不使用專門時鐘芯片,例如 DS1302,HT1380 等的場合下,實時時鐘就只能依靠單片機本身的晶體振蕩器或內(nèi)部
          RC振蕩器來產(chǎn)生了.
          這時候,當進入外部供電停止時,實時時鐘是需要保持運行的,通常會使用 3V6 或 3V 的電池來維持時鐘正常走時.
          這時候,電池的耗掉總是希望越小越好.
          專門的時鐘芯片,在進入這種掉電保護的時候,其消耗電流是非常非常的小,普通電流表幾乎測量不出來.
          而單片機呢? 就有很多問題需要解決了.
          SN單片機提供了幾種工作模式,來實現(xiàn)"低功耗"運行,睡眠模式雖然電流極小,但是實時時鐘不能運行.
          剩下的可用選擇就只有低速模式(SlowMode)和綠色模式(GreenMode)了.
          我使用 2602C,2501B,27E65 等多種芯片作為測試,測試結(jié)果均不能達到芯片手冊給出的低電流值.
          通常,在 3V供電下,所有端口均設(shè)置為輸出模式并且輸出為低電平,所有內(nèi)部上拉功能均去除!
          無論是外部 32768 晶體或者內(nèi)部 ILRC_16KHZ 振蕩器,都是此時可以選擇使用的系統(tǒng)時鐘.
          下面,就幾種可能選擇的掉電保護模式,告訴大家一些測試實踐體驗:
          (1):進入綠色模式:
          當使用 IHRC_RTC 代碼選項時,代碼高速運行依靠內(nèi)部 16M RC振蕩器,實時時鐘依靠外接的 32768晶體.這種結(jié)
          構(gòu),表面看來是最理想的組合,但是,進入掉電保護后,實際應(yīng)用起來就有許多麻煩!
          這種結(jié)構(gòu)進入綠色模式,高速時鐘仍然運行,電池電流就不用指望很小了!-----實際測試 3V 時約 0.35mA!
          曾經(jīng)在 27E65 試過 IHRC_RTC : 16/4~16/64 的代碼選項,進入綠色模式后,都不能明顯降低保護電流.差不多都
          是 0.35mA! 沒有什么改變!
          (2):進入 RTC 低速模式:
          要讓電流明顯下降,需要關(guān)閉高速時鐘,好了,如果此時關(guān)閉高速時鐘,就會沒有時鐘運行了,程序死掉了!
          那么,我就更換另外一種保護運行的模式吧! 試一下低速模式.
          進入掉電保護后,就選擇低速模式,由于外怪有 32768 晶體,RTC 仍然正常工作,時鐘穩(wěn)定走時,電池在 3V 時,電流
          為 0.09mA . 比起綠色模式來,已經(jīng)好了很多了!
          (3):進入 ILRC 低速模式:
          這種模式,外部無需任何晶體,就直接使用內(nèi)部 RC 高速振蕩器, IHRC 16MHZ 振蕩器作為運行和實時時鐘源.不要
          使用 RTC 選項了.還可以多出 2 個端口來供其它地方使用,最省錢了!
          IHRC 當然不夠精確了,如果希望精確度好一些,可以外接 16MHZ晶體,端口就沒有多余的 2 個了!
          當進入掉電保護后,關(guān)閉高速時鐘,此時,能夠使用的就只有 ILRC 16KHZ_3V 了.
          要讓這個 16KHZ 與原來的 16MHZ 產(chǎn)生同樣的實時時鐘源,其定時器的參數(shù)就要在進入低功耗時重新設(shè)置.
          例如:
          ;-----------------------------------------------------------
          ; 正常 5V 工作時,運行 16M/4 的代碼選項,定時器 T0 的參數(shù)配置:
          MOV A,#030H ;16/4MHZ:計數(shù)250=0.5S
          B0MOV T0M,A
          CLR T0C ; 清T0C。
          B0BCLR FT0IRQ ; 清T0IRQ。
          B0BSET FT0IEN ; 使能T0 中斷。
          B0BSET FT0ENB ; 使能T0 定時器。
          每中斷 250 次,就是 0.5S 時基.此時,T0 是從 16MHZ/4 得到驅(qū)動信號.
          ;-----------------------------------------------------------
          當進入掉電保護后,首先啟動低速模式,再關(guān)閉高速時鐘(千萬注意操作順序,不能反了!)定時器 T0 的參數(shù)配置為:
          MOV A,#050H ;16/4MHZ:計數(shù)250=0.5S
          B0MOV T0M,A
          CLR T0C ; 清T0C。
          B0BCLR FT0IRQ ; 清T0IRQ。
          B0BSET FT0IEN ; 使能T0 中斷。
          B0BSET FT0ENB ; 使能T0 定時器。
          每中斷 1 次,就是 0.5S 時基.T0 是從 16KHZ/4 得到驅(qū)動信號.
          ;-----------------------------------------------------------
          一個是16MHZ,一個是 16KHZ,它們剛好相差 1000 倍.
          而賦值到 T0M 的 30H 與 50H ,相差 4 倍.
          得到 0.5S 時基的中斷次數(shù)分別為 250 和 1,相差 250 倍.
          恰好, 4*250=1000 !
          如果不顧及精度問題,這個 ILRC 低速模式就是可使用的.實測掉電保護電流也是 3V 時 0.09mA !
          測試中還發(fā)現(xiàn),掉電保護電壓從 2.4V 緩慢變化到 4.2V ,這個 0.09mA 基本維持不變!
          這些測試,對低成本時鐘項目的應(yīng)用是有幫助的,當然,做萬年歷就會不行了! 只能在那些要求精度稍差,掉電保護
          時間不太長.(例如:保護 15 天,30 天,夠不夠? ) 2mAh 的小電池就可以保護 24 小時左右.工程項目使用就是足
          夠的了. 如果某個工地停電 30 天,還不如放長假!
          按照芯片手冊,無論何種低功耗模式,手冊上給出的掉電保護電流會更低,不同芯片也有一些差別.同時,內(nèi)部低速時
          鐘的精度也會不同.越是后來的型號,似乎指標就會越好一些.
          這些實驗得到的資料和數(shù)據(jù),僅供各位參考! 并且歡迎大家討論和指正!
          ;===============================================================================
          在 SN單片機里,專門有進入/返回各種工作模式的宏指令,可以方便直接使用. 如下:
          ; Sleep Mode control macro for compatibility in S8KD-2 ICE;指令周期數(shù): 1
          SleepMode macro
          B0BSET FCPUM0
          endm
          ;*******************************************************************************
          ; Green Mode control macro for compatibility in S8KD-2 ICE;指令周期數(shù): 3
          GreenModemacro
          B0BSET FCPUM1
          NOP
          NOP
          endm
          ;*******************************************************************************
          ; Slow Mode control macro for compatibility in S8KD-2 ICE;指令周期數(shù): 2
          SlowMode macro
          B0BSET FCLKMD
          B0BSET FSTPHX
          endm
          ;*******************************************************************************
          ; Slow mode to Normal Mode control macro for compatibility in S8KD-2 ICE; ;指令周期數(shù): 5
          Slow2Normalmacro
          B0BCLR FSTPHX
          NOP
          NOP
          NOP
          B0BCLR FCLKMD
          endm
          ;*******************************************************************************


          關(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); })();