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