Расширение программного обеспечения для датчика и алгоритма движения X-CUBE-MEMS1
“
Информация о продукте
Технические характеристики
- Название продукта: шагомер MotionPW в реальном времени
- Совместимость: расширение X-CUBE-MEMS1 для STM32Cube
- Производитель: STMicroelectronics
- Библиотека: Библиотека промежуточного программного обеспечения MotionPW
- Сбор данных: акселерометр
- SampЧастота звука: 50 Гц
Инструкции по применению продукта
Надview
Библиотека MotionPW расширяет функциональность
Программное обеспечение X-CUBE-MEMS1 получает данные с акселерометра для
предоставить информацию о количестве выполненных шагов и темпе
с носимым устройством.
Совместимость
Библиотека предназначена только для датчиков ST MEMS. Использование других
Датчики MEMS могут иметь различную функциональность и
производительность.
Выполнение
КакampРеализация le доступна для X-NUCLEO-IKS4A1 и
Платы расширения X-NUCLEO-IKS01A3, установленные на указанной разработке
доски.
Техническая информация
Подробные функции и параметры API MotionPW см.
обратитесь к скомпилированному HTML-файлу MotionPW_Package.chm file расположен в
Папка с документацией.
API-интерфейсы
- MotionPW_GetLibVersion(char *version)
- 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)
В: Могу ли я использовать библиотеку MotionPW с датчиками MEMS от сторонних производителей?
A: Библиотека предназначена только для датчиков ST MEMS.
Совместимость с другими МЭМС-датчиками не гарантируется.
В: Какие данные акселерометра требуются?ampлинг
частота?
A: Требуемые sampЧастота линга составляет 50 Гц для точного
обнаружение шагов и каденции.
В: Как инициализировать библиотеку MotionPW?
A: Вызовите функцию MotionPW_Initialize() перед использованием
Библиотека фитнес-активностей. Убедитесь, что модуль CRC в STM32
микроконтроллер включен.
«`
UM2350
Руководство пользователя
Начало работы с библиотекой шагомера MotionPW в реальном времени для запястья в расширении X-CUBEMEMS1 для STM32Cube
Введение
Библиотека промежуточного программного обеспечения MotionPW входит в состав программного обеспечения X-CUBE-MEMS1 и работает на базе STM32 Nucleo. Она предоставляет информацию в режиме реального времени о количестве шагов и частоте вращения педалей, которые пользователь только что сделал с помощью носимого устройства (например, умных часов). Эта библиотека предназначена только для работы с ST MEMS. Алгоритм представлен в формате статической библиотеки и предназначен для использования на микроконтроллерах STM32 на базе архитектуры ARM® Cortex®-M3, ARM Cortex®-M33, ARM® Cortex®-M4 и ARM® Cortex®-M7. Он построен на основе программной технологии STM32Cube для упрощения переносимости между различными микроконтроллерами STM32. Программное обеспечение поставляется с…ampРеализация le работает на плате расширения X-NUCLEO-IKS4A1 или X-NUCLEO-IKS01A3 на плате разработки NUCLEO-F401RE, NUCLEO-U575ZI-Q или NUCLEO-L152RE.
UM2350 – Версия 4 – май 2025 г. Для получения дополнительной информации обратитесь в местный офис продаж STMicroelectronics.
www.st.com
UM2350
Акронимы и Аббревиатуры
1
Акронимы и Аббревиатуры
Акроним API BSP GUI HAL IDE
Таблица 1. Список сокращений
Интерфейс прикладного программирования Пакет поддержки платы Графический пользовательский интерфейс Уровень абстракции оборудования Интегрированная среда разработки
Описание
UM2350 - Ред. 4
страница 2/16
2
2.1 2.2
2.2.1
2.2.2
Примечание:
UM2350
Библиотека промежуточного программного обеспечения MotionPW в программном расширении X-CUBE-MEMS1 для STM32Cube
Библиотека промежуточного программного обеспечения MotionPW в программном расширении X-CUBE-MEMS1 для STM32Cube
MotionPW надview
Библиотека MotionPW расширяет функциональность программного обеспечения X-CUBE-MEMS1.
Библиотека получает данные с акселерометра и предоставляет информацию о количестве шагов и частоте шагов, которые пользователь только что выполнил с помощью носимого устройства.
Библиотека предназначена только для ST MEMS. Функциональность и производительность при использовании других МЭМС-сенсоров не анализируются и могут существенно отличаться от описанных в документе.
КакampРеализация le доступна для плат расширения X-NUCLEO-IKS4A1 и X-NUCLEO-IKS01A3, установленных на плате разработки NUCLEO-F401RE, NUCLEO-U575ZI-Q или NUCLEO-L152RE.
Библиотека MotionPW
Техническую информацию, полностью описывающую функции и параметры API MotionPW, можно найти в скомпилированном HTML-файле MotionPW_Package.chm. file находится в папке «Документация».
Описание библиотеки MotionPW
Библиотека шагомера MotionPW управляет данными, полученными от акселерометра. Она включает в себя:
·
возможность определения количества шагов, каденции и уверенности
·
распознавание только на основе данных акселерометра
·
необходимые данные акселерометраampчастота звена 50 Гц
·
требования к ресурсам:
Cortex-M3: 3.7 КБ кода и 1.8 КБ памяти данных
Cortex-M33: 3.5 КБ кода и 1.8 КБ памяти данных
Cortex-M4: 3.5 КБ кода и 1.8 КБ памяти данных
Cortex-M7: 3.6 КБ кода и 1.8 КБ памяти данных
·
доступно для ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 и ARM® Cortex®-M7
архитектуры
API MotionPW
API библиотеки MotionPW:
·
uint8_t MotionPW_GetLibVersion(char *version)
извлекает версию библиотеки
*version — указатель на массив из 35 символов
возвращает количество символов в строке версии
·
void MotionPW_Initialize(void)
выполняет инициализацию библиотеки MotionPW и настройку внутреннего механизма, включая динамическое выделение памяти
Эту функцию необходимо вызвать перед использованием библиотеки фитнес-активности, а модуль CRC в микроконтроллере STM32 (в регистре разрешения тактовой частоты периферии RCC) должен быть включен.
UM2350 - Ред. 4
страница 3/16
UM2350
Библиотека промежуточного программного обеспечения MotionPW в программном расширении X-CUBE-MEMS1 для STM32Cube
·
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_JOGGING = 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
Библиотека промежуточного программного обеспечения MotionPW в программном расширении X-CUBE-MEMS1 для STM32Cube
Рисунок 1. Логическая последовательность API MotionPW
Начинать
Инициализировать
GetLibVersion
Ожидание истечения таймера прерывания чтения данных
Прочитать обновление данных акселерометра
Получить результаты
2.2.4
Демонстрационный код Следующий демонстрационный код example считывает данные с датчика акселерометра, получает текущую активность из библиотеки 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
Библиотека промежуточного программного обеспечения MotionPW в программном расширении X-CUBE-MEMS1 для STM32Cube
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); }
Производительность алгоритма. Алгоритм шагомера для запястья использует только данные акселерометра и работает на низкой частоте (50 Гц) для снижения энергопотребления. При воспроизведении фитнес-активности с помощью платы STM32 Nucleo убедитесь, что плата расположена перпендикулярно предплечью, чтобы имитировать положение браслета.
Рисунок 2. Система ориентации для устройств, носимых на запястье
Таблица 2. Время выполнения алгоритма (мкс) Cortex-M4, Cortex-M3
Cortex-M4 STM32F401RE на частоте 84 МГц
Мин.
Средн.
Макс
38
49
616
Cortex-M3 STM32L152RE на частоте 32 МГц
Мин.
Средн.
Макс
296
390
3314
UM2350 - Ред. 4
страница 6/16
UM2350
Библиотека промежуточного программного обеспечения MotionPW в программном расширении X-CUBE-MEMS1 для STM32Cube
Таблица 3. Время выполнения алгоритма (мкс) Cortex-M33 и Cortex-M7
Cortex-M33 STM32U575ZI-Q на 160 МГц
Мин.
Средн.
Макс
57
63
359
Cortex-M7 STM32F767ZI на 96 МГц
Мин.
Средн.
Макс
61
88
1301
2.3
Sampле приложение
Промежуточное программное обеспечение MotionPW можно легко использовать для создания пользовательских приложений.
КакampПриложение le находится в папке «Приложения». Оно предназначено для работы на плате разработки NUCLEO-F401RE, NUCLEOU575ZI-Q или NUCLEO-L152RE, подключенной к плате расширения X-NUCLEO-IKS4A1 или X-NUCLEO-IKS01A3.
Приложение распознаёт шаги, темп и уверенность в себе в режиме реального времени. Данные можно отобразить через графический интерфейс.
Рисунок 3. STM32 Nucleo: светодиоды, кнопка, перемычка
На рисунке выше показана пользовательская кнопка B1 и три светодиода платы NUCLEO-F401RE. После подачи питания на плату загорается светодиод LD3 (PWR).
Для мониторинга данных в режиме реального времени требуется подключение по USB-кабелю. Плата питается от ПК через USB-соединение. Этот режим работы позволяет пользователю отображать количество шагов, частоту вращения педалей и точность, данные акселерометра и время.amp и, в конечном итоге, другие данные датчиков в режиме реального времени с использованием MEMS-Studio.
2.4
Приложение MEMS Studio
СampПриложение использует приложение MEMS-Studio, которое можно загрузить с сайта www.st.com.
Шаг 1. Убедитесь, что установлены необходимые драйверы и плата STM32 Nucleo с соответствующей платой расширения подключена к ПК.
UM2350 - Ред. 4
страница 7/16
UM2350
Библиотека промежуточного программного обеспечения MotionPW в программном расширении X-CUBE-MEMS1 для STM32Cube
Шаг 2.
Запустите приложение MEMS-Studio, чтобы открыть главное окно приложения.
Если плата STM32 Nucleo с поддерживаемой прошивкой подключена к ПК, она автоматически определяется. Нажмите кнопку [Подключиться], чтобы установить соединение с оценочной платой.
Рисунок 4. MEMS-Studio – Подключение
Шаг 3. При подключении к плате STM32 Nucleo с поддерживаемой прошивкой открывается вкладка [Оценка библиотеки].
Чтобы запустить и остановить потоковую передачу данных, переключите соответствующую вертикальную панель инструментов [Пуск].
или кнопка [Стоп] на внешней стороне
Данные, поступающие от подключенного датчика, могут быть viewИзмените выбор вкладки [Таблица данных] на внутренней вертикальной панели инструментов.
Рисунок 5. MEMS-Studio – Оценка библиотеки – Таблица данных
UM2350 - Ред. 4
страница 8/16
UM2350
Библиотека промежуточного программного обеспечения MotionPW в программном расширении X-CUBE-MEMS1 для STM32Cube
Шаг 4. Нажмите [Шагомер], чтобы открыть окно приложения. Рисунок 6. MEMS-Studio – Оценка библиотеки – Шагомер
Шаг 5.
Нажмите на [Сохранить в File], чтобы открыть окно настройки регистрации данных. Выберите данные датчика и шагомера, которые нужно сохранить в file. Вы можете начать или остановить сохранение, нажав на соответствующую кнопку.
кнопка.
Рисунок 7. MEMS-Studio – Оценка библиотеки – Сохранить в File
UM2350 - Ред. 4
страница 9/16
UM2350
Библиотека промежуточного программного обеспечения MotionPW в программном расширении X-CUBE-MEMS1 для STM32Cube
Шаг 6.
Режим ввода данных можно использовать для отправки ранее полученных данных в библиотеку и получения
результат. Выберите вкладку [Внедрение данных] на вертикальной панели инструментов, чтобы открыть выделенный view для этой функциональности.
Рисунок 8. MEMS-Studio – Оценка библиотеки – Ввод данных
Шаг 7.
Нажмите кнопку [Обзор], чтобы выбрать file с ранее захваченными данными в формате CSV. Данные будут загружены в таблицу в текущем view. Другие кнопки станут активными. Вы можете нажать на:
Кнопка [Автономный режим] для включения/выключения автономного режима прошивки (режима, использующего ранее полученные данные).
Кнопки [Старт]/[Стоп]/[Шаг]/[Повторить] для управления подачей данных из MEMS-Studio в библиотеку.
UM2350 - Ред. 4
страница 10/16
UM2350
Ссылки
3
Ссылки
Все следующие ресурсы находятся в свободном доступе на сайте www.st.com. 1. UM1859: Начало работы с программным обеспечением MEMS движения X-CUBE-MEMS1 и датчика окружающей среды
расширение для STM32Cube 2. UM1724: платы STM32 Nucleo-64 (MB1136) 3. UM3233: начало работы с MEMS-Studio
UM2350 - Ред. 4
страница 11/16
UM2350
История изменений
Таблица 4. История изменений документа
Дата
Изменения версии
24 января 2018 г. 1 Первоначальный выпуск.
21 марта 2018 г. 2 Обновленное введение и раздел 2.1 MotionPWview. Обновлен раздел 2.2.5: Производительность алгоритма и рисунок 3. STM32 Nucleo: светодиоды, кнопка, перемычка.
20 февраля 2019 г. 3 Добавлена информация о совместимости платы расширения X-NUCLEO-IKS01A3.
Обновленный раздел «Введение», раздел 2.1: MotionPW overview, Раздел 2.2.1: Библиотека MotionPW 20 мая 2025 г. 4 Описание, Раздел 2.2.2: API MotionPW, Раздел 2.2.4: Демонстрационный код, Раздел 2.2.5: Алгоритм
производительность, Раздел 2.3: Sampприложение le, Раздел 2.4: Приложение MEMS Studio
UM2350 - Ред. 4
страница 12/16
UM2350
Содержание
Содержание
1 Сокращения и аббревиатуры . ...2 2 Библиотека промежуточного программного обеспечения MotionPW в программном расширении X-CUBE-MEMS1 для
STM32Cube . ...3 2.1 MotionPW поview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Библиотека MotionPW . ... . . . . . . . 3
2.2.1 Описание библиотеки MotionPW. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2.2 API MotionPW. ... 3 2.2.3 Блок-схема API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2.4 Демонстрационный код . ... . . . . . . . . 5 2.2.5 Производительность алгоритма . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 SampПриложение le . ... . . 7
3 Ссылки . ... . . . . . . . . . . . . . . . . . . . . . . . . .11
UM2350 - Ред. 4
страница 13/16
UM2350
Список таблиц
Список таблиц
Таблица 1. Таблица 2. Таблица 3. Таблица 4.
Список сокращений . ... . . . . . . . 2 Время выполнения алгоритма (мкс) Cortex-M4 и Cortex-M3 . ... . . . 6
UM2350 - Ред. 4
страница 14/16
UM2350
Список фигур
Список фигур
Рисунок 1. Рисунок 2. Рисунок 3. Рисунок 4. Рисунок 5. Рисунок 6. Рисунок 7. Рисунок 8.
Логическая последовательность API MotionPW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Система ориентации для устройств, носимых на запястье . ... 6 STM32 Nucleo: светодиоды, кнопка, перемычка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 MEMS-Studio – Подключение . ... . . . . 8 MEMS-Studio – Оценка библиотеки – Таблица данных. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 MEMS-Studio – Оценка библиотеки – Шагомер. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 MEMS-Studio – Оценка библиотеки – Сохранить в File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 MEMS-Studio – Оценка библиотеки – Ввод данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
UM2350 - Ред. 4
страница 15/16
UM2350
ВАЖНОЕ ЗАМЕЧАНИЕ. ПРОЧТИТЕ ВНИМАТЕЛЬНО Компания STMicroelectronics NV и ее дочерние компании («ST») оставляют за собой право вносить изменения, исправления, улучшения, модификации и усовершенствования в продукты ST и/или в этот документ в любое время без предварительного уведомления. Покупатели должны получить самую свежую соответствующую информацию о продуктах ST перед размещением заказов. Продукты ST продаются в соответствии с условиями продажи ST, действующими на момент подтверждения заказа. Покупатели несут единоличную ответственность за выбор, выбор и использование продуктов ST, и ST не несет ответственности за помощь в применении или разработку продуктов покупателей. Компания ST не предоставляет никаких лицензий, явных или подразумеваемых, на какие-либо права интеллектуальной собственности. Перепродажа продуктов ST с условиями, отличными от информации, изложенной в настоящем документе, приведет к аннулированию любой гарантии, предоставленной ST на такой продукт. ST и логотип ST являются торговыми марками ST. Дополнительную информацию о товарных знаках ST см. на сайте www.st.com/trademarks. Все остальные названия продуктов и услуг являются собственностью соответствующих владельцев. Информация в этом документе заменяет и заменяет информацию, ранее представленную в любых предыдущих версиях этого документа.
© 2025 STMicroelectronics Все права защищены
UM2350 - Ред. 4
страница 16/16
Документы/Ресурсы
![]() |
Расширение программного обеспечения датчика и алгоритма движения ST X-CUBE-MEMS1 [pdf] Руководство пользователя STM32 Nucleo, X-NUCLEO-IKS4A1, X-NUCLEO-IKS01A3, X-CUBE-MEMS1, расширение программного обеспечения датчика и алгоритма движения, X-CUBE-MEMS1, расширение программного обеспечения датчика и алгоритма движения, расширение программного обеспечения алгоритма движения, расширение программного обеспечения алгоритма, расширение программного обеспечения |