|
Хотя ExpressLRS (ELRS) использует протокол CRSF для связи с полетным контроллером, их прямое сравнение не совсем корректно, так как CRSF — это протокол передачи данных [1], а ExpressLRS — это полная радиосистема (в виде набора аппаратных и программных решений [2]), которая этот протокол использует. Сравнение уместно проводить между радиосистемами ExpressLRS и TBS Crossfire (родоначальником протокола CRSF).
[Ключевые различия ExpressLRS и TBS Crossfire]
В следующей таблице наглядно показаны основные технические и потребительские характеристики двух систем:
| Параметр |
ExpressLRS (ELRS) |
TBS Crossfire |
| Статус проекта |
Проект с открытым исходным кодом (Open Source) |
Проприетарная разработка Team BlackSheep (TBS) |
| Частотные диапазоны |
2.4 ГГц и 900 МГц |
Только 900 МГц |
| Макс. частота обновления (Гц) |
До 500 Гц (2.4 ГГц) / До 200 Гц (900 МГц) |
До 150 Гц |
| Модуляция |
LoRa на всех скоростях передачи |
LoRa (в основном в режиме 50 Гц), FSK для высоких скоростей |
| Макс. мощность передатчика |
Как правило, до 1 Вт |
До 2 Вт |
| Задержка (Latency) |
Очень низкая, одна из самых низких на рынке |
Низкая, но выше, чем у ELRS на высоких частотах обновления |
| Ценовая политика |
Более доступная, широкий выбор бюджетного оборудования |
Премиальный сегмент, высокая стоимость приемников и модулей |
| Экосистема и совместимость |
Совместим с большинством пультов, поддерживающих CRSF |
Глубокая интеграция с экосистемой TBS (Tango 2, Fusion, Cloud) |
[Рекомендации по выбору]
Исходя из этих различий, можно сделать осознанный выбор в зависимости от ваших задач и бюджета.
Выбирайте ExpressLRS, если:
● Вам критически важна максимально низкая задержка для гоночных дронов или фристайла. ● Вы хотите сэкономить, так как оборудование ELRS значительно дешевле, особенно приемники. ● Вы предпочитаете открытые технологии и активное сообщество, которое быстро выпускает обновления. ● Вы хотите использовать преимущества диапазона 2.4 ГГц (меньшие антенны, высокая скорость) или иметь гибкость выбора между 2.4 ГГц и 900 МГц.
Выбирайте TBS Crossfire, если:
● Для вас приоритетом является максимальная дальность полета, и вы готовы использовать передатчик мощностью до 2 Вт. ● Вы цените отработанную надежность и проверенную годами репутацию системы. ● Вы уже используете или планируете использовать другие продукты экосистемы TBS, такую как пульт Tango 2, видео-ресивер Fusion или сервис TBS Cloud.
Важное примечание о совместимости. ExpressLRS и TBS Crossfire используют один и тот же протокол CRSF для передачи данных по UART между приемником и полетным контроллером. Это означает, что с точки зрения полетного контроллера (например, Betaflight, INAV, PX4) настройка подключения и прием сигналов управления идентичны для обеих систем.
[Максимальный размер пакета UART]
Поскольку и ExpressLRS (ELRS), и TBS Crossfire используют один и тот же протокол CRSF, максимальный размер пакета UART будет 64 байта. Есть только отличия в том, как в этих системах пакеты передаются и обрабатываются.
CRSF. Согласно техническим данным протокола CRSF, максимальный размер пакета составляет 64 байта.
Структура CRSF-пакета. Любой пакет в этом протоколе имеет следующую структуру:
| Элемент |
Описание |
| SYNC / Device Address |
Синхробайт или адрес устройства. Например, 0xC8 для полетного контроллера, 0xEE для передатчика. |
| LEN / Frame Size |
Длина последующих данных (тип, полезная нагрузка и CRC). Размер пакета = (LEN + 2) байта. |
| TYPE |
Тип фрейма, определяющий формат полезной нагрузки (например, 0x16 для данных RC-каналов). |
| Payload |
Полезные данные. Максимальный размер — 60 байт. |
| CRC |
Контрольная сумма, рассчитываемая для байтов от TYPE до конца Payload. |
Таким образом, максимальный размер достигается при полной загрузке полезных данных: 1 байт (SYNC) + 1 байт (LEN, значение 62) + 60 байт (Payload) + 1 байт (TYPE) + 1 байт (CRC) = 64 байта.
Лимит размера пакета 64 байта очень важен для разработки. При работе с UART на микроконтроллерах необходимо убедиться, что размер приемного буфера драйвера UART составляет не менее 64 байт, чтобы вместить целый пакет без потерь.
ELRS. В спецификациях ExpressLRS не указывается максимальный размер пакета UART в байтах, так как система использует очень компактные и высокооптимизированные пакеты, а пропускная способность зависит от выбранной скорости передачи данных (Packet Rate).
Соответствие скорости пакета и пропускной способности ELRS. Следующая таблица основана на данных функции AirPort, которая преобразует UART-поток в радиоканал и наглядно демонстрирует ограничения пропускной способности ExpressLRS:
| Скорость пакета (Packet Rate) |
Рекомендуемая скорость UART (бод) |
| 50 Гц |
115200 |
| 100 Гц (Full Res) |
400000 |
| 150 Гц |
420000 |
| 200 Гц (Full Res) |
921600 |
| 250 Гц |
1870000 |
| 333 Гц (Full Res) |
2250000 |
| 500 Гц |
3750000 |
| 1000 Гц (Full Res) |
5250000 |
Почему нет фиксированного размера пакета и как с этим работать. ExpressLRS использует динамическую структуру пакетов, которая меняется в зависимости от режима работы и типа передаваемых данных. В результате ELRS отличается следующими особенностями:
- Компактность радиоканала: основной канал управления (RC link) кодирует до 12 каналов в чрезвычайно компактные пакеты. - Буферизация UART: при использовании UART данные помещаются в буфер размером 64 байта. Если буфер переполняется, все 64 байта отбрасываются. - Настройка скорости: для стабильной работы скорость UART на подключенном устройстве (например, полетном контроллере) должна быть равна или ниже значения из таблицы.
Практические рекомендации:
- Для основного канала управления: настройка не требуется, протокол CRSF автоматически оптимизирует передачу данных управления с полетного контроллера. - Для передачи пользовательских данных: Если вы используете UART для передачи собственных данных, устанавливайте скорость обмена согласно таблице. Для высокоскоростных режимов (500 Гц, 1000 Гц) требуется минимальная скорость UART 921600 бод между радиоаппаратурой и TX-модулем.
[Ссылки]
1. Протокол CRSF. 2. ExpressLRS. |