Android UWB——框架介绍

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以及相关库,具体组成如下图。

UWB框架

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测试。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容