六轴传感器ICM-20608

news2025/3/9 19:01:57

ICM-20608-G是一个6轴传感器芯片,由3轴陀螺仪和3轴加速度计组成。陀螺仪可编程的满量程有:±250,±500,±1000和±2000度/秒。加速度计可编程的满量程有:±2g,±4g,±8g和±16g。学习Linux之SPI之前,先要了解这个芯片。

ICM-20608芯片具有16位adc、可编程数字滤波器、嵌入式温度传感器和可编程中断。可选择I2C或SPI串行通讯,其中I2C通讯速度为400kHz,SPI的通讯速度为8MHz。VDD工作范围为1.71V至3.45V。

如果ICM-20608使用I2C通讯,则其从地址为b110100X,长度为7位。这个X,是由引脚AD0上的逻辑电平决定。当AD0=0时,ICM-20608的从设备地址为0x68;当AD0=1时,ICM-20608的从设备地址为0x69;这样,就可以允许两个ICM-20608连接到同一I2C总线上。

ICM-20608是通过读写寄存器来配置和读取传感器数据,如果使用SPI接口读写一个寄存器,只需要16个时钟。如果要读写多个寄存器,就需要更多时钟。第一个字节包含“读写的寄存器地址”,寄存器地址最高位是读写标志位。寄存器地址最高位为1,就表示读寄存器;寄存器地址最高位为0,就表示写寄存器,剩下的7位才是实际的寄存器地址。寄存器地址后面跟着的就是“读写的数据”。

ICM-20608检测轴方向和极性

1、陀螺仪SELF_TEST_X_GYRO寄存器

地址:0x00,类型:读/写

名称

描述

[7:0]

XG_ST_DATA[7:0]

XG_ST_DATA[7:0]表示在制造测试期间“X轴每秒角速率”的自检输出,也是最终用户执行的自检输出。

2、陀螺仪SELF_TEST_Y_GYRO寄存器

地址:0x01,类型:读/写

名称

描述

[7:0]

YG_ST_DATA[7:0]

YG_ST_DATA[7:0]表示在制造测试期间“Y轴每秒角速率”的自检输出,也是最终用户执行的自检输出。

3、陀螺仪SELF_TEST_Z_GYRO寄存器

地址:0x02,类型:读/写

名称

描述

[7:0]

ZG_ST_DATA[7:0]

ZG_ST_DATA[7:0]表示在制造测试期间“Z轴每秒角速率”的自检输出,也是最终用户执行的自检输出。

4、加速度计SELF_TEST_X_ACCEL寄存器

地址:0x0D,类型:读/写

名称

描述

[7:0]

XA_ST_DATA[7:0]

XA_ST_DATA[7:0]表示在制造测试期间“X轴加速度”的自检输出,也是最终用户执行的自检输出。

5、加速度计SELF_TEST_Y_ACCEL寄存器

地址:0x0E,类型:读/写

名称

描述

[7:0]

YA_ST_DATA[7:0]

YA_ST_DATA[7:0]表示在制造测试期间“Y轴加速度”的自检输出,也是最终用户执行的自检输出。

6、加速度计SELF_TEST_Z_ACCEL寄存器

地址:0x0F,类型:读/写

名称

描述

[7:0]

ZA_ST_DATA[7:0]

ZA_ST_DATA[7:0]表示在制造测试期间“Z轴加速度”的自检输出,也是最终用户执行的自检输出。

7、陀螺仪XG_OFFS_USRH偏移调整寄存器

地址:0x13,类型:读/写

名称

描述

[7:0]

X_OFFS_USR[15:8]

X_OFFS_USR[15:8]表示X轴陀螺仪16位偏移量的第15位到第8位(2的补码)。用于消除传感器输出的直流偏置,在进入传感器寄存器之前,它被添加到陀螺仪传感器值中。

8、陀螺仪XG_OFFS_USRL偏移调整寄存器

地址:0x14,类型:读/写

名称

描述

[7:0]

X_OFFS_USR[7:0]

X_OFFS_USR[7:0]表示X轴陀螺仪16位偏移量的第7位到第0位(2的补码)。用于消除传感器输出的直流偏置,在进入传感器寄存器之前,它被添加到陀螺仪传感器值中。

9、陀螺仪YG_OFFS_USRH偏移调整寄存器

地址:0x15,类型:读/写

名称

描述

[7:0]

Y_OFFS_USR[15:8]

Y_OFFS_USR[15:8]表示Y轴陀螺仪16位偏移量的第15位到第8位(2的补码)。用于消除传感器输出的直流偏置,在进入传感器寄存器之前,它被添加到陀螺仪传感器值中。

10、陀螺仪YG_OFFS_USRL偏移调整寄存器

地址:0x16,类型:读/写

名称

描述

[7:0]

Y_OFFS_USR[7:0]

Y_OFFS_USR[7:0]表示Y轴陀螺仪16位偏移量的第7位到第0位(2的补码)。用于消除传感器输出的直流偏置,在进入传感器寄存器之前,它被添加到陀螺仪传感器值中。

11、陀螺仪ZG_OFFS_USRH偏移调整寄存器

地址:0x17,类型:读/写

名称

描述

[7:0]

Z_OFFS_USR[15:8]

Z_OFFS_USR[15:8]表示Z轴陀螺仪16位偏移量的第15位到第8位(2的补码)。用于消除传感器输出的直流偏置,在进入传感器寄存器之前,它被添加到陀螺仪传感器值中。

12、陀螺仪ZG_OFFS_USRL偏移调整寄存器

地址:0x18,类型:读/写

名称

描述

[7:0]

Z_OFFS_USR[7:0]

Z_OFFS_USR[7:0]表示Y轴陀螺仪16位偏移量的第7位到第0位(2的补码)。用于消除传感器输出的直流偏置,在进入传感器寄存器之前,它被添加到陀螺仪传感器值中。

13、SMPLRT_DIV采样率分配器

地址:0x19,类型:读/写

名称

描述

[7:0]

SMPLRT_DIV[7:0]

当FCHOICE_B [1:0]=00和(0 < DLPF_CFG < 7)时,该寄存器配置才有效。

FIFO采样率:SAMPLE_RATE=INTERNAL_SAMPLE_RATE/ (1 + SMPLRT_DIV)

INTERNAL_SAMPLE_RATE = 1kHz

14、CONFIG寄存器

地址:0x1A,类型:读/写

名称

描述

[7]

-

总是设置为0

[6]

FIFO_MODE

当设置为’1’时,当FIFO已满时,将不会向FIFO写入额外的写操作。

当设置为’0’时,当FIFO已满时,将向FIFO写入额外的写操作,替换旧的数据。

[5:3]

EXT_SYNC_SET[2:0]

启用FSYNC引脚数据采样。

EXT_SYNC_SET[2:0]=0时,不启用FSYNC引脚数据采样。

EXT_SYNC_SET[2:0]=1时,TEMP_OUT_L[0]。

EXT_SYNC_SET[2:0]=2时,GYRO_XOUT_L[0]。

EXT_SYNC_SET[2:0]=3时,GYRO_YOUT_L[0]。

EXT_SYNC_SET[2:0]=4时,GYRO_ZOUT_L[0]。

EXT_SYNC_SET[2:0]=5时,ACCEL_XOUT_L[0]。

EXT_SYNC_SET[2:0]=6时,ACCEL_YOUT_L[0]。

EXT_SYNC_SET[2:0]=7时,ACCEL_ZOUT_L[0]。

[2:0]

DLPF_CFG[2:0]

当FCHOICE_B [1:0]=00时,设置陀螺仪低通滤波,见下表。

FCHOICE_B[1:0]

DLPF_CFG[2:0]

陀螺仪滤波

温度滤波

3-dB BW(Hz)

Noise BW(Hz)

Rate(kHz)

3-dB BW(Hz)

1

X

8173

8595.1

32

4000

2

X

3281

3451.0

32

4000

0

0

250

306.6

8

4000

0

1

176

177.0

1

188

0

2

92

108.6

1

98

0

3

41

59.0

1

42

0

4

20

30.5

1

20

0

5

10

15.6

1

10

0

6

5

8.0

1

5

0

0

3281

3451.0

8

4000

15、GYRO_CONFIG陀螺仪量程设置

地址:0x1B,类型:读/写

名称

描述

[7]

XG_ST

陀螺仪X轴自检

[6]

YG_ST

陀螺仪Y轴自检

[5]

ZG_ST

陀螺仪Z轴自检

[4:3]

FS_SEL[1:0]

陀螺仪满量程选择:

FS_SEL[1:0]=00时,陀螺仪满量程为±250dps;

FS_SEL[1:0]=01时,陀螺仪满量程为±500dps;

FS_SEL[1:0]=10时,陀螺仪满量程为±1000dps;

FS_SEL[1:0]=11时,陀螺仪满量程为±2000dps;

[2]

-

保留

[1:0]

FCHOICE_B[1:0]

FCHOICE_B[1:0]=00时,用来设置DLPF滤波

16、ACCEL_CONFIG加速度计量程设置

地址:0x1C,类型:读/写

名称

描述

[7]

XA_ST

加速度计X轴自检

[6]

YA_ST

加速度计Y轴自检

[5]

ZA_ST

加速度计Z轴自检

[4:3]

ACCEL_FS_SEL[1:0]

加速度计满量程选择:

ACCEL_FS_SEL[1:0]=00时,加速度计满量程为±2g;

ACCEL_FS_SEL[1:0]=01时,加速度计满量程为±4g;

ACCEL_FS_SEL[1:0]=10时,加速度计满量程为±8g;

ACCEL_FS_SEL[1:0]=11时,加速度计满量程为±16g;

[2:0]

-

保留

17、ACCEL_CONFIG2加速度计低通设置

地址:0x1D,类型:读/写

名称

描述

[7:6]

-

保留

[5:4]

DEC2_CFG[1:0]

低功率加速度计模式的平均滤波器设置:

DEC2_CFG[1:0]=00时,平均采样4次;

DEC2_CFG[1:0]=01时,平均采样8次;

DEC2_CFG[1:0]=10时,平均采样16次;

DEC2_CFG[1:0]=11时,平均采样32次;

[3]

ACCEL_FCHOICE_B

用来设置“加速度计数据速率和带宽”,见下表。

[2:0]

A_DLPF_CFG[2:0]

“加速度计数据速率和带宽”设置:

ACCEL_FCHOICE_B

A_DLPF_CFG[2:0]

加速度计

3-dB BW(Hz)

Noise BW(Hz)

Rate(kHz)

1

X

1046.0

1100.0

4

0

0

218.1

235.0

1

0

1

218.1

235.0

1

0

2

99.0

121.3

1

0

3

44.8

61.5

1

0

4

21.2

31.0

1

0

5

10.2

15.5

1

0

6

5.1

7.8

1

0

7

420.0

441.6

1

在低噪声模式下,加速度计配置:

ACCEL_FCHOICE_B

1

0

0

0

0

A_DLPF_CFG[2:0]

X

7

7

7

7

DEC2_CFG[1:0]

X

0

1

2

3

Averages

1X

4X

8X

16X

32X

Ton (ms)

1.084

1.84

2.84

4.84

8.84

Noise BW (Hz)

1100.0

441.6

235.0

121.3

61.5

Noise (mg) TYP based on 250μg/√Hz

8.3

5.3

3.8

2.8

2.0

SMPLRT_DIV[7:0]

ODR(Hz)

电流消耗(μA)TYP

255

3.9

8.4

9.4

10.8

13.6

19.2

127

7.8

9.8

11.9

14.7

20.3

31.4

63

15.6

12.8

17.0

22.5

33.7

55.9

31

31.3

18.7

27.1

38.2

60.4

104.9

15

62.5

30.4

47.2

69.4

113.9

202.8

7

125.0

57.4

87.5

132.0

220.9

N/A

3

250.0

100.9

168.1

257.0

N/A

N/A

1

500.0

194.9

329.3

N/A

N/A

N/A

18、LP_MODE_CFG低功耗模式配置寄存器

地址:0x1E,类型:读/写

名称

描述

[7]

GYRO_CYCLE

GYRO_CYCLE=1时,启用低功耗陀螺仪模式。默认设置为GYRO_CYCLE=0

[6:4]

G_AVGCFG[2:0]

低功耗陀螺仪模式的平均滤波器配置。默认G_AVGCFG[2:0]=000

[3:0]

LPOSC_CLKSEL[3:0]

低功率加速度输出数据率:

LPOSC_CLKSEL[3:0]=0时,输出频率为0.24Hz;

LPOSC_CLKSEL[3:0]=1时,输出频率为0.49Hz;

LPOSC_CLKSEL[3:0]=2时,输出频率为0.98Hz;

LPOSC_CLKSEL[3:0]=3时,输出频率为1.95Hz;

LPOSC_CLKSEL[3:0]=4时,输出频率为3.91Hz;

LPOSC_CLKSEL[3:0]=5时,输出频率为7.81Hz;

LPOSC_CLKSEL[3:0]=6时,输出频率为15.63Hz;

LPOSC_CLKSEL[3:0]=7时,输出频率为31.25Hz;

LPOSC_CLKSEL[3:0]=8时,输出频率为62.5Hz;

LPOSC_CLKSEL[3:0]=9时,输出频率为125Hz;

LPOSC_CLKSEL[3:0]=10时,输出频率为250Hz;

LPOSC_CLKSEL[3:0]=11时,输出频率为500Hz;

LPOSC_CLKSEL[3:0]=12~15时,保留;

若要陀螺仪工作在低功耗模式或6轴低功耗模式下,则应将GYRO_CYCLE设置为1。陀螺仪滤波器配置由G_AVGCFG[2:0]确定,设置平均滤波器配置。它不依赖于DLPF_CFG[2:0]。

下表显示了陀螺仪低功耗模式的一些示例配置:

FCHOICE_B[1:0]

0

0

0

0

0

0

0

0

G_AVGCFG[2:0]

0

1

2

3

4

5

6

7

Averages

1X

2X

4X

8X

16X

32X

64X

128X

Ton (ms)

1.73

2.23

3.23

5.23

9.23

17.23

33.23

65.23

Noise BW (Hz)

650.8

407.1

224.2

117.4

60.2

30.6

15.6

8.0

Noise (dps) TYP based on 0.008º/s/√Hz

0.2

0.16

0.12

0.09

0.06

0.04

0.03

0.02

SMPLRT_DIV[7:0]

ODR(Hz)

电流消耗典型值(mA)

255

3.9

1.3

1.3

1.3

1.3

1.4

1.4

1.5

1.8

99

10.0

1.3

1.3

1.4

1.4

1.5

1.6

1.9

2.5

64

15.4

1.4

1.4

1.4

1.5

1.6

1.8

2.2

N/A

32

30.3

1.4

1.4

1.5

1.6

1.8

2.2

N/A

N/A

19

50.0

1.5

1.5

1.6

1.8

2.1

2.8

N/A

N/A

9

100,0

1.6

1.7

1.9

2.2

3.0

N/A

N/A

N/A

7

125.0

1.7

1.8

2.0

2.5

N/A

N/A

N/A

N/A

4

200.0

1.9

2.1

2.5

N/A

N/A

N/A

N/A

N/A

3

250.0

2.1

2.3

2.7

N/A

N/A

N/A

N/A

N/A

2

333.3

2.3

2.6

N/A

N/A

N/A

N/A

N/A

N/A

1

500.0

2.9

N/A

N/A

N/A

N/A

N/A

N/A

N/A

19、ACCEL_WOM_THR唤醒运动阈值寄存器

地址:0x1F,类型:读/写

名称

描述

[7:0]

WOM_THR[7:0]

这个寄存器保存的是加速度计的“运动中断唤醒的阈值”。

20、FIFO_EN寄存器

地址:0x23,类型:读/写

名称

描述

[7]

TEMP_FIFO_EN

TEMP_FIFO_EN=1时,将TEMP_OUT_H和TEMP_OUT_L温度数据以采样率写入FIFO;如果启用,即使数据路径处于备用状态,也会发生数据缓冲。

TEMP_FIFO_EN=0时,功能被禁用。

[6]

XG_FIFO_EN

XG_FIFO_EN=1时,将GYRO_XOUT_H和GYRO_XOUT_L陀螺仪X轴数据以采样率写入FIFO;如果启用,即使数据路径处于备用状态,也会发生数据缓冲。

XG_FIFO_EN=0时,功能被禁用。

[5]

YG_FIFO_EN

YG_FIFO_EN=1时,将GYRO_YOUT_H和GYRO_YOUT_L陀螺仪Y轴数据以采样率写入FIFO;如果启用,即使数据路径处于备用状态,也会发生数据缓冲。

YG_FIFO_EN=0时,功能被禁用。

注意:启用陀螺仪或温度数据路径任何一个位,即使该数据路径未启用,数据也被缓冲到FIFO中。

[4]

ZG_FIFO_EN

ZG_FIFO_EN=1时,将GYRO_ZOUT_H和GYRO_ZOUT_L陀螺仪Z轴数据以采样率写入FIFO;如果启用,即使数据路径处于备用状态,也会发生数据缓冲。

ZG_FIFO_EN=0时,功能被禁用。

[3]

ACCEL_FIFO_EN

ACCEL_FIFO_EN=1时,将ACCEL_XOUT_H, ACCEL_XOUT_L, ACCEL_YOUT_H,ACCEL_YOUT_L,ACCEL_ZOUT_H,和ACCEL_ZOUT_L加速度数据以采样率写入FIFO;

ZG_FIFO_EN=0时,功能被禁用。

[2:0]

-

保留

21、FSYNC_INT为FSYNC中断状态寄存器

地址:0x36,类型:读/写

名称

描述

[7]

FSYNC_INT

当FSYNC中断产生时,这个位自动设置为1。

在读取寄存器后,该位清除为0。

22、INT_PIN_CFG为INT/DRDY引脚/ bypass使能配置寄存器

地址:0x36,类型:读/写

名称

描述

[7]

INT_LEVEL

INT_LEVEL=1时,INT/DRDY引脚被配置为低电平;

INT_LEVEL=0时,INT/DRDY引脚被配置为高电平;

[6]

INT_OPEN

INT_OPEN=1时,INT/DRDY引脚被配置为开漏极;

INT_OPEN=0时,INT/DRDY引脚被配置为推完输出;

[5]

LATCH_INT_EN

LATCH_INT_EN=1时,在中断状态被清除之前,INT/DRDY引脚保持电平不变。

LATCH_INT_EN=0时,中断脉宽为50us。

[4]

INT_RD_CLEAR

INT_RD_CLEAR=1时,如果有读操作,中断状态被清除。

INT_RD_CLEAR=0时,只有通过读取INT_STATUS寄存器才能清除中断状态。

[3]

FSYNC_INT_LEVEL

当中断被激活低时,FSYNC_INT_LEVEL=1表示FSYNC引脚的逻辑电平。

当中断被激活高时,FSYNC_INT_LEVEL=0表示FSYNC引脚的逻辑电平。

[2]

FSYNC_INT_MODE_EN

FSYNC_INT_MODE_EN=1时,使能FSYNC引脚触发中断,并令FSYNC引脚转换到FSYNC_INT_LEVEL指定的电平。

FSYNC_INT_MODE_EN=0时,FSYNC引脚被禁止引起中断。

[1]

-

保留

[0]

-

总是0

23、INT_ENABLE为中断使能寄存器

地址:0x38,类型:读/写

名称

描述

[7:5]

WOM_INT_EN[7:5]

WOM_INT_EN[7:5]=111时,使能加速度计运动中断;

WOM_INT_EN[7:5]=000时,不使能加速度计运动中断;

[4]

FIFO_OFLOW_EN

FIFO_OFLOW_EN=1时,使能FIFO缓冲区溢出产生中断。

FIFO_OFLOW_EN=0时,不使能FIFO缓冲区溢出产生中断。

[3]

-

保留

[2]

GDRIVE_INT_EN

GDRIVE_INT_EN=1时,陀螺仪驱动系统就绪中断使能。

[1]

-

保留

[0]

DATA_RDY_INT_EN

DATA_RDY_INT_EN=1时,数据就绪中断使能。

24、INT_STATUS为中断状态寄存器

地址:0x3A,类型:读/写

名称

描述

[7:5]

WOM_INT[7:5]

当加速度计的运动中断时,WOM_INT[7:5]=111

在读取寄存器后,WOM_INT[7:5]=000

[4]

FIFO_OFLOW_INT

当FIFO缓冲区溢出产生时,FIFO_OFLOW_INT=1

在读取寄存器后,FIFO_OFLOW_INT=0

[3]

-

保留

[2]

GDRIVE_INT

当陀螺仪驱动系统就绪中断时,GDRIVE_INT=1

[1]

-

保留

[0]

DATA_RDY_INT

当产生数据就绪中断时,DATA_RDY_INT=1

在读取寄存器后,DATA_RDY_INT=0

25、ACCEL_XOUT_H加速度X轴数据高8位寄存器

地址:0x3B,类型:只读

名称

描述

[7:0]

ACCEL_XOUT_H[7:0]

加速度X轴数据高8位

26、ACCEL_XOUT_L加速度X轴数据低8位寄存器

地址:0x3C,类型:只读

名称

描述

[7:0]

ACCEL_XOUT_L[7:0]

加速度X轴数据低8位

X轴实际加速度:accel_x_act =(float)(accel_x_adc)/2048;

27、ACCEL_YOUT_H加速度Y轴数据高8位寄存器

地址:0x3D,类型:只读

名称

描述

[7:0]

ACCEL_YOUT_H[7:0]

加速度Y轴数据高8位

28、ACCEL_YOUT_L加速度Y轴数据低8位寄存器

地址:0x3E,类型:只读

名称

描述

[7:0]

ACCEL_YOUT_L[7:0]

加速度Y轴数据低8位

Y轴实际加速度:accel_y_act =(float)(accel_y_adc)/2048;

29、ACCEL_ZOUT_H加速度Z轴数据高8位寄存器

地址:0x3F,类型:只读

名称

描述

[7:0]

ACCEL_ZOUT_H[7:0]

加速度Z轴数据高8位

30、ACCEL_ZOUT_L加速度Z轴数据低8位寄存器

地址:0x40,类型:只读

名称

描述

[7:0]

ACCEL_ZOUT_L[7:0]

加速度Z轴数据低8位

.Z轴实际加速度:accel_z_act =(float)(accel_z_adc)/2048;

31、TEMP_OUT_H温度传感器输出高8位寄存器

地址:0x41,类型:只读

名称

描述

[7:0]

TEMP_OUT_H[7:0]

温度传感器输出高8位

32、TEMP_OUT_L温度传感器输出低8位寄存器

地址:0x42,类型:只读

名称

描述

[7:0]

TEMP_OUT_L[7:0]

温度传感器输出低8位。

温度=

( (TEMP_OUT[15:0]-RoomTemp_Offset)/Temp_Sensitivity ) +25度

查表得RoomTemp_Offset=25,Temp_Sensitivity=326.8

实际温度值temp_act = ((float)(temp_adc)-25)/326.8 + 25;

33、GYRO_XOUT陀螺仪X轴输出寄存器

1)、GYRO_XOUT_H陀螺仪X轴输出高8位寄存器

地址:0x43,类型:只读

名称

描述

[7:0]

GYRO_XOUT[15:8]

陀螺仪X轴输出高8位。

2)、GYRO_XOUT_L陀螺仪X轴输出低8位寄存器

地址:0x44,类型:只读

名称

描述

[7:0]

GYRO_XOUT[7:0]

陀螺仪X轴输出低8位。

GYRO_XOUT = Gyro_Sensitivity * X_angular_rate

FS_SEL[1:0]=00时,陀螺仪满量程为±250dps,Gyro_Sensitivity = 131 LSB/(º/s)

陀螺仪X轴实际角度:gyro_x_act = (float)(gyro_x_adc)  / 16.4;

34、GYRO_YOUT陀螺仪Y轴输出寄存器

1)、GYRO_YOUT_H陀螺仪Y轴输出高8位寄存器

地址:0x45,类型:只读

名称

描述

[7:0]

GYRO_YOUT[15:8]

陀螺仪Y轴输出高8位。

2)、GYRO_YOUT_L陀螺仪Y轴输出低8位寄存器

地址:0x46,类型:只读

名称

描述

[7:0]

GYRO_YOUT[7:0]

陀螺仪Y轴输出低8位。

GYRO_YOUT = Gyro_Sensitivity * Y_angular_rate

FS_SEL[1:0]=00时,陀螺仪满量程为±250dps,Gyro_Sensitivity = 131 LSB/(º/s)

陀螺仪Y轴实际角度:gyro_y_act = (float)(gyro_y_adc)  / 16.4;

35、GYRO_ZOUT陀螺仪Z轴输出寄存器

1)、GYRO_ZOUT_H陀螺仪Z轴输出高8位寄存器

地址:0x47,类型:只读

名称

描述

[7:0]

GYRO_ZOUT[15:8]

陀螺仪Z轴输出高8位。

2)、GYRO_ZOUT_L陀螺仪Z轴输出低8位寄存器

地址:0x48,类型:只读

名称

描述

[7:0]

GYRO_ZOUT[7:0]

陀螺仪Z轴输出低8位。

GYRO_ZOUT = Gyro_Sensitivity * Z_angular_rate

FS_SEL[1:0]=00时,陀螺仪满量程为±250dps,Gyro_Sensitivity = 131 LSB/(º/s)

陀螺仪Z轴实际角度:gyro_z_act = (float)(gyro_z_adc)  / 16.4;

36、SIGNAL_PATH_RESET为信号通路复位寄存器

地址:0x68,类型:读/写

名称

描述

[7:2]

-

保留

[1]

ACCEL_RST

复位加速数字信号路径。注意:传感器寄存器不会被清除。可使用SIG_COND_RST清除传感器寄存器。

[0]

TEMP_RST

复位温度数字信号路径。注意:传感器寄存器不会被清除。可使用SIG_COND_RST清除传感器寄存器。

37、ACCEL_INTEL_CTRL为加速度计智能控制寄存器

地址:0x69,类型:读/写

名称

描述

[7]

ACCEL_INTEL_EN

这位启用了运动唤醒检测逻辑。

[6]

ACCEL_INTEL_MODE

ACCEL_INTEL_MODE=1时,将当前的样本与之前的样本进行比较。

ACCEL_INTEL_MODE=0时,将当前的样本与之前的样本不进行比较。

[5:0]

-

保留

38、USER_CTRL为用户控制寄存器

地址:0x6A,类型:读/写

名称

描述

[7]

-

保留

[6]

FIFO_EN

FIFO_EN=1时,使能FIFO操作模式。

FIFO_EN=0时,不使能从SPI串口访问FIFO。

要禁用DMA的FIFO写入,则令FIFO_EN=0

[5]

-

保留

[4]

I2C_IF_DIS

I2C_IF_DIS=1 ,禁用I2C从模块,并将串行接口置于SPI模式。

[3]

-

保留

[2]

FIFO_RST

FIFO_RST=1,复位FIFO模块。复位是异步的。该位在内部20MHz时钟的一个时钟周期后自动清除。

[1]

-

保留

[0]

SIG_COND_RST

SIG_COND_RST=1 ,复位所有陀螺仪数字信号路径,加速数字信号路径,和临时数字信号路径。

这个位也会清除所有的传感器寄存器。

39、PWR_MGMT_1为电源管理寄存器1

地址:0x6B,类型:读/写

名称

描述

[7]

DEVICE_RESET

DEVICE_RESET=1,重置内部寄存器,并恢复默认设置。一旦复位完成,该位自动清除为0。

[6]

SLEEP

SLEEP=1时,使能芯片进入睡眠模式。

注意:默认值为1,芯片从睡眠模式启动。

[5]

ACCEL_CYCLE

ACCEL_CYCLE=1,且SLEEP=0STANDBY=0时,芯片将在睡眠和采集单个加速度计样本之间循环,取单个加速度计样本的速率由SMPLRT_DIV决定。

注意:当通过PWR_MGMT_2寄存器位禁用所有加速度计轴并启用周期时,芯片将以上述各自寄存器确定的速率唤醒,但不会采集任何样本。

[4]

GYRO_STANDBY

GYRO_STANDBY=1时,陀螺仪驱动和锁相环电路被启用,但感测路径被禁用。这是一个低功耗模式,允许快速启用陀螺仪。

[3]

TEMP_DIS

TEMP_DIS=1时,禁用温度传感器。

[2:0]

CLKSEL[2:0]

CLKSEL[2:0]=0,内部振荡器为20MHz。

1<=CLKSEL[2:0]<=5,自动选择最佳的可用时钟源,如果准备好就使用这个锁相环,否则使用内部振荡器。

CLKSEL[2:0]=6,内部振荡器为20MHz。

CLKSEL[2:0]=7停止时钟并保持定时发生器复位

40、PWR_MGMT_2为电源管理寄存器2

地址:0x6C,类型:读/写

名称

描述

[7]

FIFO_LP_EN

FIFO_LP_EN=1,在低功耗加速度计模式下使能FIFO。

默认值为FIFO_LP_EN=0

[6]

-

保留

[5]

STBY_XA

STBY_XA=1,X轴加速计被禁用。

STBY_XA=0,X轴加速计被打开。

[4]

STBY_YA

STBY_YA=1,Y轴加速计被禁用。

STBY_YA=0,Y轴加速计被打开。

[3]

STBY_ZA

STBY_ZA=1,Z轴加速计被禁用。

STBY_ZA=0,Z轴加速计被打开。

[2]

STBY_XG

STBY_XG=1,X轴陀螺仪被禁用。

STBY_XG=0,X轴陀螺仪被打开。

[1]

STBY_YG

STBY_YG=1,Y轴陀螺仪被禁用。

STBY_YG=0,Y轴陀螺仪被打开。

[0]

STBY_ZG

STBY_ZG=1,Z轴陀螺仪被禁用。

STBY_ZG=0,Z轴陀螺仪被打开。

41、FIFO_COUNT为FIFO写入的字节数寄存器

1)、FIFO_COUNTH为FIFO写入的字节数高4位寄存器

地址:0x72,类型:只读

名称

描述

[7:5]

-

保留

[4:0]

FIFO_COUNT[12:8]

FIFO_COUNT[12:8]为FIFO写入的字节数高4位。

注意:为了将新数据锁存到FIFO_COUNTH和FIFO_COUNTL,必须读FIFO_COUNTH。

2)、FIFO_COUNTL为FIFO写入的字节数低8位寄存器

地址:0x73,类型:只读

名称

描述

[7:0]

FIFO_COUNT[7:0]

FIFO_COUNT[7:0]为FIFO写入的字节数低8位。

注意:为了将新数据锁存到FIFO_COUNTH和FIFO_COUNTL,必须读FIFO_COUNTH。

42、FIFO_R_W为FIFO读写寄存器

1)、FIFO_COUNTH为FIFO写入的字节数高4位寄存器

地址:0x74,类型:读/写

名称

描述

[7:0]

FIFO_DATA[7:0]

Read/Write命令为FIFO提供读或写操作。

43、WHO_AM_I为ID寄存器

地址:0x75,类型:读/写

名称

描述

[7:0]

WHOAMI[7:0]

ICM-20608G的ID为0XAF;

ICM-20608D的ID为0XAE。

44、XA_OFFSET为X轴加速度计偏移寄存器

1)、XA_OFFSET_H为X轴加速度计偏移抵消XA_OFFS[14:7]

地址:0x77,类型:读/写

名称

描述

[7:0]

XA_OFFS[14:7]

X轴加速度计的上位偏移抵消。

在所有满量程模式下,可抵消+/- 16g偏移,15位0.98毫克步骤。

2)、XA_OFFSET_L为X轴加速度计偏移抵消XA_OFFS[6:0]

地址:0x78,类型:读/写

名称

描述

[7:1]

XA_OFFS[6:0]

X轴加速度计的下位偏移抵消。

在所有满量程模式下,可抵消+/- 16g偏移,15位0.98毫克步骤。

[0]

-

保留。

45、YA_OFFSET为Y轴加速度计偏移寄存器

1)、YA_OFFSET_H为Y轴加速度计偏移抵消YA_OFFS[14:7]

地址:0x7A,类型:读/写

名称

描述

[7:0]

YA_OFFS[14:7]

Y轴加速度计的上位偏移抵消。

在所有满量程模式下,可抵消+/- 16g偏移,15位0.98毫克步骤。

2)、YA_OFFSET_L为Y轴加速度计偏移抵消YA_OFFS[6:0]

地址:0x7B,类型:读/写

名称

描述

[7:1]

YA_OFFS[6:0]

Y轴加速度计的下位偏移抵消。

在所有满量程模式下,可抵消+/- 16g偏移,15位0.98毫克步骤。

[0]

-

保留。

46、ZA_OFFSET为Z轴加速度计偏移寄存器

1)、ZA_OFFSET_H为Z轴加速度计偏移抵消ZA_OFFS[14:7]

地址:0x7D,类型:读/写

名称

描述

[7:0]

ZA_OFFS[14:7]

Z轴加速度计的上位偏移抵消。

在所有满量程模式下,可抵消+/- 16g偏移,15位0.98毫克步骤。

2)、ZA_OFFSET_L为Z轴加速度计偏移抵消ZA_OFFS[6:0]

地址:0x7E,类型:读/写

名称

描述

[7:1]

ZA_OFFS[6:0]

Z轴加速度计的下位偏移抵消。

在所有满量程模式下,可抵消+/- 16g偏移,15位0.98毫克步骤。

[0]

-

保留。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2312282.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TikTok Shop欧洲市场爆发,欧洲TikTok 运营网络专线成运营关键

TikTok在欧洲的影响力还在持续攀升&#xff0c;日前&#xff0c;TikTok发布了最新的欧盟执行和使用数据报告&#xff0c;报告中提到&#xff1a; 2024年7~12月期间&#xff0c;TikTok在欧盟地区的月活用户达1.591亿&#xff0c;较上一报告期&#xff08;2024年10月发布&#xf…

专业工具,提供多种磁盘分区方案

随着时间的推移&#xff0c;电脑的磁盘空间往往会越来越紧张&#xff0c;许多人都经历过磁盘空间不足的困扰。虽然通过清理垃圾文件可以获得一定的改善&#xff0c;但随着文件和软件的增多&#xff0c;磁盘空间仍然可能显得捉襟见肘。在这种情况下&#xff0c;将其他磁盘的闲置…

你会测量管道液体流阻吗?西-魏斯巴赫方程(Darcy-Weisbach Equation)、Colebrook-White 方程帮你

测量管道液体流阻需要测量以下关键量&#xff1a; 需要测量的量 压力差&#xff08;ΔP&#xff09;&#xff1a;管道入口和出口之间的压力差&#xff0c;通常通过压力传感器或差压计测量。流量&#xff08;Q&#xff09;&#xff1a;流经管道的液体体积流量&#xff0c;可通…

SQL命令详解之多表查询(连接查询)

目录 1 简介 2 内连接查询 2.1 内连接语法 2.2 内连接练习 3 外连接查询 3.1 外连接语法 3.2 外连接练习 4 总结 1 简介 连接的本质就是把各个表中的记录都取出来依次匹配的组合加入结果集并返回给用户。我们把 t1 和 t2 两个表连接起来的过程如下图所示&#xff1a; …

导入 Excel 规则批量修改或删除 Excel 表格内容

我们前面介绍过按照规则批量修改 Excel 文档内容的操作&#xff0c;可以对大量的 Excel 文档按照一定的规则进行统一的修改&#xff0c;可以很好的解决我们批量修改 Excel 文档内容的需求。但是某些场景下&#xff0c;我们批量修改 Excel 文档内容的场景比较复杂&#xff0c;比…

字节码是由什么组成的?

Java字节码是Java程序编译后的中间产物&#xff0c;它是一种二进制格式的代码&#xff0c;可以在Java虚拟机&#xff08;JVM&#xff09;上运行。理解字节码的组成有助于我们更好地理解Java程序的运行机制。 1. Java字节码是什么&#xff1f; 定义 Java字节码是Java源代码经过…

【Spring Boot 应用开发】-04-02 自动配置-数据源-手撸一个最简持久层工具类

设计概述 有时候我们不需要太重的持久层&#xff0c;就像要一个最简的、轻量的持久层&#xff0c;便于维护和扩展&#xff0c;代码掌握在自己手里&#xff0c;那么我们可以基于springboot的自动配置&#xff0c;快速的构建一个自己的持久层轻量框架&#xff0c;不说废话&#…

学之思社区版考试系统docker-compose部署

参考 开源项目-Docker部署学之思管理系统 安装docker sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Bas…

mfc140u.dll是什么?当程序遭遇mfc140u.dll问题:快速恢复正常的秘诀

在使用Windows操作系统运行某些软件时&#xff0c;不少用户会遇到令人头疼的mfc140u.dll文件丢失错误。mfc140u.dll这个错误一旦出现&#xff0c;往往导致相关程序无法正常启动或运行&#xff0c;给用户带来诸多不便。这天的这篇文章将给大家分析mfc140u.dll是什么&#xff1f;…

基于大数据的电影情感分析推荐系统

【大数据】基于大数据的电影情感分析推荐系统&#xff08;完整系统源码开发笔记详细部署教程&#xff09;✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 本系统通过结合Flask框架、Vue前端、LSTM情感分析算法以及pyecharts和numpy、pandas等技术&#x…

手写一个Tomcat

Tomcat 是一个广泛使用的开源 Java Servlet 容器&#xff0c;用于运行 Java Web 应用程序。虽然 Tomcat 本身功能强大且复杂&#xff0c;但通过手写一个简易版的 Tomcat&#xff0c;我们可以更好地理解其核心工作原理。本文将带你一步步实现一个简易版的 Tomcat&#xff0c;并深…

清华北大推出的 DeepSeek 教程(附 PDF 下载链接)

清华和北大分别都有关于DeepSeek的分享文档&#xff0c;内容非常全面&#xff0c;从原理和具体的应用&#xff0c;大家可以认真看看。 北大 DeepSeek 系列 1&#xff1a;提示词工程和落地场景.pdf  北大 DeepSeek 系列 2&#xff1a;DeepSeek 与 AIGC 应用.pdf  清华 Deep…

用CMake编译glfw进行OpenGL配置,在Visual Studio上运行

Visual Studio的下载 Visual Studio 2022 C 编程环境 GLFW库安装 GLFW官网地址 GLFW官网地址&#xff1a;https://www.glfw.org下载相应版本&#xff0c;如下图&#xff1a; CMake软件进行编译安装 下载CMake 下载的如果是源码包&#xff0c;需要下载CMake软件进行编译安装…

使用MPU6050产生中断,唤醒休眠中的STM32

本篇文章源码&#xff1a;STM32L431_RT_Thread_PM_mpu6050_wakeup: 使用MPU6050产生中断&#xff0c;唤醒休眠中的STM32L4 书接上回【笔记】STM32L4系列使用RT-Thread Studio电源管理组件&#xff08;PM框架&#xff09;实现低功耗-CSDN博客 上一篇文章使用PA0外接一个按键实…

蓝桥杯备赛:炮弹

题目解析 这道题目是一道模拟加调和级数&#xff0c;难的就是调和级数&#xff0c;模拟过程比较简单。 做法 这道题目的难点在于我们在玩这个跳的过程&#xff0c;可能出现来回跳的情况&#xff0c;那么为了解决这种情况&#xff0c;我们采取的方法是设定其的上限步数。那么…

Mysql中的常用函数

1、datediff(date1,date2) date1减去date2&#xff0c;返回两个日期之间的天数。 SELECT DATEDIFF(2008-11-30,2008-11-29) AS DiffDate -- 返回1 SELECT DATEDIFF(2008-11-29,2008-11-30) AS DiffDate -- 返回-1 2、char_length(s) 返回字符串 s 的字符数 3、round(x,d)…

【AD】5-14 多跟走线设置

多跟走线 快捷键UM 先拉出线头并框选或线选&#xff08;快捷键SL&#xff09;&#xff0c;点击交互式总线布线&#xff08;快捷键UM&#xff09;&#xff0c;走线过程中CtrlB调小线间距&#xff0c;shiftB调大线间距或按TAB键直接修改

生物电阻抗技术:精准洞察人体营养的“智能窗口”

生物电阻抗技术&#xff1a;精准洞察人体营养的“智能窗口” 引言&#xff1a;营养监测的新兴力量 在健康管理日益受到重视的今天&#xff0c;人体营养监测成为保障健康的关键环节。 传统营养评估方法往往依赖于主观问卷或侵入性检测&#xff0c;存在诸多局限性。 而生物电阻…

大模型AI平台DeepSeek 眼中的SQL2API平台:QuickAPI、dbapi 和 Magic API 介绍与对比

目录 1 QuickAPI 介绍 2 dbapi 介绍 3 Magic API 介绍 4 简单对比 5 总结 统一数据服务平台是一种低代码的方式&#xff0c;实现一般是通过SQL能直接生成数据API&#xff0c;同时能对产生的数据API进行全生命周期的管理&#xff0c;典型的SQL2API的实现模式。 以下是针对…

快速理清 Attention 注意力和 Encoder, Decoder 概念

之前一直以为 Attention 和 RNN 没关系是凭空蹦出来的新概念&#xff1b;以为 Transformer, Encoder, Decoder 这几个概念是绑在一起的。并不尽然。 Encoder 和 Decoder RNN 里就有 Encoder Decoder 的概念。其中&#xff0c;encoder 接受用户输入&#xff0c;写入 hidden stat…