超宽带

从 Android 13 开始,Android 包含超宽带 (UWB) 无线电技术的默认框架实现,这项技术可在受支持的设备之间实现高度安全、精确的测距。平台 AOSP UWB 堆栈作为设备制造商的可选模块提供。如需详细了解该模块,请参阅模块:UWB

架构

如图 1 所示,UWB 堆栈由 UWB 主线模块和 UWB 芯片供应商提供的 HAL 实现组成。

UWB stack architecture

图 1. UWB 堆栈架构

AOSP 堆栈

AOSP UWB 堆栈(打包为可选模块 com.google.android.uwb)包含以下组件

  • UWB 平台 API 表面
    • 代码位置:packages/modules/Uwb/framework
  • 支持库
    • 代码位置:packages/modules/Uwb/service/support_lib
  • UwbService 层和通用服务管理层 (CSML) 组件由 FiRa 定义
    • 代码位置:packages/modules/Uwb/service
  • Rust 原生 UCI 层
    • 代码位置:external/uwb
  • 基于 UWB 命令接口 (UCI) 规范(由 FiRa 定义)的 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 测试。