共存の課題
Bluetoothモジュールが同じPCB上のWi-Fiと2.4 GHz無線を共有する場合、2つのプロトコルは重複チャネルでエアタイムを争います。アクティブな共存管理なしでは、BLEスループットは40~70%低下し、Wi-Fiレイテンシは数百ミリ秒に急増する可能性があります。これは理論上の懸念ではなく、デュアルモード設計で最も一般的な統合問題です。
本記事では、共存を確実に機能させるメカニズム、ハードウェア信号、ファームウェア戦略について解説します。
スペクトル重複:衝突が発生する箇所
Wi-Fiは2.4 GHz ISMバンドの20または40 MHzチャネルを占有します。BLEは1 MHz間隔の2 MHzチャネルを使用し、37のデータチャネル間をホッピングします。
| Wi-Fiチャネル | 周波数範囲(MHz) | 影響を受けるBLEチャネル |
|---|---|---|
| Ch 1 | 2412–2432 | 0–7 |
| Ch 6 | 2437–2457 | 12–19 |
| Ch 11 | 2457–2477 | 22–27 |
Wi-FiがCh 6で送信中の場合、BLEチャネル12–19はノイズフロアの上昇とパケットロスを経験します。アダプティブ周波数ホッピング(AFH)はこれらのチャネルを「不良」として再分類して回避しますが、再分類をトリガーするのに十分なエラーを経験した後でなければなりません。これには複数のコネクションインターバルが必要です。
ハードウェア共存信号
業界標準のアプローチでは、Wi-FiとBLEチップ間(またはコンボチップ内)に3本の専用GPIOラインを使用します:
| 信号 | 方向 | 機能 |
|---|---|---|
| WLAN_ACTIVE(PTA_REQ) | Wi-Fi → BLE | Wi-Fiがまもなく送信;BLEは延期すべき |
| BT_ACTIVE(PTA_PRI) | BLE → Wi-Fi | BLEに高優先度イベント(スキャン、接続)あり |
| BT_PRIORITY(PTA_STATUS) | BLE → Wi-Fi | 1 = 高優先度(オーディオ/HID)、0 = 低優先度(データ) |
この3線PTA(Packet Traffic Arbitration)インターフェースはIEEE 802.15.2で定義され、最新のコンボチップ(nRF5340 + nRF7002、ESP32、CYW43455など)のほとんどでサポートされています。
タイミングが重要です。Wi-FiチップはRF送信開始の30~50 μs前にWLAN_ACTIVEをアサートします。BLEコントローラはこのウィンドウ内で保留中のTXを中止する必要があります。信号がRFチェーンがすでにアクティブになった後に到着すると、パケットは失われます。
共存優先度スキーム
Wi-Fi優先(デフォルト)
Wi-Fiが常に調停に勝ちます。BLEはWi-Fiがアクティブなとき常に延期されます。Wi-Fiスループットを最大化しますが、Wi-Fiトラフィックが持続的場合(大容量ダウンロード中など)、BLE接続ドロップを引き起こします。
BLE優先
BLEが常に勝ちます。BLEレイテンシを保証しますが、Wi-Fiスループットを著しく低下させます。実用上はほとんど使用されません。
時分割調停(推奨)
両プロトコルが交渉されたスケジュールに基づいて交互に動作します。共存コントローラがタイムスライスを付与します。BLEはコネクションイベントとスキャンウィンドウ中に優先度を得ます;Wi-Fiはビーコン受信とデータTX/RX中に優先度を得ます。主要パラメータ:
- BLEコネクションインターバル:30~100 msに設定。短いインターバルはエアタイムを多く消費しますがレイテンシを削減。
- Wi-Fiリスンインターバル:通常100 ms(DTIM = 1)から1000 ms(DTIM = 10)。長いインターバルはBLEにより多くのエアタイムを提供。
- ガードタイム:プロトコル切替間に最低150 μs、RFセトリングを許可。
アンテナ共有 vs. 個別アンテナ
SPDTスイッチによるシングルアンテナ
RFスイッチ(Skyworks SKY13330など)がアンテナをWi-FiまたはBLEのRFパスに接続します。スイッチ制御は共存ロジックで駆動されます。BOMコストとPCB面積を節約しますが、挿入損失(0.5~0.8 dB)を導入し、慎重なタイミングが必要です——スイッチはRF送信開始前にセトリングを完了する必要があります。
デュアルアンテナ
各プロトコルに専用アンテナがあり、≥ 20 dBのアイソレーション(通常は直交偏波または2.45 GHzでλ/4 ≈ 3 cmの空間分離で達成)を確保。スイッチが不要で同時動作が可能ですが、より多くのPCB面積とアンテナチューニングが必要です。
| アプローチ | BOMコスト | PCB面積 | アイソレーション | 同時動作 |
|---|---|---|---|---|
| SPDTスイッチ | +0.15~0.30 USD | 小 | 該当なし(切替) | 不可 |
| デュアルアンテナ | +0.30~0.50 USD | 大 | 20~30 dB | 可能 |
ほとんどのIoTゲートウェイとスマートホームハブでは、SPDTスイッチ付きシングルアンテナで十分です。BLEオーディオとWi-Fiストリーミングの同時使用が必要なアプリケーションではデュアルアンテナが正当化されます。
ソフトウェアレベルの緩和策
ハードウェアPTA信号が利用できない場合(共存GPIOのない2つの別々のチップを使用する場合など)、ソフトウェア緩和策でパフォーマンスを部分的に回復できます:
- BLE AFHチャネルブラックリスト:BLEホストでWi-Fiチャネルを手動ブラックリストに登録。例えばWi-FiがCh 6の場合、初期化時にBLEチャネル12–19を無効化。エラーベースの学習期間を回避。
- DTIMチューニング付きWi-Fi省電力:DTIM間隔を3~10に増加し、Wi-Fiリスン頻度を低下、BLEにより多くのエアタイムを提供。
- スタガードスキャンウィンドウ:BLEスキャンウィンドウがWi-Fi TXバーストと重複しないよう確保。ESP32では、BLEスキャン持続時間を30 ms、インターバルを100 msに設定;Wi-Fiはギャップを使用。
- アダプティブBLEコネクションインターバル:Wi-Fiがアクティブな場合(RSSIモニタリングで検出)、BLEコネクションインターバルを200 ms以上に増加。Wi-Fiがアイドル時は30 msに削減して応答性を確保。
これらの回避策はハードウェアPTAほど効果的ではありませんが、典型的なトラフィック条件下でBLEパケットロスを30%から10%未満に削減できます。
共存パフォーマンスの測定
共存設計を検証するための主要メトリクス:
| メトリクス | ターゲット | 測定方法 |
|---|---|---|
| BLEパケットロス率 | < 2%(Wi-Fiアイドル)、< 10%(Wi-Fi持続) | BLEスニファ + Wi-Fiトラフィックジェネレータ |
| Wi-Fiスループット | > スタンドアロンの85% | iperf3(BLEアクティブ時) |
| BLE接続安定性 | 24時間ドロップなし | 長期ロギング |
| Wi-Fiアソシエーション時間 | < 3秒(BLEスキャン中) | 認証から接続までの時間 |
常にリアルなWi-Fiトラフィックでテストしてください——ビーコンモニタリングだけでは不十分です。持続的TCPスループット(OTAファームウェアダウンロードなど)がBLE共存にとって最悪のケースです。
設計チェックリスト
- PTA信号ルーティングを確認:3本、長さマッチ(スキュー < 5 mm)、可能な限りビアなし
- BLE AFHブラックリストをブート時にWi-Fiチャネルに合わせて設定
- BLEコネクションインターバル ≥ 30 msに設定;バックグラウンドデータには100 msを使用
- Wi-Fi省電力を有効化;BLEトラフィックが多い場合はDTIM ≥ 3に設定
- SPDTアンテナスイッチ使用時:スイッチセトリング時間 < RF TXランプアップ時間を確認
- デュアルアンテナ使用時:VNAでアイソレーションを測定;ターゲット ≥ 20 dB
- 最悪ケースWi-Fi負荷(iperf3 TCPストリーム)でテストしBLEメトリクスを検証
- 消費電力を確認:共存調停はデュアルアクティブ期間中に平均1~3 mAを追加
共存の適正化はオプションではありません。Wi-Fiも実行するBluetoothモジュール設計では、共存戦略を回路図の確定前に定義する必要があります——レイアウト後のPTA信号の後付けは指数関数的に困難です。