Rozszerzenie oprogramowania czujnika i algorytmu ruchu X-CUBE-MEMS1
“
Informacje o produkcie
Specyfikacje
- Nazwa produktu: MotionPW Krokomierz w czasie rzeczywistym
- Zgodność: rozszerzenie X-CUBE-MEMS1 dla STM32Cube
- Producent: STMicroelectronics
- Biblioteka: Biblioteka oprogramowania pośredniczącego MotionPW
- Zbieranie danych: Akcelerometr
- SampCzęstotliwość: 50 Hz
Instrukcje użytkowania produktu
Nadview
Biblioteka MotionPW rozszerza funkcjonalność
Oprogramowanie X-CUBE-MEMS1 poprzez pozyskiwanie danych z akcelerometru
podaj informacje o liczbie wykonanych kroków i rytmie
z urządzeniem noszonym.
Zgodność
Biblioteka jest przeznaczona wyłącznie dla czujników ST MEMS. Używanie innych
Czujniki MEMS mogą zapewniać różną funkcjonalność i
wydajność.
Realizacja
Jakampimplementacja le jest dostępna dla X-NUCLEO-IKS4A1 i
Karty rozszerzeń X-NUCLEO-IKS01A3 zamontowane na określonym stanowisku rozwojowym
deski.
Informacje techniczne
Aby uzyskać szczegółowe informacje na temat funkcji i parametrów interfejsów API MotionPW,
zapoznaj się ze skompilowanym plikiem HTML MotionPW_Package.chm file znajduje się w
Folder z dokumentacją.
Pszczoła
- MotionPW_GetLibVersion(char *wersja)
- MotionPW_Initialize(pusty)
- MotionPW_Update(MPW_input_t *data_in, MPW_output_t
*dane_wyjściowe) - MotionPW_ResetPedometerLibrary(void)
- MotionPW_ResetStepCount(pusty)
- MotionPW_UpdateEnergyThreshold(float *próg_energii)
Często zadawane pytania (FAQ)
P: Czy mogę używać biblioteki MotionPW z czujnikami MEMS innymi niż ST?
A: Biblioteka jest przeznaczona wyłącznie dla czujników ST MEMS.
Nie gwarantuje się zgodności z innymi czujnikami MEMS.
P: Jakie dane akcelerometru są wymagane?ampmolwa
częstotliwość?
A: Wymagane sampczęstotliwość ling wynosi 50 Hz dla dokładności
wykrywanie kroków i rytmu.
P: Jak zainicjować bibliotekę MotionPW?
A: Wywołaj funkcję MotionPW_Initialize() przed użyciem
biblioteka aktywności fitness. Upewnij się, że moduł CRC w STM32
mikrokontroler jest włączony.
„`
UM2350
Instrukcja obsługi
Rozpoczęcie pracy z biblioteką krokomierza w czasie rzeczywistym MotionPW dla nadgarstka w rozszerzeniu X-CUBEMEMS1 dla STM32Cube
Wstęp
Biblioteka oprogramowania pośredniczącego MotionPW jest częścią oprogramowania X-CUBE-MEMS1 i działa na STM32 Nucleo. Dostarcza informacji w czasie rzeczywistym o liczbie kroków i kadencji, które użytkownik właśnie wykonał za pomocą urządzenia noszonego (np. inteligentnego zegarka). Ta biblioteka jest przeznaczona do pracy wyłącznie z ST MEMS. Algorytm jest dostarczany w formacie biblioteki statycznej i jest przeznaczony do stosowania w mikrokontrolerach STM32 opartych na architekturze ARM® Cortex®-M3, ARM Cortex®-M33, ARM® Cortex®-M4, ARM® Cortex®-M7. Został zbudowany na bazie technologii oprogramowania STM32Cube, aby ułatwić przenoszenie między różnymi mikrokontrolerami STM32. Oprogramowanie jest dostarczane zampImplementacja pliku uruchomiona na karcie rozszerzeń X-NUCLEO-IKS4A1 lub X-NUCLEO-IKS01A3 na płycie rozwojowej NUCLEO-F401RE, NUCLEO-U575ZI-Q lub NUCLEO-L152RE.
UM2350 – Rev 4 – maj 2025 Aby uzyskać więcej informacji, skontaktuj się z lokalnym biurem sprzedaży STMicroelectronics.
www.st.com
UM2350
Akronimy i skróty
1
Akronimy i skróty
Akronim API BSP GUI HAL IDE
Tabela 1. Lista akronimów
Interfejs programowania aplikacji Pakiet obsługi płyt Graficzny interfejs użytkownika Warstwa abstrakcji sprzętowej Zintegrowane środowisko programistyczne
Opis
UM2350 – wersja 4
strona 2/16
2
2.1 2.2
2.2.1
2.2.2
Notatka:
UM2350
Biblioteka oprogramowania pośredniczącego MotionPW w rozszerzeniu oprogramowania X-CUBE-MEMS1 dla STM32Cube
Biblioteka oprogramowania pośredniczącego MotionPW w rozszerzeniu oprogramowania X-CUBE-MEMS1 dla STM32Cube
MotionPW zakończonyview
Biblioteka MotionPW rozszerza funkcjonalność oprogramowania X-CUBE-MEMS1.
Biblioteka pobiera dane z akcelerometra i dostarcza informacji o liczbie kroków i rytmie, jakie użytkownik wykonał, korzystając z urządzenia noszonego na ciele.
Biblioteka jest przeznaczona wyłącznie dla ST MEMS. Funkcjonalność i wydajność podczas korzystania z innych czujników MEMS nie są analizowane i mogą znacznie różnić się od opisanych w dokumencie.
JakampImplementacja jest dostępna dla kart rozszerzeń X-NUCLEO-IKS4A1 i X-NUCLEO-IKS01A3 montowanych na płycie rozwojowej NUCLEO-F401RE, NUCLEO-U575ZI-Q lub NUCLEO-L152RE.
Biblioteka MotionPW
Pełne informacje techniczne opisujące funkcje i parametry interfejsów API MotionPW można znaleźć w skompilowanym pliku HTML MotionPW_Package.chm file znajduje się w folderze Dokumentacja.
Opis biblioteki MotionPW
Biblioteka krokomierza MotionPW zarządza danymi pozyskanymi z akcelerometru. Oferuje ona:
·
możliwość wykrywania liczby kroków, rytmu i pewności
·
rozpoznawanie wyłącznie na podstawie danych z akcelerometru
·
wymagane dane akcelerometru sampczęstotliwość 50 Hz
·
wymagania dotyczące zasobów:
Cortex-M3: 3.7 kB kodu i 1.8 kB pamięci danych
Cortex-M33: 3.5 kB kodu i 1.8 kB pamięci danych
Cortex-M4: 3.5 kB kodu i 1.8 kB pamięci danych
Cortex-M7: 3.6 kB kodu i 1.8 kB pamięci danych
·
dostępne dla ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 i ARM® Cortex®-M7
architektury
Interfejsy API MotionPW
Interfejsy API biblioteki MotionPW to:
·
uint8_t MotionPW_GetLibVersion(char *wersja)
pobiera wersję biblioteki
*wersja jest wskaźnikiem do tablicy 35 znaków
zwraca liczbę znaków w ciągu wersji
·
unieważnij MotionPW_Initialize(void)
wykonuje inicjalizację biblioteki MotionPW i konfigurację wewnętrznego mechanizmu, w tym dynamicznego przydzielania pamięci
Tę funkcję należy wywołać przed użyciem biblioteki aktywności fizycznej, a moduł CRC w mikrokontrolerze STM32 (w rejestrze włączania zegara urządzeń peryferyjnych RCC) musi być włączony.
UM2350 – wersja 4
strona 3/16
UM2350
Biblioteka oprogramowania pośredniczącego MotionPW w rozszerzeniu oprogramowania X-CUBE-MEMS1 dla STM32Cube
·
void MotionPW_Update(MPW_input_t *data_in, MPW_output_t *data_out)
wykonuje algorytm krokomierza dla nadgarstka
Parametr *data_in jest wskaźnikiem do struktury z danymi wejściowymi
parametry typu struktury MPW_input_t to:
AccX to wartość czujnika akcelerometru na osi X w g
AccY to wartość czujnika akcelerometru na osi Y w g
AccZ to wartość czujnika akcelerometru w osi Z w g
CurrentActivity to wyliczeniowy typ wejściowy MPW_activity_t o następujących wartościach:
MPW_NIEZNANA_AKTYWNOŚĆ = 0x00
MPW_CHODZENIE = 0x01
MPW_SZYBKIE CHODZENIE = 0x02
MPW_JOGGING = 0x03
*parametr data_out jest wskaźnikiem do struktury z danymi wyjściowymi
parametry typu struktury MPW_output_t to:
Nsteps to liczba kroków wykonanych przez użytkownika
Rytm to rytm kroków użytkownika
Pewność to pewność obliczonego parametru wyjściowego
·
void MotionPW_ResetPedometerLibrary(void)
resetuje wewnętrzne zmienne biblioteki i mechanizm do wartości domyślnych (w tym bieżącą liczbę kroków)
·
unieważnij MotionPW_ResetStepCount(unieważnij)
resetuje aktualną liczbę kroków
·
void MotionPW_UpdateEnergyThreshold(float *energy_threshold)
zaktualizowano próg energetyczny w celu dostrojenia algorytmu wykrywania kroków
*parametr energy_threshold jest wskaźnikiem do wartości progowej energii
UM2350 – wersja 4
strona 4/16
2.2.3
Schemat blokowy interfejsu API
UM2350
Biblioteka oprogramowania pośredniczącego MotionPW w rozszerzeniu oprogramowania X-CUBE-MEMS1 dla STM32Cube
Rysunek 1. Sekwencja logiczna API MotionPW
Start
Zainicjuj
Pobierz wersję LibVersion
Oczekiwanie na wygaśnięcie przerwania odczytu danych z timera
Odczytaj aktualizację danych akcelerometra
Pobierz dane wyjściowe
2.2.4
Kod demonstracyjny Poniższy kod demonstracyjny to np.ampodczytuje dane z czujnika akcelerometra, pobiera bieżącą aktywność z biblioteki MotionAW i liczbę kroków, kadencję i pewność z biblioteki MotionPW.
[…] #define VERSION_STR_LENG 35 […] /* Inicjalizacja */ char lib_version[VERSION_STR_LENG];
/* Funkcja inicjalizacji API krokomierza */ MotionPW_Initialize();
/* Funkcja inicjalizacji interfejsu API rozpoznawania aktywności */ MotionAW_Initialize();
/* Opcjonalnie: Pobierz wersję */ MotionPW_GetLibVersion(lib_version);
[…] /* Używanie krokomierza do algorytmu nadgarstkowego */ Timer_OR_DataRate_Interrupt_Handler() {
Wejście MPW_t Dane MPW_wejście; Wyjście MPW_t Dane MPW_wyjście;
UM2350 – wersja 4
strona 5/16
2.2.5
UM2350
Biblioteka oprogramowania pośredniczącego MotionPW w rozszerzeniu oprogramowania X-CUBE-MEMS1 dla STM32Cube
MAW_input_t MAW_data_input; MAW_output_t MAW_data_out;
/* Pobierz przyspieszenie X/Y/Z w g */ MEMS_Read_AccValue(&MAW_data_in.Acc_X, &MAW_data_in.Acc_Y, &MAW_data_in.Acc_Z);
/* Pobierz bieżącą aktywność */ MotionAW_Update(&MAW_data_in, &MAW_data_out, Timestamp);
Dane MPW_w.Acc_X = dane MAW_w.Acc_X; dane MPW_w.Acc_Y = dane MAW_w.Acc_Y; dane MPW_w.Acc_Z = dane MAW_w.Acc_Z;
jeśli (MAW_data_out.current_activity == MAW_WALKING) {
MPW_data_in.currentActivity = MPW_WALKING; } w przeciwnym razie jeśli (MAW_data_out.current_activity == MAW_FASTWALKING) {
MPW_data_in.currentActivity = MPW_FASTWALKING; } else if (MAW_data_out.current_activity == MAW_JOGGING) {
MPW_data_in.currentActivity = MPW_JOGGING; } else {
MPW_data_in.currentActivity = MPW_UNKNOWN_ACTIVITY; }
/* Uruchomienie algorytmu krokomierza dla nadgarstka */ MotionPW_Update(&MPW_data_in, &MPW_data_out); }
Wydajność algorytmu Algorytm krokomierza dla nadgarstka wykorzystuje dane tylko z akcelerometru i działa z niską częstotliwością (50 Hz), aby zmniejszyć zużycie energii. Podczas replikowania aktywności fitness za pomocą płytki STM32 Nucleo upewnij się, że płytka jest zorientowana prostopadle do przedramienia, aby symulować położenie opaski na nadgarstku.
Rysunek 2. System orientacji urządzeń noszonych na nadgarstku
Tabela 2. Czas upływu algorytmu (µs) Cortex-M4, Cortex-M3
Cortex-M4 STM32F401RE przy 84 MHz
Min
Średnia
Maksymalnie
38
49
616
Cortex-M3 STM32L152RE przy 32 MHz
Min
Średnia
Maksymalnie
296
390
3314
UM2350 – wersja 4
strona 6/16
UM2350
Biblioteka oprogramowania pośredniczącego MotionPW w rozszerzeniu oprogramowania X-CUBE-MEMS1 dla STM32Cube
Tabela 3. Czas upływu algorytmu (µs) Cortex-M33 i Cortex-M7
Cortex-M33 STM32U575ZI-Q przy 160 MHz
Min
Średnia
Maksymalnie
57
63
359
Cortex-M7 STM32F767ZI przy 96 MHz
Min
Średnia
Maksymalnie
61
88
1301
2.3
Sampplik aplikacji
Oprogramowanie pośredniczące MotionPW można łatwo wykorzystać do tworzenia aplikacji użytkownika.
JakampAplikacja le jest dostępna w folderze Application. Jest przeznaczona do uruchomienia na płycie rozwojowej NUCLEO-F401RE, NUCLEOU575ZI-Q lub NUCLEO-L152RE podłączonej do płyty rozszerzeń X-NUCLEO-IKS4A1 lub X-NUCLEO-IKS01A3.
Aplikacja rozpoznaje kroki, rytm i pewność w czasie rzeczywistym. Dane mogą być wyświetlane za pomocą GUI.
Rysunek 3. STM32 Nucleo: diody LED, przycisk, zworka
Na powyższym rysunku pokazano przycisk użytkownika B1 i trzy diody LED płytki NUCLEO-F401RE. Po zasileniu płytki dioda LED LD3 (PWR) włącza się.
Do monitorowania danych w czasie rzeczywistym wymagane jest połączenie kablem USB. Płytka jest zasilana przez komputer za pośrednictwem połączenia USB. Ten tryb pracy umożliwia użytkownikowi wyświetlanie wykrytych kroków, rytmu i pewności, danych akcelerometra, czasuamp i ostatecznie dane z innych czujników w czasie rzeczywistym, przy użyciu MEMS-Studio.
2.4
Aplikacja MEMS Studio
SampAplikacja wykorzystuje aplikację MEMS-Studio, którą można pobrać ze strony www.st.com.
Krok 1. Upewnij się, że niezbędne sterowniki są zainstalowane, a płyta STM32 Nucleo z odpowiednią kartą rozszerzeń jest podłączona do komputera.
UM2350 – wersja 4
strona 7/16
UM2350
Biblioteka oprogramowania pośredniczącego MotionPW w rozszerzeniu oprogramowania X-CUBE-MEMS1 dla STM32Cube
Krok 2.
Uruchom aplikację MEMS-Studio, aby otworzyć okno główne aplikacji.
Jeśli do komputera podłączona jest płytka STM32 Nucleo z obsługiwanym oprogramowaniem układowym, zostanie ona automatycznie wykryta. Naciśnij przycisk [Connect], aby nawiązać połączenie z płytką ewaluacyjną.
Rysunek 4. MEMS-Studio – Połącz
Krok 3. Po podłączeniu do płytki STM32 Nucleo z obsługiwanym oprogramowaniem sprzętowym otwiera się zakładka [Ocena biblioteki].
Aby rozpocząć i zatrzymać przesyłanie strumieniowe danych, przełącz odpowiedni pionowy pasek narzędzi [Start].
lub przycisk [Stop] na zewnątrz
Dane pochodzące z podłączonego czujnika mogą być viewwybierając kartę [Tabela danych] na wewnętrznym pionowym pasku narzędzi.
Rysunek 5. MEMS-Studio – Ocena biblioteki – Tabela danych
UM2350 – wersja 4
strona 8/16
UM2350
Biblioteka oprogramowania pośredniczącego MotionPW w rozszerzeniu oprogramowania X-CUBE-MEMS1 dla STM32Cube
Krok 4. Kliknij na [Krokomierz], aby otworzyć dedykowane okno aplikacji. Rysunek 6. MEMS-Studio – Ocena biblioteki – Krokomierz
Krok 5.
Kliknij na [Zapisz do] File] aby otworzyć okno konfiguracji rejestrowania danych. Wybierz dane czujnika i krokomierza, które mają zostać zapisane w fileMożesz rozpocząć lub zatrzymać zapisywanie, klikając na odpowiedni przycisk.
przycisk.
Rysunek 7. MEMS-Studio – Ocena biblioteki – Zapisz do File
UM2350 – wersja 4
strona 9/16
UM2350
Biblioteka oprogramowania pośredniczącego MotionPW w rozszerzeniu oprogramowania X-CUBE-MEMS1 dla STM32Cube
Krok 6.
Tryb wstrzykiwania danych można wykorzystać do wysłania wcześniej pozyskanych danych do biblioteki i odebrania ich.
wynik. Wybierz kartę [Wstrzyknięcie danych] na pasku narzędzi pionowych, aby otworzyć dedykowane view dla tej funkcjonalności.
Rysunek 8. MEMS-Studio – Ocena biblioteki – Wstrzykiwanie danych
Krok 7.
Kliknij przycisk [Przeglądaj], aby wybrać file z wcześniej przechwyconymi danymi w formacie CSV. Dane zostaną załadowane do tabeli w bieżącym view. Inne przyciski staną się aktywne. Możesz kliknąć na:
Przycisk [Tryb offline] służący do włączania/wyłączania trybu offline oprogramowania sprzętowego (tryb wykorzystujący wcześniej przechwycone dane).
Przyciski [Start]/[Stop]/[Krok]/[Powtórz] umożliwiają sterowanie przesyłaniem danych z MEMS-Studio do biblioteki.
UM2350 – wersja 4
strona 10/16
UM2350
Odniesienia
3
Odniesienia
Wszystkie poniższe zasoby są dostępne bezpłatnie na stronie www.st.com. 1. UM1859: Wprowadzenie do oprogramowania czujnika ruchu MEMS i czujnika środowiskowego X-CUBE-MEMS1
rozszerzenie dla STM32Cube 2. UM1724: płytki STM32 Nucleo-64 (MB1136) 3. UM3233: wprowadzenie do MEMS-Studio
UM2350 – wersja 4
strona 11/16
UM2350
Historia rewizji
Tabela 4. Historia zmian dokumentu
Data
Zmiany wersji
24-2018-1 XNUMX Wydanie pierwsze.
21-2018-2 2.1 Zaktualizowany wstęp i sekcja XNUMX MotionPWview. Zaktualizowano sekcję 2.2.5: Wydajność algorytmu i rysunek 3. STM32 Nucleo: diody LED, przycisk, zworka.
20-2019-3 01 Dodano informacje o zgodności płyty rozszerzeń X-NUCLEO-IKS3AXNUMX.
Zaktualizowany wstęp do sekcji, sekcja 2.1: MotionPW wview, Sekcja 2.2.1: Opis biblioteki MotionPW 20-2025-4 2.2.2, Sekcja 2.2.4: Interfejsy API MotionPW, Sekcja 2.2.5: Kod demonstracyjny, Sekcja XNUMX: Algorytm
wydajność, Sekcja 2.3: Sampaplikacja, Sekcja 2.4: Aplikacja MEMS Studio
UM2350 – wersja 4
strona 12/16
UM2350
Zawartość
Zawartość
1 Akronimy i skróty . ...
STM32Cube . ...view . ... . . . . . . . 3
2.2.1 Opis biblioteki MotionPW. ... 3 2.2.2 Schemat przepływu interfejsu API . ... . . . . . . . . . . 3 2.2.3 Wydajność algorytmu . ...ampAplikacja . ... . . 7
3 Odnośniki . ... . . . . . . . . . . . . . . . . . . . . . . . . .11
UM2350 – wersja 4
strona 13/16
UM2350
Lista tabel
Lista tabel
Tabela 1. Tabela 2. Tabela 3. Tabela 4.
Lista akronimów . ... . . . . . . . . . 2 Czas upływu algorytmu (µs) Cortex-M4 i Cortex-M3 . ... . . . . 6
UM2350 – wersja 4
strona 14/16
UM2350
Lista rysunków
Lista rysunków
Rysunek 1. Rysunek 2. Rysunek 3. Rysunek 4. Rysunek 5. Rysunek 6. Rysunek 7. Rysunek 8.
Sekwencja logiczna interfejsu API MotionPW . ... 5 STM6 Nucleo: diody LED, przycisk, zworka . ... . . . . 32 MEMS-Studio – Ocena biblioteki – Tabela danych. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 MEMS-Studio – Ocena biblioteki – Krokomierz . ... File . ...
UM2350 – wersja 4
strona 15/16
UM2350
WAŻNA INFORMACJA PRZECZYTAJ UWAŻNIE STMicroelectronics NV i jej spółki zależne („ST”) zastrzegają sobie prawo do wprowadzania zmian, poprawek, ulepszeń, modyfikacji i ulepszeń produktów ST i/lub niniejszego dokumentu w dowolnym czasie bez powiadomienia. Nabywcy powinni przed złożeniem zamówienia uzyskać najnowsze istotne informacje o produktach ST. Produkty ST są sprzedawane zgodnie z warunkami sprzedaży ST obowiązującymi w momencie potwierdzenia zamówienia. Nabywcy ponoszą wyłączną odpowiedzialność za wybór, wybór i użytkowanie produktów ST, a ST nie ponosi odpowiedzialności za pomoc w stosowaniu lub projektowanie produktów nabywców. W niniejszym dokumencie ST nie udziela żadnej licencji, wyraźnej ani dorozumianej, do jakichkolwiek praw własności intelektualnej. Odsprzedaż produktów ST z postanowieniami odmiennymi od informacji zawartych w niniejszym dokumencie powoduje unieważnienie gwarancji udzielonej przez ST na taki produkt. ST i logo ST są znakami towarowymi ST. Dodatkowe informacje na temat znaków towarowych ST można znaleźć na stronie www.st.com/trademarks. Wszystkie inne nazwy produktów lub usług są własnością ich odpowiednich właścicieli. Informacje zawarte w tym dokumencie zastępują informacje podane wcześniej we wszystkich wcześniejszych wersjach tego dokumentu.
© 2025 STMicroelectronics Wszelkie prawa zastrzeżone
UM2350 – wersja 4
strona 16/16
Dokumenty / Zasoby
![]() |
Rozszerzenie oprogramowania czujnika i algorytmu ruchu ST X-CUBE-MEMS1 [plik PDF] Instrukcja obsługi STM32 Nucleo, X-NUCLEO-IKS4A1, X-NUCLEO-IKS01A3, X-CUBE-MEMS1 Rozszerzenie oprogramowania czujnika i algorytmu ruchu, X-CUBE-MEMS1, Rozszerzenie oprogramowania czujnika i algorytmu ruchu, Rozszerzenie oprogramowania algorytmu ruchu, Rozszerzenie oprogramowania algorytmu, Rozszerzenie oprogramowania |