LSM6DSO_studyNote

ST LSM6DSO Study Note


LSM6DSO的参数与特性

  • 使用电压:1.71 -3.6V
  • 温度范围:-40 to +85℃
  • 封装:LGA-14L(2.5mm3mm0.83mm)
  • 接口:SPI、IIC
  • FIFO:9kBytes
  • 加速度计量程:2g/4g/8g/16g
  • 陀螺仪量程:125/250/500/1000/2000 dps
  • 特色功能:计步器、走路检测、计步
  • 中断:跌落检测、wakeUp检测、6D/4D检测、单双击检测

LS6DSO Pin Description

Pin Name Mode 1 Function
1 SDO/SAO 如果SPI模式,数据输出(SDO)。如果IIC模式,设置芯片地址(SA0)
2 SDx 连接到VDDIO或者GND,ST推荐连接到VDDIO
3 SCx 连接到VDDIO或者GND,ST推荐连接到VDDIO
4 INT1 可编程中断,IIC/SPI配置
5 VDDIO 为I/O供电的电源
6 GND 0 V supply
7 GND 0 V supply
8 VDD Power supply
9 INT2 可编程中断/数据使能(DEN)
10 OCS_Aux 悬空
11 SDO_Aux 连接到VDD_IO或者断开连接
12 CS 如果拉高:SPI被禁止、IIC使能;如果拉低:SPI使能,IIC禁止
13 SCL 时钟线
14 SDA 数据线

LSM6DSO Operating modes

  • Accelerometer action & Gyroscope in Power-Down or Sleep
  • 陀螺仪运行,加速度在Powen-down模式
  • 加速度计与陀螺仪都在ODR模式

    LSM6DSO初始化设置

  • 设置模式
  • 设置输出速率
  • 设置量程

LSM6DSO 数据读取

状态寄存器读取

  • STATUS_REG:
    • TDA:Senser内温度数据准备好
    • GDA:Senser内陀螺仪的数据准备好
    • XLDA:Senser内加速度计数据准备好

中断读取

中断分为两个可配置中断:INT1、INT2,两个中断都可以分别配置成不同的中断源,根据INT1_CTRL&INT2_CTRL决定
  • INT1_CTRL:
    • INT1_DRDY_G:陀螺仪数据中断
    • INT1_DRDY_xl:加速度数据中断
  • INT2_CTRL:
    • INT2_DRDY_TEMP:温度数据中断
    • INT2_DRDY_G:陀螺仪数据中断
    • INT2_DRDY_xl:加速度数据中断

数据的读取:

Senser Data = Output Data *Sensitivity(@FS)

数据读取寄存器:

  • OUTX_H_A
  • OUTX_L_A
  • 等等

    数据计算步骤:

  • 从传感器中读取三轴寄存器值
  • 将2个字节的寄存器数据转换为有符号的16进制数值
  • 有符号的16进制数据乘以相对的Sensitivity

    举个例子:

LSM6DSO的ACC:量程为2G的情况下,Sensitivity = 0.061mg/LSB
以下表格数据为量程2g状态下

Acceleration values OUTX_H_A (29h) OUTX_L_A (28h)
0g 00 00
350mg 16h 69h
1g 40h 09h
-350mg E9h 97h
-1g BFh F7h
  • 350mg = 0x1669H*0.061
  • -350mg =0XE996h0.061 = 0x1669 0.061
    (因为是有符号的16进制,第一位如果为1那么数据为负数;16进制转换成10进制,取反加一即可或者使用WIN10自带的计算器,输入十六进制,点击Word即可)