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信息等。