一、协议基础定义
SBUS(S.BUS)是日本Futaba推出的航模/机器人专用单向串行串口协议,是目前无人机、ROS机器人、智能小车最主流的遥控器通信标准。核心优势为单信号线传输多路控制数据、抗干扰强、布线极简,专门用于无线接收机 → 主控(STM32/飞控)的摇杆、开关控制信号传输。
区别于传统多路PWM接收机,SBUS仅需1根信号线,即可传输16路模拟摇杆通道+2路数字开关通道,彻底解决多通道布线杂乱、电磁干扰大的问题。
二、固定硬件串口参数(不可修改)
SBUS协议参数为行业固定标准,所有设备统一适配,无需自定义配置:
波特率:100000 baud(100K)
数据格式:8E2(8数据位、偶校验Even、2停止位)
核心特性:负逻辑电平(反向TTL),与普通串口电平完全相反
电平标准:3.3V TTL
通信方向:单向通信(接收机→主控,仅下发控制指令,无回传)
刷新率:标准70Hz(14ms/帧),高速模式140Hz(7ms/帧)
关键适配说明:亚博STM32机器人控制板已内置硬件反相电路,无需外接三极管,可直接直插SBUS接收机使用,普通STM32板子需额外硬件反相或软件取反解析。
三、标准数据帧结构(固定25字节/帧)
每一帧数据严格25字节,结构固定、无偏差,是STM32解析的核心依据:
Byte0 帧头:固定 0x0F(帧起始标识,用于同步数据)
Byte1~Byte22 通道数据区(22字节):打包存储16路模拟通道(CH1~CH16),每路通道占用11bit,单通道数值精度0~2047
Byte23 状态标志位(核心安全位)
Bit7:CH17 数字开关通道
Bit6:CH18 数字开关通道
Bit5:Frame Lost(信号丢失标志)
Bit4:Failsafe(失控保护触发标志)
Byte24 帧尾:固定 0x00(帧结束标识)
四、通道数值标准范围
原始数值区间:0~2047(11bit高精度,远高于普通PWM)
工程有效区间:350~1650
中位基准值:1000(摇杆居中、设备静止)
适配场景:可精准换算为小车速度、云台角度、舵机转角
五、机器人实际工作逻辑(适配STM32+RDK X5)
模式1:纯STM32脱机遥控(无上位机)
遥控器摇杆→无线SBUS接收机→亚博STM32板,STM32解析通道数据,直接控制底盘电机、云台舵机,实现小车前进、后退、转向、云台俯仰旋转,无需RDK X5开机,断电重启即插即用。
模式2:搭配RDK X5 ROS2整机方案
SBUS为机器人安全应急通道:正常状态下小车由RDK X5自主导航控制;信号有效时,SBUS遥控优先级高于ROS导航指令,可随时手动接管小车,规避导航失控风险。STM32可将解析后的遥控数据通过USB上传至RDK X5,供ROS系统二次处理。
六、SBUS VS 传统多路PWM接收机(核心优势)
对比项 | 多路PWM接收机 | SBUS接收机 |
|---|---|---|
布线方式 | 1通道1根信号线,多通道线束繁杂 | 仅1根信号线+电源地,极简布线 |
通道数量 | 最多6~8通道,拓展性差 | 16路模拟+2路数字通道,拓展无压力 |
抗干扰性 | 模拟脉冲信号,易受电机电磁干扰 | 数字数据包传输,抗干扰能力极强 |
资源占用 | 占用大量定时器、GPIO引脚 | 仅占用1路串口资源 |
精度 | 低,调速、控角顺滑度差 | 11bit高精度,控制更细腻 |
七、工程核心注意事项
负逻辑必须适配:普通串口直接解析会数据乱码,需硬件反相或软件翻转电平,亚博板子已适配无需改动。
失控保护必备:遥控器关机、信号丢失时,Byte23标志位会触发Failsafe,STM32固件需配置自动刹车,杜绝小车失控乱跑。
协议不兼容:与大疆DBUS、CRSF协议不通用,引脚、参数、帧结构均不匹配,不可混插混用。
单向通信限制:仅能接收机向主控传数据,无法实现主控回传状态、双向交互。
八、机器人标准通道分配(通用方案)
CH1:车身左右转向
CH2:车身前后行进
CH3:云台俯仰控制
CH4:云台水平旋转
CH5/CH6:模式切换开关(遥控模式/ROS自主导航模式)