概述
ICM-20948 是(号称)目前世界上功耗最低的 9 轴运动跟踪设备,非常适合应用在智能手机、平板电脑、可穿戴设备及物联网领域。
- 三轴陀螺仪、三轴加速计、三轴罗盘和数字运动处理器™ (DMP)
- 采用 3 毫米 x 3 毫米 x 1 毫米(24 引脚 QFN)封装
- DMP 分担主处理器对运动参数计算处理,从而降低功耗,提高性能。
- 软件驱动程序完全符合谷歌最新的最新的安卓版本
- 支持 EIS FSYNC
ICM-20948 支持连接外部传感器的辅助 I2C 接口,片上 16 位 ADC、可编程数字滤波器、嵌入式温度传感器以及可编程中断。该器件的工作电压范围低至 1.71V。通信端口包括 I2C 和 7 MHz 高速 SPI。
注意:区别于MPU-9250 9轴传感器,ICM-20498供电电压范围是1.71V到1.95V(通常采用1.8V)
框图
应用领域
- 智能手机和平板
- 可穿戴设备
- IoT
特点
- 低功耗,仅为 2.5 mW(如果按1.8V供电,电流为1.4mA左右)
- 可编成测量范围
- 3-轴陀螺仪,可编程 FSR 为±250 dps、±500 dps、±1000 dps 和 ±2000 dps
- 3 轴加速度计,可编程 FSR 为±2g、±4g、±8g 和 ±16g
- 3 轴指南针,量程可达 ±4900 µT
- 板载数字运动处理器 (DMP)
- 支持安卓系统
- 用于外部传感器的辅助 I2C 接口
- 16 bit 高精度 ADC 和可编程滤波器
- 7 MHz SPI 或 400 kHz 高速 I²C 接口
- 数字输出温度传感器
- VDD 工作电压范围为 1.71V 至 3.6V
- 符合 RoHS 和绿色标准
典型工作电路
I2C 地址
采用的是7bit地址,受硬件AD0 引脚接不同的电平影响,如下:
当AD0=0时,地址为 1101000(0x68)
当AD0=1时,地址为 1101001(0x69)
内部构成
根据文档,可以看到ICM-20948 内部其实是由两颗IC组成,一颗包含3轴陀螺仪(tripe-axis gyroscope)、3轴加速计(tripe-axis accelerometer)和DMP(Digital Motion Processor),另一颗是3轴磁力计(tripe-axis magnetometer),型号是AK09916.
驱动移植
建议使用官方提供的驱动进行裁减和修改
1.驱动下载
- 进入TDK下载官网
- 在列表找到SmartMotion, 选择DK-20948 SmartMotion eMD 1.1.1
*!在这里插入图片描述](https://img-blog.csdnimg.cn/direct/efae0aabb3e348a1ac682af4e7656b91.png)
2.移植和裁减
- 日志接口修改为linux平台
- 修改SPI读写接口
- 修改延时接口,官网提供的驱动是mcu版本,需要改为linux实现方式
- 时间戳实现接口
- 删掉/屏蔽掉UART部分,如果板子带的有uart,也可按需修改
未完待续…