『半導体業界の第一人者,AI業界を行く!』 Vol.15:Bluetooth マイコン触ってみました -Part2-

『半導体業界の第一人者,AI業界を行く!』  Vol.15:Bluetooth マイコン触ってみました -Part2-

(写真:実験風景.Silicon Labs社 “Thunderboard”上で,Bluetooth Low-power thermometer プログラムが Advertising mode で動作中.CR2032 コイン電池電圧と Thunderboard 消費電流を測定中.右は消費電流の詳細.)

 

こんにちは,HACARUS 東京R&Dセンター所属のエッジ・エバンジェリスト 田胡治之です.この連載では,半導体業界で長年知識や情報を得てきた私,田胡がこれまでと異なるAI業界に飛び込み,そこから感じる業界のニュースやトピックを独自の視点で紹介したいと思います.今回は,エッジAIシステムでのデータ収集用途を念頭に置き,Bluetooth機能つきマイコンを触ってみました -Part2- です.

 

Bluetooth機能付きマイコン

前々号[1]で Bluetooth機能付きマイコンの概要を述べ,前号[2]で Silicon Labs社 “BGM220P Wireless Gecko Module Starter Kit” 上でデモプログラム3種類を動かし,通信距離などを調べました.本稿では,Silicon Labs社 “Thunderboard” [3] を使い,Bluetooth低消費電力温度計(Bluetooth Low-power Thermometer)プログラムの開発から電池寿命見積りまでをレポートします.

 

実験の準備

Silicon Labs社 Thunderboard は,CR2032コイン電池ホルダーを含んだサイズが 30.4mm x 45.4mm の小型ボードです(Figure 1).ボード上にはSoC,5種類のセンサ,デバッグインターフェースなどが載っています.センサは,温度・湿度センサ,6軸加速度センサ,磁気センサ,照度センサ,2チャンネルデジタルマイクと,SoC内部の Internal Temperature Sensor です.SoC (System on Chip) は EFR32BG22 Wireless Gecko で,CPUコアが 76.8 MHz ARM Cortex®-M33 with DSP instruction and floating-point unit, 512kB Flash ROM, 32kB RAM, 種々なI/O に加えて Blluetooth 無線機能がワンチップ化されています.

 

Figure 1  Silicon Labs社 Thunderboard [3]

ソフトウェア開発ツール(SDK)には前号と同じ Silicon Labs社 Simplicity Studio 5 を使います.同社サイトから無償でダウンロードできます[4][5].Simplicity Studio 5 はソフトウェア開発・デバッグ機能に加えて AEM (Advanced Energy Monitor)機能を持ち,Bluetooth マイコンの消費電流,電源電圧,消費電力などを動的に測定できます[6].Thunderboard からのデータを受け取るセントラルデバイスには,Silicon Labs社 EFR Connect アプリ [7] をインストールしておきます(Figure 2).

 

Figure 2 プログラム開発の様子

 

今回のプログラムは,Bluetooth Low-power Thermometer です.Silicon Labs社 Workshop教材のひとつ [8][9][10] をベースに,筆者が変更を加えたものです.現時点では,温度センサとしてSoC内部の Internal Temperature Sensor のみを使っています.なお同Workshop教材では,Thunderboard のUSB端子からPC USB端子に直接接続した環境で開発しています.これでプログラム開発と実行は問題なく行えます.しかし Simplicity Studio 5 のAEM機能(電流・電圧測定)を使うには,Figure 2 内 BRD4001A Wireless Starter Kit Mainboard を介してPCに接続する必要があります.Low-power と称する理由は,アクティブ期間(センサ値読み取りとセントラルへの送信)以外の期間はSoCをスリープ(Sleep)状態に入れ,消費電力を極力抑えて電池寿命を伸ばすプログラムだからです.ザックリ言うと,アクティブ期間の平均消費電流が数mAに対しスリープ期間の平均消費電流は数μAで,千倍以上の差があります.デバイスをスリープ期間に長く留めることで電池を長持ちさせることが可能で,測定間隔が長い応用に適しています.

 

Advertising mode と Connected mode

Bluetooth通信では,まずペリフェラルデバイス(Thunderboard)が Advertising を開始します.セントラルデバイスがそれを発見してスキャン要求/応答,次に接続要求を出し,Connected mode になります.そこで温度データの通信が可能になります.本稿では,Advertising mode に焦点を当てます.

Thunderboard の消費電流測定例を Figure 3 に示します.横軸は時間で右端が最新(0s) ,左端が12秒前を示します.縦軸はThunderboard 消費電流値です.対数目盛であることにご注意下さい.縦軸最小値は 1nA(1e-9A),最大値は 100mA(1e-2A)で,1000万倍もの広い範囲を表示しています.例えば電流波形の底の部分は 1uA (1e-6A)程度,Advertising mode の電流ピーク値は,数百uA程度と読み取れます.Advertising mode では,Thunderboard 消費電流がほぼ一定間隔で パルス状に増加しています.

 

Figure 3 Advertising mode と Connected mode の電流波形

Advertising mode 中の電流波形を Figure 4 に示します.プログラムで Advertising 間隔を 0.2s (200ms) に設定していて,測定結果もほぼそうなっています(Figure 4 右).一つの電流パルス波形の時間軸を 1.25ms/目盛 に拡大したもの(Figure 4 左)を見ると,パルス波形を矩形近似した場合,幅は約3ms,電流ピーク期間の平均は約 3.5mA と読み取れます.

 

Figure 4 右:Advertising mode の電流波形,左:一つの電流パルスの時間軸を拡大した詳細波形

 

電流モデルと電池寿命の見積り

Advertising mode での電流をモデル化し,電池寿命を見積ります.Active期間の電流波形をシンプルな矩形近似(Rectangle approximation)します(Figure 5).Advertising には種々のパラメータがあり消費電流に影響します.本実験では,例えば Advertising チャネル数を3,送信電力を0dBmに固定しています.その条件下で平均電流は

Average current formula

Average current formula

 

 

と表せます.即ち Advertising 間隔(Tinterval)だけで平均電流を表せます.

 

Figure 5  Average current model の作成

 

Advertising 間隔を Bluetooth仕様で定められている 0.02s ~ 10.240s 間で変化させ,AEMを使って平均電流を測定しました.その結果と上式から求めた平均電流(Iaverage)を,Figure 6 左に示します.両者はよく一致しているので,電流波形の矩形近似はよい近似モデルと考えます.

電池寿命(h) は,電池容量(mAh) / 平均電流(mA) で表せます.Thunderboard に使われている CR2032 コイン電池の容量は,例えば 220mAh です[11].電池寿命見積り例を Figure 6 右に示します.もちろん環境や電池の状態などに左右されますが,Advertising 間隔を1秒間に設定した場合,電池は 764days(約二年一カ月)保つ計算です.

 

Figure 6 左:Advertising interval と Average current の関係,右:Advertising interval と 電池寿命見積り

 

まとめ

エッジAI用途を念頭に,Silicon Labs社 “Thunderboard” を使って,Bluetooth低消費電力温度計(Bluetooth Low-power Thermometer)プログラムを開発し,消費電流測定とモデリング,電池寿命の見積りを行いました.SoC内部の Internal Temperature Sensor を使いました.

Advertising mode の消費電流は,数mAが数ms間パルス状に流れるActive期間と,数uAが次のAdvertising まで流れるスリープ期間から構成されます.Advertising mode の平均電流は,Active期間長さと電流,スリープ期間長さと電流,Advertising Interval を使った矩形近似でよく表せるようです.

Thunderboard の電池寿命は,Advertising 間隔により週程度から数年以上まで大きく変化します.例えば Advertising 間隔1秒間では,約764日(二年一ヵ月)と見積もられました.

 

参考文献

[1] 『半導体業界の第一人者,AI業界を行く!』 Vol.13:ブルートゥース・マイコン

https://hacarus.com/ja/ai-lab/20210726-bluetooth/

[2] 『半導体業界の第一人者,AI業界を行く!』Vol.14:Bluetooth マイコン触ってみました -Part1-

https://hacarus.com/ja/ai-lab/20210903-bluetooth-microcomputer/

[3] UG415: Thunderboard™ EFR32BG22 User’s Guide

https://www.silabs.com/documents/public/user-guides/ug415-sltb010a-user-guide.pdf

[4] Simplicity Studio Software

https://www.silabs.com/developers/simplicity-studio

[5] Simplicity Studio® 5 User’s Guide

https://docs.silabs.com/simplicity-studio-5-users-guide/latest/ss-5-users-guide-overview/

[6] UG343: Multi-Node Energy Profiler User’s Guide

https://www.silabs.com/documents/public/user-guides/ug343-multinode-energy-profiler.pdf

[7] EFR Connect BLE Mobile App

https://www.silabs.com/developers/efr-connect-mobile-app

[8] Bluetooth 181 – Workshop (SSv4): Develop a Secure IoT Device on a BG22 Thunderboard Kit

https://www.silabs.com/support/training/develop-a-secure-iot-device-on-a-bg22-thunderboard-kit

[9] BLE-125: Lab – Optimizing your Battery Budget

https://www.silabs.com/support/training/develop-a-secure-iot-device-on-a-bg22-thunderboard-kit/lab-optimizing-for-battery-life

[10] Lab2 – Optimizing your Battery Budget

https://www.silabs.com/documents/public/training/wireless/bg22-thunderboard-workshop-optimizing-your-battery-budget.pdf

[11] Maxell Data Sheet CR2032

https://biz.maxell.com/ja/primary_batteries/pdf/CR2032_DataSheet_12j.pdf

 

ニュースレター購読Newsletter

登録はこちら