超広帯域無線

Android 13 以降、Android には超広帯域無線(UWB)技術(サポートされているデバイス間で非常に安全かつ正確な距離測定を可能にする技術)のデフォルトのフレームワーク実装が含まれています。デバイス メーカーは、プラットフォーム AOSP UWB スタックをオプション モジュールとして使用できます。モジュールの詳細については、モジュール: UWB をご覧ください。

アーキテクチャ

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

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

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

AOSP スタック

AOSP UWB スタックは、オプション モジュール com.google.android.uwb としてパッケージ化されており、これには次のコンポーネントが含まれています。

  • UWB プラットフォーム API サーフェス
    • コードの場所: packages/modules/Uwb/framework
  • サポート ライブラリ
    • コードの場所: packages/modules/Uwb/service/support_lib
  • FiRa が定義した UwbService レイヤと Common Service Management Layer(CSML)で定義されているコンポーネント
    • コードの場所: packages/modules/Uwb/service
  • Rust ネイティブ UCI レイヤ
    • コードの場所: external/uwb
  • FiRa が定義した UWB コマンド インターフェース(UCI)仕様に基づく UWB HAL インターフェース
    • コードの場所: hardware/interfaces/uwb

ベンダー コンポーネント

ベンダー スタックには、UWB HAL ベンダー実装、UWB ドライバ、UWB デバイスが含まれています。

UWB 用の API サーフェス

UWB スタックには、システムアプリとサードパーティ アプリ用の API サーフェスが含まれています。

システムアプリ

デバイス メーカーは、android.uwb.UwbManager システム API サーフェスを使用して、システムアプリの低レベルのアクセスを許可します。この API サーフェスを使用するには、システムアプリでサポート ライブラリ(packages/modules/Uwb/service/support_lib)を使用する必要があります。

サードパーティ アプリ

サードパーティ アプリは、Jetpack UWB 公開 API サーフェス androidx.core.uwb を使用しています。詳細については、超広帯域無線通信をご覧ください。

検証

UWB の実装を検証するには、デバイスが /cts/tests/uwb にある CTS テストに合格することを確認します。