2011年3月1日 星期二

省電模式與喚醒2-1,LPC1100 wakeup

圖1
將project開啟後,編譯並燒錄完成.
PuTTY: 選定COM PORT後,設定 9600,8,1,N,N
RESET LPCXpresso,見圖1訊息.

要注意 AN11027兩個 Low Power實驗,不可以使用ICE.
因為省電模式下,不能ICE DEBUG,也幾乎所有pin都被設定為 GPIO, OUTPUT, LOW,(no pull-down/pull-up resistor enabled. 見 config_ios.
所以DEBUG用到幾個 SWD pin功能也都被切為GPIO.因此喚醒後 ICE DEBUG就不能在進入,除非RESET.
所以這裡設計成為使用UART print 出操作選單後,用電腦端鍵盤輸入決定LOW POWER 模式.

選單中有5個選項, a~e
a IRC 12MHz
b System Oscialltor (12MHz)
c System Oscialltor (50MHz) ,其實只有設定48MHz.

a,b,c為 sleep mode, 差異在於系統使用的clock為IRC或是外部clock.以及運作時脈12MHz or 48MHz.

d為deep sleep mode
e為deep power down

如果你邊看文章邊操作,或是等你LPCXpresso更新了這個firmware之後,你可以試著選擇任何一個模式的LOW POWER MODE.你會看到PuTTY內 Option: 後有按下字母.接著就沒有任何反應,LPCXpresso 上LED2會Off. 接著都沒反應了.....
如果你的狀況也如上述,那就是LPC1114已經進入你選擇的LOW POWER mode中了,但是接著就喚不醒了.這時候按下RESET鍵也沒有用,因為RESET pin的功能也被firmware修改了.當然更不用說想使用LPCXpresso IDE進入Debug.


那接下來怎麼辦?
這時我想到同事常說的梗,五洲製藥理念:[先研究不傷身,再講求效果.]
所以應該先準備好喚醒的方式,再讓LPC1114睡著. (大笑~)

LPC1114若要從Deep Sleep中喚醒,可設定 PIO0_0 to PIO0_11 and PIO1_0 這13pin之中的任1或是可複選多pin,由上升或是下降緣喚起.
AN所附範例是使用PIO0_2 下降緣喚起,不過因為DIY基板的PIO0_2作為SPI使用,所以這邊選擇PIO0_6若想嘗試使用修改為PIO0_6,作為喚醒pin的可以下載 (wakeup_mcudiy_20110221.zip).或是下載後修改MCU_DIY處所包夾的code,變成你需求的wakeup pin.

而從Deep power-down mode喚醒則固定要透過WAKEUP PIN , PIO1_4 才能做到.

所以來diy 下圖線路. 
圖2

PIO1_4 WAKEUP PIN, 必需在進入Deep power-down mode前pulled HIGH,
pulled LOW 則為離開Deep power-down mode.

動手準備圖2線路,再看下一篇吧!

喔對了,然後順便也下載一下MCU diy修改後的project吧...
參考範例請至此下載  Download



0 留言:

張貼留言

Related Posts Plugin for WordPress, Blogger...