ST X-CUBE-MEMS1 センサおよびモーションアルゴリズムソフトウェア拡張ユーザーマニュアル

X-CUBE-MEMS1 センサーおよびモーションアルゴリズムソフトウェア拡張

製品情報

仕様

  • 製品名: MotionPW リアルタイム歩数計
  • 互換性: STM1Cube 用 X-CUBE-MEMS32 拡張
  • メーカー: STマイクロエレクトロニクス
  • ライブラリ: 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 に位置する
ドキュメントフォルダ。

APIについて

  • MotionPW_GetLibVersion(char *バージョン)
  • MotionPW_Initialize(void)
  • MotionPW_Update(MPW_input_t *data_in, MPW_output_t
    *データ出力)
  • MotionPW_ResetPedometerLibrary(void)
  • MotionPW_ResetStepCount(void)
  • MotionPW_UpdateEnergyThreshold(float *energy_threshold)

よくある質問(FAQ)

Q: MotionPW ライブラリを ST 以外の MEMS センサーで使用できますか?

A: ライブラリは ST MEMS センサー専用に設計されています。
他の MEMS センサーとの互換性は保証されません。

Q: 必要な加速度計データは何ですか?ampリング
頻度?

A: 必要なsampリング周波数は50Hzで正確です
歩数とリズムの検出。

Q: MotionPW ライブラリを初期化するにはどうすればよいですか?

A: 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マイクロコントローラ間での移植性が向上します。ソフトウェアには以下が付属しています。ampNUCLEO-F4RE、NUCLEO-U1ZI-Q、または NUCLEO-L01RE 開発ボード上の X-NUCLEO-IKS3A401 または X-NUCLEO-IKS575A152 拡張ボード上で実行される le 実装。

UM2350 – Rev 4 – 2025 年 XNUMX 月 詳細については、お近くの STMicroelectronics 営業オフィスにお問い合わせください。

詳しくはこちら

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 センサーを使用した場合の機能とパフォーマンスは分析されていないため、ドキュメントに記載されているものと大幅に異なる可能性があります。
としてample 実装は、NUCLEO-F4RE、NUCLEO-U1ZI-Q、または NUCLEO-L01RE 開発ボードに搭載された X-NUCLEO-IKS3A401 および X-NUCLEO-IKS575A152 拡張ボードで利用できます。

MotionPWライブラリ
MotionPW APIの機能とパラメータを完全に説明した技術情報は、コンパイルされたHTMLファイルMotionPW_Package.chmに記載されています。 file Documentation フォルダーにあります。

MotionPWライブラリの説明

MotionPW 歩数計ライブラリは、加速度計から取得したデータを管理します。その機能は次のとおりです。

·

歩数、歩調、自信を検出する可能性

·

加速度計データのみに基づく認識

·

必要な加速度計データamp周波数50Hz

·

リソース要件:

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はユーザーが実行したステップ数です

ケイデンスはユーザーの歩数のリズムです

信頼度は計算された出力パラメータの信頼度です

·

void MotionPW_ResetPedometerLibrary(void)

ライブラリの内部変数とメカニズムをデフォルト値(現在のステップ数を含む)にリセットします。

·

void MotionPW_ResetStepCount(void)

現在の歩数をリセットします

·

void MotionPW_UpdateEnergyThreshold(float *energy_threshold)

ステップ検出アルゴリズムを微調整するためにエネルギー閾値を更新しました

*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_input_t MAW_data_in; MAW_output_t MAW_data_out;
/* 加速度 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; } else {
MPW_data_in.currentActivity = MPW_UNKNOWN_ACTIVITY; }
/* 手首用歩数計アルゴリズムを実行する */ MotionPW_Update(&MPW_data_in, &MPW_data_out); }
アルゴリズムの性能:リストバンド型歩数計アルゴリズムは加速度センサーのデータのみを使用し、消費電力を抑えるため低周波数(50Hz)で動作します。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(160MHz)

平均

マックス

57

63

359

Cortex-M7 STM32F767ZI 96 MHz

平均

マックス

61

88

1301

2.3

Sampファイルアプリケーション

MotionPW ミドルウェアは簡単に操作してユーザー アプリケーションを構築できます。

としてampアプリケーション フォルダに、このアプリケーションが提供されています。このアプリケーションは、X-NUCLEO-IKS401A575 または X-NUCLEO-IKS152A4 拡張ボードに接続された NUCLEO-F1RE、NUCLEOU01ZI-Q、または NUCLEO-L3RE 開発ボードで実行されるように設計されています。

アプリケーションは歩数、歩調、自信をリアルタイムで認識します。データはGUIで表示できます。

図3. STM32 Nucleo: LED、ボタン、ジャンパー

上図は、ユーザー ボタン B1 と NUCLEO-F401RE ボードの 3 つの LED を示しています。ボードに電源が投入されると、LED LDXNUMX (PWR) がオンになります。
リアルタイムデータを監視するには、USBケーブル接続が必要です。ボードはUSB接続を介してPCから電源供給されます。この動作モードでは、検出された歩数、ケイデンスと信頼度、加速度計データ、時間経過を表示できます。amp そして最終的には、MEMS-Studio を使用して他のセンサー データをリアルタイムで取得します。

2.4

MEMS Studioアプリケーション

Sampアプリケーションでは、www.st.com からダウンロードできる MEMS-Studio アプリケーションを使用します。

ステップ 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を更新viewセクション 2.2.5「アルゴリズムのパフォーマンス」と図 3. STM32 Nucleo: LED、ボタン、ジャンパーを更新しました。
20 年 2019 月 3 日 01 X-NUCLEO-IKS3AXNUMX 拡張ボードの互換性情報を追加しました。

セクション「はじめに」セクション2.1「MotionPW over」を更新view、セクション2.2.1: MotionPWライブラリ20年2025月4日2.2.2の説明、セクション2.2.4: MotionPW API、セクション2.2.5:デモコード、セクションXNUMX:アルゴリズム
パフォーマンス、セクション2.3:Sampleアプリケーション、セクション2.4: MEMS Studioアプリケーション

UM2350 –改訂4

ページ12/16

UM2350
コンテンツ
コンテンツ
1 頭字語と略語 . ...
STM32Cube . ...view 3 2.2 MotionPW ライブラリ . ... . . . . . . . 3
2.2.1 MotionPW ライブラリの説明. ... 3 2.2.2 API フローチャート . ... . . . . . . . . . 3 2.2.3 アルゴリズムのパフォーマンス . ...ample アプリケーション . ... . . 7
3 参考文献 . ... 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 .11

UM2350 –改訂4

ページ13/16

UM2350
テーブルのリスト

テーブルのリスト

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

頭字語の一覧 . ... . . . . . . . . 2 アルゴリズム経過時間 (µs) Cortex-M4 および Cortex-M3 . ... . . . 6

UM2350 –改訂4

ページ14/16

UM2350
図表一覧

図表一覧

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

MotionPW API ロジック シーケンス . ... 5 STM6 Nucleo: LED、ボタン、ジャンパー . ... . . . . 32 MEMS-Studio – ライブラリ評価 – データ テーブル. ... File . ...

UM2350 –改訂4

ページ15/16

UM2350
重要なお知らせSTMicroelectronicsNVおよびその子会社(「ST」)は、ST製品および/または本書を予告なしにいつでも変更、修正、拡張、修正、および改善する権利を留保します。 購入者は、注文する前に、ST製品に関する最新の関連情報を入手する必要があります。 ST製品は、注文確認時に設定されているSTの販売条件に従って販売されます。 購入者は、ST製品の選択、選択、および使用について単独で責任を負い、STは、アプリケーションの支援または購入者の製品の設計について責任を負いません。 本書のSTは、明示または黙示を問わず、知的財産権に対するライセンスを付与していません。 ここに記載されている情報とは異なる規定のST製品の再販は、そのような製品に対してSTによって付与された保証を無効にするものとします。 STおよびSTロゴはSTの商標です。 STの商標の詳細については、www.st.com/trademarksを参照してください。 他のすべての製品名またはサービス名は、それぞれの所有者に帰属します。 このドキュメントの情報は、このドキュメントの以前のバージョンで以前に提供された情報に優先し、置き換えられます。
©2025STMicroelectronics All rights reserved

UM2350 –改訂4

ページ16/16

ドキュメント / リソース

ST X-CUBE-MEMS1 センサおよびモーションアルゴリズムソフトウェア拡張 [pdf] ユーザーマニュアル
STM32 Nucleo、X-NUCLEO-IKS4A1、X-NUCLEO-IKS01A3、X-CUBE-MEMS1 センサーおよびモーションアルゴリズムソフトウェア拡張、X-CUBE-MEMS1、センサーおよびモーションアルゴリズムソフトウェア拡張、モーションアルゴリズムソフトウェア拡張、アルゴリズムソフトウェア拡張、ソフトウェア拡張

参考文献

コメントを残す

あなたのメールアドレスは公開されません。 必須項目はマークされています *