PIC 24FJ64GA002の消費電力を測る

投稿日 2013/10/02

Microchip社のデモボード DM240311には28ピンDIPのCPUが挿せるので、標準搭載の24F16KA102を抜き24FJ64GA002に差し替えて消費電流を測定してみました。

 

24FJ64GA00224F16KA102のようにXLP(低消費電力)がうたい文句になっている訳ではありませんが、比較のために測定してみました。

 

16Mips 電源電圧2.0Vから3.6V
Runモードの他、Idle, Sleepモードを持ち、DOZEによるCPUクロックをプログラマブルに変更可能です。
Deep Sleepモードはありません。

 

RTCCをサポートしていますが、周辺モジュール(Peripheral)にさほど特徴はありません。
650uA/MIPS at 2V Sleepは250nA at 2Vとなっています。

PIC24FJ64GA002_4.jpg

PIC 24FJ64GA002のオシレータ・ブロックダイヤグラム

 

クロック源は上図のように、プライマリオシレータとしてXT, HS, EC。
内蔵オシレータはFRC 8MHzとLPRC 31KHzです。いずれもnominalですので、あまり安定ではないようです。
セカンダリオシレータとして32,768HzのRTCC用オシレータなどが使えます。

 

プライマリオシレータ、またはFRCの分周器を通過したクロックをPLLで4逓倍することができます。Foscの最高は32MHzなので、PLLを通す場合は8MHzが最高周波数となります。

 

24FシリーズはFosc/2がクロックとなります。Fosc/2がCPUまたはPeripheralに加わりますが、CPUクロックはZODEの分周器で最大256分周できるようになっています。

 

24F16KA102が搭載しているLPFRCはありません。

 

以下は電源電圧2.9Vで計測しています。
24FJ64GA002の電流のみを計測しています。

 

24F16KA102より全体的にスタンディングが高いようです。

 

FRC 8MHzをPLLとRCDIV分周器を用いてFosc/2 16MHZから15.6KHzにおける消費電流

PIC24FJ64GA002_1.jpg

FRC 8MHzをDOZEで分周しCPUクロックのみ Fosc/2 16MHzから12.5KHzにおける消費電流
sleepは0.31mAと計測しました。

PIC24FJ64GA002_2.jpg

LPRC 31KHzをDOZEで分周 Fosc/2 15.5KHzから121Hzにおける消費電流
このくらいクロック周波数が低くなると消費電流は2.96mAでほとんど変わりません。
LPRCをDOZEで変化させてもほとんど無意味ということになります。

PIC24FJ64GA002_3.jpg

計測に使用したプログラム

 

#include <p24FJ64GA002.h>

 

_CONFIG2(POSCMOD_NONE & I2C1SEL_PRI & IOL1WAY_OFF & FCKSM_CSECMD & OSCIOFNC_OFF & FNOSC_FRCPLL & SOSCSEL_SOSC & IESO_OFF)

 

_CONFIG1(WDTPS_PS32768 & FWPSA_PR128 & WINDIS_OFF & FWDTEN_OFF & ICS_PGx3 & COE_OFF & BKBUG_OFF & GWRP_OFF & GCP_OFF & JTAGEN_OFF)

 

int main(void){
//PMD1 = 0xFFFF;
//PMD2 = 0xFFFF;
//PMD3 = 0xFFFF;

CLKDIVbits.RCDIV = 0;
CLKDIVbits.DOZE = 0;
CLKDIVbits.DOZEN = 0;

while(1) {

//Sleep();
//Idle();

}
}



 

(JF1VRR)