Android 13中引入的超宽带 (UWB) 模块在HAL接口之上包含一个UWB协议栈,该协议栈采用FiRa规范。可以在支持的设备之间实现高度安全的精确测距。AOSP UWB平台堆栈作为可选模块提供给设备制造商。
UWB模块对于设备制造商而言带来了以下好处:
- 提供适用于支持 UWB 的设备的完整 Android 原生UWB协议栈
- 提高了整个 Android 生态系统中 UWB 的质量和互操作性
- 针对新的FiRa用例和规范,提供更快、更灵活的支持
UWB模块的详细信息如下:
- Android 13中的AOSP中包含完整的UWB协议栈,该协议栈使用FiRa定义的UCI规范作为HAL接口。
- 支持系统应用(system app)设置自定义配置文件(custom profiles)。
- 包含一个系统API Surface,允许系统应用在测距会话中使用自定义配置。
- 包含用于公开RRO的基础架构,设备制造商可以使用RRO自定义协议栈的特性。
UWB协议栈架构
UWB协议栈框架由UWB设备商提供的协议栈以及AOSP模块,包含UWB Native Stack、UWB Service、UWB API Surface以及相关库,具体组成如下图。

AOSP UWB Stack(打包为可选模块com.google.android.uwb)包含以下组件:
- UWB平台API Surface(Java)
- 代码位置:packages/modules/Uwb/framework
- 支持库
- 代码位置:packages/modules/Uwb/service/support_lib
- 由符合FiRa定义的UwbService层和通用服务管理层(CSML)所定义的组件
- 代码位置:packages/modules/Uwb/service
- Rust原生UCI层
- 代码位置:external/uwb
- UWB HAL接口,基于由FiRa定义的UWB命令接口(UCI)规范
- 代码位置:hardware/interfaces/uwb
对于供应商组件(UWB Vendor Stack),包含由UWB HAL供应商实现、UWB驱动程序和UWB设备。
依赖
UWB主线模块依赖以下内容:
- UWB芯片供应商的硬件抽象层(HAL)实现;
- 用于所有OOB交互的蓝牙协议栈;
- 用于所有安全服务交互的安全单元;
- 强制执行UWB运行时权限的核心框架。
验证
如需验证UWB实现,需要确保通过了/cts/tests/uwb下的CTS测试。