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