STM32WB – BLE ペリフェラル
Bluetooth Low Energy ペリフェラル
1.0 版

こんにちは。STM32WB Bluetooth Low Energy ペリフェラ
ルの機能のプレゼンテーションへようこそ。

1

概要
BLE ペリフェラル
SRAM2

IPCC

CM0+Flash

BLE PHY

HSEM

RCC

SYSCFG

PWR

PKA

AES

RNG

2

• BLE ペリフェラルシステム：• Cortex®-M0+ ファームウェアは以下を管理：• BLE スタック & BLE 物理層（PHY）• BLE のセキュリティ• プロセッサ間通信：• 共有 SRAM2、プロセッサ間通信コントローラ（IPCC）• システムおよびセキュリティペリフェラルは HSEM を介して共有• 自律動作• 電源状態とクロックの制御

アプリケーションの側の利点•

純粋な Bluetooth Smart（BLE）実装•デバイス間のワイヤレスデータ転送が容易•

プロファイル & アプリケーションの相互運用性

Bluetooth Low Energy（BLE）ペリフェラルは、Bluetooth
Smart システムのすべてのリアルタイム操作を処理し、Bluetooth Low Energy 物理層（PHY）と Bluetooth LowEnergy のセキュリティを制御します。Bluetooth Low Energy
プロファイルおよびアプリケーションを処理する Cortex-M4プロセッサとの通信は、メモリマップドメールボックスとプロセッサ間通信コントローラを介して行われます。
BLE ペリフェラルは自律して動作し、アプリケーションのCortex-M4 関与を必要とせずに Bluetooth Low Energy 接続を維持し、スキャンとアドバタイズを実行するため、超低電力実装が可能です。
システムおよびセキュリティペリフェラルの共有は、ハードウェアセマフォ（HSEM）を介して処理されます。

2

BLE ペリフェラルの機能

3• クライアント／サーバアーキテクチャ• 同じデバイス上のクライアントとサーバの両方をサポートできる• 少なくとも 2 つはスレーブを使用し8 つの BLE リンクを同時サポート• マスタ／スレーブトポロジーを同時にサポート• マスタロール：セントラルデバイス（スキャン、接続の開始）• スレーブロール：ペリフェラルデバイス（アドバタイズ）• プライバシー／認証／承認を含むセキュリティ• AES-128 暗号• BLE とアプリケーションの暗号鍵管理を保護

STM32WB は、主な Bluetooth Smart 機能をサポートします。BLE デバイスは、1 つのリンクのマスタデバイスかスレーブデバイスのいずれかです。STM32WBは、少なくとも 2 つはスレーブである 8 つの BLE リンクを同時にサポートします。
マスタとスレーブという用語は、リンク層のロールであり、セントラルとペリフェラルに相当します。
クライアントサーバアーキテクチャは、GATT（汎用属性プロファイル）層で行われ、値を転送するために使用されます。

3

BLE アーキテクチャArm® CM4

アプリケーション
アプリケーション
プロファイルサービス

ACI インタフェース
SRAM2

IPCC

Arm® CM0+
BLE スタック

BLE ペリフェラル
GAP

GATT

ATT

SM
L2CAP

ホストコントロールインタフェース

4• アプリケーション Cortex-M4• BLE 経由で転送されるデータを収集および計算• データを転送するには、アプリケーションは BLE スタックのサービスとキャラクタリスティックを使用（標準またはプロプリエタリアプリケーションプロファイル）• Generic ATTribute profile (GATT)プロファイルを介した通信• HCI プロトコルに基づく• 共有の SRAM2 および IPCC を使用• BLE ペリフェラル Cortex-M0+ および無線 PHY• LE コントローラと LE ホストを含む• すべてのリアルタイムリンク層と無線 PHY 層の相互作用

リンク層
無線 PHYSTM32WB Bluetooth Low Energy アーキテクチャはBluetooth Low Energy プロファイルおよびアプリケーション（アプリケーション Cortex-M4 上で実行）を Bluetooth Low
Energy ペリフェラルに常駐する Bluetooth Low Energy リア
ルタイムの局面から分離します。
Bluetooth Low Energy ペリフェラルは Bluetooth Low
Energy スタックを含んでいる Cortex-M0+ プロセッサを内蔵し、リンク層からGATTプロファイル層と汎用アクセスプロファイル（GAP）層までを処理します。また、物理 2.4GHz 無線も内蔵しています。2.4GHz 無線の詳細については、特定のRF トレーニングを参照してください。

4

IPCC & BLE アプリケーションインタフェース• コマンドのセットに従って使用されるさまざまな HCI
チャネル

SRAM2 / DMAMUX
コマンド

応答ユーザイベント

BLE アプリケーションインタフェース
ACI GAPACI GATTHCI LEACI HAL

ACI L2CAPHCI RFテスト

5

セキュアキー管理• SRAM2 のバッファとキュー• フロー制御とバッファリリースは IPCC によって管理•ホストコントローラインタフェース汎用 & ベンダー固有コマンド／イベント•

汎用アクセスプロファイルコマンド／イベント•

GATTプロファイルコマンド／イベント• BLE ペリフェラルを制御するため、アプリケーションによって使用されるコマンド／応答インタフェースとイベン
トインタフェース
•ACI GAP は BLE IP（ペリフェラル、セントラル、ブロードキャスター、オブザーバー）を構成•ACI GATT はクライアントサーバアーキテクチャをサポート•ACI L2CAP は接続間隔の変更を要求•HCI LE はレガシー HCI 標準仕様をサポート•

セキュアキーマネージャは、CM0+ 上のキーを保管、更新、削除、およびロード•

ACI HAL は、BLE IP 構成に役立つベンダー固有機能を使用•

HCI RF テストは RF 評価のために使用

Cortex-M4 と Bluetooth Low Energy ペリフェラル間の通信はメモリマップドメールボックスとプロセッサ間通信コントローラ（IPCC）を介して行われ、ホストコントローラインタフェース（HCI）類似のプロトコルフォーマットを使用して、アプリケーション制御インタフェース（ACI）のコマンド、応答、およびユーザイベントをサポートします。最終アプリケーションに応じて、さまざまなコマンド、応答、およびイベントのセットが使用されます。

5

アプリケーション制御インタフェース

6• GAP コマンド
• LE デバイスの GAP ロールを定義•

ペリフェラル、セントラル、オブザーバー、ブロードキャスター• 接続を管理し、LE デバイスがマスタまたは／およびスレーブとして動作可能に• GATT コマンド• クライアント／サーバアーキテクチャをサポートするために使用• GATT サーバのサービスと特性を管理• GATT クライアントプロシージャを開始して、サーバ上のサービスと特性を管理• HCI およびベンダー固有コマンド• いくつかの構成データ（ロール、Bluetooth パブリックアドレス、IR、ER、DIV）を書き込むために使用• TX パワーを設定• RF テスト（トーン）を開始／停止

一連のコマンドがGAPプロファイルをサポートして、BLE リンクのロールを定義します。別のコマンドセットは、GATTプロファイルに使用されて、クライアントサーバアーキテクチャを介した値の転送をサポートします。
特定のベンダー固有コマンドは、CM0+、CM4、および BLE
IP 設定を管理するために使用されます。
• IR は ID ルートキーであり、LTK および CSRK キーを導出するために使用されます。
• ER は暗号ルートキーであり、LTK および CSRK キーを導出するために使用されます。
• DIV は CSRK キーを導出するために使用されます。

6

BLE RF テストモード

7• STM32WB デバイスは 2 線 UART インタフェース（TXD、RXD）とみなされる• BLE 無線は、送信モードか受信モードのいずれかであり、RF 評価のための変調ありまたは変調なし

BLE テストモード
HCI/ACI

USART

CM4

• ACI & HCI コマンドは外部デバイスによって送信される• HCI_Reset

SRAM

IPCC

CM0+BLE PHY• HCI_LE_Receiver_Test• HCI_LE_Transmitter_Test• HCI_LE_Test_End• ACI HCI ベンダー固有コマンド

Bluetooth Low Energy 無線テストモードは、STM32WB の送受信性能を確認します。標準およびベンダー固有のホストコントローラインタフェースコマンドが使用されて、デバイスをさまざまなテストモードにします。このように、Bluetooth テス
ターまたは PC および RF 測定機器を使用してデバイスをテストできます。

7

CM0+ システムコントローラ

8• PWR コントローラを介した自律低電力モード制御• SLEEP• STOP• STANDBY• RCC を介した自律ウェイクアップおよびクロック制御• BLE システムクロックは周波数選択を制御• システム動作モードの自動検出• システムの RUN、STOP、および STANDBY モードからウェイクアップ• リソース共有は HSEM によって制御

Bluetooth Low Energy ペリフェラルは、Bluetooth Low
Energy 動作モードに基づいて、システムの低電力 SLEEP、STOP、および STANDBY モードを自律的に制御します。低電力モードからウェイクアップするとき、Bluetooth Low
Energy ペリフェラルはシステムの動作モードを検出して、システムクロックを自律的に構成し、アプリケーション CortexM4 状態の不変性を確保します。電源コントローラとリセットおよびクロックコントローラと Cortex-M4 のリソース共有はハードウェアセマフォによって管理され、リソース共有のブロックを防止します。

8

セキュリティ管理9• 以下のペリフェラルは、BLE ペリフェラルによるセキュリティ保護が可能：• AES1（IP 暗号鍵のみ）アプリケーションによって使用される暗号化エンジン• AES2（完全 IP）IEEE 802.15.4 用暗号化エンジン• 暗号鍵の生成のために使用される PKA（完全 IP）• 暗号鍵の生成のために使用される True RNG（完全 IP）• セキュリティ保護可能な IP へのアクセスはハードウェアセマフォ IP（HSEM）によって管理• HSEM x、y、z は、共有セキュリティペリフェラルアクセスを管理するために使用される• BLE スタックは以下の暗号鍵機能を提供• 鍵の保管、鍵の更新、鍵の削除、鍵のロード（AES1 で）一部のセキュリティペリフェラルは Cortex-M0+ によってセキュリティ保護され、Bluetooth Low Energy ペリフェラルへの排他的アクセスを付与します。AES2、PKA、および True
RNG 機能は、Bluetooth Low Energy ペリフェラルによる使用については完全にセキュリティ保護できます。AES1 暗号
鍵はセキュリティ保護可能であり、アプリケーション CortexM4 はセキュアキーを使用してデータを暗号化できます。これらのペリフェラルにより、Cortex-M4 と Bluetooth Low
Energy ペリフェラルの間で必要に応じた共有が可能です。
共有ペリフェラルの使用は、ハードウェアセマフォ IP（HSEM）を介して管理されます。アプリケーション暗号の場合、Bluetooth Low Energy ペリフェラルは、鍵の保管、更新、削除、およびロードのための機能を備えたセキュアキー管理を提供します。

9

Flash の消去／保存

10• Flash の消去と保存の制限事項：• BLE スタックのリアルタイム要件による• 無線アクティビティ中、新しい Flash 消去および保存操作は開始不可• BLE スタックは新しい Flash 消去および保存操作を中断（FLASH_C2SR.PESD）• アプリケーションは PWR から BLE リアルタイム情報を取得可能• 無線クリティカルフェーズはクリティカルフェーズ終了割込み（PWR_EXTSCR.CRPF およびPWR_SR1.CRPEF）でアクティブ重要な無線フェーズ中の無線システムの正しいリアルタイム操作を保証するために、Flash メモリに対する低遅延アクセスが許可されます。このフェーズでは、新しい「消去」や「保存」 Flash 操作を開始することはできません。Cortex-M4 は無線クリティカルフェーズフラグと割込みを使用してリアルタイム無線システム情報を取得できます。

10

一意識別子11• BLE デバイスはデバイスを一意に識別する一意な 48bit Bluetooth デバイスアドレスを持つ：• 24bit の company_assigned• 24bit の company_id• STM32WB は 64bit の一意デバイス ID を提供• 24bit の ST Company ID は 0x00 80 E1• STM32WB の 8bit の製品ID は 0x05
• 32bit の一意デバイス番号は、各デバイスを区別• STM32WB の 64bit の UID を使用して、一意な BLE 48bit デバイスアドレスを導出可能

各 Bluetooth デバイスには一意な 48bit デバイスアドレスが割り当てられ、これは IEEE 802-2014 ユニバーサルアドレ
ス標準に準拠して作成される 48bit の拡張一意識別子（EUI48）です。
STM32WB は、24bit の ST 会社 ID、8bit の Dory デバイス
ID、および 32bit の一意番号に基づいて、64bit の一意デバイス識別子を提供します。この STM32WB の 64bit の一意デバイス識別子を使用して、一意な Bluetooth 48bit デバイ
スアドレスを導入することができ、生産中に一意識別子をプログラムする必要を避けることができます。

11低電力モード
システムモード

説明

RUN

アクティブ。ペリフェラル割込みにより、Cortex-M4 は CSleep および CStop モードを終了。

SLEEP

アクティブ。ペリフェラル割込みにより、Cortex-M4 は CSleep および CStop モードを終了。

STOP

アクティブ。ペリフェラル割込みにより、Cortex-M4 は CSleep および CStop モードを終了。

STANDBY

低電力モード。ペリフェラルは Cortex-M4 を必要とせずにウェイクアップできる。

SHUTDOWN

無効

これは、特定の低電力設定モードでのペリフェラルのステータスの概要です。BLE ペリフェラルは、すべての低電力SLEEP、STOP、および STANBY モードで動作できますが、SHUTDOWN モードは除きます。BLE ペリフェラルは、Cortex-M4 を必要とせずに、低電力モードから自律的にウェイクアップできます。必要なときには、BLE ペリフェラルは、Cortex-M4 に割り込んで、CRun、CSleep、および CStopモードからウェイクアップします。

12

関連ペリフェラル

13• この機能にリンクしている以下のトレーニングを参照：• プロセッサ間通信（IPCC）• ハードウェアセマフォ（HSEM）• 高度暗号化標準（AES）• 公開鍵アクセラレータ（PKA）• 乱数発生器（RNG）• リセットおよびクロック制御（RCC）• 電源制御（PWR）• システム設定（SYSCFG）

このトレーニングのほかに、Flash メモリインタフェースおよびシステム設定トレーニングも役立つかもしれません。

13