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 |