基于ICM-20948的可穿戴设备方案电路设计

2019年07月22日 作者:Teardown

越来越多的可穿戴设备和物联网设计将检测方向和跟踪运动的能力视为重要要求。尽管已经有各种各样的可用运动传感器,但工程师还是不断受到挑战,探索以更低的功耗更快、更高效地集成这些设备,这在额外增加传感器时尤其具有挑战性。

为应对这些运动跟踪挑战,设计人员需要集成度更高的加速计、陀螺仪和磁力仪五金件以及更加高效且智能的数据融合算法。

本文将介绍 TDK InvenSense 提供的同时为硬件和软件提供帮助的解决方案。然后,本文还将介绍设计人员如何着手将该解决方案应用于简化需要复杂的运动感应功能的复杂低功耗多传感器应用的开发。

高效运动跟踪的挑战

利用传统的运动跟踪方法,开发人员可以同时为硬件和软件处理重要的集成问题。在硬件方面,开发人员通常会努力在采用单独的传感器(包括加速计、陀螺仪和磁力仪)构建的设计中最大限度减少其复杂性、尺寸和零件的数量。软件工程师则需要特别注意同步各种各样的传感器输出,以创建高级运动跟踪应用中所用传感器融合算法所需的统一数据流。对于硬件和软件开发人员而言,需要在设计中集成额外传感器类型的应用面临的挑战均显著增加。

但是,使用 TDK InvenSense ICM-20948,开发人员便能够以最少的工作量快速实现运动跟踪设计或其他多传感器系统。

运动跟踪解决方案

TDK InvenSense ICM-20948 是一种多芯片模块,尺寸只有 3 mm x 3 mm x 1 mm,它集成了提供完整运动跟踪解决方案所需的整套传感器、信号链、数据处理和接口电路(图 1)。

 

该模块在全面工作模式下仅需要 3 毫安 (mA) 左右便能实现其全部功能。对于功率受限的应用,开发人员可以关闭模块的某些部分,从而将完全休眠模式下各阶段的电流消耗降低至 8 微安 (μA)。产生的功耗取决于工作电压 (VDD),根据设计要求,该电压值可以介于 1.71 伏特和 3.6 伏特。

单独的信号链集成在模块中,为集成的 3 轴加速计、3 轴陀螺仪和 3 轴磁力仪以及集成的温度传感器的每个通道提供支持。每个信号链都包括缓冲放大器和一个专用的 16 位模数转换器 (ADC),以及特定于传感器的电路,如驱动模块的霍尔效应磁力仪的电流源。

为了提高每种信号链的输出,模块包括适用于每种进一步传感器类型的信号调节阶段。例如,磁力仪输出通过算术电路进行基本信号处理,而其他传感器的输出各自馈入自动的传感器特定调节阶段,以执行采样平均等处理功能。开发人员可以将 ICM-20948 设置为平均多达 128 个陀螺仪数据采样,或者将加速计设置为平均多达 32 个采样。最终,每个通道的信号调节阶段的输出馈入一组专用的传感器寄存器中。

ICM-20948 的核心是一个专有的数字运动处理器 (DMP),用于提供各种不同的功能,包括执行运动处理算法、校准和自测试。在正常工作期间,DMP 会处理来自专用传感器寄存器的数据。然后再将结果存储在模块的集成式 FIFO 中,供主机 MCU 通过共享的 I2C 或 SPI 总线访问。

DMP 和 FIFO 的功能为很多实际应用提供重要功能。很多情况下,应用以相对较慢的速度更新其运动跟踪结果,甚至允许其主机处理器在更新之间休眠,以降低总功耗。然而,运动跟踪算法需要的更新速度明显更高,以确保其在应用请求更新时以最低的延时提供精确的数据。DMP 能够在不需要主机参与的情况下维持高更新速度,这有助于确保准确性,而不会对主机应用本身的性能或功耗强加额外的要求。

简单的集成

ICM-20948 结合了小封装、系统集成功能及主机独立操作等特点,特别适合在移动设备、可穿戴设备和物联网设计中使用。模块的高水平集成意味着,开发人员仅使用三个电容器便可以执行典型的运动跟踪设计。按照 TDK InvenSense 使用陶瓷 X7R 零件的建议,开发人员将在模块的 REGOUT 引脚上增加一个 0.1 μF 电容器进行稳压器滤波,并在其 VDD 和 VDDIO 引脚上增加一个该电容器用于电源旁通(图 2)。

虽然 ICM-20948 为运动跟踪设计提供了近乎直接替代型的解决方案,但很多应用还是对其他传感器类型提出了要求。为帮助开发人员简化这些多传感器设计,ICM-20948 为其他外部传感器提供单独的 I2C 接口和内置支持。开发人员在此将兼容 I2C 的智能传感器连接到模块的专用辅助 I2C 端口(图 3)。

在正常操作中,ICM-20948 将充当 I2C 总线控制器,以与外部传感器通信。在此模式下,开发人员可编程一组专用的模块寄存器,以定义外部设备的 I2C 地址、输出数据地址以及其他的传输参数。用此信息,模块可以将外部传感器数据读入其 FIFO 和外部设备数据寄存器中,从而在传感器 I2C 总线上使用单字节或多字节读取,而不会涉及到主机 MCU。

1 2

相关文章

tracer