4.1 Android-UWB技术框架简介

        Android 13中引入的超宽带 (UWB) 模块在HAL接口之上包含一个UWB协议栈,该协议栈采用FiRa规范。可以在支持的设备之间实现高度安全的精确测距。AOSP UWB Stack作为可选模块提供给设备制造商。

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

AOSP模块

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

  • UWB平台API Surface(Java)
    • 代码位置:packages/modules/Uwb/framework
    • 处理<bootclasspath>
  • 支持库
    • 代码位置: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
    • 供应商代码:vendor/<vendor-name>/uwb

        对于供应商组件(UWB Vendor Stack),包含由UWB HAL供应商实现、UWB驱动程序和UWB设备。

        对于UWB Native Stack而言,包括UWB硬件抽象层AIDL接口、UWB UCI协议栈、以及UWB JNI接口。

UWB的API Surface

        UWB Stack包含用于系统应用和第三方应用的API Surface。

系统应用

        设备制造商使用android.uwb.UwbManager系统API Surface允许系统应用进行低级别访问。要使用此API,系统应用必须使用支持库packages/modules/Uwb/service/support_lib

第三方应用

        第三方应用使用Jetpack UWB公共API surface,androidx.core.uwb

依赖

UWB主线模块依赖以下内容:

  • UWB芯片供应商的硬件抽象层(HAL)实现;
  • 用于所有OOB交互的蓝牙协议栈;
  • 用于所有安全服务交互的安全单元;
  • 强制执行UWB运行时权限的核心框架。

验证

如需验证UWB实现,需要确保通过了/cts/tests/uwb下的CTS测试。

https://source.android.com/docs/compatibility/cts

参考链接

1、Android文档,UWB

2、模块化系统组件,超宽带,https://source.android.com/docs/core/connect/uwb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萝卜D大哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值