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

相关推荐

  1. 41. 【Android教程】Android 手势处理

    2023-12-12 14:32:01       12 阅读
  2. USB简介系列-04

    2023-12-12 14:32:01       38 阅读
  3. Android-UWB通信示例代码解析

    2023-12-12 14:32:01       42 阅读
  4. Android Compose 简单的网络请求框架实例。

    2023-12-12 14:32:01       34 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-12 14:32:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-12 14:32:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-12 14:32:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-12 14:32:01       18 阅读

热门阅读

  1. 排序算法——选择排序

    2023-12-12 14:32:01       39 阅读
  2. oh-my-zsh 安装和配置

    2023-12-12 14:32:01       32 阅读
  3. Runtime

    Runtime

    2023-12-12 14:32:01      25 阅读
  4. linux 线程笔记

    2023-12-12 14:32:01       36 阅读
  5. python elasticsearch 日期聚合

    2023-12-12 14:32:01       25 阅读
  6. 利用flask将yolov5算法封装成在线推理服务

    2023-12-12 14:32:01       43 阅读
  7. Windows server flask

    2023-12-12 14:32:01       36 阅读