どの程度の省エネCPUか調べてみました。
使ったCPUはRL78/G13(秋月の R5F100LGAFB ROM128K, RAM12K, 64PIN)。
サブクロック発生用にEPSONのRX8900(2.5~5.5V/ 0.7μA)のFOUTを利用してます。
興味があるところを読む
CPUの諸元
2019/4/4
電圧:3V(低速メインモード1.8~5.5V)。
メインクロック(CPU・周辺用):オンチップOSC fCLK=1Mhz。
サブクロック(RTC・WDT・12bitIT用):RX8900のFOUTで fSUB=32.768KHz。
周辺はUART、AD(+コンパレータ)、IT12を使用(WDTはSTOP中はカウント停止)。
空きポートの処理はしてない。
G13内蔵のRTCの定周期(およびALARM)INTRで目覚める設定にして実験した。
結果
周辺停止+stop中は1.8μA。
RTCで目覚め、UART+AD(+コンパレータ)+I2CをONにすると750μA。
ただ、何かの拍子に消費電流が多くなることがある(下図は自作の微少電流計で計測)。
ソースはこんな感じ。
void MyStop(void)
{
// 寝る前に電気食いを止める
R_UART0_Stop(); // uart
R_ADC_Stop(); // ad
R_ADC_Set_OperationOff(); // コンパレータも止める
R_IT_Stop(); // it12
// CPUをSTOP → RTCの定周期(およびALARM)INTRで目覚める
STOP();
// 目覚めたら電気食いを起こす
R_UART0_Start(); // uart
R_ADC_Start(); // ad
R_ADC_Set_OperationOn(); // コンパレータ動作許可
R_IT_Start(); // it12
R_WDT_Restart(); // wdtはリセットしておこう
}
コメント