SBUS协议,全称Serial Bus,即串行通信总线,是一种广泛应用于航模遥控器(接收机)中的串口通信协议。
一、基本特性
通信方式:SBUS协议采用串口通信方式,使用一根信号线就能传输多达16通道的数据,比多路PWM捕获高效且省资源。
波特率:SBUS协议配置为100k波特率(即100000 bits/s),这意味着每秒可以传输100000个位的数据。
数据位:在配置时,虽然SBUS协议本身定义为8位数据位,但在某些单片机(如stm32)的配置中,需要选择9位数据位以确保能够正确解码接收到的数据。
停止位:SBUS协议使用2位停止位,用于标识数据包的结束。
校验方式:SBUS协议采用偶校验(EVEN)方式,用于检查数据传输过程中是否出现错误。
数据帧格式:SBUS协议的数据帧包含起始字节(startbyte=0x0f)、通道数据字节(data1~data22,对应16个通道,每个通道11bit,低位在前)、标志位(flags)和结束字节(endbyte=0x00)。
二、信号电平与反相器
信号电平:SBUS协议使用负逻辑,即低电平表示“1”,高电平表示“0”。这与常规的TTL电平(高电平为“1”,低电平为“0”)相反。
硬件反相器:由于SBUS协议采用负逻辑,接收机在接收信号时需要进行电平反相。这通常通过硬件反相器来实现,而不是在软件中进行反相操作。因为软件只能操作数据位,而无法操作停止位、校验位等。
三、数据解析与应用
数据范围:航模遥控器输出的PWM值通常为1000~2000,中值为1500。而SBUS协议输出的数据范围则因遥控器厂家而异,但一般都在0~2047之间,中值也相应有所不同。例如,某些遥控器的输出范围可能为300~1700。
数据解析:在接收端,需要对接收到的SBUS信号进行解析,以提取出各个通道的数据。这通常涉及到位操作和数据重组。
应用:SBUS协议因其高效、省资源的特点,在航模遥控器和接收机中得到了广泛应用。它使得遥控器能够同时控制多达16个通道的设备,从而实现了更加复杂和精细的控制。
四、注意事项
波特率匹配:在通信过程中,发送端和接收端的波特率必须匹配,否则会导致数据接收错误。
数据校验:通过偶校验方式可以检查数据传输过程中是否出现错误,从而确保数据的准确性。
硬件反相:在接收SBUS信号时,必须确保硬件反相器正确连接,以避免因电平不匹配而导致的数据接收错误。
标签:协议,SBUS,含义,遥控器,数据位,波特率,Sbus,数据 From: https://blog.csdn.net/SKYDROID666/article/details/143914019