【技术分享】BNO085-SH2协议通讯数据解析

日期:2019-12-06 作者:润欣科技创研社 返回列表

在VR/AR中的“眼观六路耳听八方”这个文章中我们有介绍到九轴传感器融合算法的芯片BNO085,这里特意针对此芯片的SH2协议通讯数据进行解析,客户主控MCU与BNO085的SPI,UART,IIC 中的任何一个接口驱动成功后,直接读写BNO085的相关传感器数据:


1:1000-3625 SH-2 Reference Manual v1.2 文档命令举例说明(一般游戏ARVR 客户读取0X29四元素数据后自己转换成欧拉角等):数据手册33页也有说明(2.2.5到2.2.7章节)。


6.5.18 Rotation Vector (0x05) 这个是没有防抖算法的传感器输出的九轴四元数数据。


6.5.19 Game Rotation Vector (0x08) 这个是没有防抖算法的传感器输出的六轴四元数数据。


6.5.42 ARVR-Stabilized Rotation Vector (0x28)当设备运动时,累积误差被纠正,这限制了数据不连续或跳跃的出现。这个是有防抖算法的稳定的传感器数据输出的九轴四元数数据。


6.5.43 ARVR-Stabilized Game Rotation Vector (0x29)这个当设备运动时,累积误差被纠正,这限制了数据不连续或跳跃的出现是六轴数据输出。这个是有防抖算法的稳定的传感器数据输出的六轴四元数数据。


2:客户驱动完成后,MCU获取BNO085的6.5.18 Rotation Vector (0x05) 的数据,先复位或者上电使能传感器,读写传感器数据,参考数据手册参考第5 . 2 . 2节写/读BNO08X数据表


直接写如下字符串21个字节:


0x15 0x00 0x02 0x01 0xFD 0x05 0x00 0x00 0x00 0x10 0x27 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00

So if you would just like to get 200Hz(5000uS) AV/VR Stabilized Game Rotation Vector from BNO085, then you can just send the following commands from MCU to BNO085:

0x15 0x00 0x02 0x01 0xFD 0x29 0x00 0x00 0x00 0x88 0x13 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00


解释:(这个命令是设置ROTATION VECTOR 加头四个字节SHTP Header的数据格式)


0x15 0x00 0x02 0x01 (shtp header 四个字节)SHTP LSB=0X15表示数据长度21字节,SHTP MSB=0X00,SHTP Channel=0X02,SHTP Sequence number=0x01


SHTP Channel 参考数据手册23页说明


1575601174213199.png

0xFD 第五个字节表示 Report ID=0xFD


参考数据手册25页解释,SH2文档36页6.2 Summary


0x05 0x00  说明:0x05代表旋转矢量6.5.18 Rotation Vector (0x05);


0x29 0x00  说明:0x29 代表6.5.43 ARVR-Stabilized Game Rotation Vector (0x29)


参考1000-3625 SH-2 Reference Manual v1.2 文档命令6.5.18.2 Input Report


0x00 0x00 0x10 0x27  0x 2710代表10,000us单位( 100赫兹)。0x00002710


0x00 0x00 0x88 0x13  0x 1388代表20,000us单位( 200赫兹)。0x00001388


参考数据手册The report ID for the accelerometer is 0x1 and a period of 60ms (or 60,000 μs) equates to a report interval of 0x0000EA60.


0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00


这里是10个字节


参考数据手册参考第5 . 2 . 2节写/读BNO08X数据表


2.png
3.png


查找1000-3625 SH-2 Reference Manual v1.2 文档命令数据格式


1575601209336256.png


查找数据手册如下说明:


1575601225248379.png


A report including SHTP header will have the format as seen in:


1575601236969042.png


查找SH2文档截图如下:


1575601249247255.png
1575601261512307.png
1575601277314424.png
1575601287485203.png
1575601302734429.png
1575601322998363.png
1575601334138241.png

返回列表