最近,做項目,在收尾階段在功耗上面栽了一大跟頭!
因此覺得有必要對xmega系列單片機的休眠模式總結一下。
xmega有5種休眠方式,按照休眠的深度排列如下:
idle<extended standby<power save<standby<power down.
本人項目所用芯片為xmega256a3bu,256KFlash/16KRam,加上豐富的外設!應該說
在8位單片機中算得上是功能超強的一款!
不過唯一的缺陷,使用內部TC時,其產生的中斷不能喚醒其余的睡眠模式,除了Idle.
但是Ilde模式省電非常有限!在idle模式下,實測+外圍電路整板電流為35mA左右!
采用RTC來中斷則功耗能達到預期,但采樣率又不能達到系統要求!
最后,只能更換主芯片,才能在功耗與性能方面都滿足產品要求!
特別提醒,RTC中斷需要注意下述內容(針對ATMEL xmega系列)
//-----------------------------------------------------------------------------------------------------------
* \section rtc32_min_alarm_time Minimum allowed alarm time
*
* Due to the RTC32 clock synchronization, there is a minimum alarm time that
* will generate a interrupt. This minimum time is 2 RTC32 clock cycles.
*
* Also, if a new RTC32 clock cycle is imminent at the time of setting the
* alarm, there is a risk that it will be missed even with the value 2. If there
* is a risk that this may occur, it is recommended to use a minimum alarm time
* of 3.
//-----------------------------------------------------------------------------------------------------------
【深圳MCU群84227449】
|