PIC單片機之探討低功耗
許多人說PIC單片機一大的優(yōu)勢就是低功耗,那我們就來討論,討論低功耗的實現(xiàn)。
1,睡眠(sleep)
睡眠方式是我們最常用的一種方式來降低功耗,但睡眠期間單片機不能做任何的事情。對于那些沒事情就睡著,有事情就做一下的情況睡眠無疑是功耗最低的處理方式。
比如:
睡眠+ I/O電平變化中斷喚醒 當按鍵沒按下時,單片機睡眠,當按鍵按下后,執(zhí)行相應的工作。
睡眠+數(shù)據(jù)接收中斷喚醒 這樣單片機就可以再沒有接收到數(shù)據(jù)時候進入睡眠狀態(tài),接收到數(shù)據(jù)的時候就喚醒然后處理數(shù)據(jù)。當然首先單片機要有相關的外設比如SPI ,I2C,USART,等這些支持這些通訊的模塊。
睡眠+看門狗喚醒 這個可以用在需要定時喚醒做事情的場合
2,降低時鐘頻率
如果即想功耗低,又想單片機在能低功耗的情況下工作。這無疑是個最好的選擇。
PIC單片機 比如PIC16F1823 /1829可以選擇從32MHz到31KHz的內(nèi)部時鐘頻率,我們通??梢詫纹瑱C設置在 4MHz 以上的頻率下工作,如果需要單片機降低功耗的時候可以降低頻率比如在31KHz的頻率下工作。
雖然PIC16F1823數(shù)據(jù)手冊中寫到,單片機在睡眠電流只有只納安,在31KHz的電流有幾微安。但事實納安只是個幻想。在項目一個中我使用降頻得到的最低功耗是50微安左右,采用睡眠也是50微安。因為在如此低的頻率下,功耗主要是流失在I/O口上了。
3,電流大戶
單片機工作時鐘頻率,要降低功耗首先要不就睡眠(關掉時鐘),要么就降低頻率。
最耗電流的模塊 就數(shù)ADC模塊,其實模塊的耗電和他比起來就是小巫見大巫。所以要低功耗ADC模塊絕對不能開。
還有個用電大戶就是I/O口,I/O要不上拉,要不下拉,不能懸空,除此之外還有其他因素,比如I/0口的輸入輸出狀態(tài),比如和其它芯片連接要串個電阻。
評論