Android 13 中引入的超寬帶 (UWB) 模塊在 HAL 接口之上包含一個 UWB 堆棧,該堆棧基於 FiRa 規範。
UWB 模塊為設備製造商提供以下優勢:
- 適用於支持 UWB 的設備的完整 Android 原生 UWB 堆棧
- 提高了整個 Android 生態系統中 UWB 的質量和互操作性
- 更快、更靈活地支持新的 FiRa 用例和規範更新
細節
以下是UWB模塊的詳細信息:
- 在 Android 13 中的 AOSP 中包含一個完整的 UWB 堆棧,它使用 FiRa 定義的 UCI 規範作為 HAL 接口。
- 允許系統應用程序提供自定義配置文件。
- 包括一個系統 API 表面,允許系統應用程序在其測距會話中使用自定義配置文件。
- 包括用於公開 RRO 的基礎設施,設備製造商可以使用這些基礎設施來自定義堆棧的行為。
UWB堆棧架構
UWB堆棧由UWB主線模塊和UWB芯片供應商提供的HAL實現組成。
圖 1. UWB 堆棧架構
模塊邊界
模塊代碼位於以下位置:
UWB 主線頂點:
com.android.uwb
UWB API 表面(Java)
- 代碼位置:
packages/modules/Uwb/framework
- 進程:
<bootclasspath>
- 代碼位置:
Uwb服務(Java)
- 代碼位置:
packages/modules/Uwb/service
- 進程:
system_server
- 代碼位置:
Uwb 本機堆棧 (C++/Rust)
- 代碼位置:
external/uwb
- 進程:
system_server
- 代碼位置:
HAL 接口和實現 (C++)
- 接口代碼位置:
hardware/interfaces/uwb
- 實現代碼位置:
vendor/<vendor-name>/uwb
- 過程:
<vendor defined>
- 接口代碼位置:
包裝格式
UWB 模塊 ( com.google.android.uwb
) 使用APEX格式。
依賴關係
UWB主線模塊依賴如下:
- 來自 UWB 芯片供應商的 HAL 實現。
- 用於所有 OOB 交互的藍牙堆棧。
- 所有安全服務交互的安全元素。
- UWB 運行時權限實施的核心框架。