天天看点

六轴传感器ICM20602芯片手册学习笔记

ICM60206的Verilog版代码在这:https://download.csdn.net/download/qq_39864882/11959023

因为笔者需要使用这个芯片的SPI模式,所以这篇学习笔记主要关于SPI。

ICM20602是六轴运动跟踪设备,集成了3轴加速度计和3轴陀螺仪。

Gyroscope:陀螺仪;Accelerometer:加速度计。

几个有用的性能特征

  1. 3轴陀螺仪可选量程有±250dps,±500dps,±1000dps,±2000dps。(dps:degrees per second);
  2. 3轴加速度计可选量程有±2g,±4g,±8g和±16g;
  3. 10MHz SPI和400kHz快速I2C。
    六轴传感器ICM20602芯片手册学习笔记

芯片框图

六轴传感器ICM20602芯片手册学习笔记

采到的数据经过16bit ADCs传到Sensor Registers,通过SPI协议从SR里读出数据。Sensor Register是只读寄存器,存储陀螺仪、加速度计、温度传感器信息。数据随时可读。

测量过程

三轴陀螺仪测量过程:

陀螺仪在任意三轴方向转动时,电容传感器会感知到振动,经过处理产生与角速度成比例的电压再经过ADC转换成16bit数字信号(量程可选)。

三轴加速度计测量过程:

每个轴使用单独的标准质量,沿特定轴的加速度会引起与标准质量相关的位移,电容传感器检测位移。假设将设备放在平坦的表面上,它将在X轴和Y轴上测量0g,在Z轴上测量+ 1g。每个传感器都有一个ADC提供数字输出。

输出形式:二进制补码。

SPI

  • CS=0:SPI模式,CS=1:I2C模式,为了禁止在使用SPI的过程中跳到I2C模式,需要将I2C_IF的I2C_IF_DIS寄存器配置为禁止I2C的模式。
  • 数据形式是MSB在前LSB在后、SPI的时钟频率最大为10MHz、Read(1)Write(0)。
  • 数据在clk的上升沿被锁存,数据过度应在下降沿时执行,最大时钟频率为10MHz
  • 第一个字节传输地址、第二个字节传输数据,第一个字节的第一个比特是R/W位,后7比特是寄存器地址:
    六轴传感器ICM20602芯片手册学习笔记
    六轴传感器ICM20602芯片手册学习笔记
    SPI时序图:
    六轴传感器ICM20602芯片手册学习笔记
    (经过实际试验,每次命令完成之后都要将CS置高,不然读不到数据)

重要寄存器

六轴传感器ICM20602芯片手册学习笔记
六轴传感器ICM20602芯片手册学习笔记
六轴传感器ICM20602芯片手册学习笔记
六轴传感器ICM20602芯片手册学习笔记
六轴传感器ICM20602芯片手册学习笔记