Глава 1: Введение в технологию UWB и модуль UWB650
Цель этой главы — заложить теоретическую основу для глубокого понимания функций и производительности модуля UWB650. Начиная с основных принципов сверхширокополосной (UWB) технологии, мы постепенно сосредоточимся на конкретной аппаратной реализации модуля UWB650, предоставляя инженерам необходимые базовые знания и технические спецификации для проведения первоначальной оценки.
1.1 Преимущества UWB: точное измерение дальности на основе IEEE 802.15.4-2020
Сверхширокополосная (UWB) технология — это радиотехнология, основанная на стандартах IEEE 802.15.4a/z, основной особенностью которой является использование чрезвычайно широкой полосы пропускания сигнала (обычно более 500 МГц) для передачи наносекундных импульсов очень короткой длительности. Эта характеристика физического уровня является фундаментальным отличием UWB от традиционных узкополосных технологий связи, таких как Bluetooth и Wi-Fi, и напрямую обеспечивает ей непревзойденные преимущества в точности измерения дальности и позиционирования.
Технология UWB в основном использует измерение времени пролета (Time-of-Flight, ToF) для расчета расстояния. Принцип заключается в точном измерении времени, необходимого для распространения радиосигнала между двумя устройствами, которое затем умножается на скорость света для получения физического расстояния между ними. Этот метод резко контрастирует с технологиями, основанными на индикаторе уровня принимаемого сигнала (Received Signal Strength Indicator, RSSI). RSSI оценивает расстояние по затуханию мощности сигнала и очень подвержен влиянию факторов окружающей среды, таких как препятствия и многолучевой эффект, что приводит к снижению точности. ToF, с другой стороны, напрямую измеряет время и нечувствителен к изменениям мощности сигнала, что обеспечивает более высокую надежность и точность в сложных условиях внутри помещений или при наличии многолучевого распространения.
Модуль UWB650 соответствует стандарту IEEE 802.15.4-2020, который объединяет более ранние спецификации физического уровня 802.15.4a и поправку 802.15.4z, разработанную для повышения безопасности. Такое соответствие стандарту гарантирует, что модуль может использовать новейшие технологии безопасного измерения дальности и обеспечивает возможность взаимодействия с другими устройствами, соответствующими спецификациям FiRa Consortium.
1.2 Архитектура аппаратного обеспечения: подробный анализ UWB650 на базе Qorvo DW3000
Аппаратным ядром модуля UWB650 является UWB-чип серии DW3000 от компании Qorvo (в частности, микросхема DW3210, интегрированная в модуль DWM3000). Этот чипсет полностью соответствует стандарту IEEE 802.15.4z, поддерживает каналы UWB 5 (центральная частота 6,5 ГГц) и 9 (центральная частота 8 ГГц) и обеспечивает скорость передачи данных в эфире 850 кбит/с и 6,8 Мбит/с. Текущая версия прошивки модуля UWB650 ориентирована на использование канала 5 (6489,6 МГц).
Модуль разработан как высокоинтегрированное решение. Его внутренняя блок-схема показывает, что помимо основного чипа DW3000, в него также интегрированы микроконтроллер (MCU), высокопроизводительный радиочастотный усилитель мощности (PA), антенна и схема защиты от электростатического разряда (ESD).

Такая архитектура «система-на-модуле» (System-on-Module, SoM) имеет большое значение. Это означает, что весь стек протоколов UWB, включая сложное управление импульсами на физическом уровне и управление синхронизацией на уровне MAC (например, DS-TWR), обрабатывается встроенным MCU. Внешняя управляющая система может вызывать расширенные функции, такие как измерение дальности, позиционирование и передача данных, с помощью простого набора AT-команд через последовательный порт, что значительно снижает порог вхождения в разработку и позволяет инженерам, не обладающим глубокими знаниями стека протоколов UWB, быстро интегрировать и применять эту технологию.

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


Номер вывода |
Определение вывода |
I/O |
Стандарт уровня |
Описание |
1 |
NC |
|||
"2,17,19,36" |
GND |
- |
0-3.3V |
Подключение к земле питания |
3 |
RESET |
I |
0-3.3V |
Вывод сброса модуля, в норме высокий уровень, низкий уровень для сброса |
4 |
SWDIO |
I |
0-3.3V |
Вывод для программирования модуля |
5 |
SWCLK |
O |
0-3.3V |
Вывод для программирования модуля |
6 |
TEST |
I |
0-3.3V |
- |
7 |
DEFAULT |
I |
0-3.3V |
Внутренняя подтяжка, удержание низкого уровня в течение ~10с для принудительной перезагрузки и восстановления заводских настроек |
8 |
P200 |
I/O |
0-3.3V |
Свободный порт ввода-вывода |
9 |
P112 |
I/O |
0-3.3V |
Выход ШИМ |
10 |
P111 |
I/O |
0-3.3V |
Выход ШИМ |
11 |
P301 |
I/O |
0-3.3V |
Свободный порт ввода-вывода |
12 |
P302 |
I/O |
0-3.3V |
Свободный порт ввода-вывода |
13 |
CS |
I |
0-3.3V |
Вывод спящего режима, внутренняя подтяжка, переход в спящий режим при низком уровне на входе |
14 |
P400 |
I/O |
0-3.3V |
Свободный порт ввода-вывода |
15 |
RXD |
I |
0-3.3V |
Вход данных последовательного порта, подключается к TXD внешнего устройства |
16 |
TXD |
O |
0-3.3V |
Выход данных последовательного порта, подключается к RXD внешнего устройства |
18 |
VCC |
- |
3.0-5.5V |
Положительный полюс внешнего источника питания |
20 |
P500 |
I/O |
0-3.3V |
Свободный порт ввода-вывода |
21 |
TXOK |
O |
0-3.3V |
Индикатор состояния передачи, высокий уровень во время передачи данных |
22 |
RXOK |
O |
0-3.3V |
Индикатор состояния приема, высокий уровень во время приема данных, низкий по завершении |
23 |
P011 |
I/O |
0-3.3V |
Индикатор состояния измерения/позиционирования, высокий уровень во время процесса |
24 |
P010 |
I/O |
0-3.3V |
Свободный порт ввода-вывода |
25 |
P002 |
I/O |
0-3.3V |
Обычный выход ввода-вывода |
26 |
P001 |
I/O |
0-3.3V |
Обычный выход ввода-вывода |
27 |
P000 |
I/O |
0-3.3V |
Обычный выход ввода-вывода |
28 |
P012 |
I/O |
0-3.3V |
Обычный выход ввода-вывода |
29 |
P409 |
I/O |
0-3.3V |
Обычный выход ввода-вывода |
30 |
P913 |
I/O |
0-3.3V |
Обычный выход ввода-вывода |
31 |
P407 |
I/O |
0-3.3V |
Обычный выход ввода-вывода |
32 |
P408 |
I/O |
0-3.3V |
Обычный выход ввода-вывода |
33 |
P915 |
I/O |
0-3.3V |
Свободный порт ввода-вывода |
34 |
P914 |
I/O |
0-3.3V |
Свободный порт ввода-вывода |
35 |
UPGRADE |
I |
0-3.3V |
Внутренняя подтяжка. Перезагрузка модуля с низким уровнем на входе для входа в режим обновления по UART |
Ключевые выводы включают:
Питание: VCC (3.0-5.5V) и GND.
Последовательная связь: RXD и TXD для обмена командами и данными с управляющим MCU.
Аппаратное управление: RESET (сброс по низкому уровню), DEFAULT (восстановление заводских настроек при длительном удержании низкого уровня), CS (переход в спящий режим по низкому уровню) и UPGRADE (вход в режим обновления прошивки по низкому уровню).
Индикация состояния: TXOK (высокий уровень при передаче данных), RXOK (высокий уровень при приеме данных) и P011 (высокий уровень в процессе измерения/позиционирования), эти выводы обеспечивают аппаратную поддержку для мониторинга состояния в реальном времени.
1.3 Ключевые технические характеристики и рабочие параметры
Параметры производительности модуля UWB650 определяют его пригодность для конкретных приложений. Подробная информация об этих параметрах имеет решающее значение для составления бюджета мощности, управления энергопотреблением и оценки производительности на начальном этапе проектирования системы.
Мощность передачи модуля до 27,7 дБм (~0,5 Вт) является ключом к достижению дальности связи более 1 километра. Однако эта характеристика по-разному влияет на различные сценарии применения. В открытой среде, где требуется дальняя связь, высокая мощность является значительным преимуществом. Но в приложениях позиционирования на близком расстоянии (например, в пределах 1 метра), требующих сантиметровой точности, чрезмерная мощность усугубляет отражение сигнала, создавая более сильный многолучевой эффект, что может привести к дрейфу данных измерения дальности и снижению точности. В разделе часто задаваемых вопросов к модулю прямо указано, что при использовании на близком расстоянии рекомендуется соответствующим образом снизить мощность передачи с помощью команды UWBRFAT+POWER, чтобы уменьшить влияние многолучевого эффекта. Это выявляет ключевой компромисс производительности: разработчики систем должны делать выбор и динамическую настройку между дальностью связи и точностью на близком расстоянии в соответствии с конкретными потребностями приложения.
Таблица параметров производительности UWB650
В следующей таблице собраны ключевые электрические и радиочастотные параметры модуля UWB650 для быстрой справки при оценке и проектировании оборудования.
Параметр |
Мин. значение |
Тип. значение |
Макс. значение |
Единица |
Примечание |
Рабочее напряжение |
3.0 |
4.2 |
5.5 |
V |
- |
Рабочая температура |
-20 |
25 |
60 |
℃ |
- |
Рабочая частота |
- |
6489.6 |
- |
MHz |
CH5 |
Скорость передачи данных |
850k |
- |
6.8M |
bps |
- |
Потребление тока |
|||||
Ток в спящем режиме |
- |
<2.3 |
- |
mA |
- |
Ток передачи |
- |
300 |
- |
mA |
Предельное значение в режиме непрерывных кадров |
Ток приема |
- |
100 |
- |
mA |
- |
Ток приема в режиме прослушивания |
- |
65 |
- |
mA |
Режим низкого энергопотребления SNIFF |
Ток в режиме ожидания |
- |
27 |
- |
mA |
Приемник выключен, данные не передаются |
Параметры передачи |
@VCC=5.0V |
||||
Мощность передачи |
-5 |
- |
27.7 |
dBm |
- |
Параметры приема |
- |
||||
Чувствительность приема |
- |
-100 |
- |
dBm |
@850Kbps |
Чувствительность приема |
- |
-94 |
- |
dBm |
@6.8Mbps |
Модуль использует формат кадра данных, соответствующий стандарту IEEE 802.15.4-2020, для связи по беспроводному каналу. Этот формат включает поля управления кадром, порядковый номер, PAN ID, адрес назначения, адрес источника, полезную нагрузку кадра и последовательность проверки кадра (FCS). Для разработчиков прикладного уровня ключевым элементом является часть Frame Payload (полезная нагрузка кадра). Данные, вводимые через последовательный порт, инкапсулируются в эту часть для отправки, а из принятых по беспроводной сети данных модуль выводит через последовательный порт только содержимое Frame Payload. Остальные поля протокола управляются прошивкой модуля автоматически, и пользователь не может и не должен их изменять.
Глава 2: Освоение основных функций: настройка и использование
Эта глава послужит подробным практическим руководством, систематически описывающим, как настраивать и использовать модуль UWB650 с помощью набора AT-команд. Будут рассмотрены три основные функции: передача данных, высокоточное измерение дальности и позиционирование в реальном времени, а также приведены примеры команд из документации для предоставления инженерам четкого рабочего процесса.
2.1 Интерфейс AT-команд: структура и протокол
Все настройки и операции модуля UWB650 выполняются с помощью AT-команд через последовательный порт. Эти команды следуют фиксированному формату: начинаются с префикса UWBRFAT и заканчиваются символами возврата каретки <CR> и перевода строки <LF>. Ответы модуля также следуют аналогичному формату, начинаясь и заканчиваясь <CR><LF>.
При обмене командами модуль использует внутренний таймер с тайм-аутом около 5 мс для определения окончания приема данных по последовательному порту. Соблюдение этого тайминга имеет решающее значение для написания стабильных и надежных скриптов автоматического управления, поскольку это позволяет эффективно избежать ошибок разбора команд или их потери из-за слишком быстрой отправки.
2.2 Передача данных: точка-точка, широковещательная передача и повышенная надежность
Модуль обеспечивает гибкие и многофункциональные возможности передачи данных, поддерживая различные режимы связи и механизмы улучшения.
2.2.1 Сетевая адресация и маршрутизация данных
Идентификация устройства: Каждый модуль UWB650 в сети однозначно идентифицируется 16-битным PAN ID (идентификатор персональной локальной сети) и 16-битным адресом (Address). Связь возможна только между модулями с одинаковым PAN ID, и все адреса модулей в пределах одного PAN ID должны быть уникальными. Эти два параметра можно настроить с помощью команды UWBRFAT+DEVICEID=<id>,<addr>.
Цель данных: С помощью команды UWBRFAT+TXTARGET=<address> можно установить адрес назначения для отправки данных. Когда <address> является конкретным адресом устройства, модуль будет осуществлять связь точка-точка. Когда <address> установлен в 0xFFFF, модуль будет отправлять данные в широковещательном режиме, и все модули с одинаковым PAN ID в сети смогут их получить.
2.2.2 Механизмы надежности и безопасности
Прослушивание канала (CCA): С помощью UWBRFAT+CCAENABLE=1 можно включить функцию оценки чистоты канала (Clear Channel Assessment). После включения модуль перед отправкой данных будет прослушивать, свободен ли канал. Если канал занят, модуль откажется от текущей отправки и вернет через последовательный порт CCA FAILURE. В средах с плотным развертыванием UWB-устройств эта функция является эффективным средством предотвращения коллизий данных и повышения успешности связи.
Автоматическое подтверждение (ACK): С помощью UWBRFAT+ACKENABLE=1 можно включить функцию запроса автоматического подтверждения. После включения одноадресные кадры данных, отправляемые модулем, будут содержать запрос ACK. Приемник, успешно получив данные, автоматически ответит кадром ACK. Если отправитель получит ACK в течение установленного времени, последовательный порт вернет ACK DETECTED; если ACK не будет получен по истечении тайм-аута, вернется ACK WAIT TIMEOUT. Эта функция обеспечивает механизм подтверждения на канальном уровне для приложений, где требуется гарантированная доставка данных.
Шифрование данных (AES-128): С помощью команды UWBRFAT+SECURITY=<enable>,<key> можно включить шифрование AES-128. После включения часть Frame Payload отправляемого пакета данных будет зашифрована. Следует отметить, что шифрование добавляет 16 байт накладных расходов, поэтому максимальная длина передаваемых пользовательских данных в одном пакете уменьшится с 1012 до 996 байт. Это явный компромисс между безопасностью и пропускной способностью.
2.2.3 Управление энергопотреблением
Прием в режиме прослушивания (SNIFF): Для устройств с питанием от батареи, чувствительных к энергопотреблению, можно включить режим SNIFF с помощью команды UWBRFAT+SNIFFEN=1. В этом режиме приемник модуля работает с рабочим циклом около 50% (16 мкс включен, 16 мкс выключен), что значительно снижает ток потребления при приеме со 100 мА до 65 мА. Ценой этого является возможная потеря некоторых пакетов данных. Это типичный пример компромисса между энергопотреблением и производительностью.

2.2.4 Производительность передачи
Благодаря большому буферу приема/передачи чипа DW3000 (1023 байта), за вычетом фиксированной длины кадра данных, пользователь может передавать в одном пакете до 1023-11=1012 байт данных Frame Payload. Поскольку передающая сторона беспроводной связи начинает передачу после получения определенного объема данных от конечного устройства или по истечении некоторого времени ожидания новых данных, а передача данных по воздуху от передатчика к приемнику также требует времени, существует определенная временная задержка от момента отправки данных до их вывода на принимающей стороне. При одинаковых условиях время задержки является постоянным (конкретное время определяется скоростью последовательного порта, скоростью в эфире и размером пакета данных).

Общее время ввода данных модуля от последовательного порта отправителя до последовательного порта приемника приведено в следующей таблице:
скорость передачи данных по воздуху |
1 байт нагрузки |
1012 байт нагрузки |
6.8 Мбит/с |
1.905 мс |
12.330 мс |
850Кбит/с |
2,316 мс |
20.885 мс |
Общее время от ввода данных в последовательный порт передатчика до вывода из последовательного порта приемника приведено в следующей таблице:
Скорость передачи в эфире |
Полезная нагрузка 1 байт |
Полезная нагрузка 1012 байт |
6.8 Мбит/с |
1.905 мс |
12.330 мс |
850 Кбит/с |
2.316 мс |
20.885 мс |
2.3 Высокоточное измерение дальности: реализация DS-TWR
Функция измерения дальности модуля основана на передовом методе двустороннего двухпутевого измерения дальности (Double-Sided Two-Way Ranging, DS-TWR) в сочетании со схемой одностороннего двухпутевого измерения дальности (SS-TWR). DS-TWR точно вычисляет время пролета сигнала путем трехкратного обмена сообщениями между двумя устройствами. Его основное преимущество заключается в эффективном устранении ошибок измерения дальности, вызванных разницей частот кварцевых резонаторов на обоих устройствах (т.е. дрейфом тактовой частоты), что позволяет достичь высокой точности измерений без сложной синхронизации тактовых частот всей сети.

Определение ролей: При измерении дальности устройства делятся на Initiator (инициатор) и Responder (ответчик). Инициатор активно инициирует запрос на измерение дальности, а ответчик пассивно отвечает.
Операции с командами:
Инициатор: Инициатор инициирует измерение дальности до одного или нескольких ответчиков, отправляя команду UWBRFAT+RANGING=<number>,<addr1>,<addr2>,.... <number> — это количество целевых ответчиков, а <addr> — список их адресов.
Ответчик: Ответчик по умолчанию находится в режиме ответа и не требует специальной настройки. Получив запрос на измерение дальности от инициатора, он автоматически участвует в процессе измерения и выводит результат через последовательный порт по завершении.
Анализ формата вывода: После завершения измерения дальности инициатор получает ответ в формате +RANGING=(<distance>),(<rssi>). Если измерение не удалось, значение расстояния будет -1.
Производительность: Процесс измерения дальности чрезвычайно быстр. В следующей таблице показано время, затрачиваемое на измерение в разных режимах:
Скорость передачи в эфире |
Режим |
Время измерения дальности |
6.8 Мбит/с |
Инициатор (Initiator) |
4.819 мс |
Ответчик (Responder) |
4.051 мс |
|
850 Кбит/с |
Инициатор (Initiator) |
5.545 мс |
Ответчик (Responder) |
4.553 мс |
Инженеры могут точно определить время начала и окончания процесса измерения дальности, отслеживая уровень на выводе P011 модуля.
2.4 Система позиционирования в реальном времени (RTLS): стратегии 2D и 3D позиционирования
Модуль имеет встроенную полную функцию расчета местоположения, поддерживая как двумерное, так и трехмерное позиционирование.
Определение ролей: В системе позиционирования устройства делятся на Tag (метка, мобильный объект, который нужно отследить) и Anchor (якорь, стационарная опорная точка с известными координатами).
Настройка якорей: Первым шагом при развертывании системы позиционирования является точная установка координат якорей. С помощью команды UWBRFAT+COORDINATE=<x>,<y>,<z> для каждого якоря настраивается его положение в предопределенной декартовой системе координат в сантиметрах. Конечная точность всей системы позиционирования во многом зависит от точности измерения координат якорей.
Операции с метками: Метка инициирует запрос на определение местоположения, отправляя команду UWBRFAT+LOCATION=<anchor1>,<anchor2>,.... Команда должна содержать адреса как минимум 3 якорей (для 2D-позиционирования) или как минимум 4 якорей (для 3D-позиционирования). Модуль автоматически измеряет расстояние до каждого якоря в списке, а затем использует встроенный алгоритм триангуляции (точнее, мультилатерации) для расчета собственных координат (x,y,z) и выводит результат через последовательный порт.
Взаимоисключающие состояния: Функциональные состояния модуля являются взаимоисключающими. Например, когда модуль выступает в роли инициатора и активно инициирует измерение дальности или позиционирование, он временно не сможет отвечать на запросы на измерение дальности от других инициаторов. Аналогично, во время измерения дальности или позиционирования включенный режим низкого энергопотребления SNIFF будет временно отключен, чтобы обеспечить прием всех ответных кадров измерения дальности. Это означает, что в системах с несколькими активными устройствами (несколько меток или инициаторов) на прикладном уровне должна быть разработана разумная стратегия управления доступом к среде (MAC), такая как множественный доступ с разделением по времени (TDMA), для координации использования канала, предотвращения коллизий и сбоев запросов. Сам модуль предоставляет возможности физического уровня, но стабильная работа на системном уровне требует гарантий от протоколов более высокого уровня.
Глава 3: Расширенные функции и обслуживание системы
В этой главе рассматриваются расширенные функции модуля UWB650, выходящие за рамки базовой связи и позиционирования, включая расширяемость сети, повторное использование аппаратных интерфейсов и управление жизненным циклом прошивки устройства, что предоставляет руководство для создания более сложных и мощных систем на базе UWB.
3.1 Расширение зоны покрытия с помощью ячеистой сети (Mesh)
Для решения проблемы недостаточной дальности связи в один прыжок в больших или сложных средах с препятствиями в модуль UWB650 добавлена функция ячеистой сети.
Включение функции: Функция Mesh по умолчанию отключена и может быть включена с помощью команды UWBRFAT+MESHENABLE=<type>. Эта функция позволяет пакетам данных передаваться через несколько узлов в сети, что значительно расширяет эффективную зону покрытия сети.
Режимы работы: Модуль может выполнять различные роли в ячеистой сети, определяемые параметром <type>:
type=1 (чистый ретранслятор): Модуль работает только как узел пересылки данных, не создавая и не потребляя данные. Подходит для развертывания в ключевых местах для соединения двух отдельных сетевых зон.
type=2 (чистый узел): Модуль работает только как источник или получатель данных, не участвуя в их пересылке.
type=3 (смешанный режим): Модуль может работать как узел данных, так и выполнять функции ретранслятора. При получении пакета, адресованного не ему, он выполняет операцию пересылки. Это самый гибкий режим, позволяющий любому узлу в сети участвовать в построении маршрутов.

Ключевые ограничения: Чтобы предотвратить бесконечную циркуляцию пакетов в сети, которая может привести к широковещательным штормам и перегрузке канала, прошивка имеет жесткое ограничение в 10 прыжков. Когда ретрансляционный узел получает пакет, который уже был переслан 10 раз, он больше не будет его пересылать. Кроме того, важным конструктивным ограничением является то, что модуль с включенной функцией Mesh не может обмениваться обычными данными (функции измерения дальности и позиционирования не затрагиваются) с модулем, у которого эта функция отключена. Это означает, что если принято решение использовать Mesh, обычно необходимо единообразно настроить все узлы связи в сети.

3.2 Обновление прошивки по протоколу YModem
Модуль поддерживает обновление прошивки через последовательный порт, что позволяет вносить итеративные улучшения и исправлять дефекты после выпуска продукта, но также предъявляет требования к проектированию оборудования.
Вход в режим обновления: Обновление прошивки требует запуска при определенных аппаратных условиях. Процедура следующая: сначала отключите питание модуля, затем с помощью внешней схемы подтяните вывод 35 (UPGRADE) к низкому уровню (или напрямую замкните на GND), и после этого снова подайте питание на модуль. В этот момент модуль войдет в режим обновления прошивки и будет ожидать получения нового файла прошивки через последовательный порт.

Протокол и инструменты: Для передачи прошивки используется стандартный протокол YModem, скорость последовательного порта составляет 115200 бит/с. Пользователю потребуется инструмент для работы с последовательным портом на ПК, поддерживающий протокол YModem, например, ExtraPuTTY или официальная утилита SerialPortYmodem.
Процесс обновления: Полные шаги обновления следующие:
Выполните аппаратные действия для входа в режим обновления.
Подключите последовательный порт модуля к ПК и откройте инструмент, поддерживающий YModem, настроив COM-порт и скорость передачи.

3. После подключения в терминале последовательного порта отобразится сигнал рукопожатия YModem, отправленный модулем (обычно это последовательность символов 'C').

4. В инструменте на ПК выберите функцию «Отправить файл» и выберите новый бинарный файл прошивки для начала передачи.


5. Дождитесь завершения передачи файла.
6. После успешной передачи отсоедините вывод 35 от GND, а затем выполните полный цикл перезапуска питания модуля.

7. После перезагрузки модуль загрузит и запустит новую прошивку.
Ниже приведен пример использования официальной утилиты SerialPortYmodem:
Выберите соответствующий COM-порт и откройте его.

Найдите и выберите файл прошивки, затем нажмите «Отправить», чтобы начать передачу.

После завершения передачи появится сообщение об успехе. В этот момент отсоедините вывод 35 и перезагрузите модуль.

● Соображения по проектированию оборудования: Наличие механизма обновления прошивки означает, что если продукт должен поддерживать обновление на месте или удаленно, при проектировании печатной платы необходимо заранее продумать, как управлять уровнем на выводе 35. Можно разработать специальный физический джампер, предусмотреть тестовую точку или управлять этим выводом с помощью GPIO основного MCU. Если на этапе проектирования этот момент будет упущен, последующее обновление прошивки станет очень сложным, и может даже потребоваться физический отзыв уже развернутых устройств.
Глава 4: Калибровка задержки антенны
Эта глава является самой технически насыщенной частью отчета. Она systematically деконструирует весь процесс калибровки задержки антенны, начиная с основных физических принципов и углубляясь до анализа реализации на уровне кода. Овладение этим процессом является ключом к раскрытию всего потенциала точности модуля UWB650.
4.1 Теоретические основы: почему задержка антенны является основным источником ошибок измерения дальности
Определение: Задержка антенны (Antenna Delay) — это общая сумма времени распространения сигнала от точки отсчета временной метки внутри UWB-чипа до точки физического излучения антенны. Она включает задержки при передаче и приеме сигнала внутри чипа, на дорожках печатной платы и в самой антенне.
Влияние на точность: Хотя эта задержка чрезвычайно мала (наносекунды), она не является частью времени пролета сигнала в воздухе (ToF), но включается в исходное измеренное значение ToF. Точность измерения дальности UWB основана на точном измерении наносекундных временных интервалов, и любое некомпенсированное постоянное временное смещение напрямую преобразуется в ошибку расстояния. Официальная документация приводит очень наглядный количественный показатель: ошибка измерения времени в 1 нс приведет к ошибке измерения дальности примерно в 30 см.
Необходимость калибровки: Из-за производственных допусков компонентов, различий в материалах печатных плат и типов используемых антенн, значение задержки антенны для каждого модуля UWB650 уникально. Предустановленное на заводе значение ANTDELAY (по умолчанию 16440) является лишь эмпирическим значением, подходящим для общих случаев. Для приложений, требующих высокой точности менее ±10 см, независимая и точная калибровка задержки антенны для каждого модуля является не опцией, а обязательным шагом.
4.2 Математический метод: решение с помощью метода наименьших квадратов
Предлагаемый метод калибровки основан на принципах, рекомендованных Qorvo, и его основная идея заключается в использовании избыточных данных измерений между несколькими модулями для определения их неизвестных задержек.
Моделирование проблемы: Для процесса калибровки требуется как минимум три модуля UWB. Сначала параметры задержки антенны всех модулей устанавливаются в ноль. Затем, в условиях известного физического расстояния, проводятся двусторонние измерения дальности между каждой парой модулей, в результате чего получается матрица измеренных расстояний (EDMMeasured), содержащая 6 значений (d12, d21, d13, d31, d23, d32). Одновременно, на основе физических измерений, получается матрица истинных расстояний (EDMActual).
Цель оптимизации: Цель калибровки — найти набор значений задержки антенны (τ1, τ2, τ3), который минимизирует разницу между компенсированными измеренными расстояниями и истинными расстояниями. Математически это выражается как минимизация разности норм двух матриц:
Решение методом линейных наименьших квадратов: Хотя проблема описывается как минимизация нормы матрицы, предоставленный код на C раскрывает конкретный метод реализации — линейный метод наименьших квадратов. Эту проблему можно свести к переопределенной системе линейных уравнений. Для любой пары модулей i и j ошибка измерения в основном обусловлена суммой их задержек антенны. Мы можем установить следующее соотношение:
где c — скорость света. После преобразования расстояния во время, каждое измерение может предоставить линейное уравнение относительно неизвестных задержек τ_i и τ_j. При наличии достаточного количества измерений (например, 6 измерений между 3 модулями) можно составить переопределенную систему уравнений Ax=b, где x — вектор, содержащий все неизвестные задержки. Эту систему уравнений можно решить, найдя решение нормальных уравнений (A^T A)x = A^T b, чтобы получить решение по методу наименьших квадратов.
4.3 Практический процесс калибровки
Ниже приведены стандартизированные рабочие шаги для инженеров по проведению точной калибровки задержки антенны для модулей UWB650 в лаборатории или на месте:
Физическая установка: Выберите открытое место без явных отражающих объектов. Закрепите как минимум 3 модуля UWB650 и точно измерьте физические расстояния между ними с помощью высокоточных инструментов, таких как лазерный дальномер. Чтобы уменьшить влияние многолучевого эффекта, расстояние между модулями должно быть достаточно большим (например, более 30 метров), или следует соответствующим образом снизить мощность передачи модулей.
Начальная конфигурация: С помощью утилиты для работы с последовательным портом отправьте команду UWBRFAT+ANTDELAY=0 на все 3 модуля, чтобы сбросить компенсацию задержки антенны.
Сбор данных: Последовательно выполните двусторонние измерения дальности между всеми парами модулей. Например, для модулей 1 и 2, сначала пусть модуль 1 будет инициатором и измерит расстояние до модуля 2, запишите расстояние d21; затем пусть модуль 2 будет инициатором и измерит расстояние до модуля 1, запишите расстояние d12. Выполните измерения для всех 3 пар модулей (всего 6 раз) и запишите все 6 значений дальности.
Расчет значений задержки: Запустите предоставленный инструмент калибровки Qt Antdelay_cal.exe. В интерфейсе введите 6 измеренных значений расстояния и 1 ранее измеренное фактическое физическое расстояние d_Act, затем нажмите кнопку «Рассчитать».
Запись параметров: Инструмент выведет 3 значения для регистра ANTDELAY, соответствующие каждому модулю. Отправьте команду UWBRFAT+ANTDELAY=<value> на каждый модуль через последовательный порт, чтобы записать в него вычисленное значение калибровки.
Сохранение и проверка: Отправьте команду UWBRFAT+FLASH на каждый модуль, чтобы навсегда сохранить новые значения задержки антенны во флэш-памяти модуля. После сохранения снова выполните измерение дальности. В этот момент сообщаемое модулем расстояние должно очень точно совпадать с фактическим физическим расстоянием, с погрешностью обычно в пределах ±10 см, что указывает на успешную калибровку.
Успех всего процесса калибровки зависит от точности измерения физического расстояния. Сам алгоритм предполагает, что введенное эталонное значение является абсолютной истиной, и любая ошибка, внесенная на этапе физических измерений, будет рассматриваться алгоритмом как системное смещение и «откалибрована» в значение задержки антенны, что приведет к системному смещению конечного результата. Поэтому в процессе калибровки крайне важно обеспечить, чтобы точность физических измерений соответствовала точности, к которой стремится система UWB.
Глава 5: Рекомендации по развертыванию и лучшие практики
Цель этой главы — преобразовать вышеупомянутые технические детали в практические рекомендации по развертыванию модулей UWB650 в реальных условиях. Содержание будет включать в себя обобщенную информацию из официальной документации по устранению неисправностей и часто задаваемым вопросам, чтобы предоставить системным интеграторам практическое руководство по развертыванию.
5.1 Смягчение факторов окружающей среды: экранирование и многолучевой эффект
Производительность системы UWB тесно связана с физическими характеристиками среды развертывания.
Прямая видимость (Line-of-Sight, LoS) имеет решающее значение: Хотя сигнал UWB обладает определенной проникающей способностью, он не может эффективно проникать через материалы высокой плотности, такие как железобетонные стены. При столкновении с такими препятствиями сигнал отражается, и хотя связь все еще может быть установлена, увеличение пути отражения приводит к увеличению измеренного времени пролета, что вносит серьезные ошибки в измерение дальности. Металлические пластины или крупные металлические объекты особенно сильно поглощают сигнал UWB, создавая «слепые зоны».
Анализ влияния распространенных препятствий:
Сплошные стены: Сигнал не может проникнуть, любые результаты измерения дальности, полученные в обход угла стены, являются результатом отраженных сигналов, и эти данные ненадежны.
Стеклянные стены: Оказывают значительное влияние на точность измерения дальности.
Столбы, деревья и другие вытянутые объекты: Степень влияния зависит от расстояния. Когда расстояние между модулями велико (например, 100 метров), препятствие, расположенное посередине, оказывает меньшее влияние; но когда препятствие находится на расстоянии менее 1 метра от любой из антенн, это вызывает значительный дрейф данных.
Картон, деревянные доски: Если толщина невелика (≤5 см), влияние на точность измерения дальности ограничено, но все же вызывает затухание сигнала.
Лучшие практики развертывания: В системах позиционирования якоря (Anchors) следует устанавливать на более высоких позициях (рекомендуется более 2 метров над землей), чтобы максимизировать вероятность формирования четкого пути прямой видимости между метками (Tags) и якорями, избегая экранирования людьми, транспортными средствами или наземным оборудованием. Успешное развертывание UWB — это не только проблема электроники, но и задача радиочастотной инженерии окружающей среды, требующая тщательного планирования.
5.2 Устранение распространенных проблем с точностью измерения дальности и позиционирования
Если точность системы не соответствует ожиданиям, можно выполнить проверку по следующим шагам:
Низкая точность измерения дальности:
Проверка окружения: Убедитесь, что между модулями нет непредвиденных физических препятствий или сильных источников электромагнитных помех поблизости.
Проверка помех: Проверьте, нет ли в окружающей среде других устройств UWB, работающих в том же частотном диапазоне (CH5).
Проверка оборудования: Убедитесь, что антенна правильно установлена и надежно подключена.
Проверка калибровки: Убедитесь, что для всех модулей, участвующих в измерении дальности, была выполнена точная калибровка задержки антенны.
Низкая точность позиционирования:
Проверка координат: Наиболее частым источником ошибок является неправильная установка координат якорей. Обязательно многократно проверьте, что измеренные значения физического местоположения развертывания полностью совпадают со значениями, записанными в модуль с помощью команды UWBRFAT+COORDINATE, и что единицы измерения верны (сантиметры).
Геометрическое расположение: Проверьте, соответствует ли развертывание якорей рекомендуемой геометрической конфигурации (например, треугольник, прямоугольник). Неудачное геометрическое расположение (например, все якоря находятся почти на одной прямой) приводит к эффекту геометрического ухудшения точности (Geometric Dilution of Precision, GDOP), из-за которого небольшие ошибки измерения дальности усиливаются, что серьезно влияет на конечную точность расчета местоположения.
Высота и компланарность: Убедитесь, что все якоря развернуты на рекомендуемой высоте. Для приложений двумерного позиционирования убедитесь, что все якоря находятся примерно в одной горизонтальной плоскости.
Зона покрытия: Убедитесь, что метка находится внутри эффективной зоны позиционирования, образованной якорями. Когда метка выходит за пределы зоны покрытия якорей, точность позиционирования быстро снижается.
Глава 6: Команды конфигурации
В следующей таблице собраны все известные команды конфигурации и управления для модуля UWB650, предназначенные для предоставления разработчикам программного обеспечения всеобъемлющего и быстрого справочника. Модуль UWB650 использует команды конфигурации для изменения некоторых параметров во время работы.
6.1 Определения
<CR>: Символ возврата каретки, ASCII 0x0D.
<LF>: Символ перевода строки, ASCII 0x0A.
<…>: Имя параметра. Угловые скобки не появляются в команде.
6.2 Формат команд конфигурации
Когда пользователь вводит данные через последовательный порт, модуль определяет, являются ли эти данные командой конфигурации, и выполняет соответствующую обработку и ответ. Формат команд конфигурации всегда фиксирован: начинается с UWBRFAT и заканчивается <CR><LF>. Ответы на команды и коды результатов всегда начинаются и заканчиваются <CR> и <LF>.


( Пример ввода команды и ее шестнадцатеричное представление )
Во всей документации при описании команд конфигурации и ответов <CR> и <LF> намеренно опускаются. Если пользователю не нужно настраивать параметры, следует избегать ввода пакетов данных, начинающихся с UWBRFAT и заканчивающихся <CR> и <LF>.
Механизм обработки приема через последовательный порт
Модуль UWB650 использует обнаружение по таймауту для определения количества байтов, полученных через последовательный порт. Когда модуль получает первый байт, он запускает таймер примерно на 5 мс. При получении последующих байтов таймер перезапускается. Прием прекращается и начинается обработка данных, когда буфер приема заполняется или срабатывает таймер таймаута.
1) Проверка нормальной работы модуля
Команда |
Ответ |
---|---|
|
|
2) Получение версии прошивки модуля
Команда |
Ответ |
---|---|
|
|
Примечание:Поскольку прошивка модуля может обновляться, содержание ответа в этом документе приведено только для справки. |
3) Сброс всех параметров модуля к значениям по умолчанию
Команда |
Ответ |
---|---|
|
|
Примечание:Эта команда вызовет перезагрузку модуля, и модуль ответит OK перед выполнением перезагрузки. |
4) Перезагрузка модуля
Команда |
Ответ |
---|---|
|
|
Примечание:Эта команда вызовет перезагрузку модуля, и модуль ответит OK перед выполнением перезагрузки. |
5) Сохранение настраиваемых параметров во внутреннюю Flash-память
Команда |
Ответ |
---|---|
|
|
Примечание:В последующих описаниях команд конфигурации в этом документе команды, отмеченные символом *, означают, что их соответствующие параметры можно сохранить во Flash-память с помощью этой команды, и модуль будет напрямую применять эти параметры после перезапуска. |
6) Настройка скорости передачи данных последовательного порта модуля
Запрос |
|
|
Установка |
|
|
Описание |
|
|
Пример |
Запросить текущую скорость передачи данных модуля: |
7) Настройка скорости передачи данных по воздуху для UWB-чипа
Запрос |
|
|
Установка |
|
|
Описание |
|
|
Пример |
Запросить скорость передачи данных по воздуху:Отправить: |
8) Настройка PAN ID и адреса UWB-чипа
Запрос |
|
|
Установка |
|
|
Описание |
|
|
Пример |
Запросить PAN ID и адрес: |
9) Настройка мощности передачи модуля
Команда |
Ответ |
|
Запрос |
UWBRFAT+POWER? |
+POWER=<gear> |
Установка |
*UWBRFAT+POWER=<gear> |
OK |
Описание |
|
|
Уровень |
Выходная мощность (дБм) |
|
0 |
-5 |
|
1 |
-2 |
|
2 |
2.14 |
|
3 |
7.5 |
|
4 |
8.8 |
|
5 |
11 |
|
6 |
14 |
|
7 |
17 |
|
8 |
20.2 |
|
9 |
23.7 |
|
10 (по умолчанию) |
27.7 |
|
Примеры |
Запросить мощность передачи модуля: |
10) Настройка параметров преамбулы UWB-чипа
Запрос |
|
|
Установка |
|
|
Описание |
|
|
Пример |
Запросить параметры преамбулы: |
11) Настройка функции CCA (оценка чистоты канала)
Запрос |
|
|
Установка |
|
|
Описание |
|
|
Пример |
Запросить, включена ли функция CCA: |
12) Настройка функции ACK (автоматический запрос подтверждения)
Запрос |
|
|
Установка |
|
|
Описание |
|
|
Пример |
Запросить, включена ли функция ACK: |
13) Настройка ключа AES-128 модуля
Запрос |
|
|
Установка |
|
|
Описание |
|
|
Пример |
Запросить состояние и ключ шифрования AES: |
14) Установка адреса назначения для передачи данных
Запрос |
|
|
Установка |
|
|
Описание |
|
|
Пример |
Запросить текущий адрес назначения: |
15) Настройка функции самоорганизующейся сети Mesh
Запрос |
|
|
Установка |
|
|
Описание |
|
|
Пример |
Запросить состояние функции Mesh: |
16) Настройка отображения информации об адресе источника при получении данных
Запрос |
|
|
Установка |
|
|
Описание |
|
|
Пример |
Запросить, отображается ли информация об адресе источника: |
17) Настройка состояния светодиода на плате модуля
Запрос |
|
|
Установка |
|
|
Описание |
|
|
Пример |
Запросить, включена ли индикация состояния светодиодом: |
18) Настройка состояния приема модуля
Запрос |
|
|
Установка |
|
|
Описание |
|
|
Пример |
Запросить, включен ли прием: |
19) Настройка состояния SNIFF (прослушивание приема)
Запрос |
|
|
Установка |
|
|
Описание |
|
|
Пример |
Запросить, включено ли прослушивание приема: |
20) Настройка задержки антенны модуля
Команда |
Ответ |
|
Запрос |
UWBRFAT+ANTDELAY? |
+ANTDELAY=<delay> |
Установка |
*UWBRFAT+ANTDELAY=<delay> |
OK |
Описание |
|
|
Модель антенны |
Рекомендуемое значение задержки антенны |
|
UWB-PCB-X |
16400 |
|
UWB-PCB-D |
16400 |
|
UWB-ZT50 |
16450 |
|
UWB-ZT50 |
16450 |
|
Для получения подробных параметров каждой модели антенны, пожалуйста, свяжитесь с нашей компанией. | ||
Пример |
Запросить параметр задержки антенны: |
21) Функция измерения расстояния модуля
Установка |
|
|
Описание |
|
|
Пример |
Получить расстояние до модуля с адресом 0001: |
22) Функция позиционирования модуля
Установка |
|
|
Описание |
|
|
Пример |
Поблизости есть 3 базовые станции (0001,0002,0003), получить относительное положение с этими 3 станциями: |
23) Установка адреса базовой станции
Запрос |
|
|
Установка |
|
|
Описание |
|
|
Пример |
Запросить собственные координаты модуля, когда он работает как базовая станция: |
24) Установка смещения измерения расстояния
Запрос |
|
|
Установка |
|
|
Описание |
|
|
Пример |
Запросить значение смещения измерения расстояния: |
Глава 7: Механические размеры и руководство по производству
7.1 Механические размеры

7.2 Рекомендации по пайке оплавлением
Рекомендуется следовать соответствующим стандартам IPC для настройки профиля пайки оплавлением.


Глава 8: Информационные ресурсы
Продукт и закупка
1. Страница продукта G-NiceRF® UWB650: https://www.nicerf.com/uwb/uwb650-module.html
2. Центр загрузки ресурсов G-NiceRF® UWB650: https://www.nicerf.com/download/? keywords=UWB650
3. Официальный сайт G-NiceRF®: https://www.nicerf.com/
4. Официальный магазин G-NiceRF® (AliExpress): https://www.aliexpress.com/item/1005008706907873.html
Основное оборудование
5. Страница продукта UWB-приемопередатчика Qorvo DW3210: https://www.qorvo.com/products/p/DW3210
6. Страница продукта UWB-модуля Qorvo DWM3000: https://www.qorvo.com/products/p/DWM3000
Технические стандарты и альянсы
7. Стандарт IEEE 802.15.4z: https://standards.ieee.org/ieee/802.15.4z/10230/
8. Официальный сайт FiRa Consortium: https://www.firaconsortium.org/
Основная техническая документация
9. Примечание по применению Qorvo: APS014 - Калибровка задержки антенны продуктов и систем на базе DW1000: https://www.qorvo.com/products/d/da008449
10. Научная статья: Альтернативный метод двустороннего двухпутевого измерения дальности: https://www.researchgate.net/publication/309349921_An_Alternative_Double-Sided_Two-Way_Ranging_Method