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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    探索 onsemi EcoSPARK2 HV - HE IGBT FGB5065G2 - F085:特性、参数与应用解析

    作为电子工程师,在选择合适的功率器件时,往往需要全面了解其特性、参数以及适用场景。今天,我们就来深入探讨 onsemi 的 EcoSPARK2 HV - HE IGBT FGB5065G2 - F085,看看它能为我们的设计带来
    的头像 发表于 11-27 15:45 627次阅读
    探索 onsemi EcoSPARK<b class='flag-5'>2</b> HV - HE IGBT FGB5065G<b class='flag-5'>2</b> - F<b class='flag-5'>085</b>:特性、参数与应用<b class='flag-5'>解析</b>

    如何理解工业物联网网关的协议解析功能

    工业物联网网关的协议解析功能是其核心能力之一,它通过将不同工业设备使用的多样化通信协议转换为统一格式,实现异构设备间的无缝互联与数据交互。以下从功能定位、技术实现、应用场景三个维度展开
    的头像 发表于 10-15 11:40 156次阅读

    协议解析网关是什么?有什么功能?

    协议解析网关是一种位于不同网络或设备之间的中间件设备或软件系统,主要作用是解决不同通信协议之间的不兼容性问题。它能够接收来自不同设备或系统的数据包,识别其携带的
    的头像 发表于 08-13 14:04 584次阅读
    <b class='flag-5'>协议</b><b class='flag-5'>解析</b>网关是什么?有什么功能?

    PLC通过智能网关实现HTTP协议通讯,先取得token后再提交获取JSON格式的数据文件

    智能网关IGT-DSER集成了多种PLC的原厂协议,方便实现各种PLC、智能仪表通过HTTP协议与MES等各种系统平台通讯对接。PLC内不用编写程序,通过网关的参数配置软件(在附件中)配置JSON
    发表于 06-17 16:07

    1588v2协议:精确时间同步技术深度解析与实测演示

    引言: 在现代通信网络中,精确的时间同步是确保系统高效运行的关键。1588v2协议,也称为精确时间协议(PTP),正是为此而生。本文将深入解析1588v
    的头像 发表于 04-24 17:56 1362次阅读
    1588v<b class='flag-5'>2</b><b class='flag-5'>协议</b>:精确时间同步技术深度<b class='flag-5'>解析</b>与实测演示

    PROFINET通讯协议报文解析

    通讯协议的报文进行详细解析,涵盖其体系结构、工作原理、报文类型、通信过程等方面,以期为相关技术人员提供高质量的参考。
    的头像 发表于 02-03 14:29 5993次阅读

    EtherCAT通讯协议详细解析

    Automation GmbH)研发。EtherCAT自2003年被引入市场以来,凭借其高性能、低延迟和灵活的拓扑结构,迅速成为工业自动化领域的重要通信技术之一。本文将对EtherCAT通讯协议进行详细解析,包括其概述、工作原
    的头像 发表于 02-02 16:34 8254次阅读

    HTTP网络通讯过程

    过程 客户端(发送方组包) 1)HTTP 浏览器 解析 URL (协议、域名、资源路径) 生成  HTTP 请求报文 2)DNS(真实地址查
    的头像 发表于 01-20 09:07 1050次阅读
    HTTP网络<b class='flag-5'>通讯</b>过程

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

    什么是PROFINET通讯协议?PROFINET通讯协议(ProcessFieldNetwork)是一种专为工业自动化领域设计的基于以太网的实时通信
    的头像 发表于 01-08 17:32 924次阅读
    虹科培训 | 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 687次阅读
    安科瑞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 1678次阅读

    三菱PLC通讯协议详细解析

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

    AUTOSAR通信协议解析 如何实现AUTOSAR通信

    通信协议栈是一个复杂的系统,它涵盖了多种通信方式和模块,以实现车内ECU之间的高效、可靠的数据交换。以下是对AUTOSAR通信协议解析及实现AUTOSAR通信的方法: 一、AUTOS
    的头像 发表于 12-17 14:54 3945次阅读

    请问DAC121C085的寄存器可以读写多少次?

    请问DAC121C085的寄存器可以读写多少次?想使用此DAC产生正弦波,需要不断通过I2C总线往DAC121C085寄存器写入数据,这对DAC的寿命有影响吗?
    发表于 12-13 07:08

    2个DAC088S085菊花链连接上使用,Din、Dout等LOGIC信号电压是VA吗?

    2个DAC088S085菊花链连接上使用。 第一个DAC088S085在VA:5.0V、VREF:5.0V、第二个DAC088S085在VA:5.0V、VREF:3.3V中进行连接。
    发表于 12-05 08:24