0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

BNO085-SH2协议通讯数据解析

润欣科技Fortune 2019-12-06 21:57 次阅读

上海润欣科技股份有限公司创研社


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 0x010xFD0x050x00 0x00 0x000x10 0x270x00 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 0x010xFD0x290x00 0x00 0x000x88 0x130x00 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);


0x290x00 说明: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 0x000x10 0x270x 2710代表10,000us单位( 100赫兹)。0x00002710


0x00 0x000x88 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 toa 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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏

    评论

    相关推荐

    虹科培训 | PROFINET通讯协议培训

    什么是PROFINET通讯协议?PROFINET通讯协议(ProcessFieldNetwork)是一种专为工业自动化领域设计的基于以太网的实时通信
    的头像 发表于 01-08 17:32 126次阅读
    虹科培训 | PROFINET<b class='flag-5'>通讯</b><b class='flag-5'>协议</b>培训

    安科瑞AWT100-DP 无线通讯终端,支持串口MODBUS RTU协议

    域的采集,每个寄存器地址范围不超过64个。 ■支持对每个MODBUS地址范围预设报警地址以及报警值触发报警。每个地址域报警地址目前多5个。 ■支持服务器MODBUS或者LoRa透传通讯。 ■支持固定IP和动态域名解析方式连接数据
    的头像 发表于 01-02 10:40 99次阅读
    安科瑞AWT100-DP 无线<b class='flag-5'>通讯</b>终端,支持串口MODBUS RTU<b class='flag-5'>协议</b>

    ptp协议的基本原理解析

    点对点协议(Point-to-Point Protocol,简称PPP)是一种用于点对点(Point-to-Point)连接的数据链路层通信协议。它主要用于通过拨号、专线或移动网络等建立的直接
    的头像 发表于 12-29 10:08 235次阅读

    三菱PLC通讯协议详细解析

    三菱PLC(Programmable Logic Controller)是一种广泛应用于工业自动化领域的可编程逻辑控制器。它通过特定的通讯协议与各种设备进行数据交换。 1. 主要特点 三菱PLC
    的头像 发表于 12-26 16:48 565次阅读

    充电桩通讯协议测试内容及方法

    充电桩通讯协议测试是为了确保充电桩与车辆之间的通讯符合相关标准和规定,确保充电过程的安全性和可靠性。测试内容主要包括协议一致性检测、互操作性检测、电气性能测试等方面。 一、测试内容
    的头像 发表于 11-22 18:05 367次阅读
    充电桩<b class='flag-5'>通讯</b><b class='flag-5'>协议</b>测试内容及方法

    PLC通讯协议有哪些

    PLC(可编程逻辑控制器)通讯协议是工业自动化领域中用于PLC与其他设备(如传感器、执行器、计算机等)之间交换数据的标准和规范。这些协议在工业自动化中起着至关重要的作用,它们决定了
    的头像 发表于 09-25 18:15 909次阅读

    IIC通讯协议解析

    广泛使用的读法。自2006年10月1日起,使用I²C协议已经不需要支付专利费,但制造商仍然需要付费以获取I²C从属设备地址。 接口 I2C串行总线一般有两根信号线,一根是双向的数据线SDA,另一
    发表于 09-12 16:09

    UART串口通讯协议解析

    - 数据接受接口 GND - 保证两设备共地,有统一的参考平面 通信协议 UART串口传输的数据被组织成数据包。每个数据包包含1个起始位
    发表于 09-12 16:01

    PLC协议解析数据采集网关有什么作用

    分析的需求。因此,PLC协议解析数据采集网关应运而生,成为连接现场设备与云端平台的关键桥梁。 1. 数据采集与转换 PLC协议
    的头像 发表于 09-12 13:45 262次阅读
    PLC<b class='flag-5'>协议</b><b class='flag-5'>解析</b><b class='flag-5'>数据</b>采集网关有什么作用

    对等通讯协议有哪些类型

    对等通讯协议(Peer-to-Peer Protocols)是计算机网络中允许两个或多个节点直接相互通信而无需通过中间服务器的协议。这类协议在文件共享、即时通信、区块链技术等领域有广泛
    的头像 发表于 09-09 17:11 511次阅读

    plc协议解析网关是什么

    PLC协议解析网关是一种专门用于工业自动化领域的设备,它的主要功能是实现不同通信协议之间的转换和解析,以便于不同类型的PLC、传感器、执行器等设备能够互相通信和
    的头像 发表于 07-12 15:41 379次阅读
    plc<b class='flag-5'>协议</b><b class='flag-5'>解析</b>网关是什么

    三菱PLC支持哪些通讯协议

    。在三菱PLC的应用过程中,通讯协议起着至关重要的作用,它决定了PLC与其他设备之间的数据交换方式。本文将详细介绍三菱PLC支持的通讯协议.
    的头像 发表于 07-01 10:20 5700次阅读

    Modbus协议转Profibus协议网关模块连PLC与激光发射器通讯

    将重点探讨PLC连接Modbus协议转Profibus协议网关模块(XD-MDPB100)与激光发射器通讯的相关内容,为您详细解析这一过程的原理与操作步骤。
    的头像 发表于 06-22 10:24 436次阅读
    Modbus<b class='flag-5'>协议</b>转Profibus<b class='flag-5'>协议</b>网关模块连PLC与激光发射器<b class='flag-5'>通讯</b>

    工业网络通讯协议有哪些

    随着工业自动化的不断发展,设备之间的互联互通和数据交换变得越来越重要。工业网络通讯协议作为实现这一功能的关键技术,其在工业自动化系统中扮演着至关重要的角色。本文将对工业网络通讯
    的头像 发表于 06-06 18:02 1793次阅读

    Modbus-RTU通讯协议是什么?

    Modbus-RTU通讯协议是一种串行通讯协议,它可以用于连接不同类型的设备,以实现远程监控和控制。Modbus协议包括RTU、ASCII、
    的头像 发表于 05-23 15:06 682次阅读