Skip to main content

icm42688

产品简介

ICM42688 为 6 轴 IMU(三轴陀螺仪 + 三轴加速度计),可通过 I2C 接入 RDK 开发板。驱动注册为独立的陀螺仪与加速度计 IIO 设备,便于分别读取角速度与线加速度原始值。

适用平台

本文档针对 RDK X5 / RDK X5 Module,系统镜像建议 3.4.1 及以上。

安装方法

硬件连接

这里以 RDK 双目摄像头连接举例(不是说一定要用双目摄像头,只是使用模组上的传感器)

rdk_x5_icm4288_hw_connect.png

  1. 将 ICM42688 模组按说明书接入 RDK X5 的 mipi 排插。
  2. 确认模组供电与 I2C 地址无冲突。

软件配置

在全屏终端中运行 sudo srpi-config

  1. 进入 3 Interface OptionsI6 IMU

rdk_x5_icm42688_srpiconfig_1.png

rdk_x5_icm42688_srpiconfig_2.png

  1. 选择 ICM42688 相关选项(以菜单显示为准)

rdk_x5_icm42688_srpiconfig_3.png

  1. 选择 Finish,确认后重启

rdk_x5_bmi088_srpiconfig_9.png

rdk_x5_bmi088_srpiconfig_10.png

卸载方法

  1. 进入 srpi-config3 Interface OptionsI6 IMU
  2. 选择 UNSET
  3. 断电后取下模组

运行

1. 检查 IIO 设备

ls /sys/bus/iio/devices/

2. 读取传感器数据

以下示例中 iio:device1iio:device2 序号以实际注册结果为准,请先通过 name 节点确认:

cat /sys/bus/iio/devices/iio:device1/name
cat /sys/bus/iio/devices/iio:device2/name

预期示例输出:

root@ubuntu:~# cat /sys/bus/iio/devices/iio:device1/name
icm42688-gyro
root@ubuntu:~# cat /sys/bus/iio/devices/iio:device2/name
icm42688-accel

rdk_x5_icm42688_iio_cat_1.png

读取原始数据:

cat /sys/bus/iio/devices/iio:device2/in_accel_x_raw
cat /sys/bus/iio/devices/iio:device1/in_anglvel_x_raw

rdk_x5_icm42688_iio_cat_2.png

rdk_x5_icm42688_iio_cat_3.png

能正确读出 name 与各轴 *_raw 数值,即表示 ICM42688 工作正常。

常见问题排查

  • device 序号与示例不同:以 ls /sys/bus/iio/devices/cat .../name 结果为准,将命令中的 device1/device2 替换为实际节点。
  • 读取为空或报错:确认 srpi-config 已启用 ICM42688 并已重启;检查 I2C 接线与地址。

如需双目 IMU 相机等融合应用,请参阅 双目 IMU 相机