STM32WB - CubeMonitor-RF
STM32CubeMonitor-RF
2.1 版

こんにちは、STM32CubeMonitor-RF ツールのプレゼンテーショ
ンへようこそ。包括的な STM32Cube ソフトウェア開発ツール
キットの一部であるこのツールは、STM32WB マイクロコント
ローラの無線通信機能の管理に使用するコードのテストと最適化を支援するものです。

1

STM32CubeMonitor-RF

2• STM32CubeMonitor-RF ツールは、Bluetooth Low Energy（BLE） コマンド、BLE
RF テスト、OpenThread コマンド、802.15.4 RF テストにより STM32WB シリーズの無線機能を管理するのに使用します。
• ターゲットとなるボードには、ST Nucleoボード、USB BLE ドングル、または任意のカスタマーボードが含まれます。
• USB 接続は仮想 COM ポートを使用します。
• UART ポートも使用できます。

開発者は、STM32cubeMonitor-RF ツールを使用して、STM32WB の Bluetooth Low Energy、OpenThread、802.15.4 無線機能をテストできます。
ターゲットには、ST Nucleo ボード、ST の USB BLE ドングル、または任意のカスタマーボードが含まれます。このツールは、シリアル接続（USB 経由の仮想 COM ポートまたは物理 UART インタフェース ）を介してターゲットデバイスに接続します。

2

モード選択3• STM32CubeMonitor-RF ツールの使用を開始するには、ユーザはまず使用するモードを選択する必要があります。
• Bluetooth Low Energy (BLE) コマンドおよび RF テスト• OpenThread コマンド
• IEEE 802.15.4 RF テスト

モード選択

このツールの起動時に、ユーザは3種類のモードから1つを選択する必要があります。
• 802.15.4 RF：IEEE 802.15.4 無線プロトコルに基づいた機能とアプリケーションをテストするには、このモードを選択します。
• BLE：Bluetooth Low Energy（BLE）ネットワークプロトコルに関連する機能のテストには、このモードを選択します。
• OpenThread：低電力 Thread メッシュネットワークプロトコルに基づく OpenThread ソフトウェアを使用してコマンドを送信するには、このモードを選択します。
「Remember my choice」オプションがチェックされている場合、ツールは以前に選択されたモードで自動的に起動します。

3

BLE モード

4• STM32CubeMonitor-RFのBLE モードでは、次のことが可能です。
• ACI コマンドをターゲットボードに送信。ACI コマンドは、BLE ペリフェラルの設定と通信に使用する BLE コマンドです。ツールは、使用可能なコマンドとパラメータの説明のリストを提供します。
• RF テストの実行（送信、受信）。
• 無線によるファームウェア書込み（OTA）• ビーコンの設定。
• アドバタイジングの設定。
• リモートデバイスのサービス検出

2つのデバイスによる RF テスト

このスライドでは、BLE スタックのアプリケーション・コマンド・インタフェース（ACI）のテストに使用する機能を説明します。BLEモードを選択すると、ユーザはさまざまなテストを実行できます。
まず、ACI コマンドを送信できます。ACI コマンドは、BLE スタックとの通信に使用する標準化されたコマンドです。このツールは、STM32WB デバイスでサポートされるコマンドのリストを表示し、各コマンドについてそのパラメータのリストと説明を表示します。
もうひとつの重要な機能は、RF 通信のテストに使用できることです。ツールを使用して、トーンまたはパケットを送受信できます。2つのデバイスを使用して、BLE 通信リンクの品質を評価することもできます。
STM32CubeMonitor-RF ツールは、有線接続なしでデバイス上のソフトウェアを 書き換えることもできます。無線プログラミング（OTA）機能を使用すると、無線でファームウェアまたはデータをデバイスにロードできます。
ツールはビーコンを生成することもできます。数秒で、デバイスをBLE ビーコンとして設定できます。
ボードをアドバタイジングモードに設定して消費電力を確認し、リモートデバイスで利用可能なサービスを調べることもできます。
4

STM32WB デバイスの接続

5• STM32CubeMonitor-RF は、STM32WB55
Nucleo パックのボードと USB ドングルの両方をサポートしています。
• 「Transparent Mode」のファームウェアをターゲットデバイスにロードする必要があります。
• 接続手順：1）デバイスを USB （または UART ）ポートに接続します。

32）COM ポートの検出を待ちます。
3）[Select device] をクリックして、該当する COMポートを選択します。

44）[Open] を押して通信を開始します。

ツールはシリアルポート経由でデバイスに接続されます。
デバイスには「Transparent mode」ファームウェアが必要です。
このファームウェアは UART 通信を設定し、AC Iコマンドを BLEスタックに転送します。
デバイスを接続する手順は以下の通りです。
• デバイスを USB または UART ポート経由でSTM32CubeMonitor-RF ツールを実行している PC に接続します。
• デバイスが検出されるのを待ちます。VCP または USB／シリアルコンバータを使用する場合、追加のドライバが必要になる場合があります。
• ドロップダウンリストから仮想 COM ポートを選択します。
• ［Open］ をクリックして、ターゲットデバイスとの通信を開始します。
接続に成功すると、デバイス情報が右側に表示されます。通信できない場合は、エラーメッセージが表示されます。

5

ACI コマンドパネル

6• このパネルは、ターゲットデバイスに送信する ACI コマンドを準備するのに使用します。
コマンドカテゴリ：

コマンドパラメータ

•

HAL

•

GAP

•

GATT

•

L2CAP

Arm® CM4FHCI test

Transparent Mode（App）
ユーザコードログ詳細•

Arm CM0+

コマンド
リスト

ログエリア

HCI

プロファイル

サービス

ACI
SRAM2

IPCC

GAP

GATT

SMP

ATT
L2CAP

BLEスタック

コマンドフィルタ

•HCI

リンクレイヤDTM

無線PHY

ACI コマンドパネルは、ターゲットに送信する ACI コマンドを準備するために使用します。ユーザインタフェースは2つの主要なエリアに分かれています。
• 左側のコマンド部分には、コマンドのリストと各コマンドのパラメータが含まれています。
• 右側のログエリアには、選択した各要素の詳細が表示されます。
検索機能を使用して、コマンドリストを照会しカテゴリ別にコマンドをフィルタリングすることができます。

6

1つの ACI コマンドを送信

7

1. コマンドリストから ACI コマンドを選択します。
2. 関連するパラメーターを編集します。
3. [SEND COMMAND]を押します。
•ACI コマンドと ACI 応答が「ログエリア」に表示されます。

1

ヒント：

• コマンドが失敗すると、結果はピンク色でハイライトされます。
• ログエリアのコマンド上でダブルクリックして、ポップアップウィンドウ内に生データと詳細を表示します。

2

3

コマンドを送信するには3ステップ必要です。
• リストからコマンドを選択します。フィルタとパラメータの検索を使用すれば、コマンドをすばやく見つけられます。
• 正しいコマンドパラメーターを入力します。
• ［SEND COMMAND］をクリックします。
ログは、送信されたコマンドとデバイスから返された結果で更新されます。
ログエリアをクリックして、パケットの詳細を表示します。“+” ボタンを使用して詳細を確認できます。

7

RF テストパネル

8• ［RF Tests］ タブで以下のテストを実行できます。
• テストパケット送信• テストパケット受信• トーン信号の開始／停止• BLE パケットエラー率（PER）の測定

設定エリア
ログエリア

結果エリア

RF テストパネルは、上部の設定エリアと下部の結果エリアの2つのエリアで構成されています。
ここでは、さまざまなテストを実行できます。
• パケット送信• パケット受信• トーン送信• パケットエラー率（PER）の計算テストは2つのデバイスで実行されます。最初のデバイスはパケットを送信し、2番目のデバイスは受信したパケットをカウントします。PER は、送信されたパケット数と受信されたパケット数に基づいて計算されます。

8

RF テストの選択

9

最初のステップは RF テストモードの選択です。
• 送信テスト（TX）• パケットエラーテスト（PER）

1• 受信テスト（RX）

2

1. テストモードを選択
2. ［SELECT TEST MODE］をクリック
テストパネルが表示されます。
テストモードは、テスト設定ゾーンの上のバーに表示されます。

RF テストを実行するには、まず必要なRF テストを選択します。
送信テストを選択してデバイスを放射モードに設定、受信テストを選択してデバイスを受信モードに設定、またはパケットエラー率テストを選択してパフォーマンスを測定します。
1つのオプションを選択したら、［SELECT TEST MODE］をクリックします。選択パネルがテストパネルに置き換わります。現在のパネル選択は、上部の青いバーに表示されます。どのパネルが表示されているかを確認したり、他のパネルに移動するときに便利です。

9

トーンテストの開始／停止

10• トーンテストの開始：
1. 送信（TX）電力を設定します。
2. 送信周波数を設定して特定の BLERF チャネルを選択します。

1
2

3. ［START TONE］をクリックします。

• トーンテストの停止：
4. ［STOP TONE］をクリックします。

3
4

DUT

トーンテストは、測定機器とともに使用すればデバイスの送信レベルや周波数精度の検証が行えます。
トーンテストを開始する手順は次の通りです。
• トーンパラメータを設定：送信電力（PA レベル）および周波数。
• ［START TONE］をクリックします。ボードは、連続トーンを送信するように設定されています。ボタンが［STOP TONE］に変わります。
テストを停止するには［STOP TONE］をクリックします。

10

送信テストの開始／停止

11• パケット送信の開始：
1. パラメータを設定します。
2. ［START TX］をクリックします。
1• パケット送信の停止：
3. ［STOP TX］をクリックします。

2

4. 送信されたパケット数は、トランスミッタが送信したパケットの数で更新されます

3

4

送信テストは、パケットの送信に使用します。送信電力レベルと周波数、データの長さと内容、および物理層での変調方式を選択できます。
［START TX］を押すと、［STOP TX］が押されるまでパケットが無期限に送信されます。
送信が終了すると、送信したパケットの数が表示されます。

11

受信テストの開始／停止

12• 受信テストの開始：
1. BLE RF チャネルに固有の RX 周波数を設定します。

1
2

2. 使用する「PHY」を設定します。
3. 変調度（modulation index）を設定します。

3

4. ［START RX］をクリックします。

45• 受信テストの停止：
5. ［STOP RX］をクリックします。
6. 受信したパケットの数が表示されます。
6

受信テストは、他のデバイスからのパケットの受信に使用します。
周波数と変調方式を選択します。
［START RX］を押して受信を開始します。受信した有効なパケッ
トの数は、［STOP RX］を押すまでカウントされます。

12

パケットエラー率（PER）

13• パケットエラー率は、送信中に失われたパケットの比率です。
• パケットをテスト対象デバイス（DUT）に送信するテスタ（Tester）として、1台のデバイスを使用します。

パケットエラーテストにはデバイスを2台使用します。 利用できるテスト機器が手元にない場合、2台の STM32WB デバイスを使用して Bluetooth Low Energy リンクをテストできます。
一方のデバイスからパケットを送信し、他方のデバイスでパケットを受信します。 送信したパケット数、受信したパケット数からパケットエラー率が計算できます。
STM32CubeMonitor-RF ツールは、送受信されたパケットの数を自動的にカウントします。本ツールはマルチチャネル測定にも対応します。

13

パケットエラー率テスト：ステップ 1
1.
2.
3.
4.

14

DUT を接続し、COM ポートを開きます。
RF パネルで、PER テストモードを選択します。
“Connect tester （テスタ接続）”エリアで、“Tester （テスタ）”を接続し COM ポートを開きます。
［CONFIGURE TESTER］をクリックします。

3

4

PER テストモードを選択します。
テストには4つのステップがあります。
ステップ 1：テスタとして使用するデバイスを接続します。テスト対
象デバイス（DUT）は既に接続が完了しているものとします。
テスタとして2番目のデバイスの COM ポート選択し、［CONNECT］を押します。接続が成功すると、テスタの情報が表示されます。
［CONFIGURE TESTER］をクリックして、次のステップに進みます。

14

パケットエラー率テスト：ステップ 2

15

5. テスタのパラメータを設定します。
6. ［CONFIGURE DUT］をクリックします。

56

ステップ 2：テスタを設定します。この画面でテスタの送信パラメータを設定できます。パラメータは 送信テストのパラメータと同じです。
パラメータを選択し、［CONFIGURE DUT］を押します。

15

パケットエラー率テスト：ステップ 3

167. 受信側（DUT）のパラメータを設定します。
8. ［CONFIGURE PARAM］をクリックします。

78

ステップ 3：受信側（DUT）を設定します。
受信側のパラメータは 受信 テストのパラメータと同じです。パラメータを設定し、［CONFIGURE PARAM］を押します。

16

パケットエラー率テスト：ステップ 4
9. 実行するテストを選択します。
• 複数のチャネル• RSSI 付き• 結果をファイルに保存

17910. ［START TEST］をクリックします。

10

11. テストが終了すると、結果が下部に表示されます。
11

これが最後のステップです。 テスト手順を設定します。
• 複数のチャネルをテストするときは、「PER tests on multiplechannels（複数チャネルの PER テスト）」を選択します。四角にチェックを付けると、ツールは各チャネルの PER を測定します。テスタと DUT は同じ周波数にセットされ、「Measurement period（測定時間）」欄に表示された時間の間、テストが行われます。
• 受信レベルを示す RSSI（Received Signal StrengthIndication）を読み出すことができます。「Get RSSI（RSSIを取得）」を選択すると、決まった頻度で RSSI を測定します。
• 測定結果はファイルに保存できます。これはテスト結果の保存に便利です。
オプションを選択したら、［START TEST］をクリックします。テストが開始され測定が始まります。「PER tests on multiplechannels（複数チャネルの PER テスト）」が選択されている場合、すべてのチャネルのスキャンが完了した時点でテストが終了します。
［STOP TEST］をクリックして結果を取得します。

17パケットエラー率の測定

18• 右上隅の青いアイコンを使用して、値、グラフ、または大きなテキスト形式に表示モードを変更できます。

結果は、グラフか大きなテキスト形式で表示できます。結果エリアの右上隅にある青いアイコンを使用して、表示モードを選択します。
グラフ表示では、測定結果の概要をリアルタイムで示します。大きなテキスト表示はコンピュータから離れたところからでも確認できるので、長い距離でのテストに便利です。

18

スクリプト19• ACI コマンドシーケンスの送信にはスクリプトを使用します。
• スクリプトは、実行するコマンドを列記したテキストファイルです。
1. ロードするスクリプトを選択します。
2. ［START SCRIPT］をクリックして、スクリプトを実行します。
3. ［START/STOP］ボタンを使用して、スクリプトを停止または再起動します。

1

2

3

スクリプトは、ACI コマンド経由で繰り返しタスクを送信するときに使用できます。
ACI コマンドシーケンスはテキストファイルで保存され、再び本ツールにより再生できます。
以下に従いスクリプトを起動します。
• 再生するファイルを選択します。
• ［START SCRIPT］をクリックします。スクリプトがメインウィンドウに表示され、実行中の行が緑でハイライトされます。
• ［START/STOP］ボタンを押して、スクリプトを停止または再起動します。

19

スクリプトの構文

20

スクリプトはテキストファイルなので編集可能です。
#で始まる行はコメントです。

# STM32CubeMonitor-RF サンプルスクリプト# #で始まる行はコメントです# 空白行はスキップされます

コマンドを送信するには、“Send” 命令を使用します。
# 構文で ACI コマンドを送信します：
最初のエレメントは ACI コマンドの名前です。
Send(ACI_CMD_NAME;Parameter1Value;Parameter2Value; ...)# パラメータ値は、0x12 などの16 進数です
次のエレメントは、0x から始まる16 進形式の
# リセットコマンドを送信します：
パラメータです。
Send(HCI_RESET)# ミリ秒単位で待ちます
Wait(500)# 別のコマンドを送信します：電力レベルを設定
Send(ACI_HAL_SET_TX_POWER_LEVEL;0x01;0x07)“Wait”命令を使用して一時停止を追加できます。
時間は ms で指定します。

# トーンを開始します
Send(ACI_HAL_TONE_START;0x04)# 3秒待ちます
Wait(3000)# トーン停止を送信します
Send (ACI_HAL_TONE_STOP)

スクリプトの構文は簡単なものです。
• ハッシュ（#）で始まる行はコメントです。
• Send（） 命令で、ACI コマンドを送信します。ツールがコマンドとパラメータをエンコードし、それをデバイスに送信します。
• Wait（） 命令で、休止を挿入します。
• 他にもユーザメッセージを表示したり、ループを作成するコマンドがあります。利用できるコマンドについての詳細は、ユーザマニュアルを参照してください。

20

OpenThread モード

21• Thread は、ビルや家庭内の接続デバイス向けに開発された IoT プロトコルです。
• STM32WB デバイスは、Thread プロトコルを実装した OpenThread スタックをサポートしています。

• OT（OpenThread）コマンドライン API（CLI） はスタックにコマンドを送信する目的に使用します。

OpenThread モードについて見ていきましょう。
Thread は、ビルや家庭内のオートメーション向けに開発されたIoT プロトコルです。BLE はウェアラブル向けの非常に効率的な技術ですが、ビルの中にある静的物体に対しては Thread が最適な選択になります。
Thread プロトコルは IEEE 802.15.4 リンクを使用してメッシュネットワークを構築し、その中でデバイスは IPv6 ネットワークプロトコルにより相互に通信します。
STM32WB デバイスが提供する Thread 接続は、OpenThreadスタックに基づいています。
RF ツールは、Threadコマンドライン API（CLI） によりOpenThread スタックと通信します。

21

デバイスへの接続

22• CLI アプリケーションをデバイスにロードしておく必要があります。アプリケーション
は、cube のファームウェアにあるThread_Cli_Cmd から利用できます（Cortex®
M0+ ファームウェアが Thread プロトコルに適合している必要があります）。
• 通信は、UART または仮想 COM ポート（VCP）を介して行われます。VCP を使用する場合、VCP 用のドライバをインストールする必要があります。
• 接続：1）デバイスを USB（または UART）ポートに接続します。
2）COM ポートの検出を待ちます。

343）使用可能な COM ポートのリストからデバイスを選択し、［CONNECT］を押します。

Thread デバイスへの接続は BLE デバイスへの接続と似ています。
まず、デバイスに OpenThread のファームウェアをロードする必要があります。ファームウェアは STM32Cube パッケージのExample として提供されています。名前は Thread_Cli_Cmd です。
注：Cortex M4 のファームウェアが変更された場合（BLEな どから）、Cortex M0 +ファームウェアを更新して OpenThread スタックとの適合性が取れていることを確認する必要があります。
仮想 COM ポート（VCP）を使用する場合、VCP ドライバをインストールする必要があります。
PC をデバイスに接続して COM ポートのエニュメレーションを待ち、ドロップダウンリストから正しいポートを選択してから、［CONNECT］を押します。

22

OpenThread 画面の表示内容

23• 画面は2つの部分に分かれています。
• コマンドエリア：
検索、入力、およびコマンドの送信に使用します。

コマンドエリア• ターミナルエリア：
コマンドと応答を表示します。

ターミナルエリア

OpenThread の画面は2つのエリアに分かれています。
• 上部はコマンドエリアです。このエリアはコマンドのリストと、各コマンドおよび入力するパラメータに関する追加情報を表示します。パラメータの説明を見るのに関連資料を開く必要がないため、あまり使用しないコマンドの場合に非常に便利です。
• 下部はターミナルエリアです。このエリアにコマンドと応答が記録されます。最下部に設けた欄にコマンドを直接入力することもできます。

23

OpenThread コマンドの送信エリアのクリア

検索ボックス

コマンドリスト

24

コマンドの説明とパラメータ

送信ボタン

1. リストから OT コマンドを選択します。行いたい処理からコマンドを探すには検索ボックスを使用します。
2. 選択したコマンドのパラメータを入力します。
3. ［SEND COMMAND］をクリックしてコマンドを送信します。コマンド選択がクリアされます。
•

パラメータ値は保存され、次回の同コマンド選択時にデフォルト値として提案されます。

コマンドを送信するには、コマンドリストからコマンドを選択します。
コマンドはグループ化されツリー表示されています。左側の三角形の付いたコマンドにはサブコマンドがあります。
上部の検索ボックスにて、コマンドとサブコマンドを検索できます。
コマンドが選択されると、コマンドの情報および関係するパラメータのリストが右側に表示されます。パラメータ値を入力して［SEND COMMAND］をクリックすれば、コマンドがデバイスに送信されます。ターミナルウィンドウには送信したコマンドのリストが表示されます。
ツールは送信したコマンドのパラメータ値を保存します。コマンドを再度選択すると、前回使用したパラメータ値が入力された状態で表示されます。

24

読出しおよび書込みコマンド

25

検索ボックス

コマンドリストコマンドの説明とパラメータ送信ボタン• OT コマンドの中には情報の取得または送信に使用できるものがあります。
••"channel"：使用した RF チャネル
［channel 14］：RF チャネルをチャネル 14 に設定• これらのコマンドを選択すると、2つのボタンが使用できるようになります。
••［READ PARAM］で、パラメータの読込み［SET PARAM］で、ボックスに入力したパラメータに更新情報の取得または送信に使用できるコマンドがあります。これらのコマンドを選択すると、［SEND COMMAND］ボタンは2つのボタンに切り替わります。
• ［READ PARAM］は、パラメータ値をチェックするのに使用します（パラメータは送信されません）。
• ［SET PARAM］は値の書込みに使用します。パラメータ値はコマンドの作成に使用されます。

25

ターミナルエリア

26

ウィンドウをクリア
履歴をクリア•••••

最下行にコマンドを入力します。
ターミナルエリアには、OT コマンドとデバイスからの応答が一覧表示されます。
コマンドパネルから送信されたコマンドは、ターミナルに一覧表示されます。
最下行はコマンドの入力と送信に使用します。
消去アイコンでウィンドウをクリアできます。
前に使用したコマンドは保存されます。送信したコマンドは上向きまたは下向きの矢印で表示できます。リストはゴミ箱アイコンでクリアできます。

ターミナルエリアはデバイスとの通信を表示します。
最下行には OpenThread のコマンドを直接入力できます。最下部にカーソルを置いて、コマンドを入力します。［Enter］を押してコマンドを送信します。
上下の矢印キーでリストから以前使用したコマンドを選択すれば、コマンドを再度送信できます。
ウィンドウまたは履歴は右上隅のアイコンでクリアできます。

26

IEEE 802.15.4 RF モード

27• IEEE 802.15.4 デバイスのテストには IEEE 802.15.4 RF モードを使用します。
• Thread と Zigbee は IEEE
802.15.4 を使用しています。
• このツールで以下を実行できます。
• 送信のテスト• 受信のテスト• PER の測定

IEEE 802.15.4 RF モードは、OpenThread または Zigbee 通信プロトコルで動作する RF デバイスのテストに使用します。
RF モードのユーザインタフェースは、BLE RF テストパネルに似ています。

27

IEEE 802.15.4 の PER テスト

28• PER テストを使用して、単一チャネルの連続測定および複数の RFチャネルに対して一連の単一測定を実行できます。
• 測定できる値は次の通りです。
• RSSI： Received Signal Strength
Indication （受信信号強度インジケータ）• LQI： Link Quality Indicator （リンク品質インジケータ）• PER： Packet Error Rate （パケットエラー率）

PER テストを使用して、単一チャネルの連続測定および複数のRF チャネルに対して一連の単一複数チャネル測定を実行できます。

28

まとめ29• STM32CubeMonitor-RF は、STM32WB の無線機能を管理します。
• BLE および IEEE 802.15.4 デバイスの RF 品質をテストします。
• BLE コマンドを実行し、リモートデバイスの BLE プロファイルを検出します。
• OpenThread コマンドターミナルを使用して、OT コマンドを送信します。
• 関連資料：• リリースノート：RN0104/DM00363382（ツールに同梱）• ユーザマニュアル：UM2288/DM00433646（st.com の本ツールのウェブサイトをご覧ください）• ビデオ：「How to use development flow for STM32WB.mp4」

STM32CubeMonitor-RF ツールの詳細については、このスライドに記載の関連資料とビデオを参照してください。

29