因爲XXXX,需要對DJI的指令系統做研究,首先解析的是 LB2,也拆解了七七八八了,現在對LB2天空端DBUS口的數據協議進行解析,供電子/嵌入式同學進行學習研究。
DBUS採用4Pin線引出,猜測是使用串口協議,遙控器和天空端正常上電後,使用邏輯分析儀進行端口數據採集,其中一pin的波形如下:
波形間隔測得爲11ms,也就是11ms發送一包數據。
尋找波形中最小的一個脈衝,脈寬爲10.21us,故波特率爲100000,波形空閒時候爲低電平,解析時需要設置反向電位,然後在設置偶校驗,數據就能解析出來了,分析儀設置如下:
解析的數據:
繼續解析,需要知道對應的通道數據,分別打舵,獲得以下數據:
左右搖桿中位
0f 00 04 20 00 01 48 69 4a c3 07 00 00 00 00 00 00 00 00 00 00 00 00 50 00
俯仰最上
0f 00 a4 34 00 01 48 69 4a c3 07 00 00 00 00 00 00 00 00 00 00 00 00 50 00
航向最左
0f 00 04 20 00 d9 42 69 4a c3 07 00 00 00 00 00 00 00 00 00 00 00 00 50 00
油門最低
0f 00 04 20 5B 00 48 69 4a c3 07 00 00 00 00 00 00 00 00 00 00 00 00 50 00
橫滾最右
0f 94 06 20 00 01 48 69 4a c3 07 00 00 00 00 00 00 00 00 00 00 00 00 50 00
可以看出,對四個搖桿進行動作,數據的第二位到第七位有變化,對這六位數據進行二進制顯示
橫滾最右
94 06 20 00 01 48
10010100 00000110 00100000 00000000 00000001 00101000
油門最低
00 04 20 5B 00 48
00000000 00000100 00100000 01011011 00000000 01001000
航向最左
00 04 20 00 d9 42
00000000 00000100 00100000 00000000 11011001 01000010
俯仰最上
00 a4 34 00 01 48
00000000 10100100 00110100 00000000 00000001 01001000
中位
00 04 20 00 01 48
00000000 00000100 00100000 00000000 00000001 01001000
可以觀測出,這些數據也是採用SBUS思想進行通道打包,即每一個通道採用11位傳輸,搖桿中位時舵量爲1024,舵量最大爲1684,舵量最小爲364。
本文僅供學習和參考~~就醬紫啦~