7.6、LSM6DSL_SENSOR_HUB模式

7.6、LSM6DSL_SENSOR_HUB模式

7.6.1、简介

硬件概述里面讲了有两种接线模式,其中第二种模式允许外部传感器连接到LSM6DSL.

7.6.2、LSM6DSL_SENSOR_HUB模式

该模式下的接线图如下所示.

20210128235446

在模式2(SENSOR HUB mode)下,最多有四个传感器连接到LSM6DSL器件的I2C主接口.有两种触发方式.

  • 和加速度计数据就绪信号(MAX 104HZ)同步(内部触发)

  • 将传感器的触发信号连接到INT2,最大ODR取决于两个连续触发信号之间可以执行的读/写操作数量.

关于这个模式我也仔细过了一遍,重点说一下可以配置的项,如果要使用的话可以参考AN5040文档.

  • sensor_hub模式有一个总开关(MASTER_CONFIG寄存器)

  • LSM6DSL内部有一个关于从设备的IIC上拉开关
    (MASTER_CONFIG寄存器)

  • 从设备数据有两种触发方式可选(MASTER_CONFIG寄存器)

  • SLVX_ADD存放从设备的IIC地址和读写操作的选择位(X = 0,1,2,3)

  • SLVX_SUBADD存放从设备的(写/读)操作的寄存器地址(X = 0,1,2,3)

  • SLVEX_CONFIG有点复杂,需要阅读原文档.且每一个都有一点细微的差别.

  • 20210129002438

7.6.3、sensor_hub直连模式

简单说一下,直连模式个sensor_hub模式是两个模式.直连的等效电路如下所示.

20210128233709

我用的就是直连模式,sensor_hub模式并未使用,所以配置方法相对而言比较简单,共有如下两步.

  1. 关闭sensor_hub模式(默认关闭).

  2. 打开直连模式.

具体代码如下(添加到lsm6dsl.c).

int32_t LSM6DSL_Enable_Func(LSM6DSL_Object_t *pObj)
{
  int32_t ret = LSM6DSL_OK;
    /*  设定master_config的 MASTER_ON位 */
  if (lsm6dsl_sh_master_set(&(pObj->Ctx), PROPERTY_DISABLE) != LSM6DSL_OK)
  {
    return LSM6DSL_ERROR;
  }
  /*  设定master_config的 PASS_THROUGH_MODE */
  if(lsm6dsl_sh_pass_through_set(&(pObj->Ctx), PROPERTY_ENABLE) != LSM6DSL_OK)
  {
    return LSM6DSL_ERROR;
  }
  return ret;
}

如果想要sensor_hub模式和直连模式同时使用,那么配置可能就比较麻烦,可能有如下三种情形.

  1. sensor_hub模式为内部触发,且不使用直连功能时,INT2引脚无限制.

  2. sensor_hub模式为内部触发,但使用直连功能时,INT2引脚必须接地.不能使用外部触发信号,不能使用INT2引脚.

  3. sensor_hub模式为外部触发,且直连功能不使用,INT2引脚必须连接到外部传感器的数据准备就绪引脚.并且必须执行如下操作避免与INT2的> 冲突.如下所示.

20210129000649

比较复杂,我只挂载了一个传感器使用的直连模式.所以没有尝试.关于两种模式同时初始化的方法如下所示.

20210129001114

关于更具体的可以参考官方AN5040文档.里面有较为详细的介绍,只是在阅读的时候需要多读几遍,翻译的不是很好,有点难理解.

7.6.4 测试结果

在只使用直连模式的情况下,测试结果如下所示.

20210129001411

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值