Перейти к содержимому
SBUS и IBUS: монтаж, инверсия и диагностика.

SBUS и IBUS: монтаж, инверсия и диагностика.

02 сентября 2026
Пилоту БПЛА | Технику БПЛА | Хобби

Протоколы в БАС: полный курс · Урок 14 из 18 · Модуль 5. Приёмники и радиоканалы

Подключение, настройка в Betaflight и ArduPilot, неинвертированный вывод приёмника — и таблица неисправностей «приёмник не работает».

Инверсия — причина половины проблем с SBUS: контроллеры F4 не умеют инвертировать сигнал аппаратно. Быстрый тест: в состоянии покоя на инвертированном SBUS — 0 В, на обычном UART — 3,3 В.

Содержание

1. Цели урока

После этого урока вы сможете:

  • подключать приёмник SBUS/IBUS: питание, сигнал, общий провод
  • решать проблему инверсии на F4 — программная инверсия или неинвертированный вывод приёмника
  • настраивать Serial RX в Betaflight/INAV и SERIALn_PROTOCOL = 23 в ArduPilot
  • понимать, когда нужен BRD_ALT_CONFIG на платах F4
  • разбирать типовые неисправности по таблице
↑ К оглавлению

2. Монтаж приёмника

SBUS_Con_67bd2.png

Проводное подключение приёмника FrSky к полётному контроллеру: SBUS_OUT приёмника идёт на RX-пин свободного UART, питание — 5 В с BEC, GND — общий. Телеметрия SmartPort подключается отдельным проводом на TX-пин другого UART.

Три обязательных соединения:

  • Питание 5 В — с площадок 5V/G полётного контроллера. Логика 3,3 В приёмнику не подходит: под нагрузкой напряжение просядет, и приёмник уйдёт в перезагрузку.
  • Сигнал — SBUS_OUT (или IBUS) приёмника на RX-пин выбранного UART.
  • GND — общий провод контроллера и приёмника, обязателен.

Распиновки популярных приёмников (порядок контактов у разных моделей отличается — сверяйся с маркировкой):

ПриёмникПротоколКонтакты (типовые)
FrSky R-XSR SBUS / F.Port GND · +5V · S.Port · SBUS_OUT/CPPM
FrSky XM+ SBUS GND · +5V · SBUS_OUT
FlySky FTr16S IBUS / SBUS сигнал (IBUS/SBUS) · +5V · GND
↑ К оглавлению

3. Инверсия сигнала

SBUS — это UART, у которого все уровни перевёрнуты: состояние покоя — низкий уровень вместо высокого, каждый бит инвертирован. Причина историческая (помехоустойчивость), а следствие практическое: сигнал нельзя напрямую подавать на входы, которые не умеют его переворачивать.

Инверсия: обычный UART в покое высокий, SBUS — низкий

Инверсия: обычный UART в состоянии покоя держит высокий уровень, инвертированный SBUS — низкий. Все биты перевёрнуты.

uart_osc_2_7631f.png
КонтроллерВозможностиЧто делать с SBUS
F3 / F4 аппаратной инверсии нет программная инверсия (опция Serial RX Inverted, только пины с таймерами) или неинвертированная площадка приёмника (у R-XSR для SBUS — «B»)
F7 / H7 аппаратная инверсия на всех UART подключается напрямую, без дополнительных действий
ArduPilot (F4 и новее) программная инверсия параметр SERIALn_OPTIONS — бит инверсии RX

Неинвертированные сигналы снимаются с дополнительных площадок на плате приёмника. Внимание: обозначения у разных моделей различаются — сверяйся с маркировкой конкретного приёмника. У FrSky R-XSR площадка «P» — это неинвертированный S.Port (телеметрия), а неинвертированный SBUS выведен на площадку «B». У приёмников без телеметрии (например, XM+) неинвертированный SBUS обозначен площадкой «P».

frsky_r-xsr_receiver_sport_sbus_inverted_uninverted_93c07.jpgПлощадки неинвертированных сигналов на приёмнике FrSky R-XSR: «P» — неинвертированный S.Port (телеметрия), «B» — неинвертированный SBUS. У приёмников других моделей обозначения могут отличаться — сверяйся с маркировкой.

Быстрый тест мультиметром: на сигнальном пине работающего приёмника в состоянии покоя: инвертированный SBUS — 0 В, обычный UART — ~3,3 В. Два измерения — и тип сигнала ясен.

↑ К оглавлению

4. Настройка в Betaflight, INAV и ArduPilot

Betaflight / INAV:

  1. Вкладка Ports → на выбранном UART включить Serial RX.
  2. Вкладка Receiver → режим Serial (via UART), тип — SBUS (для FlySky — IBUS).
  3. Для F4 при обычном (инвертированном) выводе — опция Serial RX Inverted; если сигнал взят с неинвертированного вывода приёмника — опция не нужна.
  4. Проверка: вкладка Receiver — столбики каналов должны изменяться плавно от 988 до 2012.

ArduPilot:

SERIALn_PROTOCOL = 23    # RCIN: SBUS / IBUS / DSM на выбранном порту
BRD_ALT_CONFIG = 1       # для плат на F4: освободить DMA для SBUS-порта
Plain text

BRD_ALT_CONFIG = 1 — частая причина «невидимого» приёмника на половине F4-плат: SBUS-порт конфликтует с DMA, и каналы не читаются. После изменения параметра — перезагрузка.

↑ К оглавлению

5. F.Port — два в одном

F.Port — протокол FrSky, объединяющий SBUS и телеметрию SmartPort в одном проводе на скорости 115200 бод. Один провод вместо двух: и каналы, и телеметрия на пульт.

  • В Betaflight: вкладка Ports → на выбранном UART включить Serial RX и переключатель Half-duplex.
  • Актуален для систем FrSky; на новых сборках целесообразно использовать ELRS с CRSF, где телеметрия встроена в протокол.
↑ К оглавлению

6. Диагностика «приёмник не работает»

СимптомТипичная причинаДействие
Каналы не реагируют на стики сигнал не доходит до RX-пина проверить провод (SBUS_OUT → RX), питание 5 В, общий GND
Каналы дрожат, значения хаотичны не настроена инверсия (F4) или перепутан протокол опция Serial RX Inverted или неинвертированный вывод; сверить тип SBUS/IBUS
Приёмник не биндится несовпадение протокола передатчика и приёмника, разные версии прошивки сверить протокол и регион; для ELRS — binding phrase и ветку версий (4.x/3.x)
Связь есть, но при выключении пульта моторы не останавливаются не настроен failsafe настроить failsafe в пульте и приёмнике, проверить флаги кадра
ArduPilot не получает каналы на F4 DMA-конфликт порта BRD_ALT_CONFIG = 1, перезагрузка
На выходе ELRS-приёмника нет SBUS в прошивке выбран выход CRSF переключить выход приёмника: Web UI или Lua → Output → SBUS
↑ К оглавлению

7. Для программиста

💻 Для программиста

SBUS — это UART с нестандартными параметрами: 100000 бод, 8 бит, чётный паритет, 2 стоповых бита. Стандартные настройки библиотек (8N1) не подойдут — кадр не совпадёт, и все байты прочитаются с ошибками. Второй нюанс — инверсия: если читаешь сигнал напрямую, добавь инвертор (транзистор или логический элемент) либо используй вход с аппаратной инверсией.

Логический анализатор с декодером UART здесь незаменим: задал 100000 бод, 8E2, инверсию — и видишь кадры с маркерами 0x0F/0x00, а не белый шум.

↑ К оглавлению

8. Чек-лист самопроверки

Урок освоен, если каждый пункт выполнен на практике:

  • Подключил SBUS-приёмник и увидел движение каналов в конфигураторе
  • Проверил мультиметром уровень покоя на сигнальной линии
  • Подключил приёмник через неинвертированный вывод (если контроллер F4)
  • Настроил SERIALn_PROTOCOL = 23 в ArduPilot
  • Знаю, зачем BRD_ALT_CONFIG на F4-платах
Результат: все пункты выполнены — переходите к следующему уроку.
↑ К оглавлению

9. Что дальше

  • Предыдущий урок: Урок 13. SBUS и IBUS: кадры и параметры
  • Следующий урок: Урок 15. CRSF и ExpressLRS: современный стек управления
  • Полный перечень тем — в статье «Содержание курса».
↑ К оглавлению
SBUS и IBUS: монтаж, инверсия и диагностика.
18