サイト内検索

Silicon Labs Bluetooth®:NCPモード時の消費電流をもっと下げる方法はありませんか(BGM1xx, EFR32BG)

EFx32

BGM1xxをNCPモードで使用する場合、NCP target – Emptyというコードをビルドして書き込んで使用します。このNCP target – Emptyは、デフォルトでEM2(Deep Sleep)モードが無効となっています。

Article header ncp%e3%83%a2%e3%83%bc%e3%83%89%e6%99%82%e3%81%ae%e6%b6%88%e8%b2%bb%e9%9b%bb%e6%b5%81%e3%82%92%e3%82%82%e3%81%a3%e3%81%a8%e4%b8%8b%e3%81%92%e3%82%8b%e6%96%b9%e6%b3%95%e3%81%af%e3%81%82%e3%82%8a%e3%81%be%e3%81%9b%e3%82%93%e3%81%8b1  1

BGM1xxにWakeupピンを設定することで、WakeupピンがHigh(或いはLow)の場合は通常動作モードでHostからのコマンドを待ち受けし、WakeupピンがLow(或いはHigh)の場合は低消費電力モードとしてEM2(Deep Sleep)に移行する、といった設定が可能です。

手順はAN1042「Using the Silicon LabsBluetooth® Stack in Network Co-Processor Modeの「4.1.4 Enabling Sleep」にも記載されていますが、ncp_usart.hに以下を追加します。


#define NCP_DEEP_SLEEP_ENABLED 1
#define NCP_WAKEUP_PIN 6
#define NCP_WAKEUP_PORT gpioPortF
#define NCP_WAKEUP_POLARITY 0

ここではWirelessStarter KitとBGM121ラジオボードと組み合わせで評価してみますので、Wireless Starter KitのPB0(ボタン0)に繋がっているF6ピン(PortFの6番ピン)このWakeupピンを割り付けています。

Article header ncp%e3%83%a2%e3%83%bc%e3%83%89%e6%99%82%e3%81%ae%e6%b6%88%e8%b2%bb%e9%9b%bb%e6%b5%81%e3%82%92%e3%82%82%e3%81%a3%e3%81%a8%e4%b8%8b%e3%81%92%e3%82%8b%e6%96%b9%e6%b3%95%e3%81%af%e3%81%82%e3%82%8a%e3%81%be%e3%81%9b%e3%82%93%e3%81%8b2  1

このようなコードになります。


Article header ncp%e3%83%a2%e3%83%bc%e3%83%89%e6%99%82%e3%81%ae%e6%b6%88%e8%b2%bb%e9%9b%bb%e6%b5%81%e3%82%92%e3%82%82%e3%81%a3%e3%81%a8%e4%b8%8b%e3%81%92%e3%82%8b%e6%96%b9%e6%b3%95%e3%81%af%e3%81%82%e3%82%8a%e3%81%be%e3%81%9b%e3%82%93%e3%81%8b3  1

これでビルドしてRunすると、下図のように消費電流が下がり、EM2まで落ちていることが確認できます。

Article header ncp%e3%83%a2%e3%83%bc%e3%83%89%e6%99%82%e3%81%ae%e6%b6%88%e8%b2%bb%e9%9b%bb%e6%b5%81%e3%82%92%e3%82%82%e3%81%a3%e3%81%a8%e4%b8%8b%e3%81%92%e3%82%8b%e6%96%b9%e6%b3%95%e3%81%af%e3%81%82%e3%82%8a%e3%81%be%e3%81%9b%e3%82%93%e3%81%8b4  1

経験豊富なFAEが
無料でご相談を承ります。

特定製品の仕様からパーツの選定まで、当社のFAEが皆様のテクニカルなお悩みに無料で回答します。ぜひ、お気軽にご相談ください。