超便利!MCUXpresso IDEでパワーデバック!簡単に消費電流が測定できる

MCUXpressoでパワーデバッグ

前回からかなり時間が空いてしまいましたが、やっと時間が出来ましたので、新しい記事をアップします。今回は、MCUXpresso IDEの変わった機能、パワーデバッグをご紹介します。

パワーデバッグと言っても、デバッグができると言う程のものではなく、動的な消費電流が測定できる機能です。

IAR EWARMでは、I-jetデバッグプローブを使用してI-JETから給電することで、消費電流とその動的な解析が可能です。

MCUXPresso IDEでも、これと同じような機能があり、簡易的に動的な消費電流を解析することが可能になっています。

ただし、使用する評価ボードは、オンボードのLPC4370を使用したLPC-LINK2をサポートしているLPCXpressoボードに限ります。

今回は、QN9080DKと言うBluetooth LEデバイスの評価ボードを使用してこの機能を試してみたいと思います。

このボードは、NXPのWebページから13,000円弱で購入することができます。LPCXpressoボードではないのですが、オンボードにLPC4370が実装されておりLPC-LINK2をサポートしているため使用可能です。

では、行ってみましょう。

やりたいこと

動的な消費電流の測定

MCUXpresso IDEの機能を使用し、測定した動的な消費電流を画面に表示する

準備するもの

ソフトウェア

  • MCUXpresso IDE

*:MCUXpresso IDEは、コードサイズの上限がなく、完全フリーで使用が可能なEcripseベースのIDE環境
ダウンロードはこちら→https://www.nxp.com/mcuxpresso

  • QN9080 SDK

電流測定用プロファイルが用意されているので、こちらを使用します。

 あると便利なツール

LPC-Scrypt

ボードのオンボードICEのファームウェアを変更するツール。NXPのウェブサイトからフリーでダウンロードすることが出来ます。 今回は、CMSIS-DAP LINKサーバーが必要ですが、LPC-Scryptを使うと、J-Linkに変更することも可能です。 LPC-Scryptはこちらから→LPC-Scrypt公式ダウンロード

基本的には、LPC-Scryptは必要ありませんが、あると便利なソフトウェアですね。

ハードウェア

  • QN9080DK
QN9080DKボード
NXP社 QN9080DK  URL: https://www.nxp.com/jp/products/wireless-connectivity/bluetooth-low-energy-ble/a-highly-extensible-platform-for-application-development-of-qn908x:QN9080DK

MCUXPresso IDEをインストールする

ダウンロードしたMCUXPresso IDEをダイアログに沿ってインストールします。

MCUXPresso IDEのインストールは、以前の記事を参考にインストールしてください。

QN9080DKボードは、デフォルトではオンボードICEのファームウェアとしてCMSIS-DAP LinkServerが必要なのですが、このファームウェアを書き換えていない場合は、何もする必要はありません。

もし、書き換えている場合には、LPCScryptを使ってCMSIS-DAP LinkServerに戻す必要があります。

今回は、LPCScryptの使い方は説明しません。

 

QN9080DKのジャンパー設定

消費電流を測定するために、ボード上のジャンパを設定して、電流測定用のセンス抵抗を繋げる必要があります。

ジャンパ設定

JP12とJP13を外して、センス抵抗(4.12オーム)を有効にします。2つのセンス抵抗が直列になるので、8.24オームになります。

QN9080 SDKをダウンロードする

電流を測定するには、どのようなアプリケーションが動作していても電流は測定できるのですが、今回はNXPのBluetooth LEデバイスQN9080の消費電流が低いとの評判なので、折角なのでスリープ電流やアクティブの電流が動的にどのように電流を消費するのか測定してみます。

QN9080のSDKをダウンロードして、プロジェクトをダウンロードします。

MCUXpresso IDEを起動します。

SDKの取り込み

画面下の方に、Install SDKと言うタブがあり、これをクリックしてタブを選択します。

このInstall SDKの画面内にQN9080 SDKをドラッグ&ドロップすると、SDKが追加されます。

SDKサンプルプロジェクトをインポートする

Quick StartパネルからImport SDK exampleをクリックしてプロジェクトをインポートします。図のようにWireless Example-Bluetoothから、Power_Profilingを選択して、そのまま次へ進んでFinishします。

SDKプロジェクトインポート

QN9080のプロジェクト取り込み

サンプルプロジェクトの選択1

プロジェクト選択2

プロジェクトのビルド

プロジェクトがインポートされると、プロジェクトペインにインポートされたプロジェクトが現れます。このプロジェクトを選択し、QuickStartパネルからBuildをクリックして、ビルドします。

ビルド

アプリケーションのダウンロード

アプリケーションのビルド後に、QN9080DKボードをPCと接続します。ボード上のUSB端子は、2つあり、J2の方のUSBコネクタを使用します。

ボードが認識された後に、QuickStartパネルからDebugをスタートします。プログラムのダウンロードとデバッグを開始します。

デバッグ開始

私のMacOS HighSiera環境では、デバッグを開始するとMCUXpresso IDEがクラッシュしてしまう現象が発生してデバッグが開始できませんでした。。。残念、NXPにこのバグを直して欲しいですね。

ただ、Windows PCを使用して、Power Profileアプリケーションをダウンロードすることが出来ました。

電流測定

さて、いよいよ電流の測定です。

電流の測定は、超簡単。MCUXpresso IDEのPower Measurement toolと言うタブを開きます。

電流測定タブ

電流測定の設定をします。イコライザーのようなアイコンをクリックし、センス抵抗値をとSample periodの時間を設定してスタートします。

電流測定の設定

設定内容

電流測定結果

QN9080DK ボードのButton1を押すと状態が以下のように変わります。

  1. LED青:パワーダウン
  2. LED緑:スリープ
  3. LED赤:アクティブ
  4. LED青:パワーダウン
  5. 消灯:

今回は、アクティブとスリープの消費電流をみて見ます。

アクティブ時の消費電流

アクティブ消費電流
アクティブ時の消費電流

アクティブ時の消費電流です。マウス操作で見たい範囲を選択することで、拡大が可能です。

ピークの消費電流が3.3mA程度だと確認出来ますね。この消費電流は、QN9080の電源の根元のセンス抵抗電圧をLPC4370の高速ADCで測定した結果です。

結果として、QN9080のRF送信、受信およびMCUコアの動作全てを合わせたピーク電流なので、3.3mAはもの凄い低い値だと分かりますね。

受信(RX)した後に、送信(TX)が動作している様が見て取れます。

このように動的な消費電流を観測できる機能がMCUXpresso IDEでサポートされているのは、実機での消費電流を測定するのに便利です。正確な測定ではないかと思いますが、それほど大きい誤差がある訳でもないと思いますよ。

スリープ時の消費電流

スリープ時の消費電流
スリープ時の消費電流

スリープ時の消費電流は、120〜130uAの幅で誤差が見えますが、平均450uA程度のようです。

このQN9080 BLEデバイスの消費電流は、かなり低いことが分かります。

まとめ

今回は、MCUXpresso IDEが持っている消費電流測定ツール機能をご紹介しました。NXPのQN9080と言うBluetooth LEデバイスを使って試して見ましたが、かなり消費電流が低いことが確認出来ました。

是非、皆さんもお手持ちの評価ボードで測定して見てはいかがでしょうか?

測定には、 オンボードICEのファームウェアをMCUXpresso LinkServer(CMSIS-DAP)にする必要があります。