SBUS协议转换芯片,SBUS转UART,sbus转rs232,sbus解码IC,zr003

sbus 协议比较复杂。16通道一共用了22字节。每个通道占11bit。所以会存在拼字节错位的问题。需要转化成一个整形的数据。这对一般的主控还是有压力,开销不少。今天跟大家分享一个专用的sbus解码芯片。

sbus解码IC:ZR003

SBUS协议转换芯片,SBUS转UART,sbus转rs232,sbus解码IC,zr003_第1张图片

输入是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数据直接就是一个整形通道数据。拿来就能用。不用换算。

 

你可能感兴趣的:(生活笔记)