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

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

    评论

    相关推荐

    串口通讯时的数据帧格式和通讯协议有什么区别?

    串口通讯时的数据帧格式和通讯协议是两个不同的概念,它们在串口通讯中起着不同的作用,但都是为了实现可靠的、有效的
    的头像 发表于 01-30 09:21 538次阅读

    eSPI协议抓包分析

    eSPI 协议在物理层是遵循 SPI 通讯规范的,但是协议层有差异,因此不能使用 SPI 协议解析(没有 eSPI
    的头像 发表于 11-18 15:29 1265次阅读
    eSPI<b class='flag-5'>协议</b>抓包分析

    解读Modbus通讯协议

    作为工控人,Modbus 通讯协议想必都不陌生,Modbus 通讯协议可以说是工业自动化领域应用最为广泛的通讯
    的头像 发表于 11-09 16:39 799次阅读

    TCP协议详细解析

    TCP是TCP/IP协议族中一个最核心的协议,它向下使用网络层IP协议,向上为应用层HTTP、FTP、SMTP、POP3、SSH、Telnet等协议提供支持。本文给出TCP报文格式的详
    的头像 发表于 11-03 09:14 1429次阅读
    TCP<b class='flag-5'>协议</b>详细<b class='flag-5'>解析</b>

    浅谈几种常见的数采设备通讯协议

    采集设备的通讯协议可以根据具体的采集设备类型而异。一般来说,采集设备的通讯协议包括以下方面: 通讯协议
    的头像 发表于 10-10 09:26 809次阅读

    Profinet接口通讯协议是什么

    Profinet接口通讯协议是什么?简单来说,它是一种基于以太网技术开发出来的实时通讯协议。相比于传统的Fieldbus技术,Profinet具有更高的
    的头像 发表于 08-21 08:58 1729次阅读
    Profinet接口<b class='flag-5'>通讯</b><b class='flag-5'>协议</b>是什么

    I2C通讯协议

    I2C通讯协议是一种由飞利浦公司开发的串行通信协议,具有引脚少、硬件实现简单、可扩展性强等优点。它仅使用两条线(SCL时钟线和SDA数据线)就能实现多机
    的头像 发表于 08-04 11:39 964次阅读
    I2C<b class='flag-5'>通讯</b><b class='flag-5'>协议</b>

    SH74572数据

    SH74572 数据
    发表于 07-14 19:00 0次下载
    <b class='flag-5'>SH</b>74572<b class='flag-5'>数据</b>表

    IDT8N3D085 数据

    IDT8N3D085 数据
    发表于 07-14 11:25 0次下载
    IDT8N3D<b class='flag-5'>085</b> <b class='flag-5'>数据</b>表

    SH7753グループ 数据

    SH7753グループ 数据
    发表于 07-13 19:18 0次下载
    <b class='flag-5'>SH</b>7753グループ <b class='flag-5'>数据</b>表

    常见的PLC通讯协议

    : 01常见的PLC通讯协议 PLC通讯协议是用于规范和描述PLC设备之间通讯协议和数据格式的标
    的头像 发表于 06-29 10:10 5991次阅读

    运动传感器BNO055 的Demo方案

    本Demo 方案板卡配合OWL-BNO055-Bit 模组为用户提供更快捷的开发,OWL-BNO055 方案板作为前期设计。而OWL-BNO055-Bit 直接为用户提供BNO055
    的头像 发表于 06-24 14:36 519次阅读
    运动传感器<b class='flag-5'>BNO</b>055 的Demo方案

    esp12-f i2c coms不工作/格式错误怎么处理?

    所以我试图通过 i2c 连接到 bno085(imu) 的 esp12-f 创建 aa curcut。当我尝试使用像 i2c 扫描仪这样的基本草图时,它会在时钟或数据线上创建 0 输出
    发表于 05-25 07:49

    Modbus通讯协议的几种实现方式

    中,供OPC客户端访问。通过LabVIEW编程实现的部分相当于OPC客户端,用于从OPC服务器端读写数据。关于LabVIEW下使用OPC协议通讯办法,NI官方有详细的文档资料。搭建的OPC服务器示意
    发表于 05-05 16:19

    SH7722数据

    SH7722 数据
    发表于 04-26 19:54 0次下载
    <b class='flag-5'>SH</b>7722<b class='flag-5'>数据</b>表