7.3、LSM6DSL硬件功能

7.3、LSM6DSL硬件功能

7.3.1、LSM6DSL工作模式

LSM6DSL里的陀螺仪和加速度计有互相独立的开关和ODR.且提供了 3 种可能的操作配置:

  • 只有加速度计工作,陀螺仪下电
  • 只有陀螺仪工作,加速度计下电
  • 加速度计和陀螺仪均工作,且具有独立的 ODR

加速度计和陀螺仪可分别配置为四种不同的功耗模式:掉电,低功耗,正常和高性能模式。它们可以具有不同的数
据率而不受任何限制。陀螺仪传感器还能够设置为睡眠模式,以降低其功耗。

7.3.1.1、掉电模式

内部几乎所有模块断开,但是IIC/SPI继续工作,配置寄存器值保留,但是数据寄存器值不更新,可保存进入掉电模式前存储器中采样的最后数据.

7.3.1.2、低功耗模式

该模式下,低速ODR使能,可选ODR,1.6 Hz、 12.5 Hz、 26 Hz 和 52 Hz。

数据中断时激活的.

7.3.1.3、正常模式

加速度计/陀螺仪数据读取链自动打开和关闭,以便节能。在陀螺仪模块中,只有驱动电路是始终工作的。

数据中断产生是激活的

7.3.1.4、高性能模式

高性能模式下,所有的加速器/陀螺仪电路始终接通,并通过 ODR_XL/ODR_G 位来选择生成数据的数据率。

数据中断产生是激活的

7.3.1.5、陀螺仪睡眠模式

当陀螺仪处于睡眠模式时,陀螺仪模块的振荡驱动电路保持激活。相比于陀螺仪下电模式,从睡眠模式到低功耗/正常/高性能模式的打开时间大幅度减少。

如果陀螺仪未被配置为下电模式,则当 CTRL4_C 寄存器的睡眠模式使能(SLEEP)位被置为 1 时,不论所选陀螺仪 ODR 为何,它都将进入睡眠模式。

7.3.2、LSM6DSL嵌入式功能

如果不在意功耗的话,可以开启芯片内部的一些专用模块(只使用加速度计)可实现以下功能.

  • 计步功能(步伐侦测和步数计算);
  • 大幅运动检测;
  • 相对倾斜;
  • 绝对手腕倾斜;
  • 时间戳.

所有功能工作于26HZ,所以加速度计ODR必须设定为26HZ或者更高.

这些功能在AN5050手册里面都有具体的使用方法(寄存器).

7.3.3、LSM6DSL中断

LSM6DSL 器件中,中断产生仅以加速度计数据为基础,因此要产生中断,加速度计传感器必须设置为活动工作模式(不能处于下电模式);陀螺仪传感器可配置为下电模式,因为它与中断产生无关。
可对中断发生器进行配置,来检测:

  • 自由落体;
  • 唤醒;
  • 6D/4D 方向检测;
  • 单击和双击感测;
  • 活动/不活动识别。

此外, LSM6DSL 能够高效运行 Android 中特定的传感器相关功能,可节能并具有更快的反应速度。以下功能仅在使用加速度计的硬件中实现:

  • 大幅运动检测;
  • 相对倾斜;
  • 绝对手腕倾斜;
  • 计步功能;
  • 时间戳

这些信号和FIFO的中断信号都可以被独立的设定到INT1和INT2中断引脚,通过特定的寄存器分别检测.

INT1引脚通过配置MD1_CFG(5Eh)和INT1_CTRL(0Dh)来选择,其中INT1引脚支持如下中断.

  • INT1_STEP_DETECTOR: INT1 上计步器步伐检测中断
  • INT1_SIGN_MOT: INT1 上大幅运动中断
  • INT1_FULL_FLAG: INT1 上 FIFO 全满标志中断
  • INT1_FIFO_OVR: INT1 上 FIFO 溢出标志中断
  • INT1_FTH: INT1 上 FIFO 阈值中断
  • INT1_BOOT: INT1 上启动中断
  • INT1_DRDY_G: INT1 上陀螺仪数据准备就绪
  • INT1_DRDY_XL: INT1 上加速度计数据准备就绪
  • INT1_INACT_STATE: INT1 上非活动中断
  • INT1_SINGLE_TAP: INT1 上单击中断
  • INT1_WU: INT1 上唤醒中断
  • INT1_FF: INT1 上自由落体中断
  • INT1_DOUBLE_TAP: INT1 上双击中断
  • INT1_6D: INT1 上 6D 检测中断
  • INT1_TILT: INT1 上倾斜中断
  • INT1_TIMER: INT1 上定时器中断

INT2引脚通过配置MD2_CFG(5Fh)和INT2_CTRL(0Eh)来选择,其中INT1引脚支持如下中断.

  • INT2_STEP_DELTA: INT2 上计步器步数识别时间变化量中断
  • INT2_STEP_COUNT_OV: INT2 上步数计数器溢出中断
  • INT2_FULL_FLAG: INT2 上 FIFO 全满标志中断
  • INT2_FIFO_OVR: INT2 上 FIFO 溢出标志中断
  • INT2_FTH: INT2 上 FIFO 阈值中断
  • INT2_DRDY_TEMP: INT2 上温度数据准备就绪
  • INT2_DRDY_G: INT2 上陀螺仪数据准备就绪
  • INT2_DRDY_XL: INT2 上加速度计数据准备就绪
  • INT2_INACT_STATE: INT2 上非活动中断
  • INT2_SINGLE_TAP: INT2 上单击中断
  • INT2_WU: INT2 上唤醒中断
  • INT2_FF: INT2 上自由落体中断
  • INT2_DOUBLE_TAP: INT2 上双击中断
  • INT2_6D: INT2 上 6D 检测中断
  • INT2_TILT: INT2 上倾斜中断
  • INT2_IRON: INT2 上软铁/硬铁中断

上述的中断可以同时开启,后续使用过程中只需要读取特定的寄存器即可判断具体是哪个中断.

同时支持所有的中断信号都从INT1引脚发出,但此功能默认状态是关闭,如需使用,需要配置CTRL4_C(13h)中的INT2_on_INT1位即可.

其余的关于各个中断详细信息参考AN5040.

7.3.4、LSM6DSL温度传感器

LSM6DSL 具有内部温度传感器,适用于环境温度测量。
如果加速度计和陀螺仪传感器均处于下电模式,则温度传感器关闭。
温度传感器的最大输出数据率为 52 Hz,其值取决于加速度计和陀螺仪传感器如何配置:

  • 如果陀螺仪处于下电模式:
    1. 如果加速度计 ODR 等于 12.5 Hz 低功耗模式,则温度数据速率等于 12.5 Hz;
    2. 如果加速度计配置为 26 Hz 低功耗模式,则温度数据速率等于 26 Hz;
    3. 对于所有其他的加速度计配置,温度数据速率均等于 52 Hz。
  • 如果陀螺仪不是处于下电模式,则无论加速度计和陀螺仪配置是什么,温度数据速率均为 52 Hz。

7.3.5、LSM6DSL FIFO

LSM6DSL 嵌入了一个 4 kB 的先进先出缓冲器(FIFO).
FIFO内部可存储如下数据.

  • 陀螺仪传感器数据;
  • 加速度计传感器数据;
  • 外部传感器(连接到传感器集合(sensor hub)接口)数据;
  • 计步器和时间戳数据;
  • 温度传感器数据

7.3.5.1、FIFO模式

FIFO有五种不同的操作模式可以选择

  • Bypass mode
  • FIFO mode
  • Continuous mode
  • Continuous-to-FIFO mode
  • Bypass-to-continuous mode
7.3.5.1.1、Bypass mode

这个是最简单的,不使用FIFO,FIFO里面是空的.

备注: FIFO置于该模式的时候,缓冲区将会被清0.

7.3.5.1.2、FIFO mode

FIFO继续填直至填满.然后停止采集数据, FIFO 内容保持不变,直至选用不同模式.

7.3.5.1.3、Continuous mode

FIFO 连续填充。当缓冲器满时, FIFO 索引重新从头开始,原有数据被新数据替代。最早先的数据继续被覆盖,直至读取操作释放了 FIFO 空间。要实现空间释放速度快于新数据产生速度,主处理器读取速度很重要。要停止此配置,必须选用 Bypass 模式。

用法和软件环形缓冲区类似.

7.3.5.1.4、Continuous-to-FIFO mode

此模式是先前所述的 Continue 和 FIFO 模式的组合。在 Continue-FIFO 模式中, FIFO 缓冲器开始工作于 Continue模式,当发生事件条件时切换为 FIFO 模式。
事件条件可为以下之一:

  • 双击:必须配置事件检测,并且 MD2_CFG 寄存器的 INT2_DOUBLE_TAP 位必须被置为 1;
  • 倾斜:必须配置事件检测,并且 MD2_CFG 寄存器的 INT2_TILT 位必须被置为 1;
  • 计步运动:必须配置事件检测,并且 INT1_CTRL 寄存器的 INT1_STEP_DETECTOR 位必须被置为 1;
  • 单击:必须配置事件检测,并且 MD2_CFG 寄存器的 INT2_SINGLE_TAP 位必须被置为 1;
  • 双击:必须配置事件检测,并且 MD2_CFG 寄存器的 INT2_DOUBLE_TAP 位必须被置为 1;
  • 自由落体:必须配置事件检测,并且 MD2_CFG 寄存器的 INT2_FF 位必须被置为 1;
  • 唤醒:必须配置事件检测,并且 MD2_CFG 寄存器的 INT2_WU 位必须被置为 1;
  • 6D:必须配置事件检测,并且 MD2_CFG 寄存器的 INT2_6D 位必须被置为 1。

20201214011751

如图,该模式下只有在FIFO已经填满时才会停止.

7.3.5.1.5、Bypass-to-continuous mode

此模式是先前所述的 Bypass 和 Continue 模式的组合。在 Bypass-Continue 模式中, FIFO 缓冲器开始工作于
Bypass 模式,当发生事件条件时切换为 Continue 模式。
事件条件可为以下之一:

  • 双击:必须配置事件检测,并且 MD2_CFG 寄存器的 INT2_DOUBLE_TAP 位必须被置为 1;
  • 倾斜:必须配置事件检测,并且 MD2_CFG 寄存器的 INT2_TILT 位必须被置为 1;
  • 计步运动:必须配置事件检测,并且 INT1_CTRL 寄存器的 INT1_STEP_DETECTOR 位必须被置为 1;
  • 单击:必须配置事件检测,并且 MD2_CFG 寄存器的 INT2_SINGLE_TAP 位必须被置为 1;
  • 双击:必须配置事件检测,并且 MD2_CFG 寄存器的 INT2_DOUBLE_TAP 位必须被置为 1;
  • 自由落体:必须配置事件检测,并且 MD2_CFG 寄存器的 INT2_FF 位必须被置为 1;
  • 唤醒:必须配置事件检测,并且 MD2_CFG 寄存器的 INT2_WU 位必须被置为 1;
  • 6D:必须配置事件检测,并且 MD2_CFG 寄存器的 INT2_6D 位必须被置为 1。

20201214011712

该模式下只有中断时间内才会读取FIFO,其余时间都是bypass状态.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值