UWB

Android 13 で導入された超広帯域無線(UWB)モジュールには、FIRA が定義した CSML 仕様に基づく UWB スタックが HAL インターフェースの上に含まれています。

UWB モジュールには、デバイス メーカーにとって次のようなメリットがあります。

  • UWB 対応デバイスで使用できる完全な Android ネイティブ UWB スタック
  • Android エコシステム全体での UWB の品質と相互運用性の向上
  • 新しい FiRa のユースケースと仕様の更新に対するより迅速かつ柔軟なサポート

詳細

UWB モジュールの詳細は次のとおりです。

  • Android 13 の AOSP に、FiRa が定義した UCI 仕様を HAL インターフェースとして使用する完全な UWB スタックが含まれます。
  • システムアプリにカスタム プロファイルのプロビジョニングを許可します。
  • システムアプリが圏内のセッションでカスタム プロファイルを使用できるようにするシステム API サーフェスが含まれます。
  • デバイス メーカーがスタックの動作をカスタマイズするために使用できる、RRO を公開するためのインフラストラクチャが含まれます。

UWB スタックのアーキテクチャ

UWB スタックは、UWB メインライン モジュールと、UWB チップベンダーが提供する HAL 実装で構成されています。

UWB スタックのアーキテクチャ図

図 1. UWB スタックのアーキテクチャ

モジュールの境界

モジュール コードは次の場所にあります。

  • UWB Mainline Apex: com.android.uwb

    • UWB API サーフェス(Java)

      • コードの場所: packages/modules/Uwb/framework
      • プロセス: <bootclasspath>
    • UwbService(Java)

      • コードの場所: packages/modules/Uwb/service
      • プロセス: system_server
    • Uwb ネイティブ スタック(C++ / Rust)

      • コードの場所: external/uwb
      • プロセス: system_server
  • HAL インターフェースと実装(C++)

    • インターフェース コードの場所: hardware/interfaces/uwb
    • 実装コードの場所: vendor/<vendor-name>/uwb
    • プロセス: <vendor defined>

パッケージの形式

UWB モジュール com.google.android.uwbAPEX 形式を使用します。

依存関係

UWB メインライン モジュールは以下に依存します。

  • UWB チップベンダーの HAL 実装。
  • すべての OOB インタラクションのための Bluetooth スタック。
  • すべての安全なサービスのインタラクションのためのセキュア エレメント。
  • UWB ランタイム権限の適用のためのコア フレームワーク。