| CRSF vs ELRS |
|
| Добавил(а) microsin | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Хотя ExpressLRS (ELRS) использует протокол CRSF для связи с полетным контроллером, их прямое сравнение не совсем корректно, так как CRSF — это протокол передачи данных [1], а ExpressLRS — это полная радиосистема (в виде набора аппаратных и программных решений [2]), которая этот протокол использует. Сравнение уместно проводить между радиосистемами ExpressLRS и TBS Crossfire (родоначальником протокола CRSF). [Ключевые различия ExpressLRS и TBS Crossfire] В следующей таблице наглядно показаны основные технические и потребительские характеристики двух систем:
[Рекомендации по выбору] Исходя из этих различий, можно сделать осознанный выбор в зависимости от ваших задач и бюджета. Выбирайте ExpressLRS, если: ● Вам критически важна максимально низкая задержка для гоночных дронов или фристайла. Выбирайте TBS Crossfire, если: ● Для вас приоритетом является максимальная дальность полета, и вы готовы использовать передатчик мощностью до 2 Вт. Важное примечание о совместимости. ExpressLRS и TBS Crossfire используют один и тот же протокол CRSF для передачи данных по UART между приемником и полетным контроллером. Это означает, что с точки зрения полетного контроллера (например, Betaflight, INAV, PX4) настройка подключения и прием сигналов управления идентичны для обеих систем. [Максимальный размер пакета UART] Поскольку и ExpressLRS (ELRS), и TBS Crossfire используют один и тот же протокол CRSF, максимальный размер пакета UART будет 64 байта. Есть только отличия в том, как в этих системах пакеты передаются и обрабатываются. CRSF. Согласно техническим данным протокола CRSF, максимальный размер пакета составляет 64 байта. Структура CRSF-пакета. Любой пакет в этом протоколе имеет следующую структуру:
Таким образом, максимальный размер достигается при полной загрузке полезных данных: 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:
Почему нет фиксированного размера пакета и как с этим работать. ExpressLRS использует динамическую структуру пакетов, которая меняется в зависимости от режима работы и типа передаваемых данных. В результате ELRS отличается следующими особенностями: - Компактность радиоканала: основной канал управления (RC link) кодирует до 12 каналов в чрезвычайно компактные пакеты. Практические рекомендации: - Для основного канала управления: настройка не требуется, протокол CRSF автоматически оптимизирует передачу данных управления с полетного контроллера. [Ссылки] 1. Протокол CRSF. |