UM2349
Manuale d'uso
Iniziare con la libreria del tempo attivo MotionAT nell'espansione X-CUBE-MEMS1 per STM32Cube
Introduzione
La libreria middleware MotionAT fa parte del software X-CUBE-MEMS1 e funziona su STM3z2. Combina i risultati del riconoscimento dell'attività per il polso, del rilevamento dell'intensità del movimento e del contapassi per gli algoritmi del polso. Fornisce inoltre informazioni in tempo reale sul numero di secondi attivi (ovvero per quanto tempo l'utente è rimasto attivo con il dispositivo indossabile come orologio intelligente).
Questa libreria è destinata a funzionare solo con ST MEMS.
L'algoritmo è fornito in formato libreria statica ed è progettato per essere utilizzato su microcontrollori STM32 basati sull'architettura ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 o ARM® Cortex®-M7.
È costruito sulla tecnologia software STM32Cube per facilitare la portabilità tra diversi microcontrollori STM32.
Il software viene fornito con sampimplementazione del le in esecuzione su una scheda di espansione X-NUCLEO-IKS01A3 o X-NUCLEO-IKS4A1 su una scheda di sviluppo NUCLEO-F401RE, NUCLEO-L152RE o NUCLEO-U575ZI-Q.
Acronimi e Abbreviazioni
Tabella 1. Elenco di acronimi
| Acronimo | Descrizione |
| API | Interfaccia di programmazione dell'applicazione |
| BSP | Pacchetto supporto scheda |
| Interfaccia grafica | Interfaccia utente grafica |
| SALVEZZA | Livello di astrazione hardware |
| Ideale per gli amanti | Ambiente di sviluppo integrato |
Libreria middleware MotionAT nell'espansione software X-CUBE-MEMS1 per STM32Cube
2.1 MotionAT terminatoview
La libreria MotionAT espande le funzionalità del software X-CUBE-MEMS1.
La libreria acquisisce i dati dall'accelerometro e fornisce informazioni sul numero di secondi attivi (per quanto tempo l'utente è rimasto attivo) con il dispositivo indossabile.
La libreria è progettata solo per ST MEMS. Funzionalità e prestazioni quando si utilizzano altri sensori MEMS non vengono analizzate e possono essere significativamente diverse da quanto descritto nel documento.
COMEampL'implementazione è disponibile per le schede di espansione X-NUCLEO-IKS01A3 o X-NUCLEO-IKS4A1, montate su una scheda di sviluppo NUCLEO-F401RE, NUCLEO-L152RE o NUCLEO-U575ZI-Q.
2.2 Libreria MotionAT
Le informazioni tecniche che descrivono in modo completo le funzioni e i parametri delle API MotionAT sono reperibili nell'HTML compilato MotionAT_Package.chm file situato nella cartella Documentazione.
2.2.1 Descrizione della libreria MotionAT
La libreria del tempo attivo MotionAT gestisce i dati acquisiti dall'accelerometro; è dotato di:
- Possibilità di rilevare il numero di secondi attivi
- Riconoscimento basato solo sui dati dell'accelerometro
- Dati accelerometro richiesti sampfrequenza ling di 50 Hz
- Misurazione basata solo sui dati dell'accelerometro
- 16.5 Kbyte di memoria codici e 5.6 Kbyte di memoria dati utilizzata
- Requisiti di risorse:
– Cortex®-M3: 21.8 KB di codice e 5.5 KB di memoria dati
– Cortex®-M33: 20.9 KB di codice e 5.5 KB di memoria dati
– Cortex®-M4: 23.0 KB di codice e 5.5 KB di memoria dati
– Cortex®-M7: 22.9 KB di codice e 5.5 KB di memoria dati - Disponibile per architetture ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 e ARM® Cortex®-M7
2.2.2 API MotionAT
Le API della libreria MotionAT sono:
- uint8_t MotionAT_GetLibVersion(char *versione)
– recupera la versione della libreria
– *version è un puntatore a un array di 35 caratteri
– restituisce il numero di caratteri nella stringa della versione - void MotionAT_Initialize(void)
– esegue l'inizializzazione della libreria MotionAT e la configurazione del meccanismo interno inclusa l'allocazione dinamica della memoria
– il modulo CRC nel microcontrollore STM32 (nel registro di abilitazione dell'orologio periferico RCC) deve essere abilitato prima di utilizzare la libreria
Nota:
Questa funzione deve essere chiamata prima di utilizzare la libreria temporale attiva. - void MotionAT_Deinitialize(void)
– esegue la deinizializzazione della libreria MotionAT inclusa la deallocazione dinamica della memoria - void MotionAT_Update(MAT_input_t *data_in, MAT_output_t *data_out)
– esegue l'algoritmo del tempo attivo
– Il parametro *data_in è un puntatore a una struttura con dati di input
– i parametri per la struttura di tipo MAT_input_t sono:
◦ acc_x è il valore del sensore dell'accelerometro nell'asse X in g
◦ acc_y è il valore del sensore dell'accelerometro sull'asse Y in g
◦ acc_z è il valore del sensore dell'accelerometro nell'asse Z in g
– Il parametro *data_out è un puntatore a una struttura con dati di output
– il parametro per il tipo di struttura MAT_output_t è:
◦ attivo pari a 1 se l'utente era attivo durante l'ultima esecuzione dell'algoritmo, altrimenti è pari a 0
2.2.3 Diagramma di flusso dell'API

2.2.4 Codice demo

2.2.5 Prestazioni dell'algoritmo
L'algoritmo del tempo attivo utilizza solo i dati dell'accelerometro e funziona a bassa frequenza (50 Hz) per ridurre il consumo energetico.
Rileva e fornisce informazioni in tempo reale sul numero di secondi attivi (per quanto tempo l'utente è rimasto attivo con il suo dispositivo indossabile).
Tabella 2. Cortex-M4 e Cortex-M3: algoritmo del tempo trascorso (μs).
| Cortex-M4 STM32F401RE a 84 MHz | Cortex-M3 STM32L152RE a 32 MHz | ||||
| Minimo | Media | Massimo | Minimo | Media | Massimo |
| 38 | 55 | 619 | 302 | 520 | 6912 |
Tabella 3. Cortex-M33 e Cortex-M7: algoritmo del tempo trascorso (μs).
| Cortex-M33 STM32U575ZI-Q a 160 MHz | Cortex-M7 STM32F767ZI a 96 MHz | ||||
| Minimo | Media | Massimo | Minimo | Media | Massimo |
| 58 | 67 | 361 | 289 | 323 | 1622 |
2.3 anniampl'applicazione
Il middleware MotionAT può essere facilmente manipolato per creare applicazioni utente; COMEampl'applicazione è fornita nella cartella dell'applicazione.
È progettato per funzionare su una scheda di sviluppo NUCLEO-F401RE, NUCLEO-L152RE o NUCLEO-U575ZI-Q collegata a una scheda di espansione X-NUCLEO-IKS01A3 o X-NUCLEO-IKS4A1.
L'applicazione riconosce i secondi attivi in tempo reale. I dati possono essere visualizzati tramite una GUI.
La connessione del cavo USB è necessaria per monitorare i dati in tempo reale. La scheda è alimentata dal PC tramite connessione USB.
Ciò consente all'utente di visualizzare se l'utente era attivo durante l'ultima esecuzione dell'algoritmo, la quantità di secondi attivi, i dati dell'accelerometro, il tempo stamp ed eventualmente altri dati del sensore, in tempo reale, utilizzando l'applicazione GUI MEMS-Studio.
2.4 Applicazione MEMS-Studio
Le sampl'applicazione utilizza l'applicazione GUI MEMS-Studio, che può essere scaricata da www.st.com.
Passaggio 1. Assicurarsi che i driver necessari siano installati e che la scheda STM32 Nucleo con la scheda di espansione appropriata sia collegata al PC.
Passaggio 2. Avviare l'applicazione MEMS-Studio per aprire la finestra principale dell'applicazione.
Se al PC è collegata una scheda STM32 Nucleo con firmware supportato, la porta COM appropriata viene rilevata automaticamente. Premere il pulsante [Connetti] per aprire questa porta.
Fase 3. Quando si collega alla scheda STM32 Nucleo con firmware supportato, viene aperta la scheda [Valutazione libreria].
Per avviare e interrompere lo streaming di dati, attivare/disattivare il pulsante di avvio/arresto appropriato sulla barra degli strumenti verticale esterna.
I dati provenienti dal sensore collegato possono essere viewed selezionando la scheda [Tabella dati] sulla barra degli strumenti verticale interna.

Fase 4. Selezionare la scheda [Tempo di attività] sulla barra degli strumenti verticale interna per aprire lo stato dell'applicazione dedicata view.

Fase 5. Selezionare [Salva in File] sulla barra degli strumenti verticale interna per aprire la finestra di configurazione della registrazione dei dati.
È possibile selezionare quali dati del sensore e dell'attività salvare nel registro fileS. È possibile avviare o interrompere il salvataggio facendo clic sul pulsante [Avvia/Stop] corrispondente.

Riferimenti
Tutte le seguenti risorse sono disponibili gratuitamente su www.st.com.
- UM1859: Introduzione ai MEMS di movimento X-CUBE-MEMS1 e all'espansione software del sensore ambientale per STM32Cube
- UM1724: schede STM32 Nucleo-64 (MB1136)
- UM3233: Iniziare con MEMS-Studio
Cronologia delle revisioni
Tabella 4. Cronologia delle revisioni del documento
| Data | Versione | Cambiamenti |
| 31-gen-18 | 1 | Versione iniziale. |
| 21-mar-18 | 2 | Introduzione aggiornata e Sezione 2.1 MotionAT terminataview. |
| 14-feb-19 | 3 | Aggiornata la Tabella 2. Algoritmo del tempo trascorso (μs) e la Figura 2. STM32 Nucleo: LED, pulsante, ponticello. Aggiunte informazioni sulla compatibilità della scheda di espansione X-NUCLEO-IKS01A3. |
| 24-Maggio-24 | 4 | Introduzione aggiornata, Sezione 2.1: MotionAT finitoview, Sezione 2.2.1: Descrizione della libreria MotionAT, Sezione 2.2.2: API MotionAT, Sezione 2.2.4: Codice demo, Sezione 2.2.5: Prestazioni dell'algoritmo, Sezione 2.3: Sampl'applicazione. Sostituita l'applicazione Unicleo-GUI con la Sezione 2.4: Applicazione MEMS-Studio. |
AVVISO IMPORTANTE – LEGGERE ATTENTAMENTE
STMicroelectronics NV e le sue consociate ("ST") si riservano il diritto di apportare modifiche, correzioni, miglioramenti, migliorie e migliorie ai prodotti ST e/o al presente documento in qualsiasi momento e senza preavviso. Gli acquirenti devono ottenere le ultime informazioni rilevanti sui prodotti ST prima di effettuare ordini. I prodotti ST sono venduti in conformità ai termini e alle condizioni di vendita di ST in vigore al momento della conferma dell'ordine.
Gli acquirenti sono gli unici responsabili della scelta, della selezione e dell'uso dei prodotti ST e ST non si assume alcuna responsabilità per l'assistenza applicativa o la progettazione dei prodotti degli acquirenti.
Nel presente documento ST non concede alcuna licenza, espressa o implicita, su alcun diritto di proprietà intellettuale.
La rivendita di prodotti ST con disposizioni diverse dalle informazioni qui stabilite invaliderà qualsiasi garanzia concessa da ST per tale prodotto.
ST e il logo ST sono marchi di ST. Per ulteriori informazioni sui marchi ST, fare riferimento a www.st.com/trademarksTutti gli altri nomi di prodotti o servizi sono di proprietà dei rispettivi proprietari.
Le informazioni contenute nel presente documento annullano e sostituiscono le informazioni fornite in precedenza in qualsiasi versione precedente del documento.
© 2024 STMicroelectronics – Tutti i diritti riservati
Documenti / Risorse
![]() |
Espansione ST X-CUBE-MEMS1 [pdf] Manuale d'uso X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1, NUCLEO-F401RE, NUCLEO-L152RE, NUCLEO-U575ZI-Q, X-CUBE-MEMS1 espansione, X-CUBE-, MEMS1 espansione, MEMS1, espansione |
