Начиная с Android 13, Android предоставляет реализацию фреймворка по умолчанию для технологии сверхширокополосной радиосвязи (UWB), которая обеспечивает высокозащищённое и точное определение дальности между поддерживаемыми устройствами. Платформа предоставляет стек AOSP UWB в качестве опционального модуля для производителей устройств. Подробнее о модуле см. в разделе Модуль: UWB .
Архитектура
Стек UWB состоит из основного модуля UWB и реализации HAL, предоставляемой поставщиком микросхем UWB. На рисунке 1 показана архитектура стека UWB:
Рисунок 1. Архитектура стека UWB.
Стек AOSP
Стек AOSP UWB, упакованный как дополнительный модуль com.google.android.uwb
, содержит следующие компоненты:
- Поверхность API платформы UWB: Расположение кода:
packages/modules/Uwb/framework
- Библиотека поддержки: Расположение кода:
packages/modules/Uwb/service/support_lib
- Компоненты уровня UwbService и уровня общего управления службами (CSML), определяемые кодом FiRa . Расположение:
packages/modules/Uwb/service
- Слой UCI для Rust: Расположение кода:
external/uwb
- Интерфейс UWB HAL на основе спецификации командного интерфейса UWB (UCI), определенной FiRa . Расположение кода:
hardware/interfaces/uwb
Компоненты поставщика
Стек поставщиков включает реализацию поставщика UWB HAL, драйвер UWB и устройство UWB.
API-поверхности для UWB
Стек UWB включает API-поверхности для системных приложений и сторонних приложений.
Системные приложения
Производители устройств используют системный API android.uwb.UwbManager
для предоставления низкоуровневого доступа системным приложениям. Для использования этого API системные приложения должны использовать библиотеку поддержки ( packages/modules/Uwb/service/support_lib
).
Сторонние приложения
Сторонние приложения используют общедоступный API Jetpack UWB, androidx.core.uwb
. Подробнее см. в разделе [Сверхширокополосные технологии] 6 .
Проверка
Чтобы проверить реализацию UWB, убедитесь, что ваше устройство проходит тесты CTS в каталоге /cts/tests/uwb
.