sbus协议(详细)
sbus协议(详细)
sbus协议是一种用于遥控器和接收机之间单向通信的协议,它采用2.4G频段的数字信号传输,具有跳频技术和数据校验功能。与其他通信协议最大的区别在于sbus采用负逻辑,使用TTL3.3V的反向电平,这可以提高抗干扰能力并减少误判。
sbus协议只用一根线就能完成16个通道的传输,并且采用的是2.4G频段的数字信号传输。使用了跳频技术、数据校验。和其他通信协议最大的区别是SBUS采用的是负逻辑。在TTL标准电平中,低电平逻辑为0,高电平逻辑为1
而SBUS使用的是TTL3.3V的反向电平。这样的好处在于可以提高抗干扰能力,也能减少误判。
所以不管是发送端还是发送端,在硬件电路设计上都需要进行相应的反向处理。反向处理一般有两种方法:
第一种是使用模拟电路搭建反向电路。原理如下:
当RC_SBUS为高电平时,晶体管Q1导通,RXD被拉低,微控制器接收到低电平信号。当RC_SBUS为低电平时。晶体管Q1截止,RXD通过10kΩ电阻被拉高到接近电源电压,微控制器接收到高电平信号。这个Q1是NPN型晶体管,用于放大或开关信号。当基极(B)有足够的电流(这里说的情况是SBUS高电平)流入时,晶体管导通,允许电流从集电极(C)流向发射极(E)。
第二种是直接使用反向器芯片来实现。
从信号特征上看,SBUS没有采用常见的4800,9600,57600等波特率,而是采用100kbs。从数据帧结构上看,SBUS一个字节有8位数据,以及一位偶校验位,两位停止位。后面这3位在解码时不被读取,加起来总共11位。这种结构通常表示8E2
一帧完整的SBUS数据共有25个字节,第一个为起始字节,中间有22个数据字节,再加上一个标志字节和结束字节
重点来了
数据解码时,通道1使用数据1的8位和数据2的3位
通道2使用的是数据2的前5位和数据3的后6位
每个通道共有11位数据,总共可以组成16个通道。
另外,SBUS进行数据传输时分为高速模式和低速模式
高速模式下每7ms完成一次数据接收
低速模式下每14ms完成一次数据接收
在接收过程中,接收机会根据协议中字节含义,提取出各个通道的数值信息。并将解析后的数据发送给相应设备,如电调、舵机等。
接收机还有哪些常见的协议?
首先是PPM脉冲位置调制协议
其次是CRSF协议,与SBUS不同的是它是双向通信的数字串行协议,接收机可以回传飞机位置、姿态、电池等信息。
还有MAVLink这种轻量级双向数据协议。能够实现更小的带宽传输更多的信息。例如飞行状态、传感器数据、GPS信息等。