在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > pic單片機功耗問題的解決

            pic單片機功耗問題的解決

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

            最近一周一直在做。由于項目使用電池供電,所以顯得非常重要。根據(jù)數(shù)據(jù)手冊以及網(wǎng)絡(luò)上的資料,影響單片機功耗主要由以下幾個因素:

            1:所有I/O引腳保持為高阻輸入高點平或低電平

            2:關(guān)閉和CVref(可編程偏上參考電壓)、WTD、T1OSC、BOR(欠壓復位)等

            3:PORTB片內(nèi)弱上拉

            4:所有不用的模塊全部關(guān)閉,在用到時再打開

            5:MCLR引腳必須處于邏輯高電平

            PIC單片機在執(zhí)行SLEEP指令后進入睡眠省電模式。進入SLEEP模式后,主振蕩停止,如果看門狗在燒寫時打開了,看門狗定時器將被清并保持運行。I/O口,周邊模塊和內(nèi)部RAM將保持原來狀態(tài),所以如果要求睡眠后有很低功耗,應該在進入SLEEP前把IO口置為高阻抗的輸入狀態(tài),不用的模塊也要關(guān)閉。另有些周邊模塊與主時鐘有關(guān),如在異步模式下的USART,將不工作。

            喚醒SLEEP的條件有很多,如IO口電平變化,AD轉(zhuǎn)換結(jié)束,外部復位、看門狗溢出等,具體請參考數(shù)據(jù)手冊。

            當執(zhí)行SLEEP指令時,PC+1的指令被預取指,當器件被一個中斷條件喚醒時(這個中斷的應是已使能的),如果GIE(全局中斷使能位)為0,器件將繼續(xù)執(zhí)行SLEEP指令下面的指令。如果GIE為1,器件將執(zhí)行已預取的PC+1指令后跳到0004H的中斷入口。所以建議SLEEP后面緊跟著的一條指令最好是個NOP。

            外部手動復位MCLR將喚醒器件并RESET,表示狀態(tài)的標志位含義詳見數(shù)據(jù)手冊。

            看門狗定時器在SLEEP下溢出將喚醒器件,然后執(zhí)行SLEEP下面的指令,也有標志位指示狀態(tài)。

            進入SLEEP后,主振蕩停振,和主振蕩相關(guān)的模塊都會停止工作,A/D .液晶驅(qū)動??撮T狗等模塊還是要在SLEEP指令執(zhí)行之前關(guān)閉的。這樣功耗才會最低。

            關(guān)于I.O口。在16C926的DATA SHEET里,還是說到了一些。所有的I/O口,都有確定的接VDD或者VSS,而不能懸空。進入SLEEP前,所有的I/O應該置為輸入口,接上拉或下拉。

            對于PORTB口有內(nèi)部上拉功能的應該選擇不上拉。

            這個項目就是因為沒有關(guān)閉BOR在休眠時電流達到50UA而搞了近一周的時間才發(fā)現(xiàn)問題。

            下面是一位網(wǎng)友的測試數(shù)據(jù):

            測試條件:PIC16F676使用內(nèi)部4MHzRC振蕩,電源電壓5V,測試在睡眠下的消耗電流

            單片機在外部IO口設(shè)置成輸入并有固定電平的情況下,程序進入一個NOP指令和跳轉(zhuǎn)指令的死循環(huán)后耗電約1.26mA

            1.SLEEP之后:WDT開并256分頻,每2.3秒左右喚醒一次,所有IO口為數(shù)字輸入口,直接接高電平或低電平。5V,0.159mA,主要配置:_INTRC_OSC_NOCLKOUT _WDT_ON _PWRTE_ON _MCLRE_OFF _BODEN

            2.上面的程序沒動,只是配置 _BODEN_OFF,電流降為8.5μA,其它配置變化對電流消耗影響不大,WDT開與不開只差0.1μA,可見BROWN OUT DOWN功能是個耗電大戶。

            3.上面的配置、程序沒動,所有IO輸入口懸空,結(jié)果電流變?yōu)?.8-1mA,以上均沒開電平變化中斷,而且手接近單片機電流變的更大??梢婋m然IO口看似沒有吸收電流,但干擾電平引起單片機內(nèi)部頻繁翻轉(zhuǎn)的電流可以說很驚人。

            4.以上配置,僅將WDT分頻比改為1:1,各IO口仍然接固定電平,此時單片機WDT約每1.8mS喚醒一次,電流為8.8μA,可見RC的喚醒很省電。

            5.以上配置,WDT1:256分頻,將所有IO口設(shè)置成輸出,并輸出低電平,IO口不接任何負載,結(jié)果電流為9.5μA,與輸入相比多了1μA。可見IO口的驅(qū)動也是要能量的。

            6.以上配置,WDT1:256,各AD輸入口設(shè)置成AD輸入,其它設(shè)置成IO輸入,均接固定電平,ADON置1,GO為零,此時AD模塊開啟,轉(zhuǎn)換未開始,轉(zhuǎn)換時鐘采用系統(tǒng)時鐘的1/8,電流8.8μA基本無變化,轉(zhuǎn)換時鐘采用AD獨立RC振蕩,電流仍為8.8μA,獨立RC振蕩,GO置1,轉(zhuǎn)換完成后繼續(xù)AD轉(zhuǎn)換,電流為9.2μA,期間沒有空余采樣電容的充電時間,可見AD轉(zhuǎn)換并不怎么耗電。

            7.關(guān)閉AD,開啟RA口的弱上拉,有弱上拉的IO懸空,WDT 1:1,電流8.8μA,將弱上拉的IO口其中一腳接地,電流猛增至212.4μA,換算下來一個弱上拉相當于一個24KΩ左右的電阻。

            綜上所述,耗電大戶有兩個:第一大戶是懸空的輸入腳,第二大戶為弱上拉時IO口接地。第三大戶為BROWN OUT DOWN RESET(電壓過低復位)。若要省電的話不妨以此參考。此次試驗是單片機沒有任何外圍電路的情況下測得,當然外圍電路比較復雜,設(shè)計省電模式其它電路的耗電也要考慮。若要非常省電,那么每個功能是否開啟都是錙珠必較.

            單片機相關(guān)文章:單片機教程


            比較器相關(guān)文章:比較器工作原理


            單片機相關(guān)文章:單片機視頻教程


            單片機相關(guān)文章:單片機工作原理


            晶振相關(guān)文章:晶振原理


            關(guān)鍵詞: pic單片機 功耗問題 比較器

            評論


            相關(guān)推薦

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

            關(guān)閉