ST X-CUBE-MEMS1传感器及运动算法软件扩展用户手册

X-CUBE-MEMS1传感器和运动算法软件扩展

产品信息

规格

  • 产品名称:MotionPW实时计步器
  • 兼容性:STM1Cube 的 X-CUBE-MEMS32 扩展
  • 制造商:STMicroelectronics
  • 库:MotionPW 中间件库
  • 数据采集​​:加速度计
  • Samp频率:50 Hz

产品使用说明

超过view

MotionPW 库扩展了
X-CUBE-MEMS1 软件通过从加速度计获取数据来
提供有关步数和节奏的信息
使用可穿戴设备。

兼容性

该库仅适用于 ST MEMS 传感器。使用其他
MEMS 传感器可能会产生不同的功能和
表现。

执行

作为ample 实现适用于 X-NUCLEO-IKS4A1 和
安装在指定开发板上的X-NUCLEO-IKS01A3扩展板
板。

技术信息

有关 MotionPW API 的详细功能和参数,
参考 MotionPW_Package.chm 编译的 HTML file 位于
文档文件夹。

蜜蜂

  • MotionPW_GetLibVersion(char *版本)
  • MotionPW_Initialize(空)
  • MotionPW_Update(MPW_input_t *data_in, MPW_output_t
    *数据输出)
  • MotionPW_ResetPedometerLibrary(空)
  • MotionPW_ResetStepCount(空)
  • MotionPW_UpdateEnergyThreshold(浮点数*能量阈值)

常见问题 (FAQ)

问:我可以将 MotionPW 库与非 ST MEMS 传感器一起使用吗?

答:该库仅适用于 ST MEMS 传感器。
无法保证与其他 MEMS 传感器的兼容性。

问:需要哪些加速度计数据amp玲
频率?

答:所需的amp频率为50赫兹,准确
检测步伐和节奏。

问:如何初始化 MotionPW 库?

答:在使用之前调用 MotionPW_Initialize() 函数
健身活动库。确保 STM32 中的 CRC 模块
微控制器已启用。

“`

UM2350
用户手册
STM1Cube X-CUBEMEMS32 扩展中的 MotionPW 腕式实时计步器库入门
介绍
MotionPW 中间件库是 X-CUBE-MEMS1 软件的一部分,运行于 STM32 Nucleo 上。它提供用户使用可穿戴设备(例如智能手表)时步数和步频的实时信息。该库仅适用于 ST MEMS。该算法以静态库格式提供,旨在用于基于 ARM® Cortex®-M32、ARM Cortex®-M3、ARM® Cortex®-M33、ARM® Cortex®-M4 架构的 STM7 微控制器。它基于 STM32Cube 软件技术构建,以便于在不同 STM32 微控制器之间移植。该软件附带amp在 NUCLEO-F4RE、NUCLEO-U1ZI-Q 或 NUCLEO-L01RE 开发板上的 X-NUCLEO-IKS3A401 或 X-NUCLEO-IKS575A152 扩展板上运行的实现。

UM2350 – 修订版 4 – 2025 年 XNUMX 月 如需了解更多信息,请联系您当地的意法半导体销售办事处。

www.st.com

UM2350
缩略语

1

缩略语

缩写 API BSP GUI HAL IDE

表 1. 首字母缩略词列表

应用程序编程接口 板级支持包 图形用户界面 硬件抽象层 集成开发环境

描述

UM2350 – 修订版 4

第 2/16 页

2
2.1 2.2
2.2.1
2.2.2
笔记:

UM2350
STM1Cube X-CUBE-MEMS32 软件扩展中的 MotionPW 中间件库

STM1Cube X-CUBE-MEMS32 软件扩展中的 MotionPW 中间件库

MotionPW 结束view
MotionPW 库扩展了 X-CUBE-MEMS1 软件的功能。
该库从加速度计获取数据,并提供有关用户刚刚使用可穿戴设备执行的步数和节奏的信息。
该库专为 ST MEMS 设计。使用其他 MEMS 传感器时的功能和性能未进行分析,可能与文档中描述的显着不同。
作为amp该实现适用于安装在 NUCLEO-F4RE、NUCLEO-U1ZI-Q 或 NUCLEO-L01RE 开发板上的 X-NUCLEO-IKS3A401 和 X-NUCLEO-IKS575A152 扩展板。

MotionPW 库
完整描述 MotionPW API 功能和参数的技术信息可在 MotionPW_Package.chm 编译的 HTML 中找到 file 位于文档文件夹中。

MotionPW 库描述

MotionPW 计步器库管理从加速度计获取的数据;它的特点是:

·

检测步数、节奏和信心的可能性

·

仅基于加速度计数据的识别

·

所需的加速度计数据amp频率 50 Hz

·

资源要求:

Cortex-M3:3.7 kB 代码和 1.8 kB 数据存储器

Cortex-M33:3.5 kB 代码和 1.8 kB 数据存储器

Cortex-M4:3.5 kB 代码和 1.8 kB 数据存储器

Cortex-M7:3.6 kB 代码和 1.8 kB 数据存储器

·

适用于 ARM® Cortex®-M3、ARM® Cortex®-M33、ARM® Cortex®-M4 和 ARM® Cortex®-M7

架构

MotionPW API

MotionPW 库 API 包括:

·

uint8_t MotionPW_GetLibVersion(char *版本)

检索库版本

*version 是一个指向 35 个字符的数组的指针

返回版本字符串中的字符数

·

void MotionPW_Initialize(void)

执行 MotionPW 库初始化和内部机制设置,包括动态内存分配

在使用健身活动库之前必须调用此函数,并且必须启用 STM32 微控制器中的 CRC 模块(在 RCC 外设时钟使能寄存器中)。

UM2350 – 修订版 4

第 3/16 页

UM2350
STM1Cube X-CUBE-MEMS32 软件扩展中的 MotionPW 中间件库

·

void MotionPW_Update(MPW_input_t *data_in,MPW_output_t *data_out)

执行腕式算法的计步器

*data_in 参数是指向包含输入数据的结构的指针

结构类型 MPW_input_t 的参数为:

AccX 是 X 轴上的加速度计传感器值(单位为 g)

AccY 是 Y 轴上的加速度计传感器值(单位为 g)

AccZ 是 Z 轴上的加速度计传感器值(单位为 g)

CurrentActivity 是枚举输入类型 MPW_activity_t,具有以下值:

MPW_UNKNOWN_ACTIVITY = 0x00

MPW_WALKING = 0x01

MPW_FASTWALKING = 0x02

MPW_慢跑 = 0x03

*data_out 参数是指向带有输出数据的结构的指针

结构类型 MPW_output_t 的参数为:

Nsteps 是用户执行的步骤数

Cadence 是用户步数的节奏

置信度是计算输出参数的置信度

·

void MotionPW_ResetPedometerLibrary(void)

将库内部变量和机制重置为默认值(包括当前步数)

·

void MotionPW_ResetStepCount(void)

重置当前步数

·

void MotionPW_UpdateEnergyThreshold(浮点数*能量阈值)

更新能量阈值以微调步进检测算法

*energy_threshold参数是指向能量阈值的指针

UM2350 – 修订版 4

第 4/16 页

2.2.3

API流程图

UM2350
STM1Cube X-CUBE-MEMS32 软件扩展中的 MotionPW 中间件库
图 1. MotionPW API 逻辑序列
开始
初始化
获取库版本
等待到期定时器数据读取中断

读取加速度计数据更新
获取输出

2.2.4

演示代码以下演示代码示例ample 从加速度计传感器读取数据,从 MotionAW 库获取当前活动,从 MotionPW 库获取步数、节奏和置信度。
[…] #define VERSION_STR_LENG 35 […] /* 初始化 */ char lib_version[VERSION_STR_LENG];
/* 计步器 API 初始化函数 */ MotionPW_Initialize();
/* 活动识别 API 初始化函数 */ MotionAW_Initialize();
/* 可选:获取版本 */ MotionPW_GetLibVersion(lib_version);
[…] /* 使用计步器进行腕式算法 */ Timer_OR_DataRate_Interrupt_Handler() {
MPW_input_t MPW_data_in;MPW_output_t MPW_data_out;

UM2350 – 修订版 4

第 5/16 页

2.2.5

UM2350
STM1Cube X-CUBE-MEMS32 软件扩展中的 MotionPW 中间件库
MAW_输入_t MAW_数据_输入;MAW_输出_t MAW_数据_输出;
/* 获取加速度 X/Y/Z 单位为 g */ MEMS_Read_AccValue(&MAW_data_in.Acc_X, &MAW_data_in.Acc_Y, &MAW_data_in.Acc_Z);
/* 获取当前活动 */ MotionAW_Update(&MAW_data_in, &MAW_data_out, Timestamp);
MPW_data_in.Acc_X = MAW_data_in.Acc_X;MPW_data_in.Acc_Y = MAW_data_in.Acc_Y;MPW_data_in.Acc_Z = MAW_data_in.Acc_Z;
如果(MAW_data_out.current_activity == MAW_WALKING){
MPW_data_in.currentActivity = MPW_WALKING; } 否则,如果(MAW_data_out.current_activity == MAW_FASTWALKING){
MPW_data_in.currentActivity = MPW_FASTWALKING; } 否则,如果(MAW_data_out.current_activity == MAW_JOGGING){
MPW_data_in.currentActivity = MPW_JOGGING; } 其他 {
MPW_data_in.currentActivity = MPW_UNKNOWN_ACTIVITY; }
/* 运行腕式算法的计步器 */ MotionPW_Update(&MPW_data_in, &MPW_data_out); }
算法性能:腕式计步器算法仅使用加速度计数据,并以低频率(50 Hz)运行以降低功耗。使用 STM32 Nucleo 开发板模拟健身活动时,请确保开发板垂直于前臂,以模拟腕带的位置。
图 2.腕戴式设备的定位系统

表 2. 算法运行时间(µs)Cortex-M4、Cortex-M3

Cortex-M4 STM32F401RE,84 MHz

分钟

平均

最大限度

38

49

616

Cortex-M3 STM32L152RE,32 MHz

分钟

平均

最大限度

296

390

3314

UM2350 – 修订版 4

第 6/16 页

UM2350
STM1Cube X-CUBE-MEMS32 软件扩展中的 MotionPW 中间件库

表 3. Cortex-M33 和 Cortex-M7 的算法运行时间(µs)

Cortex- M33 STM32U575ZI-Q,160​​XNUMX MHz

分钟

平均

最大限度

57

63

359

Cortex- M7 STM32F767ZI,96 MHz

分钟

平均

最大限度

61

88

1301

2.3

Samp申请

MotionPW 中间件可以轻松操作以构建用户应用程序。

作为amp应用程序位于 Application 文件夹中。它设计用于在连接到 X-NUCLEO-IKS401A575 或 X-NUCLEO-IKS152A4 扩展板的 NUCLEO-F1RE、NUCLEOU01ZI-Q 或 NUCLEO-L3RE 开发板上运行。

该应用程序实时识别步数、节奏和信心。数据可通过图形用户界面 (GUI) 显示。

图 3. STM32 Nucleo:LED、按钮、跳线

上图显示了用户按钮 B1 和 NUCLEO-F401RE 板的三个 LED。一旦板通电,LED LD3 (PWR) 就会亮起。
需要连接 USB 数据线才能监控实时数据。该板由 PC 通过 USB 连接供电。此工作模式允许用户显示检测到的步数、步频和信心、加速度计数据、时间amp 并最终使用 MEMS-Studio 实时获取其他传感器数据。

2.4

MEMS Studio 应用程序

在Samp本应用程序使用 MEMS-Studio 应用程序,可从 www.st.com 下载。

步骤1.确保安装了必要的驱动程序,并且带有适当扩展板的STM32 Nucleo板已连接到PC。

UM2350 – 修订版 4

第 7/16 页

UM2350
STM1Cube X-CUBE-MEMS32 软件扩展中的 MotionPW 中间件库

步骤2.

启动 MEMS-Studio 应用程序以打开主应用程序窗口。
如果带有支持固件的 STM32 Nucleo 开发板连接到 PC,则会自动检测到。按 [连接] 按钮建立与评估板的连接。

图 4. MEMS-Studio – 连接

步骤 3. 当连接到具有支持固件的 STM32 Nucleo 板时,[库评估] 选项卡将打开。

要启动和停止数据流,请切换适当的[开始]垂直工具栏。

或外侧的[停止]按钮

来自连接的传感器的数据可以是 view选择内侧垂直工具栏上的[数据表]选项卡。

图 5. MEMS-Studio – 库评估 – 数据表

UM2350 – 修订版 4

第 8/16 页

UM2350
STM1Cube X-CUBE-MEMS32 软件扩展中的 MotionPW 中间件库
步骤4. 点击[计步器]打开专用应用程序窗口。图6. MEMS-Studio – 库评估 – 计步器

步骤5.

点击[保存到 File] 打开数据记录配置窗口。选择要保存的传感器和计步器数据 file。您可以通过点击相应的
按钮。

图 7. MEMS-Studio – 库评估 – 保存至 File

UM2350 – 修订版 4

第 9/16 页

UM2350
STM1Cube X-CUBE-MEMS32 软件扩展中的 MotionPW 中间件库

步骤6.

数据注入模式可用于将先前获取的数据发送到库并接收
结果。选择垂直工具栏上的[数据注入]选项卡,打开专用的 view 以实现该功能。

图 8. MEMS-Studio – 库评估 – 数据注入

步骤7.

点击[浏览]按钮选择 file 之前捕获的 CSV 格式数据将与当前 view。其他按钮将变为活动状态。您可以点击:
[离线模式]按钮用于打开/关闭固件离线模式(利用先前捕获的数据的模式)。
[开始]/[停止]/[步骤]/[重复]按钮用于控制从 MEMS-Studio 到库的数据馈送。

UM2350 – 修订版 4

第 10/16 页

UM2350
参考

3

参考

以下所有资源均可在 www.st.com 上免费获取。1. UM1859:X-CUBE-MEMS1 运动 MEMS 和环境传感器软件入门
STM32Cube 扩展 2. UM1724:STM32 Nucleo-64 开发板 (MB1136) 3. UM3233:MEMS-Studio 入门

UM2350 – 修订版 4

第 11/16 页

UM2350

修订历史

表 4. 文档修订历史

日期

版本变更

24 年 2018 月 1 日 XNUMX 初始版本。

21 年 2018 月 2 日 2.1 更新了简介和第 XNUMX 节 MotionPW overview. 更新了第 2.2.5 节:算法性能和图 3。STM32 Nucleo:LED、按钮、跳线。
20 年 2019 月 3 日 01 添加了 X-NUCLEO-IKS3AXNUMX 扩展板兼容性信息。

更新了章节简介,第 2.1 节:MotionPW overview、第 2.2.1 节:MotionPW 库描述、第 20 节:MotionPW API、第 2025 节:演示代码、第 4 节:算法
性能,第 2.3 节:Samp应用程序,第 2.4 节:MEMS Studio 应用程序

UM2350 – 修订版 4

第 12/16 页

UM2350
内容
内容
1 首字母缩略词和缩写 . ...
STM32Cube . ...view ................. ... . ...
2.2.1 MotionPW 库描述. ... 3 2.2.2 API 流程图 . ... . ...ample 应用程序.................... ... . 7
3 参考文献....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................11 修订历史.................... ... 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 .12

UM2350 – 修订版 4

第 13/16 页

UM2350
表格列表

表格列表

表 1. 表 2. 表 3. 表 4.

首字母缩略词列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 算法耗时 (µs) Cortex-M4、Cortex-M3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...

UM2350 – 修订版 4

第 14/16 页

UM2350
图片列表

图片列表

图 1. 图 2. 图 3. 图 4. 图 5. 图 6. 图 7. 图 8.

MotionPW API 逻辑序列 . ... 5 STM6 Nucleo:LED、按钮、跳线. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... File . ...

UM2350 – 修订版 4

第 15/16 页

UM2350
重要通知 仔细阅读 STMicroelectronics NV 及其子公司(“ST”)保留随时对 ST 产品和/或本文档进行更改、更正、增强、修改和改进的权利,恕不另行通知。 购买者下单前应了解ST产品的最新相关信息。 ST 产品根据订单确认时的 ST 销售条款和条件进行销售。 购买者对 ST 产品的选择、选择和使用负全部责任,ST 对应用帮助或购买者产品的设计不承担任何责任。 ST 在​​此未授予任何知识产权的任何明示或暗示许可。 转售具有与本文所述信息不同的条款的 ST 产品将使 ST 对该产品授予的任何保证无效。 ST 和 ST 标志是 ST 的商标。 有关 ST 商标的更多信息,请参阅 www.st.com/trademarks。 所有其他产品或服务名称均为其各自所有者的财产。 本文档中的信息将取代并替换之前在本文档的任何先前版本中提供的信息。
© 2025 STMicroelectronics 版权所有

UM2350 – 修订版 4

第 16/16 页

文件/资源

ST X-CUBE-MEMS1传感器和运动算法软件扩展 [pdf] 用户手册
STM32 Nucleo、X-NUCLEO-IKS4A1、X-NUCLEO-IKS01A3、X-CUBE-MEMS1 传感器和运动算法软件扩展、X-CUBE-MEMS1、传感器和运动算法软件扩展、运动算法软件扩展、算法软件扩展、软件扩展

参考

发表评论

您的电子邮件地址不会被公开。 必填字段已标记 *