Определение дальности: последовательность внеполосных сообщений и спецификация полезной нагрузки

В Android 16 был представлен модуль Ranging . Эта спецификация определяет последовательность сообщений и полезную нагрузку внеполосной (OOB) связи. В рамках этой связи происходит обмен конфигурациями измерения расстояния, а также запуск и остановка измерения между устройствами-инициаторами и устройствами-ответчиками, участвующими в измерении расстояния.

Основная цель этой страницы — дать возможность производителям устройств, не работающих под управлением Android, внедрить данную спецификацию, чтобы их устройства были совместимы с устройствами Android.

Реализация этой спецификации на языке описания пакетов (PDL) от Google доступна на GitHub . На основе этой реализации компилятор PDL может генерировать код сериализации и десериализации для сообщений, определенных в этой спецификации. Он поддерживает различные целевые языки, включая C++, Rust и Java.

Сообщения и последовательность сообщений

В этом разделе описываются сообщения и последовательность обмена сообщениями.

В следующей таблице показаны все сообщения, присутствующие в обмене данными внеполосным способом (OOB):

Сообщение Идентификатор сообщения
Ranging Capability Request 0x0
Ranging Capability Response 0x1
Ranging Configuration 0x2
Ranging Configuration Response (необязательно) 0x3
Stop Ranging 0x6
Stop Ranging Response (опционально) 0x7

Как показано на рисунках 1 и 2, способ запуска обмена сообщениями зависит от канала связи.

В каналах связи, основанных на установлении соединения, таких как Bluetooth Low Energy (BLE) Generic Attribute Profile (GATT), обмен сообщениями начинается, когда устройство-инициатор отправляет Ranging Capability Request устройству-ответчику. Затем устройство-ответчик отправляет ответ на Ranging Capability Response ), как показано на рисунке 1:

Поток коммуникационных каналов на основе соединений

Рисунок 1. Обмен сообщениями внеполосным способом с использованием канала связи на основе соединения.

В каналах связи, основанных на рекламных объявлениях, устройство-ответчик сначала отправляет рекламное сообщение « Ranging Capability . В этом случае инициирующее устройство не отправляет Ranging Capability Request . Вместо этого, после обнаружения рекламного сообщения, инициирующее (первоначальное сканирующее) устройство отвечает рекламным сообщением « Ranging Configuration в качестве своего первого сообщения, как показано на рисунке 2:

Поток коммуникационных каналов на основе рекламы

Рисунок 2. Обмен сообщениями вне системы с использованием рекламной коммуникации.

Остальная часть обмена сообщениями одинакова в обоих случаях. Устройство-ответчик начинает измерение расстояния сразу после получения сообщения Ranging Configuration ». Оно прекращает измерение расстояния после получения или обнаружения сообщения « Stop Ranging ».

В потоке, основанном на подключении, устройство-ответчик заполняет информацию о возможностях только для тех технологий измерения расстояния, которые запрошены в сообщении Ranging Capability Request . В потоке, основанном на объявлении, устройство-ответчик должно перечислить все свои возможности, поскольку предшествующего сообщения с запросом на определение возможностей нет.

Устройство-инициатор предполагает, что получит только один ответ на любое отправленное им сообщение-запрос. Устройство-ответчик не должно делать подобных предположений, чтобы иметь возможность отвечать на запросы в любом порядке. Это помогает проверить, может ли устройство-ответчик отвечать на несколько последовательных сообщений Ranging Capability Request или на любые другие сообщения от устройства-инициатора, поступающие не по порядку.

Идентификаторы технологий определения дальности

В этом разделе перечислены идентификаторы технологий определения расстояния: сверхширокополосная связь (UWB) , зондирование канала Bluetooth Low Energy (BLE) , время кругового пути (RTT) в сети Wi-Fi Neighbor Awareness Networking (NAN) и индикатор уровня принимаемого сигнала (RSSI) .

Идентификаторы используются в следующих таблицах, где требуется идентификатор технологии измерения расстояний. Для полей, содержащих битовое поле «Технология измерения расстояний», устанавливается бит, соответствующий индексу идентификатора технологии, если эта технология включена в битовое поле.

Например, RSSI имеет значение ID 3. Если RSSI включен в битовое поле технологии определения расстояния, то бит с позицией ID (3) должен быть включен (первый бит находится в позиции 0), что делает результирующее значение битового поля равным 0x8. Если включены и UWB, и RSSI, то значение битового поля равно 0x0A (оба бита 0 и 3 включены).

Идентификаторы технологий измерения расстояний приведены в следующей таблице:

Технология определения дальности ИДЕНТИФИКАТОР
UWB 0x0
КС 0x1
Wi-Fi NAN RTT 0x2
РССИ 0x3
РФУ 0x4 - 0xFF

Формат сообщения

Каждое сообщение состоит из заголовка и полезной нагрузки.

Формат сообщения

Рисунок 3. Формат сообщения.

Размер: 2 байта

Описание: Заголовок, общий для всех сообщений, является первой частью сообщения. Заголовок содержит версию и идентификатор типа сообщения. Поле версии указывает версию данной спецификации, которой соответствует содержимое сообщения. Текущая версия данной спецификации — 1 Для получения дополнительной информации об использовании версионирования между устройствами разных версий см. раздел «Версионирование» . Заголовок сохраняет обратную совместимость между различными версиями, что означает, что сценарий использования всегда может проанализировать его, чтобы определить версию и идентификатор сообщения.

Заголовок представлен в следующей таблице:

Октет Тип данных Описание Ценить
0 uint8 Версия 0x1 - Текущая версия
1 блок8 Идентификатор сообщения
  • 0x0 - Сообщение Ranging Capability Request
  • 0x1 - Сообщение Ranging Capability Response
  • 0x2 - Сообщение Ranging Configuration
  • 0x3Ranging Configuration Response (необязательно)
  • 0x6 - Сообщение Stop Ranging
  • 0x7 — Сообщение Stop Ranging Response (необязательно)
  • 0x4-0x5, 0x8 - 0xFF RFU

Полезная нагрузка

Размер: Варьируется (зависит от типа сообщения)

Описание: Полезная нагрузка — это последняя часть сообщения, после заголовка. Полезная нагрузка зависит от типа сообщения. Формат полезной нагрузки для каждого типа сообщения определен в следующих разделах.

Полезная нагрузка сообщения запроса на определение дальности

Размер (без учета размера заголовка): 2 байта

Описание: Отправляется устройством-инициатором для начала обмена сообщениями. Это сообщение является необязательным, если канал связи основан на рекламе, в этом случае устройство-ответчик должно в качестве первого шага отправить сообщение Ranging Capability . Устройство-инициатор (первичный сканер) считывает это сообщение и напрямую отвечает сообщением Ranging Capability , избегая необходимости в этом сообщении.

В следующей таблице приведена сводная информация о содержимом сообщения Ranging Capability Request :

Октет Тип данных Описание Ценить
0 uint8*2 Запрашиваемые технологии определения диапазона битового поля
  • 0x01 - UWB
  • 0x02 - Зондирование канала BLE
  • 0x04 - Wi-Fi NAN RTT
  • 0x08 - BLE RSSI
  • РФУ

Полезная нагрузка сообщения ответа о возможностях определения дальности

Размер (без учета размера заголовка): Варьируется (общий размер части 2 плюс размер каждого включенного байта технологии определения дальности).

Описание: Отправляется ответчиком в ответ на сообщение Ranging Capability Request . Полезная нагрузка этого сообщения состоит из общей части и частей, специфичных для конкретной технологии определения дальности (BLE CS, Wi-Fi NAN RTT, BLE RSSI), как показано в следующих таблицах. Каждая часть, специфичная для конкретной технологии определения дальности, должна быть добавлена ​​только в том случае, если эта технология поддерживается устройством-ответчиком и запрашивается в сообщении Ranging Capability Request . В случае использования рекламного канала связи необходимо включить все поддерживаемые технологии определения дальности.

В следующей таблице приведена сводная информация о стандартном содержимом сообщения Ranging Capability Response :

Октет Тип данных Описание Ценить
0 uint8*2 Поддерживаемые технологии определения расстояния (битовое поле). Указывает набор возможностей технологий определения расстояния, используемых в остальной части полезной нагрузки.
  • 0x01 - UWB
  • 0x02 - Зондирование канала BLE
  • 0x04 - Wi-Fi NAN RTT
  • 0x08 - BLE RSSI
  • РФУ
2 массив байтов Байты возможностей технологии определения дальности. Повторяющиеся блоки структур, определенные для каждой технологии.

В следующей таблице приведена сводная информация о содержимом сообщения UWB Ranging Capability Response :

Октет Тип данных Описание Ценить
0 uint8 Идентификатор технологии определения дальности 0x0 - UWB
1 uint8 Размер Размер параметров UWB в байтах (включая поля «Идентификатор технологии» и «Размер» ).
2 uint8*2 UWB-адрес 2-байтовый UWB-адрес устройства.
4 uint8*4 Поддерживаемые каналы bitfield Битовое поле поддерживаемых каналов. Бит, установленный в 0, указывает на отсутствие поддержки, бит, установленный в 1, указывает на поддержку. Бит 0 соответствует каналу 0.
LSB == channel 0
MSB == channel 31
8 uint8*4 Поддерживаемое битовое поле индекса преамбулы Битовое поле поддерживаемых индексов преамбулы. Бит, установленный в 0, указывает на отсутствие поддержки, бит 1 — на поддержку. Бит 0 соответствует индексу преамбулы 1.
LSB == preamble index 1
MSB == preamble index 32
12 uint8*4 Поддерживаемые идентификаторы конфигурации bitfield Битовое поле с поддерживаемыми идентификаторами конфигурации UWB. Бит, установленный в 0, означает, что не поддерживается, 1 — что поддерживается.
LSB == config Id 0
> MSB == config Id 31
16 uint8*2 Поддерживаемый минимальный интервал измерения диапазона Указывает максимально возможный поддерживаемый интервал измерения расстояния в миллисекундах. Допустимые значения (в мс):
  • 96
  • 120
  • 240
  • 600
18 uint8 Поддерживаемая минимальная продолжительность слота Указывает наименьшую поддерживаемую длительность слота в миллисекундах. Например, если устройство возвращает 1 мс, предполагается, что оно также поддерживает длительность слота 2 мс и более. Допустимые значения (в мс):
  • 1
  • 2
19 Поддерживаемые битовые поля роли устройств UWB Битовое поле поддерживаемых ролей UWB. Например, если поддерживаются обе роли, итоговое значение поля будет равно 0x3.
  • 0x1 - поддерживается роль инициатора
  • 0x2 - поддерживается роль ответчика

В следующей таблице приведена сводная информация о содержимом сообщения BLE CS Ranging Capability Response :

Октет Тип данных Описание Ценить
0 uint8 Идентификатор технологии определения дальности 0x1 - BLE CS
1 uint8 Размер Размер параметров возможностей BLE CS в байтах (включая поля «Идентификатор технологии» и «Размер »)
2 uint8 Поддерживаемые типы безопасности: битовое поле Битовое поле поддерживаемых типов безопасности для BLE CS.
  • 0x01 - CS_SECURITY_LEVEL_UNKNOWN
  • 0x02 - CS_SECURITY_LEVEL_ONE
  • 0x04 - CS_SECURITY_LEVEL_TWO
  • 0x08 - CS_SECURITY_LEVEL_THREE
  • 0x10 - CS_SECURITY_LEVEL_FOUR
3 uint8*6 Адрес устройства Адрес устройства, используемого для BLE CS; в порядке байтов big-endian.

В следующей таблице приведена сводная информация о содержимом сообщения Wi-Fi NAN RTT Ranging Capability Response :

Октет Тип данных Описание Ценить
0 uint8 Идентификатор технологии определения дальности 0x2 - Wi-Fi NAN RTT
1 uint8 Размер Размер параметров BLE RSSI в байтах (включая поля Technology ID и Size ).
2 uint8 Поддерживаемые функции bitfield Битовое поле поддерживаемых функций.
  • 0x01 - 11mc способен
  • 0x02 - 11az способен
3 uint8 Поддерживает периодическое измерение расстояния.
  • 0x0 - периодическое измерение диапазона не поддерживается
  • 0x1 - поддерживается диапазон периодов
4 uint8 Поддерживаемая пропускная способность Эта информация помогает определить достижимую точность измерения расстояния с использованием Wi-Fi NAN и может помочь приложениям определить, следует ли использовать UWB, BLE CS, BLE RSSI или Wi-Fi NAN для измерения расстояния.
  • 0x00 - 20 МГц
  • 0x01 - 40 МГц
  • 0x02 - 80 МГц
  • 0x03 - 160 МГц
  • 0x04 - 80+80 МГц
  • 0x05 - 320 МГц
  • РФУ
5 uint8 Поддерживаемое количество цепочек приема Эта информация помогает определить достижимую точность измерения расстояния с использованием Wi-Fi NAN и может помочь приложениям определить, следует ли использовать UWB, BLE CS, BLE RSSI или Wi-Fi NAN для измерения расстояния.
  • 0x00 - Не определено
  • 0x01 - 1 RX цепочка
  • 0x02 - 2 цепочки RX
  • 0x03 - 3 цепочки RX
  • 0x04 - 4 RX цепочки

В следующей таблице приведена сводная информация о содержимом сообщения BLE RSSI Ranging Capability Response :

Октет Тип данных Описание Ценить
0 uint8 Идентификатор технологии определения дальности 0x3 - BLE RSSI
1 uint8 Размер Размер параметров BLE RSSI в байтах (включая поля Technology ID и Size )
2 uint8*6 Адрес устройства Адрес устройства, используемого для BLE RSSI; в порядке байтов big-endian.

Полезная нагрузка сообщения конфигурации дальности

Размер (без учета размера заголовка): Варьируется (общий размер части 4 плюс размер каждого включенного байта технологии определения дальности).

Описание: Это сообщение отправляется инициатором и содержит конфигурации, с которыми может начаться измерение расстояния каждая технология. После получения этого сообщения устройство-ответчик должно попытаться начать измерение расстояния с использованием каждой указанной технологии. Полезная нагрузка сообщения состоит из общей части и частей, специфичных для каждой технологии измерения расстояния (UWB, BLE CS, Wi-Fi NAN RTT, BLE RSSI), как показано в следующих таблицах.

В следующей таблице приведена сводная информация о стандартном содержимом сообщения Ranging Configuration :

Октет Тип данных Описание Ценить
0 uint8*2 Битовое поле набора настроек технологий определения дальности Битовое поле технологий определения расстояния, для которых данное сообщение содержит данные конфигурации и для которых необходимо установить параметры конфигурации.
  • 0x01 - UWB
  • 0x02 - Зондирование канала BLE
  • 0x04 - Wi-Fi NAN RTT
  • 0x08 - BLE RSSI
  • РФУ
2 uint8*2 Битфилд RFU. Должен иметь то же значение, что и поле битового поля набора параметров конфигурации технологий определения дальности .
4 массив байтов Конфигурации технологий определения дальности (байты) Повторяющиеся блоки структур, определенные для каждой технологии.

В следующей таблице приведена сводная информация о Ranging Configuration UWB:

Октет Тип данных Описание Ценить
0 uint8 Идентификатор технологии определения дальности 0x0 - UWB
1 uint8 Размер Размер конфигурации UWB (включая поля Technology ID и Size ) в байтах.
2 uint8*2 UWB-адрес 2-байтовый UWB-адрес устройства
4 uint8*4 Идентификатор сессии Сгенерированный идентификатор сессии. Идентификатор сессии — это уникальный идентификатор для сеанса измерения расстояния между телефоном и периферийным устройством.
8 uint8 Выбранный идентификатор конфигурации Выбранный идентификационный номер конфигурации в виде целого числа. Идентификатор конфигурации определяет параметры синхронизации и тип безопасности, которые должны использоваться для сеанса измерения расстояния UWB.
9 uint8 Выбранный канал Выбранный канал для сеанса измерения расстояния с помощью UWB-технологии.
10 uint8 Избранный преамбульный указатель Выбранный преамбульный указатель для сессии определения расстояния с помощью UWB-технологии.
11 uint8*2 Выбранный интервал измерения расстояния Выбранная частота интервалов измерения расстояния в миллисекундах. Допустимые значения (в мс):
  • 96
  • 120
  • 240
  • 600
13 uint8 Выбранная продолжительность слота Выбранная длительность временного интервала в миллисекундах. Допустимые значения (в мс):
  • 1
  • 2
14 uint8 Длительность тональности сессии Длина ключа сессии в байтах
15 массив байтов Ключ сессии Ключ сессии. Если используется S-STS, то первые два байта — это идентификатор поставщика (VENDOR ID), а следующие шесть байтов — это статический ключ STS IV. Если используется P-STS, то это либо 16-байтовый, либо 32-байтовый ключ сессии. Тип используемой безопасности определяется идентификатором конфигурации (config ID).
варьируется uint8*2 Код страны Код страны ISO 3166-1 alpha-2, представленный двумя символами ASCII.
варьируется uint8 Выбранная роль устройства
  • 0x01 - Инициатор
  • 0x02 - Ответчик
варьируется uint8 Выбранный режим устройства
  • 0x01 - Контроллер
  • 0x02 - Контролируемое

В следующей таблице приведена сводная информация о содержимом сообщения Ranging Configuration BLE CS:

Октет Тип данных Описание Ценить
0 uint8 Идентификатор технологии определения дальности 0x1 - BLE CS
1 uint8 Размер Размер конфигурации BLE CS (включая поля Technology ID и Size ) в байтах.
2 uint8 Выбранный тип безопасности Выбранный тип безопасности. Допустимые значения:
  • 0x0 - CS_SECURITY_LEVEL_UNKNOWN
  • 0x1 - CS_SECURITY_LEVEL_ONE
  • 0x2 - CS_SECURITY_LEVEL_TWO
  • 0x3 - CS_SECURITY_LEVEL_THREE
  • 0x4 - CS_SECURITY_LEVEL_FOUR
3 uint8*6 Адрес устройства Адрес устройства, используемого для BLE CS; в порядке байтов big-endian.

В следующей таблице приведена сводная информация о содержимом сообщения Wi-Fi NAN RTT Ranging Configuration :

Октет Тип данных Описание Ценить
0 uint8 Идентификатор технологии определения дальности 0x2 - Wi-Fi NAN RTT
1 uint8 Размер Размер конфигурации Wi-Fi NAN RTT (включая поля Technology ID и Size ) в байтах.
2 uint8 длина названия услуги Длина поля «Имя службы» в байтах. См. раздел 1.3.3 «Таблица 1. Определения» спецификации Wi-Fi Aware версии 4.0.
3 массив байтов Название услуги Название службы. См. раздел 1.3.3 «Таблица 1. Определения» спецификации Wi-Fi Aware версии 4.0.
варьируется uint8 роль устройства
  • 0x0 - Ответчик (издатель службы NAN)
  • 0x1 - Инициатор (абонент службы NAN)
варьируется uint8 Используйте периодический диапазон измерений.
  • 0x0 - Периодическое измерение расстояния отключено
  • 0x1 - Периодическое измерение расстояния включено

В следующей таблице приведена сводная информация о Ranging Configuration BLE RSSI:

Октет Тип данных Описание Ценить
0 uint8 Идентификатор технологии определения дальности 0x3 - BLE RSSI
1 uint8 Размер Размер конфигурации BLE RSSI (включая поля Technology ID и Size ) в байтах.
2 uint8*6 Адрес устройства Адрес устройства, используемого для BLE RSSI; в порядке байтов big-endian.

Полезная нагрузка сообщения ответа конфигурации диапазона

Размер (без учета размера заголовка): 2 байта

Описание: Это сообщение отправляется ответчиком в ответ на сообщение Ranging Configuration . Это сообщение необязательно и требуется только в том случае, если используемый канал связи требует явного ответа на каждый запрос.

В следующей таблице приведена сводная информация о содержимом сообщения Ranging Configuration Response :

Октет Тип данных Описание Ценить
0 uint8*2 Конфигурация технологий определения дальности успешно установлена ​​в битовом поле. Битовое поле, отображающее успешно установленные технологии измерения расстояний. В этом битовом поле бит технологии измерения расстояний устанавливается в 1, если технология была запрошена и успешно установлена, и в 0 в противном случае.
  • 0x01 - UWB
  • 0x02 - Зондирование канала BLE
  • 0x04 - Wi-Fi NAN RTT
  • 0x08 - BLE RSSI
  • РФУ

Остановить полезную нагрузку сообщения о дальности

Размер (без учета размера заголовка): 2 байта

Описание: Это сообщение отправляется устройством-инициатором, когда приходит время прекратить измерение расстояния с использованием указанной технологии.

В следующей таблице приведена сводная информация о содержимом сообщения Stop Ranging :

Октет Тип данных Описание Ценить
0 uint8*2 Различные технологии для предотвращения битового поля Битовое поле технологий измерения расстояния, указывающее на необходимость прекращения измерения. Бит, установленный в 1, означает, что технология измерения расстояния должна прекратить измерение, а 0 означает, что технология измерения расстояния либо вообще не проводила измерение, либо должна продолжить измерение, если оно уже проводилось. Для некоторых технологий измерения расстояния (например, CS) это не оказывает никакого воздействия, поскольку измерение инициируется и останавливается только на стороне инициатора.
  • 0x01 - UWB
  • 0x02 - Зондирование канала BLE
  • 0x04 - Wi-Fi NAN RTT
  • 0x08 - BLE RSSI
  • РФУ

Остановить отправку ответного сообщения о дальности.

Размер (без учета размера заголовка): 2 байта

Описание: Это сообщение отправляется отвечающим в ответ на сообщение Stop Ranging . Это сообщение необязательно и требуется только в том случае, если используемый канал связи требует явного ответа на каждый запрос.

В следующей таблице приведена сводная информация о содержимом сообщения Stop Ranging Response :

Октет Тип данных Описание Ценить
0 uint8*2 Технологии определения дальности успешно остановили битовое поле Битовое поле, отображающее технологии измерения расстояния, которые успешно остановили измерение. Битовое поле устанавливает бит технологии измерения расстояния в 1, если была запрошена остановка технологии и если она успешно завершилась, и в 0 в противном случае.
  • 0x01 - UWB
  • 0x02 - Зондирование канала BLE
  • 0x04 - Wi-Fi NAN RTT
  • 0x08 - BLE RSSI
  • РФУ

Версионирование

Версия спецификации указана в заголовке каждого сообщения. В этом разделе определяется порядок обмена данными, когда одно из устройств (инициатор или ответчик) использует более старую версию, чем другое устройство.

Вариант 1: Канал связи на основе установления соединения.

В этом разделе описываются случаи использования канала связи на основе соединения, где Ranging Capability Request является первым сообщением, отправляемым устройством-инициатором.

Вариант 1.a: Инициатор поддерживает более новую версию, ответчик поддерживает более старую версию спецификации.

Устройство-инициатор отправляет сообщение Ranging Capability Request с более новой версией. Устройство-ответчик поддерживает только более старую версию, поэтому оно отвечает ею, а затем для дальнейшего обмена сообщениями используется более старая версия устройства-ответчика. Это означает, что сообщение Ranging Capability Request должно быть обратно совместимым.

Вариант 1.b: Инициатор поддерживает более старую версию, отвечающий поддерживает более новую версию спецификации.

Устройство-ответчик видит, что устройство-инициатор не может использовать более новую версию, поэтому оно отправляет сообщения, используя только более старую версию, запрошенную изначально устройством-инициатором.

Пример 2: Коммуникационный канал на основе рекламы

В этом разделе описываются случаи использования канала связи на основе рекламы, когда устройство-ответчик напрямую передает Ranging Capability Request без предварительного запроса.

Вариант 2.a: Инициатор поддерживает более новую версию, ответчик поддерживает более старую версию спецификации.

Для остальной части сообщения используется более старая версия, установленная в рекламном объявлении Ranging Capability Response .

Вариант 2.b: Инициатор поддерживает более старую версию, отвечающий поддерживает более новую версию спецификации.

Более новая версия рекламного сообщения Ranging Capability Response должна быть обратно совместима, чтобы устройство-инициатор могло прочитать сообщение, даже если оно использует более новую версию. Затем устройство-инициатор отправляет сообщение Ranging Configuration , используя более старую версию, которую оно поддерживает. Именно эта версия используется для всей дальнейшей связи.

Для обеспечения обратной совместимости Ranging Capability Response любые новые поля, добавленные в следующую версию данной спецификации в полезную нагрузку сообщения Ranging Capability Response должны быть добавлены в конец полезной нагрузки, и никакие существующие поля не могут быть изменены. При анализе конфигурации, если указанный размер превышает ожидаемый, дополнительные поля должны игнорироваться любым устройством, которое может понимать только более старую версию спецификации.

Фрагментация

Данная спецификация не зависит от канала связи, поэтому она не определяет, как фрагментировать полезную нагрузку сообщения в случаях, когда одно сообщение слишком велико, чтобы поместиться в пакет передачи используемого канала связи. Модуль определения дальности ожидает получения каждого сообщения в полном виде. Ответственность за фрагментацию лежит на разработчике канала связи внеполосного доступа.

Технические характеристики дальномерных технологий

В этом разделе содержится информация, касающаяся именно технологий измерения расстояний.

Характеристики сверхширокополосной связи (UWB)

В этом разделе описываются специфические особенности сверхширокополосной связи.

Идентификаторы конфигурации

Внешние конфигурационные данные, передаваемые для UWB, не содержат полного набора доступных настраиваемых параметров, необходимых для начала сеанса измерения расстояния UWB. Это связано с тем, что некоторые параметры выбираются неявно в зависимости от выбранного идентификатора конфигурации.

Каждый идентификатор конфигурации представляет собой набор предопределенных параметров конфигурации UWB, описанных в UwbRangingParams . Устройство-ответчик отправляет список всех поддерживаемых им идентификаторов конфигурации в составе сообщения ответа о возможности, а инициатор выбирает один из поддерживаемых идентификаторов конфигурации для использования. Это позволяет обмениваться меньшим набором параметров конфигурации во время OOB. Это также ограничивает количество возможных комбинаций параметров, которые можно использовать для определения расстояния с помощью UWB, что позволяет тестировать только разрешенные комбинации параметров.

Запросите дополнительные возможности после каждой сессии UWB.

После завершения существующей UWB-сессии и перед началом новой UWB-сессии устройство-инициатор должно запросить у устройства-ответчика информацию о его возможностях и заново установить параметры конфигурации, поскольку UWB-адрес может измениться сразу после завершения текущей сессии измерения расстояния.

Специфика зондирования канала BLE (CS)

В этом разделе описываются специфические детали, касающиеся зондирования каналов.

Необходимо обеспечить соединение между устройствами.

Для работы определения расстояния с помощью зондирования канала необходимо наличие существующей связи между устройством-инициатором и устройством-ответчиком. Данная спецификация не предусматривает способа создания связи между устройствами. Пользователь API определения расстояния должен установить эту связь между устройствами самостоятельно.

Действия, требуемые устройством реагирования для CS

В UWB оба устройства должны явно вызывать API запуска и остановки измерения расстояния UWB. В отличие от этого, в CS только инициирующее устройство должно запустить измерение расстояния CS, вызвав стек Bluetooth (BT). Остальная инициализация на стороне ответчика происходит в полосе частот через BT. Это означает, что после получения сообщения Ranging Configuration или сообщения Stop Ranging для CS, стороне ответчика ничего не нужно делать, если BT включен. Устройство-ответчик может использовать эти сообщения в качестве триггера для обновления пользовательского интерфейса или, например, для мигания светодиодов устройства.