欧美在线专区-欧美在线伊人-欧美在线一区二区三区欧美-欧美在线一区二区三区-pornodoxxx中国妞-pornodoldoo欧美另类

position>home>Blogs

SBUS協議及編解碼

[導讀]SBUS本質是協議一種串口通信協議,采用100K的及編解碼波特率,8位數據位,協議兩位停止位,及編解碼偶效驗,協議即8E2的及編解碼串口通信。SBUS是協議一bai個接收機串行總線du輸出,通過這根總線,及編解碼可以獲得遙控器上所有zhi通道的協議數據。目前很多模型及無人機電子設備都支持SBUS總線的及編解碼接入。使用SBUS總線獲取通道數據,協議效率高的及編解碼,而且節省硬件資源,協議只需要一根線即可獲取所有通道的及編解碼數據。

關注+星標公眾,協議不錯過精彩內容
轉自 | 硬件十萬個為什么
編排?|?strongerHuang


SBUS協議及編解碼

關于遙控器與無人機的通信協議也有很多種,常見的數據協議如下:
1.pwm:需要在接收機上接上全部pwm輸出通道,每一個通道就要接一組線,解析程序需要根據每一個通道的pwm高電平時長計算通道數值。

2.ppm:按固定周期發送所有通道pwm脈寬的數據格式,一組接線,一個周期內發送所有通道的pwm值,解析程序需要自行區分每一個通道的pwm時長。

3.sbus:每11個bit位表示一個通道數值的協議,串口通信,但是sbus的接收機通常是反向電平,連接到無人機時需要接電平反向器,大部分支持sbus的飛行控制板已經集成了反向器,直接將以舊換新機連接到飛行控制器即可。

4.xbus:常規通信協議,支持18個通道,數據包較大,串口通信有兩種模式,可以在遙控器的配置選項中配置。接收機無需做特殊配置。

strongerHuang

1

SBUS協議說明


SBUS本質是一種串口通信協議,采用100K的波特率,8位數據位,兩位停止位,偶效驗,即8E2的串口通信。
SBUS是一bai個接收機串行總線du輸出,通過這根總線,可以獲得遙控器上所有zhi通道的數據。目前很多模型及無人機電子設備都支持SBUS總線的接入。使用SBUS總線獲取通道數據,效率高的,而且節省硬件資源,只需要一根線即可獲取所有通道的數據。

SBUS總線使用的是TTL電平的反向電平,即標準TTL中的1取反為0,而0則取反為1,串口波特率為100000,數據位為8位,2個停止位,偶校驗。

SBUS一幀數據的長度為25個字節,其中第"0"個字節為幀頭:0x0f;第24個字節為幀尾:0x00;從第1個字節到第22個字節為1-16號比例通道的數據字節;第23字節中,第7位為數字開關通道17通道,第6位為數字開關通道18通道。

第5位為幀狀態標志為(判斷是否丟幀),用于控制接收機上的LED的狀態,第4位為失控保護激活標志位,此位為1時,表示接收機進入失控保護狀態。
值得注意的有三點:
1.SBUS采用負邏輯,所以無論接收還是發送都要進行硬件取反(注意,一定要硬件取反),電路如下
這是我在網上看資料時看到的電路,實際上我用的是7404電路
?
2.SBUS有兩種模式,
a.高速模式:每4ms發送一次
b.低速模式:每14ms發送一次
就是說每間隔4或者14ms這個串口就發送25個字節的數據,這25個字節的數據最多可以包含16個信息
3.100K的波特率不是標準波特率,一般串口工具都不能直接讀取(所以不要直接用電腦調試,除非你的電腦寫好了非標準串口),可以用單片機讀取。

strongerHuang

2

具體協議的格式


?[數據頭] [第一個字節] [第二個字節] ......[第二十二的字節] [標志位] [數據尾]
數據頭、標志位、數據尾 不攜帶信息,而且數據頭和數據尾是固定的,數據頭=0x0f; 數據尾=0x00;?
數據頭(1字節)+數據(22字節)+標志位(1字節)+數據尾(1字節)

strongerHuang

3

編碼解碼


1.編碼原理
一個信息是二進制的11bit,比如1111 1111 111就可以表示一個信息,一共16個這樣的信息,按照順序將這16個信息依次排成一串,得到一個176bit(11 *16)的數據,也就是22字節(176 / 8 = 22)的數據,再加上數據頭數據尾校驗位就組成了一個要通過串口傳送的信息。每隔4或者14ms就傳送一個這樣的信息。
所以這16個信息每一個所能表示的最大值是2^11 = 2048,也就是他的精度。
2.標志位
標志位的高四位有特殊含義,第四位并沒有使用,依照我的理解,第七位和第六位表示兩個數字通道(通道17和18)信息(就是只有高低電平的通道,一般用來控制通斷或者某個電機簡單的啟動或者停止,比如1表示啟動電機0表示停止電機),第五位表示幀丟失,接收機紅色LED亮起,我的理解是,如果這一位為1,表示這一幀信號出問題了,接收機紅色LED亮起。 第四位表示故障保護激活,意思應該是說如果這一位為1,激活接受方故障保護。
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
------------?END?------------

推薦閱讀:
什么是自由軟件?
Keil MDK如何將變量存儲在指定內存地址
幾款優秀的支持C、C++等多種語言的在線編譯器

關注 微信公眾號『strongerHuang』,后臺回復“1024”查看更多內容,回復“加群”按規則加入技術交流群。


長按前往圖中包含的公眾號關注


點擊“ 閱讀原文”查看更多分享,歡迎點分享、收藏、點贊、在看。

免責聲明:本文內容由21ic獲得授權后發布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯系我們,謝謝!

Popular articles

主站蜘蛛池模板: 最近免费中文字幕大全| 韩日毛片| 午夜性爽快| 中文字幕亚洲综合久久菠萝蜜| 黑人性生活片| 中国speakingathome宾馆学生| 嫩草影院在线播放www免费观看| 制服丝袜中文字幕在线观看| 翁虹三级在线伦理电影| 波多野结衣午夜| 韩国漫画羞羞| 悠悠色影院| 男人让女人爽30分钟免费| 国产一区美女视频| heyzo北条麻妃久久| 亚洲欧美视频一区| 日韩欧国产精品一区综合无码 | 黑人巨鞭大战洋妞| 韩国理伦大片三女教师| 蜜汁肉桃h全篇| 特a级片| 东北女人奶大毛多水多| 日韩中文在线播放| 精品国产v无码大片在线观看| 国产精品无码久久久久| 欧美午夜春性猛交xxxx| 日本中文字幕第一页| 亚洲欧美一二三区| 电车上强制波多野结衣| 羞羞漫画登录页面免费| 3d无遮挡h肉动漫在线播放| 兽皇videos极品另类| 羞羞答答xxdd影院欧美| 99热99re8国产在线播放| 四虎永久在线精品国产馆v视影院| 日本电影娼年| 天堂中文字幕在线| 国产精品日本一区二区在线播放 | 四虎影视永久地址www成人| 欧美日本免费| 亚洲一区二区三区久久久久|