ST X-CUBE-MEMS1感測器及運動演算法軟體擴充使用手冊

X-CUBE-MEMS1感測器與運動演算法軟體擴展

產品資訊

規格

  • 商品名稱:MotionPW即時計步器
  • 相容性:STM1Cube 的 X-CUBE-MEMS32 擴展
  • 製造商: 意法半導體
  • 庫:MotionPW 中間件庫
  • 數據採集:加速度計
  • Samp頻率:50 Hz

產品使用說明

超過view

MotionPW 庫擴充了
X-CUBE-MEMS1 軟體透過從加速度計取得資料來
提供有關步數和節奏的信息
使用穿戴式裝置。

相容性

該庫僅適用於 ST MEMS 感測器。使用其他
MEMS 感測器可能會產生不同的功能和
表現。

執行

作為amp此實作可用於 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)

Q:我可以將 MotionPW 庫與非 ST MEMS 感測器一起使用嗎?

答:該程式庫僅適用於 ST MEMS 感測器。
無法保證與其他 MEMS 感測器的兼容性。

Q:需要什麼加速度計數據amp令
頻率?

答:需要的samp頻率為50赫茲,準確
檢測步伐和節奏。

Q:如何初始化 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. 演算法運行時間 (μs) Cortex-M33 和 Cortex-M7

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、按鈕、跳線

上圖顯示了 NUCLEO-F1RE 板的使用者按鈕 B401 和三個 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,則會自動偵測到它。按下 [Connect] 按鈕建立與評估板的連接。

圖 4. MEMS-Studio – 連接

步驟 3. 當連接到具有支援韌體的 STM32 Nucleo 板時,將開啟 [Libraryvaluation] 標籤。

若要啟動和停止資料流,請切換對應的[開始]垂直工具列。

或外部的[停止]按鈕

來自連接的傳感器的數據可以是 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。其他按鈕將變為活動狀態。您可以點選:
[離線模式]按鈕可開啟/關閉韌體離線模式(利用先前擷取的資料的模式)。
[Start]/[Stop]/[Step]/[Repeat] 按鈕控制從 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 流程圖 . ... . ...amp樂應用程式。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 7 2.4 MEMS Studio應用程式。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 7
3 參考文獻。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 .11 修訂歷史。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 .12

UM2350 – 修訂版 4

第 13/16 頁

UM2350
表格列表

表格列表

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

首字母縮寫列表。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 2 演算法運行時間(μs) Cortex-M4、Cortex-M3。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 6 演算法運行時間(微秒)Cortex-M33 和 Cortex-M7。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 7 記錄修訂歷史。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 12

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、感測器和運動演算法軟體擴充、運動演算法軟體擴充、演算法軟體擴充、軟體擴充

參考

發表評論

您的電子郵件地址不會被公開。 必填欄位已標記 *