Manuel d'utilisation de l'extension logicielle de l'algorithme de capteur et de mouvement ST X-CUBE-MEMS1

Extension logicielle de l'algorithme de capteur et de mouvement X-CUBE-MEMS1

Informations sur le produit

Caractéristiques

  • Nom du produit : Podomètre en temps réel MotionPW
  • Compatibilité : extension X-CUBE-MEMS1 pour STM32Cube
  • Fabricant : STMicroelectronics
  • Bibliothèque : bibliothèque middleware MotionPW
  • Acquisition de données : Accéléromètre
  • SampFréquence d'écoute : 50 Hz

Instructions d'utilisation du produit

Surview

La bibliothèque MotionPW étend les fonctionnalités du
Logiciel X-CUBE-MEMS1 en acquérant des données de l'accéléromètre pour
fournir des informations sur le nombre de pas et la cadence effectués
avec l'appareil portable.

Compatibilité

La bibliothèque est conçue uniquement pour les capteurs ST MEMS. L'utilisation d'autres
Les capteurs MEMS peuvent entraîner des fonctionnalités et des
performance.

Mise en œuvre

Commeampl'implémentation est disponible pour X-NUCLEO-IKS4A1 et
Cartes d'extension X-NUCLEO-IKS01A3 montées sur des supports de développement spécifiés
planches.

Informations techniques

Pour les fonctions et paramètres détaillés des API MotionPW,
se référer au HTML compilé MotionPW_Package.chm file situé dans le
Dossier de documentation.

Apis

  • MotionPW_GetLibVersion(char *version)
  • MotionPW_Initialize(void)
  • MotionPW_Update(MPW_input_t *data_in, MPW_output_t
    *données_sorties)
  • MotionPW_ResetPedometerLibrary(void)
  • MotionPW_ResetStepCount(void)
  • MotionPW_UpdateEnergyThreshold(float *seuil_énergie)

Questions fréquemment posées (FAQ)

Q : Puis-je utiliser la bibliothèque MotionPW avec des capteurs MEMS non ST ?

R : La bibliothèque est conçue uniquement pour les capteurs ST MEMS.
La compatibilité avec d'autres capteurs MEMS n'est pas garantie.

Q : Quelles sont les données d'accéléromètre requises ?amplingue
fréquence?

A : Les s requisampLa fréquence de mesure est de 50 Hz pour une précision
détection des pas et de la cadence.

Q : Comment initialiser la bibliothèque MotionPW ?

A : Appelez la fonction MotionPW_Initialize() avant d'utiliser le
Bibliothèque d'activités de fitness. Assurez-vous que le module CRC est présent dans le STM32.
le microcontrôleur est activé.

« `

UM2350
Manuel d'utilisation
Premiers pas avec la bibliothèque de podomètres en temps réel MotionPW pour poignet dans l'extension X-CUBEMEMS1 pour STM32Cube
Introduction
La bibliothèque middleware MotionPW fait partie du logiciel X-CUBE-MEMS1 et fonctionne sur STM32 Nucleo. Elle fournit des informations en temps réel sur le nombre de pas et la cadence que l'utilisateur vient d'effectuer avec son appareil portable (par exemple, une montre connectée). Cette bibliothèque est conçue pour fonctionner uniquement avec ST MEMS. L'algorithme est fourni au format de bibliothèque statique et est conçu pour être utilisé sur les microcontrôleurs STM32 basés sur les architectures ARM® Cortex®-M3, ARM Cortex®-M33, ARM® Cortex®-M4 et ARM® Cortex®-M7. Il s'appuie sur la technologie logicielle STM32Cube pour faciliter la portabilité entre différents microcontrôleurs STM32. Le logiciel est fourni avecampl'implémentation exécutée sur la carte d'extension X-NUCLEO-IKS4A1 ou X-NUCLEO-IKS01A3 sur une carte de développement NUCLEO-F401RE, NUCLEO-U575ZI-Q ou NUCLEO-L152RE.

UM2350 – Rév. 4 – Mai 2025 Pour plus d’informations, contactez votre bureau de vente STMicroelectronics local.

www.st.com

UM2350
Acronymes et abréviations

1

Acronymes et abréviations

Acronyme API BSP GUI HAL IDE

Tableau 1. Liste des acronymes

Interface de programmation d'application Package de support de carte Interface utilisateur graphique Couche d'abstraction matérielle Environnement de développement intégré

Description

UM2350 – Rév 4

pages 2/16

2
2.1 2.2
2.2.1
2.2.2
Note:

UM2350
Bibliothèque middleware MotionPW dans l'extension logicielle X-CUBE-MEMS1 pour STM32Cube

Bibliothèque middleware MotionPW dans l'extension logicielle X-CUBE-MEMS1 pour STM32Cube

MotionPW terminéview
La bibliothèque MotionPW étend les fonctionnalités du logiciel X-CUBE-MEMS1.
La bibliothèque acquiert des données à partir de l'accéléromètre et fournit des informations sur le nombre de pas et la cadence que l'utilisateur vient d'effectuer avec l'appareil portable.
La bibliothèque est conçue uniquement pour ST MEMS. La fonctionnalité et les performances lors de l'utilisation d'autres capteurs MEMS ne sont pas analysées et peuvent être sensiblement différentes de celles décrites dans le document.
CommeampL'implémentation est disponible pour les cartes d'extension X-NUCLEO-IKS4A1 et X-NUCLEO-IKS01A3, montées sur une carte de développement NUCLEO-F401RE, NUCLEO-U575ZI-Q ou NUCLEO-L152RE.

Bibliothèque MotionPW
Des informations techniques décrivant en détail les fonctions et les paramètres des API MotionPW sont disponibles dans le fichier HTML compilé MotionPW_Package.chm. file situé dans le dossier Documentation.

Description de la bibliothèque MotionPW

La bibliothèque de podomètre MotionPW gère les données acquises à partir de l'accéléromètre ; elle comprend :

·

possibilité de détecter le nombre de pas, la cadence et la confiance

·

reconnaissance basée uniquement sur les données de l'accéléromètre

·

données accélérométriques requises sampfréquence d'écoute de 50 Hz

·

besoins en ressources :

Cortex-M3 : 3.7 ko de code et 1.8 ko de mémoire de données

Cortex-M33 : 3.5 ko de code et 1.8 ko de mémoire de données

Cortex-M4 : 3.5 ko de code et 1.8 ko de mémoire de données

Cortex-M7 : 3.6 ko de code et 1.8 ko de mémoire de données

·

disponible pour ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 et ARM® Cortex®-M7

architectures

API MotionPW

Les API de la bibliothèque MotionPW sont :

·

uint8_t MotionPW_GetLibVersion(char *version)

récupère la version de la bibliothèque

*version est un pointeur vers un tableau de 35 caractères

renvoie le nombre de caractères dans la chaîne de version

·

void MotionPW_Initialize(void)

effectue l'initialisation de la bibliothèque MotionPW et la configuration du mécanisme interne, y compris l'allocation dynamique de mémoire

Cette fonction doit être appelée avant d'utiliser la bibliothèque d'activités de fitness et le module CRC du microcontrôleur STM32 (dans le registre d'activation de l'horloge périphérique RCC) doit être activé.

UM2350 – Rév 4

pages 3/16

UM2350
Bibliothèque middleware MotionPW dans l'extension logicielle X-CUBE-MEMS1 pour STM32Cube

·

void MotionPW_Update(MPW_input_t *data_in, MPW_output_t *data_out)

exécute l'algorithme du podomètre pour le poignet

*Le paramètre data_in est un pointeur vers une structure avec des données d'entrée

les paramètres pour le type de structure MPW_input_t sont :

AccX est la valeur du capteur d'accéléromètre sur l'axe X en g

AccY est la valeur du capteur d'accéléromètre sur l'axe Y en g

AccZ est la valeur du capteur d'accéléromètre sur l'axe Z en g

CurrentActivity est le type d'entrée énuméré MPW_activity_t avec les valeurs suivantes :

MPW_UNKNOWN_ACTIVITY = 0x00

MPW_WALKING = 0x01

MPW_FASTWALKING = 0x02

MPW_JOGGING = 0x03

*Le paramètre data_out est un pointeur vers une structure avec des données de sortie

les paramètres pour le type de structure MPW_output_t sont :

Nsteps est le nombre d'étapes effectuées par l'utilisateur

La cadence est la cadence des pas de l'utilisateur

La confiance est la confiance du paramètre de sortie calculé

·

void MotionPW_ResetPedometerLibrary(void)

réinitialise les variables internes et le mécanisme de la bibliothèque aux valeurs par défaut (y compris le nombre d'étapes actuel)

·

void MotionPW_ResetStepCount(void)

réinitialise le nombre de pas actuel

·

void MotionPW_UpdateEnergyThreshold(float *seuil_énergie)

seuil d'énergie mis à jour pour affiner l'algorithme de détection des pas

*Le paramètre energy_threshold est un pointeur vers la valeur du seuil d'énergie

UM2350 – Rév 4

pages 4/16

2.2.3

Organigramme de l'API

UM2350
Bibliothèque middleware MotionPW dans l'extension logicielle X-CUBE-MEMS1 pour STM32Cube
Figure 1. Séquence logique de l'API MotionPW
Commencer
Initialiser
Obtenir la version de la bibliothèque
Interruption de lecture des données du minuteur d'expiration d'attente

Lire la mise à jour des données de l'accéléromètre
Obtenir les sorties

2.2.4

Code de démonstration Le code de démonstration suivant example lit les données du capteur d'accéléromètre, obtient l'activité actuelle de la bibliothèque MotionAW et obtient le nombre de pas, la cadence et la confiance de la bibliothèque MotionPW.
[…] #define VERSION_STR_LENG 35 […] /* Initialisation */ char lib_version[VERSION_STR_LENG];
/* Fonction d'initialisation de l'API du podomètre */ MotionPW_Initialize();
/* Fonction d'initialisation de l'API de reconnaissance d'activité */ MotionAW_Initialize();
/* Facultatif : obtenir la version */ MotionPW_GetLibVersion(lib_version);
[…] /* Utilisation du podomètre pour l'algorithme du poignet */ Timer_OR_DataRate_Interrupt_Handler() {
MPW_input_t MPW_data_in; MPW_output_t MPW_data_out;

UM2350 – Rév 4

pages 5/16

2.2.5

UM2350
Bibliothèque middleware MotionPW dans l'extension logicielle X-CUBE-MEMS1 pour STM32Cube
MAW_input_t MAW_data_in; MAW_output_t MAW_data_out;
/* Obtenir l'accélération X/Y/Z en g */ MEMS_Read_AccValue(&MAW_data_in.Acc_X, &MAW_data_in.Acc_Y, &MAW_data_in.Acc_Z);
/* Obtenir l'activité actuelle */ 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;
si (MAW_data_out.current_activity == MAW_WALKING) {
MPW_data_in.currentActivity = MPW_WALKING; } sinon si (MAW_data_out.current_activity == MAW_FASTWALKING) {
MPW_data_in.currentActivity = MPW_FASTWALKING; } sinon si (MAW_data_out.current_activity == MAW_JOGGING) {
MPW_data_in.currentActivity = MPW_JOGGING; } else {
MPW_data_in.currentActivity = MPW_UNKNOWN_ACTIVITY; }
/* Exécuter le podomètre pour l'algorithme du poignet */ MotionPW_Update(&MPW_data_in, &MPW_data_out); }
Performances de l'algorithme : l'algorithme du podomètre pour poignet utilise uniquement les données de l'accéléromètre et fonctionne à basse fréquence (50 Hz) pour réduire la consommation d'énergie. Lors de la reproduction d'une activité physique avec la carte STM32 Nucleo, assurez-vous que la carte est orientée perpendiculairement à l'avant-bras afin de simuler la position du bracelet.
Figure 2. Système d'orientation pour les appareils portés au poignet

Tableau 2. Temps écoulé de l'algorithme (µs) Cortex-M4, Cortex-M3

Cortex-M4 STM32F401RE à 84 MHz

Min

Moy.

Max

38

49

616

Cortex-M3 STM32L152RE à 32 MHz

Min

Moy.

Max

296

390

3314

UM2350 – Rév 4

pages 6/16

UM2350
Bibliothèque middleware MotionPW dans l'extension logicielle X-CUBE-MEMS1 pour STM32Cube

Tableau 3. Temps écoulé de l'algorithme (µs) Cortex-M33 et Cortex-M7

Cortex-M33 STM32U575ZI-Q à 160 MHz

Min

Moy.

Max

57

63

359

Cortex-M7 STM32F767ZI à 96 MHz

Min

Moy.

Max

61

88

1301

2.3

Sampl'application

Le middleware MotionPW peut être facilement manipulé pour créer des applications utilisateur.

CommeampL'application est fournie dans le dossier Application. Elle est conçue pour fonctionner sur une carte de développement NUCLEO-F401RE, NUCLEOU575ZI-Q ou NUCLEO-L152RE connectée à une carte d'extension X-NUCLEO-IKS4A1 ou X-NUCLEO-IKS01A3.

L'application reconnaît les pas, la cadence et la confiance en temps réel. Les données peuvent être affichées via une interface graphique.

Figure 3. STM32 Nucleo : LED, bouton, cavalier

La figure ci-dessus montre le bouton utilisateur B1 et les trois LED de la carte NUCLEO-F401RE. Une fois la carte alimentée, la LED LD3 (PWR) s'allume.
Une connexion USB est nécessaire pour surveiller les données en temps réel. La carte est alimentée par le PC via une connexion USB. Ce mode de fonctionnement permet d'afficher les pas détectés, la cadence et la confiance, les données de l'accéléromètre et le temps écoulé.amp et éventuellement d'autres données de capteurs, en temps réel, en utilisant le MEMS-Studio.

2.4

Application MEMS Studio

Le sampL'application utilise l'application MEMS-Studio, qui peut être téléchargée sur www.st.com.

Étape 1. Assurez-vous que les pilotes nécessaires sont installés et que la carte STM32 Nucleo avec la carte d'extension appropriée est connectée au PC.

UM2350 – Rév 4

pages 7/16

UM2350
Bibliothèque middleware MotionPW dans l'extension logicielle X-CUBE-MEMS1 pour STM32Cube

Étape 2.

Lancez l'application MEMS-Studio pour ouvrir la fenêtre principale de l'application.
Si une carte STM32 Nucleo avec un firmware pris en charge est connectée au PC, elle est automatiquement détectée. Appuyez sur le bouton [Connecter] pour établir la connexion à la carte d'évaluation.

Figure 4. MEMS-Studio – Connecter

Étape 3. Une fois connecté à une carte STM32 Nucleo avec un micrologiciel pris en charge, l'onglet [Évaluation de la bibliothèque] s'ouvre.

Pour démarrer et arrêter la diffusion de données, basculez la barre d'outils verticale [Démarrer] appropriée.

ou le bouton [Stop] sur l'extérieur

Les données provenant du capteur connecté peuvent être viewSélectionnez l'onglet [Tableau de données] sur la barre d'outils verticale intérieure.

Figure 5. MEMS-Studio – Évaluation de la bibliothèque – Tableau de données

UM2350 – Rév 4

pages 8/16

UM2350
Bibliothèque middleware MotionPW dans l'extension logicielle X-CUBE-MEMS1 pour STM32Cube
Étape 4. Cliquez sur [Podomètre] pour ouvrir la fenêtre d'application dédiée. Figure 6. MEMS-Studio – Évaluation de la bibliothèque – Podomètre

Étape 5.

Cliquez sur [Enregistrer dans File] pour ouvrir la fenêtre de configuration de l'enregistrement des données. Sélectionnez les données du capteur et du podomètre à enregistrer dans la file. Vous pouvez démarrer ou arrêter la sauvegarde en cliquant sur le bouton correspondant
bouton.

Figure 7. MEMS-Studio – Évaluation de la bibliothèque – Enregistrer dans File

UM2350 – Rév 4

pages 9/16

UM2350
Bibliothèque middleware MotionPW dans l'extension logicielle X-CUBE-MEMS1 pour STM32Cube

Étape 6.

Le mode d'injection de données peut être utilisé pour envoyer les données précédemment acquises à la bibliothèque et recevoir les
résultat. Sélectionnez l'onglet [Injection de données] dans la barre d'outils verticale pour ouvrir la fenêtre dédiée view pour cette fonctionnalité.

Figure 8. MEMS-Studio – Évaluation de la bibliothèque – Injection de données

Étape 7.

Cliquez sur le bouton [Parcourir] pour sélectionner le file avec les données précédemment capturées au format CSV. Les données seront chargées dans le tableau dans le format actuel view. D'autres boutons deviendront actifs. Vous pouvez cliquer sur :
Bouton [Mode hors ligne] pour activer/désactiver le mode hors ligne du micrologiciel (mode utilisant les données précédemment capturées).
Boutons [Démarrer]/[Arrêter]/[Étape]/[Répéter] pour contrôler le flux de données de MEMS-Studio vers la bibliothèque.

UM2350 – Rév 4

pages 10/16

UM2350
Références

3

Références

Toutes les ressources suivantes sont disponibles gratuitement sur www.st.com. 1. UM1859 : Prise en main du logiciel de capteur de mouvement MEMS et d'environnement X-CUBE-MEMS1
extension pour STM32Cube 2. UM1724 : cartes STM32 Nucleo-64 (MB1136) 3. UM3233 : Premiers pas avec MEMS-Studio

UM2350 – Rév 4

pages 11/16

UM2350

Historique des révisions

Tableau 4. Historique des révisions du document

Date

Modifications de version

24-janv.-2018 1 Version initiale.

21 mars 2018 2 Introduction et section 2.1 MotionPW mises à jourview. Section 2.2.5 mise à jour : Performances de l'algorithme et Figure 3. STM32 Nucleo : LED, bouton, cavalier.
20-févr.-2019 3 Ajout d'informations de compatibilité avec la carte d'extension X-NUCLEO-IKS01A3.

Introduction de la section mise à jour, section 2.1 : MotionPW overviewSection 2.2.1 : Bibliothèque MotionPW 20 mai 2025 4 description, Section 2.2.2 : API MotionPW, Section 2.2.4 : Code de démonstration, Section 2.2.5 : Algorithme
performances, Section 2.3 : Sampl'application, Section 2.4 : Application MEMS Studio

UM2350 – Rév 4

pages 12/16

UM2350
Contenu
Contenu
1 Acronymes et abréviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 Bibliothèque middleware MotionPW dans l'extension logicielle X-CUBE-MEMS1 pour
STM32Cube . ...view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Bibliothèque MotionPW . ... . . . . . . . 3
2.2.1 Description de la bibliothèque MotionPW. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2.2 API MotionPW. ... 3 2.2.3 Organigramme de l'API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2.4 Code de démonstration . ... . . . . . . . . . 5 2.2.5 Performances de l'algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 Sampl'application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.4 Application MEMS Studio . ... . . 7
3 Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 Historique des révisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12

UM2350 – Rév 4

pages 13/16

UM2350
Liste des tableaux

Liste des tableaux

Tableau 1. Tableau 2. Tableau 3. Tableau 4.

Liste des acronymes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Temps d'écoulement de l'algorithme (µs) Cortex-M4, Cortex-M3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Temps écoulé de l'algorithme (µs) Cortex-M33 et Cortex-M7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Historique des révisions du document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

UM2350 – Rév 4

pages 14/16

UM2350
Liste des figures

Liste des figures

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

Séquence logique de l'API MotionPW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Système d'orientation pour appareils portés au poignet . ... 6 STM32 Nucleo : LED, bouton, cavalier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 MEMS-Studio – Connexion . ... . . . . 8 MEMS-Studio – Évaluation de la bibliothèque – Tableau de données. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 MEMS-Studio – Évaluation de la bibliothèque – Podomètre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 MEMS-Studio – Évaluation de la bibliothèque – Enregistrer dans File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 MEMS-Studio – Évaluation de la bibliothèque – Injection de données . ...

UM2350 – Rév 4

pages 15/16

UM2350
AVIS IMPORTANT À LIRE ATTENTIVEMENT STMicroelectronics NV et ses filiales (« ST ») se réservent le droit d'apporter des changements, des corrections, des améliorations, des modifications et des améliorations aux produits ST et/ou à ce document à tout moment et sans préavis. Les acheteurs doivent obtenir les dernières informations pertinentes sur les produits ST avant de passer commande. Les produits ST sont vendus conformément aux conditions générales de vente de ST en vigueur au moment de la confirmation de la commande. Les acheteurs sont seuls responsables du choix, de la sélection et de l'utilisation des produits ST et ST n'assume aucune responsabilité pour l'assistance à l'application ou la conception des produits des acheteurs. Aucune licence, expresse ou tacite, sur un quelconque droit de propriété intellectuelle n'est accordée par ST dans les présentes. La revente de produits ST avec des dispositions différentes des informations énoncées dans le présent document annulera toute garantie accordée par ST pour un tel produit. ST et le logo ST sont des marques déposées de ST. Pour plus d'informations sur les marques ST, consultez www.st.com/trademarks. Tous les autres noms de produits ou de services sont la propriété de leurs propriétaires respectifs. Les informations contenues dans ce document annulent et remplacent les informations précédemment fournies dans les versions antérieures de ce document.
© 2025 STMicroelectronics Tous droits réservés

UM2350 – Rév 4

pages 16/16

Documents / Ressources

Extension logicielle de l'algorithme de capteur et de mouvement ST X-CUBE-MEMS1 [pdf] Manuel de l'utilisateur
STM32 Nucleo, X-NUCLEO-IKS4A1, X-NUCLEO-IKS01A3, extension logicielle d'algorithme de capteur et de mouvement X-CUBE-MEMS1, X-CUBE-MEMS1, extension logicielle d'algorithme de capteur et de mouvement, extension logicielle d'algorithme de mouvement, extension logicielle d'algorithme, extension logicielle

Références

Laisser un commentaire

Votre adresse email ne sera pas publiée. Les champs obligatoires sont marqués *