發新話題
打印

請教C8051F344 USB standby問題

請教C8051F344 USB standby問題

Hello~
請教一下當系統(PC)進入standby mode時(suspend),
C8051F344 會收到 suspend interrupt, (我已有把SUSEN 設1)
請問MCU會自行進入suspend mode嗎?
還是要在interrupt程式要自行處理?
因目前設定,PC進入suspend後,我看MCU程式有收到interrupt,
但量電流並沒有明顯變低...
若在interrupt SUB內加入設定MCU進入power down...
則USB又會當掉...
麻煩指導一下...感謝...

TOP

suspend的處理是要使用者自己寫code去處理的
因為省電可是要MCU的周邊與IO來互相配合的
Regulator 設定有省電的方式 請參考datasheet

然後 MCU 是不能進入 power down的
因為 PC可能會有resume的動作~
如果power down , MCu 就換不醒了
唯一能選的~只有降頻吧~
您又希望能夠降到多少電流以下呢? 500uA?
那就真不容易了~

TOP

OK 那再請教一下,
spec 內有提到OSC:
The internal high-frequency oscillator may be placed in Suspend mode by writing ‘1’ to the SUSPEND bit in register OSCICN. In Suspend mode, the internal H-F oscillator is stopped until a non-idle USB event is detected

是一開始就設定SUSPEND bit為1, USB0會自動在suspend時反應,
還是說當程式收到USB suspend interrupt時,
做完該反應的動作(如關掉一些耗電的週邊),再把SUSPEND設為1,OSC就會進入suspend mode (程式會暫停),
然後收到Resume後, OSC又自動回覆,程式繼續...?

另外為了把耗電盡可能降低(目標要降到2.5mA以下...因為USB認證為這標準)
您說OSC可降頻, 那進入suspend後可把它改為用L-F OSC嗎? (ex: 80Khz)
改為80Khz後,USB0是否還能收到resume的event? (當然收到後再改為H-F OSC.)

感謝~

TOP

您可以參考
C:\SiLabs\MCU\Examples\C8051F34x\USB_Interrupt\Firmware
F34x_USB_ISR.c

TOP

Thnak you 柚子回覆....

TOP

發新話題