SBUS协议转换芯片,SBUS转UART,sbus转rs232,sbus解码IC
sbus 协议比较复杂。16通道一共用了22字节。每个通道占11bit。所以会存在拼字节错位的问题。需要转化成一个整形的数据。这对一般的主控还是有压力,开销不少。今天跟大家分享一个专用的sbus解码芯片。
sbus解码IC:ZR001
输入是SBUS电平3V-5V。输出是标准UART协议,电平是TTL电平。
不可调波特率的是固定SBUS波特率100k。UART端的也是100k。可调波特率是SBUS波特率100k。UART端可以选择4种波特率:9600,38400,57600,115200。
带解码和不带解码的区别是:如果不带解码模块,那用户就得自己完成解析SBUS协议的工作。SBUS一共是25字节,代表16通道。格式如下:
Start Byte = 0x0F。中间22个字节为16个通道的数据,每个通道用 11 bit表示,范围是0-2047。
End Byte根据S-BUS协议版本不同而不同。
Flags的定义:
bit7 = ch17 = digital channel (0x80)
bit6 = ch18 = digital channel (0x40)
bit5 = Frame lost, equivalent red LED on receiver (0x20)
bit4 = failsafe activated (0x10)
bit3 = n/a
bit2 = n/a
bit1 = n/a
bit0 = n/a
---------------------
带解码的模块就已经完成SBUS的协议解析工作。出来的是35字节。格式如下。
帧头+16通道共32字节+flag+XOR
Start Byte = 0x0F。中间32个字节为16个通道的数据,每个通道用就是一个整形数,范围是0-2047。 高字节在前,低字节在后。
XOR(校验码)为包括头字节所有34个字节的异或校验。
Flags的定义:
bit7 = ch17 = digital channel (0x80)
bit6 = ch18 = digital channel (0x40)
bit5 = Frame lost, equivalent red LED on receiver (0x20)
bit4 = failsafe activated (0x10)
bit3 = n/a
bit2 = n/a
bit1 = n/a
bit0 = n/a
---------------------
带解码功能用户无需关心SBUS协议错位的繁琐运算问题。读出来的16bit数据直接就是一个整形通道数据。拿来就能用。不用换算。