Глава 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).

Внутренняя блок-схема модуля UWB650
Внутренняя блок-схема модуля UWB650

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

Типовая схема применения модуля UWB650
Типовая схема применения модуля UWB650

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

Нумерация выводов модуля UWB650 (вид сверху)
Нумерация выводов модуля UWB650 (вид сверху)
Схема определения выводов модуля UWB650
Схема определения выводов модуля UWB650

Номер вывода

Определение вывода

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 мА. Ценой этого является возможная потеря некоторых пакетов данных. Это типичный пример компромисса между энергопотреблением и производительностью.

Временная диаграмма режима SNIFF (прием в режиме прослушивания)
Временная диаграмма режима SNIFF (прием в режиме прослушивания)

2.2.4 Производительность передачи

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

Схематическое изображение задержки передачи данных от одного модуля UWB к другому
Схематическое изображение задержки передачи данных от одного модуля UWB к другому

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

скорость передачи данных по воздуху

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 точно вычисляет время пролета сигнала путем трехкратного обмена сообщениями между двумя устройствами. Его основное преимущество заключается в эффективном устранении ошибок измерения дальности, вызванных разницей частот кварцевых резонаторов на обоих устройствах (т.е. дрейфом тактовой частоты), что позволяет достичь высокой точности измерений без сложной синхронизации тактовых частот всей сети.

Временная диаграмма DS-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), и после этого снова подайте питание на модуль. В этот момент модуль войдет в режим обновления прошивки и будет ожидать получения нового файла прошивки через последовательный порт.

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

  • Процесс обновления: Полные шаги обновления следующие:

  1. Выполните аппаратные действия для входа в режим обновления.

  2. Подключите последовательный порт модуля к ПК и откройте инструмент, поддерживающий YModem, настроив COM-порт и скорость передачи.

Интерфейс настройки последовательного порта ExtraPuTTY
Интерфейс настройки последовательного порта ExtraPuTTY

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

Сигнал рукопожатия YModem (символы 'C')
Сигнал рукопожатия YModem (символы 'C')

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

Выбор отправки файла по YModem в ExtraPuTTY
Выбор отправки файла по YModem в ExtraPuTTY
Прогресс передачи файла в ExtraPuTTY
Прогресс передачи файла в ExtraPuTTY

5.  Дождитесь завершения передачи файла.

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

Завершение передачи прошивки в ExtraPuTTY
Завершение передачи прошивки в ExtraPuTTY

7.  После перезагрузки модуль загрузит и запустит новую прошивку.

Ниже приведен пример использования официальной утилиты SerialPortYmodem:

  • Выберите соответствующий COM-порт и откройте его.

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

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

Сообщение об успешной отправке файла в утилите SerialPortYmodem
Сообщение об успешной отправке файла в утилите SerialPortYmodem

● Соображения по проектированию оборудования: Наличие механизма обновления прошивки означает, что если продукт должен поддерживать обновление на месте или удаленно, при проектировании печатной платы необходимо заранее продумать, как управлять уровнем на выводе 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), который минимизирует разницу между компенсированными измеренными расстояниями и истинными расстояниями. Математически это выражается как минимизация разности норм двух матриц:
\underset{\tau}{\text{min}} \left\| \text{EDM}_{\text{Actual}}(\tau) - \text{EDM}_{\text{Measured}} \right\|_F

Решение методом линейных наименьших квадратов: Хотя проблема описывается как минимизация нормы матрицы, предоставленный код на C раскрывает конкретный метод реализации — линейный метод наименьших квадратов. Эту проблему можно свести к переопределенной системе линейных уравнений. Для любой пары модулей i и j ошибка измерения в основном обусловлена суммой их задержек антенны. Мы можем установить следующее соотношение:

d_{\text{measured},ij} - d_{\text{actual},ij} \approx c\left( {r_i + r_j} \right)

где c — скорость света. После преобразования расстояния во время, каждое измерение может предоставить линейное уравнение относительно неизвестных задержек τ_i и τ_j. При наличии достаточного количества измерений (например, 6 измерений между 3 модулями) можно составить переопределенную систему уравнений Ax=b, где x — вектор, содержащий все неизвестные задержки. Эту систему уравнений можно решить, найдя решение нормальных уравнений (A^T A)x = A^T b, чтобы получить решение по методу наименьших квадратов.

4.3 Практический процесс калибровки

Ниже приведены стандартизированные рабочие шаги для инженеров по проведению точной калибровки задержки антенны для модулей UWB650 в лаборатории или на месте:

  1. Физическая установка: Выберите открытое место без явных отражающих объектов. Закрепите как минимум 3 модуля UWB650 и точно измерьте физические расстояния между ними с помощью высокоточных инструментов, таких как лазерный дальномер. Чтобы уменьшить влияние многолучевого эффекта, расстояние между модулями должно быть достаточно большим (например, более 30 метров), или следует соответствующим образом снизить мощность передачи модулей.

  2. Начальная конфигурация: С помощью утилиты для работы с последовательным портом отправьте команду UWBRFAT+ANTDELAY=0 на все 3 модуля, чтобы сбросить компенсацию задержки антенны.

  3. Сбор данных: Последовательно выполните двусторонние измерения дальности между всеми парами модулей. Например, для модулей 1 и 2, сначала пусть модуль 1 будет инициатором и измерит расстояние до модуля 2, запишите расстояние d21; затем пусть модуль 2 будет инициатором и измерит расстояние до модуля 1, запишите расстояние d12. Выполните измерения для всех 3 пар модулей (всего 6 раз) и запишите все 6 значений дальности.

  4. Расчет значений задержки: Запустите предоставленный инструмент калибровки Qt Antdelay_cal.exe. В интерфейсе введите 6 измеренных значений расстояния и 1 ранее измеренное фактическое физическое расстояние d_Act, затем нажмите кнопку «Рассчитать».

  5. Запись параметров: Инструмент выведет 3 значения для регистра ANTDELAY, соответствующие каждому модулю. Отправьте команду UWBRFAT+ANTDELAY=<value> на каждый модуль через последовательный порт, чтобы записать в него вычисленное значение калибровки.

  6. Сохранение и проверка: Отправьте команду 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) Проверка нормальной работы модуля

Команда

Ответ

UWBRFAT

OK

2) Получение версии прошивки модуля

Команда

Ответ

UWBRFAT+VERSION?

V1.2

Примечание:Поскольку прошивка модуля может обновляться, содержание ответа в этом документе приведено только для справки.

3) Сброс всех параметров модуля к значениям по умолчанию

Команда

Ответ

UWBRFAT+DEFAULT

OK

Примечание:Эта команда вызовет перезагрузку модуля, и модуль ответит OK перед выполнением перезагрузки.
После завершения запуска модуль выведет через последовательный порт следующую строку:Finished Startup

4) Перезагрузка модуля

Команда

Ответ

UWBRFAT+RESET

OK

Примечание:Эта команда вызовет перезагрузку модуля, и модуль ответит OK перед выполнением перезагрузки.
После завершения запуска модуль выведет через последовательный порт следующую строку:Finished Startup

5) Сохранение настраиваемых параметров во внутреннюю Flash-память

Команда

Ответ

UWBRFAT+FLASH

OK

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

6) Настройка скорости передачи данных последовательного порта модуля

Запрос

UWBRFAT+BAUDRATE?

+BAUDRATE=<rate>

Установка

*UWBRFAT+BAUDRATE=<rate>

OK

Описание

<rate>:Целочисленный тип. Каждое значение представляет соответствующую скорость передачи данных:
0: 230400 бит/с
1: 115200 бит/с (по умолчанию)
2: 57600 бит/с
3: 38400 бит/с
4: 19200 бит/с
5: 9600 бит/с
Примечание:Другие конфигурации последовательного порта модуля фиксированы: 8 бит данных, 1 стоповый бит, без бита четности, без управления потоком.

Пример

Запросить текущую скорость передачи данных модуля:
Отправить:UWBRFAT+BAUDRATE?
Ответ:+BAUDRATE=0
Установить скорость передачи данных модуля на 9600:
Отправить:UWBRFAT+BAUDRATE=5
Ответ:OK
Пример ошибки:
Отправить:UWBRFAT+BAUDRATE=6
Ответ:ERROR

7) Настройка скорости передачи данных по воздуху для UWB-чипа

Запрос

UWBRFAT+DATARATE?

+DATARATE=<rate>

Установка

*UWBRFAT+DATARATE=<rate>

OK

Описание

<rate>: Целочисленный тип, разные значения представляют разные скорости передачи данных по воздуху.
0: 850 Кбит/с
1: 6.8 Мбит/с (по умолчанию)

Пример

Запросить скорость передачи данных по воздуху:Отправить:UWBRFAT+DATARATE?
Ответ:+DATARATE=1
Установить скорость передачи данных по воздуху:
Отправить:UWBRFAT+DATARATE=0
Ответ:OK
Пример ошибки:
Отправить:UWBRFAT+DATARATE=2
Ответ:ERROR

8) Настройка PAN ID и адреса UWB-чипа

Запрос

UWBRFAT+DEVICEID?

+DEVICEID=<id>,<addr>

Установка

*UWBRFAT+DEVICEID=<id>,<addr>

OK

Описание

<id>: 4-байтовый шестнадцатеричный символьный тип, диапазон: 0000-FFFE (по умолчанию: 0000)
<addr>: 4-байтовый шестнадцатеричный символьный тип, диапазон: 0000-FFFE (по умолчанию: 0000)

Пример

Запросить PAN ID и адрес:
Отправить:UWBRFAT+DEVICEID?
Ответ:+DEVICEID=1234,5678
Установить PAN ID и адрес:
Отправить:UWBRFAT+DEVICEID=ABCD,1234
Ответ:OK
Пример ошибки:
Отправить:UWBRFAT+DEVICEID=FFFF,FFFF
Ответ:ERROR

9) Настройка мощности передачи модуля

Команда

Ответ

Запрос

UWBRFAT+POWER?

+POWER=<gear>

Установка

*UWBRFAT+POWER=<gear>

OK

Описание

<gear>: Целочисленный тип. Диапазон: 0-10, разные значения представляют разные уровни мощности:

Уровень

Выходная мощность (дБм)

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

Примеры

Запросить мощность передачи модуля:
Отправить:UWBRFAT+POWER?
Ответ:+POWER=0Установить мощность передачи:Отправить:UWBRFAT+POWER=10
Ответ:OK
Пример ошибки:
Отправить:UWBRFAT+POWER=11
Ответ:ERROR

10) Настройка параметров преамбулы UWB-чипа

Запрос

UWBRFAT+PREAMBLECODE?

+PREAMBLECODE=<code>

Установка

*UWBRFAT+PREAMBLECODE=<code>

OK

Описание

<code>: Целочисленный тип. Диапазон: 9-24 (по умолчанию: 9), модули UWB650 с разными параметрами преамбулы не могут обмениваться данными.

Пример

Запросить параметры преамбулы:
Отправить:UWBRFAT+ PREAMBLECODE?
Ответ:+PREAMBLECODE=9
Установить параметры преамбулы:
Отправить:UWBRFAT+PREAMBLECODE=12
Ответ:OK
Пример ошибки:
Отправить:UWBRFAT+PREAMBLECODE=3
Ответ:ERROR

11) Настройка функции CCA (оценка чистоты канала)

Запрос

UWBRFAT+CCAENABLE?

+CCAENABLE=<enable>

Установка

*UWBRFAT+CCAENABLE=<enable>

OK

Описание

<enable>: Целочисленный тип.
0:Отключить CCA (по умолчанию)
1:Включить CCA
Эта функция используется только в режиме передачи данных. После включения CCA, если модуль обнаружит передачу данных в эфире перед отправкой обычных данных, он прекратит отправку, и последовательный порт ответит:CCA FAILURE

Пример

Запросить, включена ли функция CCA:
Отправить:UWBRFAT+ CCAENABLE?
Ответ:+CCAENABLE=0
Включить функцию CCA:
Отправить:UWBRFAT+CCAENABLE=1
Ответ:OK
Пример ошибки:
Отправить:UWBRFAT+CCAENABLE=2
Ответ:ERROR

12) Настройка функции ACK (автоматический запрос подтверждения)

Запрос

UWBRFAT+ACKENABLE?

+ACKENABLE=<enable>

Установка

*UWBRFAT+ACKENABLE=<enable>

OK

Описание

<enable>: Целочисленный тип.
0:Отключить запрос ACK (по умолчанию)
1:Включить запрос ACKПосле включения запроса ACK все данные, отправляемые модулем в режиме передачи данных, будут содержать запрос ACK. Если ответ ACK не получен, последовательный порт ответит:
ACK WAIT TIMEOUT
Если ответ ACK получен, последовательный порт ответит:
ACK DETECTED

Пример

Запросить, включена ли функция ACK:
Отправить:UWBRFAT+ACKENABLE?
Ответ:+ACKENABLE=0
Включить функцию ACK:
Отправить:UWBRFAT+ACKENABLE=1
Ответ:OK
Пример ошибки:
Отправить:UWBRFAT+ACKENABLE=2
Ответ:ERROR

13) Настройка ключа AES-128 модуля

Запрос

UWBRFAT+SECURITY?

+SECURITY=<enable>,<key>

Установка

*UWBRFAT+SECURITY=<enable>,<key>

OK

Описание

<enable>: Целочисленный тип.
0:Отключить шифрование AES (по умолчанию)
1:Включить шифрование AES
После включения шифрования AES содержимое Frame Payload, отправляемое модулем в режиме передачи данных, будет зашифровано для обеспечения более надежной передачи данных.
<key>: Шестнадцатеричный символьный тип. Длина 32 байта.Значение по умолчанию:000102030405060708090A0B0C0D0E0F

Пример

Запросить состояние и ключ шифрования AES:
Отправить:UWBRFAT+SECURITY?
Ответ:+SECURITY=0,00112233445566778899AABBCCDDEEFF
Включить шифрование AES и установить ключ:
Отправить:UWBRFAT+SECURITY=1,112233445566778899AABBCCDDEEFF00
Ответ:OK
Пример ошибки:Отправить:UWBRFAT+SECURITY=112233445566778899AABBCCDDEEFF00
Ответ:ERROR

14) Установка адреса назначения для передачи данных

Запрос

UWBRFAT+TXTARGET?

+TXTARGET=<address>

Установка

*UWBRFAT+TXTARGET=<address>

OK

Описание

<address>: 4-байтовый шестнадцатеричный символьный тип. Диапазон:
0000-FFFF (по умолчанию: 0000)
При установке значения FFFF данные, отправляемые модулем, будут считаться широковещательными.

Пример

Запросить текущий адрес назначения:
Отправить:UWBRFAT+TXTARGET?
Ответ:+TXTARGET=AB12
Изменить текущий адрес назначения:
Отправить:UWBRFAT+TXTARGET=1234
Ответ:OK
Пример ошибки:
Отправить:UWBRFAT+TXTARGET=123
Ответ:ERROR

15) Настройка функции самоорганизующейся сети Mesh

Запрос

UWBRFAT+MESHENABLE?

+MESHENABLE=<type>

Установка

*UWBRFAT+MESHENABLE=<type>

OK

Описание

<type>: Целочисленный тип.
0:Отключить Mesh (по умолчанию)
1:Включить Mesh, модуль работает только как ретранслятор
2:Включить Mesh, модуль работает только как узел
3:Включить Mesh, модуль может работать одновременно как ретранслятор и узел
Примечание:В режиме Mesh максимальный размер одного пакета данных, который может отправить модуль, составляет 1004 байта, и модули с включенной функцией Mesh не могут обмениваться обычными данными с модулями, у которых Mesh отключен (за исключением функций измерения расстояния/позиционирования).

Пример

Запросить состояние функции Mesh:
Отправить:UWBRFAT+MESHENABLE?
Ответ:+MESHENABLE=0
Включить Mesh, модуль как узел:
Отправить:UWBRFAT+MESHENABLE=2
Ответ:OK
Пример ошибки:UWBRFAT+MESHENABLE=4
Ответ:ERROR

16) Настройка отображения информации об адресе источника при получении данных

Запрос

UWBRFAT+RXSHOWSRC?

+RXSHOWSRC=<enable>

Установка

*UWBRFAT+RXSHOWSRC=<enable>

OK

Описание

<enable>: Целочисленный тип.
0:Не отображать информацию об адресе источника
1:Отображать информацию об адресе источника (по умолчанию)
Примечание:После включения при получении обычных данных модуль будет отображать адрес источника и уровень сигнала.Например, при получении данных (123456789) от другого модуля (адрес 1234) с уровнем сигнала -45.60 дБм:
SrcAddr:1234;Rssi:-45.60dBm;Data:123456789
Если в модуле включена функция Mesh и он настроен как узел, будут получены данные в следующем формате:
Mesh SrcAddr:1234;Data:123456789

Пример

Запросить, отображается ли информация об адресе источника:
Отправить:UWBRFAT+RXSHOWSRC?
Ответ:+RXSHOWSRC=0
Включить отображение информации об адресе источника:
Отправить:UWBRFAT+RXSHOWSRC=1
Ответ:OK
Пример ошибки:
Отправить:UWBRFAT+RXSHOWSRC=2
Ответ:ERROR

17) Настройка состояния светодиода на плате модуля

Запрос

UWBRFAT+LEDSTATUS?

+LEDSTATUS=<enable>

Установка

*UWBRFAT+LEDSTATUS=<enable>

OK

Описание

<enable>: Целочисленный тип.
0:Отключить индикацию состояния светодиодом
1:Включить индикацию состояния светодиодом (по умолчанию)
Примечание:В рабочем состоянии мигание красного светодиода означает, что модуль отправляет данные; мигание синего светодиода означает, что модуль находится в режиме приема, но это не означает, что данные получены.

Пример

Запросить, включена ли индикация состояния светодиодом:
Отправить:UWBRFAT+LEDSTATUS?
Ответ:+LEDSTATUS=1
Отключить индикацию состояния светодиодом:
Отправить:UWBRFAT+LEDSTATUS=0
Ответ:OK
Пример ошибки:
Отправить:UWBRFAT+LEDSTATUS=2
Ответ:ERROR

18) Настройка состояния приема модуля

Запрос

UWBRFAT+RXENABLE?

+RXENABLE=<enable>

Установка

*UWBRFAT+RXENABLE=<enable>

OK

Описание

<enable>: Целочисленный тип.
0:Отключить прием
1:Включить прием (по умолчанию)
После отключения приема модуль перейдет в состояние IDLE, в режиме передачи данных он по-прежнему сможет отправлять данные, но не сможет их принимать, что приведет к снижению энергопотребления.

Пример

Запросить, включен ли прием:
Отправить:UWBRFAT+RXENABLE?
Ответ:+RXENABLE=1
Отключить прием:
Отправить:UWBRFAT+RXENABLE=0
Ответ:OK
Пример ошибки:
Отправить:UWBRFAT+RXENABLE=2
Ответ:ERROR

19) Настройка состояния SNIFF (прослушивание приема)

Запрос

UWBRFAT+SNIFFEN?

+SNIFFEN=<enable>

Установка

*UWBRFAT+SNIFFEN=<enable>

OK

Описание

<enable>: Целочисленный тип.
0:Отключить прослушивание приема (по умолчанию)
1:Включить прослушивание приемаПосле включения пользователем прослушивания приема, модуль временно отключит эту функцию при запуске измерения расстояния/позиционирования.
Она будет снова включена после завершения функции.

Пример

Запросить, включено ли прослушивание приема:
Отправить:UWBRFAT+SNIFFEN?
Ответ:+SNIFFEN=0
Отключить прием:
Отправить:UWBRFAT+SNIFFEN=1
Ответ:OK
Пример ошибки:
Отправить:UWBRFAT+SNIFFEN=2
Ответ:ERROR

20) Настройка задержки антенны модуля

Команда

Ответ

Запрос

UWBRFAT+ANTDELAY?

+ANTDELAY=<delay>

Установка

*UWBRFAT+ANTDELAY=<delay>

OK

Описание

<delay>: Целочисленный тип. Диапазон: 0-65535. Значение по умолчанию: 16400. Параметр задержки антенны модуля.
Параметр задержки антенны напрямую влияет на погрешность результатов измерения расстояния в функциях измерения расстояния и позиционирования. Калибровка задержки антенны позволяет максимально приблизить измеренное значение к реальному расстоянию.
При использовании UWB-антенн нашей компании можно использовать соответствующие параметры задержки для разных моделей:

Модель антенны

Рекомендуемое значение задержки антенны

UWB-PCB-X

16400

UWB-PCB-D

16400

UWB-ZT50

16450

UWB-ZT50

16450

Для получения подробных параметров каждой модели антенны, пожалуйста, свяжитесь с нашей компанией.
Если вы не используете UWB-антенны нашей компании, вам необходимо откалибровать задержку антенны вручную. О том, как откалибровать задержку антенны, см. в документе "Как откалибровать задержку антенны модуля UWB650.pdf".

Пример

Запросить параметр задержки антенны:
Отправить:UWBRFAT+ANTDELAY?
Ответ:+ANTDELAY=16400
Установить параметр задержки антенны:
Отправить:UWBRFAT+ANTDELAY=12345
Ответ:OK
Пример ошибки:
Отправить:UWBRFAT+LEDSTATUS=123456
Ответ:ERROR

21) Функция измерения расстояния модуля

Установка

UWBRFAT+RANGING=<number>, <addr>

+RANGING=(<distance>),(<rssi>)

Описание

<number>:Целочисленный тип, количество целевых ведомых устройств для измерения расстояния
<addr>:4-байтовый шестнадцатеричный тип. Адрес целевого устройства, с которым модуль (в качестве ведущего) измеряет расстояние, диапазон: 0000-FFFE.
Можно ввести несколько адресов, количество которых должно совпадать со значением параметра <number>, адреса разделяются запятыми.Модуль будет выполнять процедуру измерения расстояния с целевыми модулями в порядке, указанном в команде, и после завершения выведет информацию об измерении.
<distance>:Строковый тип с плавающей точкой, информация о расстоянии, выводимая после завершения измерения. Максимум 2 знака после запятой.Если измерение не удалось, это значение будет равно -1.
<rssi>:Строковый тип с плавающей точкой, информация об уровне сигнала на другом конце, выводимая после завершения измерения, максимум 2 знака после запятой.
Примечание:После получения сигнала измерения от ведущего устройства, другое устройство также выведет информацию об измерении после его завершения.

Пример

Получить расстояние до модуля с адресом 0001:
Отправить:UWBRFAT+RANGING=1,0001
Ответ:+RANGING=(12.34),(-56.78)
Информация об измерении, выведенная модулем с адресом 0001:
Одновременно получить расстояние до модулей с адресами 0002 и 0003:
Отправить:UWBRFAT+RANGING=2,0002,0003
Ответ:+RANGING=(34.12,26.17),(-53.23,-49.15)
Получить расстояние до модуля с адресом 0004, но измерение не удалось:
Отправить:UWBRFAT+RANGING=1,0004
Ответ:+RANGING=(-1),(0.00)
Пример ошибки:
Отправить:UWBRFAT+RANGING=123,456
Ответ:ERROR

22) Функция позиционирования модуля

Установка

UWBRFAT+LOCATION=<addr>

+LOCATION=(<x>,<y>,<z>),(<distance>),(<rssi>)

Описание

<addr>:4-байтовый шестнадцатеричный тип. Адрес целевой базовой станции, с которой модуль (в качестве метки) выполняет позиционирование, диапазон: 0000-FFFE. Необходимо ввести не менее 3 адресов, максимум 8 (разделенных запятыми).
Модуль будет инициировать процедуру позиционирования с целевыми модулями в порядке, указанном в команде, и выведет результат после завершения.
<x>:Значение координаты x, рассчитанное после завершения позиционирования, максимум 2 знака после запятой, в метрах.
<y>:Значение координаты y, рассчитанное после завершения позиционирования, максимум 2 знака после запятой, в метрах.
<z>:Значение координаты z, рассчитанное после завершения позиционирования, максимум 2 знака после запятой, в метрах.
<distance>:Строковый тип с плавающей точкой, информация о расстоянии, выводимая после завершения позиционирования. Максимум 2 знака после запятой. Если получение не удалось, это значение будет равно -1.
<rssi>:Строковый тип с плавающей точкой, информация об уровне сигнала на другом конце, выводимая после завершения измерения, максимум 2 знака после запятой. Если получение расстояния не удалось, это значение будет равно 0.

Пример

Поблизости есть 3 базовые станции (0001,0002,0003), получить относительное положение с этими 3 станциями:
Отправить:UWBRFAT+LOCATION=0001,0002,0003
Ответ:+LOCATION=(12.34,34.56,56.78),(11.22,33.44,55.66),(-45.45,-56.56,-67.67)
Пример ошибки (недостаточное количество адресов базовых станций):
Отправить:UWBRFAT+RANGING=0001,0002
Ответ:ERROR

23) Установка адреса базовой станции

Запрос

UWBRFAT+COORDINATE?

+COORDINATE=<x>,<y>,<z>

Установка

*UWBRFAT+COORDINATE= <x>,<y>,<z>

OK

Описание

<x>:Целочисленный тип, координата x базовой станции, в см. Диапазон: 0-100000 (по умолчанию: 0)
<y>:Целочисленный тип, координата y базовой станции, в см. Диапазон: 0-100000 (по умолчанию: 0)
<z>:Целочисленный тип, координата z базовой станции, в см. Диапазон: 0-100000 (по умолчанию: 0)

Пример

Запросить собственные координаты модуля, когда он работает как базовая станция:
Отправить:UWBRFAT+COORDINATE?
Ответ:+COORDINATE=12345,0,54321
Установить собственные координаты модуля:
Отправить:UWBRFAT+COORDINATE=12345,54321,100
Ответ:OK

24) Установка смещения измерения расстояния

Запрос

UWBRFAT+DISTOFFSET?

+DISTOFFSET=<offset>

Установка

*UWBRFAT+DISTOFFSET=<offset>

OK

Описание

<offset>:Целочисленный тип. Диапазон: -500~500. Значение по умолчанию: 0. Устанавливает смещение для результатов измерения расстояния при использовании функций измерения расстояния или позиционирования. Единица измерения: см.
При положительном значении смещения модуль добавит это значение к результату измерения; при отрицательном — вычтет.

Пример

Запросить значение смещения измерения расстояния:
Отправить:UWBRFAT+DISTOFFSET?
Ответ:+DISTOFFSET=34
Установить значение смещения измерения расстояния:
Отправить:UWBRFAT+DISTOFFSET=100
Ответ:OK

Глава 7: Механические размеры и руководство по производству

 

7.1 Механические размеры

Чертеж механических размеров модуля UWB650
Чертеж механических размеров модуля UWB650

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

Комментарии (0)