上個星期龍騰有個產品,密碼開鎖的,去年替他們包裝上市弄過一個密碼鍵盤+無線遙控開鎖的項目,因為315MHz接收類的無線模塊工作電流都要好幾個mA,如果用干電池,很快就沒電了,換4、5000mAh的鋰電,時間也只不過是個把月,曾設想MCU休眠,一秒后喚醒,替無線接收模塊上電,但是效果不是很理想,無線信號接收不靈敏,后來完成了也就沒怎么深入研究。
現在國外有個客戶想只要密碼鍵盤開鎖的產品,這個項目的難點在于要使MCU在低功耗狀態下工作,低功耗的MCU是TI的MSP430系列比較著名,在ACTIVE下也只不過區區的200uA左右,休眠時只有1uA不到,但是這顆價格貴,而且時間任務緊,重新學一個新的MCU,要熟悉起來沒大半個月是不可能的,偶目前只熟悉AVR系列的,看了DATASHEET,休眠時最低也只有2uA不到,完全可以滿足偶的使用要求了。直接拉了塊廢棄的PCB,焊上可愛的TQFP-32封裝的M48V,休眠調試一次成功,什么都不接,基本上只消耗1.5uA,比較滿意,后來把鍵盤,AD電壓采樣等程序移植過來,發現鍵盤老是工作不正常,一模一樣的線路,一模一樣的程序,怎么原來的可以,現在的不行,前兩天狀態不是很好,老師糾纏在移植的程序上,硬件電路排查了不下十多遍,確定肯定沒問題的,可程序也排查了不下2、30遍,反復試還是不行,今天早上想到是不是有可能休眠時偶關閉了一些電路功能,喚醒后沒有恢復I/O口功能?
為了休眠時電流最小,偶按照DATASHEET上寫的關閉了模擬比較器ACD,模數轉換器,以及他們對應的數字輸入緩沖器DIDR。因為偶的鍵盤是3*4矩陣循環掃描的,有兩列用到了PD6,PD7,正好是ACD的AIN0,AIN1,而對應的DIDR關閉后,偶休眠時沒有重置,結果導致鍵盤的循環掃描不正常,后來仔細看了下有關DIDR的DATASHEET,上面清清楚楚的寫道會影響PIN寄存器,會使他們都為0。問題總算是解決了。
關于AVR的休眠使用經驗如下:
1.關閉BOD,打開會增加約50uA左右的電流消耗
2.POWER DOWN和POWER SAVE兩種模式電流消耗相差幾乎沒什么區別,但是POWER SAVE多T2定時喚醒源
3.關閉ACD,如果其中的引腳有使用到,那休眠后要重新開DIDR
4.ADC的DIDR要關,不關電流消耗會增大450uA,比較恐怖
|