正在上传图片(0/1)

robomaster s1 底盘主控板评测2_增加协议格式说明

 10
手机看帖 17 7963
我们继续昨天的评测
Can bus和M bus写在前面的话
      这两个bus是大疆这次设计最有意思的地方,两种总线硬件上都使用的是can总线的差分电平传输方式,可以说硬件设计上是一样。也就是2个can bus和1个M bus,总共3个硬件can总线,但是rt1020系列芯片只有2个flexcan总线控制器,如下图所示。
       这就产生了一些令人想不通的地方,芯片上两个can 控制器,硬件上3个can总线,怎么回事?据我分析应该是大疆将其他总线外扩了一个硬件can总线。后来我查看国外大神的帖子,经过测试确认能是uart,而不是S/PDIF。
这样做的原因:
       1.两个标准协议的can bus,满足后续扩展和现有云台程序的继承。
       2.一个扩展的M bux,为了重新设计的        M3508i电机的控制,这部分是这次大疆设计最精华的部分,这是外话后面再说。


Can bus总线接口
       主控板上有2个can bus,黑色和红色两种。采用标准的can总线协议,波特率配置为1M。
       黑色can bus用来连接云台,角度传感器,打击传感器。测试到的id为0x205和0x208,大家如果测试到其他id可以告诉我。基于这个地址猜测,云台电机和单轴传感器的地址应该是0x205~0x208,和robomaster一样。
      红色can bus为扩展用,现在没有开放。
标准的can协议没有什么可以说的,大家可以参照https://zh.wikipedia.org/wiki/%E ... F%E7%B6%B2%E8%B7%AF自己学习一下。
云台can总线线序(由于黑色外壳标注效果不好,使用橘红色外壳示意)
1-        can L
2-        can h
3-        12v
4-        Gnd
总线分组           功能                            芯片型号                                备注
红色can       外扩                            Hvd75       
黑色can       云台和单轴传感器            Max3501        对应芯片1020的73,74pin。是uart转的。


红色can的电平转换芯片
红色can的电平转换芯片
通过最近的破解,大至摸清了s1协议格式规律,希望对大家有帮助
M bus总线接口(控制M3508i)
       M bus连接的4个电机,是dji自定义的一种协议,后面会分析。
       M bus总线线序
1-        can L
2-        can h
3-        12v
4-        Gnd
总线分组        功能                  芯片型号                      备注
橘红色        控制电机           Hvd75       


我们使用示波器测量了can控制器的 tx,rx端电平。如下图所示。       
Tx波形图
Rx波形图
数据包破解
       使用uart软件读取数据,列出一整包数据。发现我之前把m bus设想为can总线是不对的。还是要感谢国外的大神。后来我研究了一下电机总线协议,耗费我很大的精力来猜测具体含义,但是没有成功。主要是后面的16bit校验没有想出是什么校验方式,大家有破解出来的请告诉我。


静止状态下数据包
Tx端
我截取了四个tx数据包,用来控制4个电机的协议,大家可以研究一下。
id0
55 20 00 1a a0 01 00 00 1d 28 c8 ff 1f 01 ff ff 00 00 fd 00 50 00 56 7b 01 00 00 00 00 00 15 17
id1
55 20 00 1a a0 01 01 00 22 28 79 00 1b 01 00 00 00 00 eb 00 50 00 bc 7a 01 00 00 00 00 00 63 55
id2
55 20 00 1a a0 01 02 00 47 28 3b 00 1a 01 01 00 00 00 ff 00 90 00 ea 02 01 00 00 00 00 00 bd 82
id3
55 20 00 1a a0 01 03 00 52 28 02 00 1b 01 fc ff 00 00 f6 00 90 00 2d 7b 01 00 00 00 00 00 8f ea
RX端
我截取了四个rx数据包,用来4个电机返回的协议,大家可以研究一下。
ID0
55 16 00 9d a0 00 00 00 00 40 00 40 00 40 00 40 ff ff ff ff 85 71
ID1
55 16 00 9d a0 00 00 01 00 40 00 40 00 40 00 40 ff ff ff ff 28 74
ID2
55 16 00 9d a0 00 00 02 00 40 00 40 00 40 00 40 ff ff ff ff df 7a
ID3
55 16 00 9d a0 00 00 03 00 40 00 40 00 40 00 40 ff ff ff ff 72 7f

Can bus和M bus总结
       从上面分析可以看出,大疆的M3508i电机重新设计了电机协议,和M3508完全不一样。为了配合这款电机,大疆弄了给M bus扩展协议来配合这款电机,这也是s1设计最精彩的部分,没有完全使用M3508的协议,这样做保证了产品保密性,又降低保密成本,值得称赞。


IMU
根据robomaster的使用经验,这款imu应该还是6500。悬空设计,采用涂胶保温减少温漂
IMU
总结
这块底盘主控板,硬件设计相当不错,布局紧凑合理,成本控制到位,性价比高,值得称赞。唯一不足还是采用人工刷漆,影响了产量。软件功能上完成了底盘,云台,打击传感器的控制,pid的计算,运动控制指令的解析,芯片稳定性上要比stm32好很多,毕竟Freescale是做汽车芯片的。总之这块主板完全对的起3500产品价格。
       由于本人水平有限,评测中肯定有不足之处,请大家多担待,如果有高手知道大疆的 m bus的具体情况,请指正我,大家互相促进学习。
评论
上传
你需要登录之后才能回帖    登录 | 注册
中年赛车手Kehaar  Mavic Air 2认证用户 2019-9-8 3#
一脸懵逼的进 一脸懵逼的出
美特斯邦子   2019-9-8 4#
虽然啥也看不懂,但是还是要点赞
把S1的老底挖出来了,这些接口到底用来扩展什么的呢
alex_dj  机甲大师 RoboMaster S1认证用户 2019-9-8 6#
你是分析大师
CPYCPY  Mavic Mini认证用户 2019-9-9 7#
高手哈,干货十足,收藏起来学习
高级管理员  Mavic Pro认证用户 2019-9-10 8#
这是准备仿造么
喜欢钓鱼,喜欢飞行
楼主  Osmo Mobile 3认证用户 2019-9-11 9#
不仿造。只是学习大疆优秀的设计思想。另外问一下什么时候能推出SDK?SDK最好能开放uart和can
柏修斯  Air 2s认证用户 2019-9-11 10#
好专业,看不懂的说
机甲小兵   2019-9-14 11#
优秀!期待楼主更多深度技术流帖子
楼主  Osmo Mobile 3认证用户 2019-9-14 12#
机甲小兵9-14 11:16
优秀!期待楼主更多深度技术流帖子
谢谢!!
Alfred888  Mavic Air 2认证用户 2019-9-28 13#
牛!!!!等待破解
王生   2019-11-11 14#
楼主是高手, 高高手, 谢谢分享!!!
djiuser_AxC5jFa   2019-12-31 15#
   
牛牛牛,高手高手
djiuser_OW4ZRWA   2021-10-13 18#
请问s1外接福特吧遥控器,在切换模式的时候机器人就乱跑不受控制是怎么回事?
夏天1   2021-12-11 19#
g1107机甲大师 RoboMaster S12019-9-11 09:18
不仿造。只是学习大疆优秀的设计思想。另外问一下什么时候能推出SDK?SDK最好能开放uart和can
好像不开放sdk了
取消 点赞 评论
分享至:
回复:
上传
取消 评论
快速回复 返回顶部 返回列表