UM2275
Руководство пользователя
Начало работы с библиотекой обнаружения падений в реальном времени MotionFD в расширении X-CUBE-MEMS1 для STM32Cube
Введение
MotionEC — это компонент библиотеки промежуточного программного обеспечения X-CUBE-MEMS1, работающий на STM3z2. Он предоставляет информацию в реальном времени об ориентации устройства и состоянии движения на основе данных с устройства.
Он обеспечивает следующие выходные данные: ориентация устройства (кватернионы, углы Эйлера), вращение устройства (функциональность виртуального гироскопа), вектор силы тяжести и линейное ускорение.
Эта библиотека предназначена для работы только с ST MEMS.
Алгоритм представлен в формате статической библиотеки и предназначен для использования на микроконтроллерах STM32 на базе архитектур ARM® Cortex®-M0+, 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.
Акронимы и Аббревиатуры
Таблица 1. Список сокращений
Акроним | Описание |
API | Интерфейс прикладного программирования |
БСП | Пакет поддержки платы |
графический интерфейс | Графический пользовательский интерфейс |
ХЭЛ | Уровень аппаратной абстракции |
ИДЕ | Интегрированная среда развития |
Библиотека промежуточного программного обеспечения MotionFD в программном расширении X-CUBE-MEMS1 для STM32Cube
2.1 ДвижениеFD поview
Библиотека MotionFD расширяет функциональность программного обеспечения X-CUBE-MEMS1.
Библиотека получает данные с акселерометра и датчика давления и предоставляет информацию о падении пользователя на основе данных с устройства.
Библиотека предназначена только для ST MEMS. Функциональность и производительность при использовании других МЭМС-сенсоров не анализируются и могут существенно отличаться от описанных в документе.
SampРеализация le доступна для плат расширения X-NUCLEO-IKS4A1 и X-NUCLEO-IKS01A3, установленных на плате разработки NUCLEO-F401RE, NUCLEO-U575ZI-Q или NUCLEO-L152RE.
2.2 Библиотека MotionFD
Техническую информацию, полностью описывающую функции и параметры API MotionFD, можно найти в скомпилированном HTML-файле MotionFD_Package.chm. file находится в папке «Документация».
2.2.1 Описание библиотеки MotionFD
Библиотека обнаружения падений MotionFD управляет данными, полученными от акселерометра и датчика давления. Она включает в себя:
- возможность отличить, произошло ли падение пользователя или нет
- распознавание только на основе данных акселерометра и датчика давления
- требуемые данные акселерометра и датчика давленияampЧастота колебаний 25 Гц
- требования к ресурсам:
– Cortex-M3: 3.6 кБ кода и 3.2 кБ памяти данных
– Cortex-M33: 3.4 кБ кода и 3.2 кБ памяти данных
– Cortex-M4: 3.4 кБ кода и 3.2 кБ памяти данных
– Cortex-M7: 3.4 кБ кода и 3.2 кБ памяти данных - доступно для архитектур ARM Cortex-M3, ARM Cortex-M33, ARM Cortex-M4 и ARM Cortex-M7
2.2.2 API MotionFD
API библиотеки MotionFD:
- uint8_t MotionFD_GetLibVersion(char *version)
– извлекает версию библиотеки
– *версия – указатель на массив из 35 символов
– возвращает количество символов в строке версии - недействительный MotionFD_Initialize(недействительный)
– выполняет инициализацию библиотеки MotionFD и настройку внутреннего механизма
Примечание: Эту функцию необходимо вызвать перед использованием библиотеки обнаружения падения, а модуль CRC в микроконтроллере STM32 (в регистре включения периферийных часов RCC) должен быть включен.
- void MotionFD_Update (MFD_input_t *data_in, MFD_output_t *data_out)
– выполняет алгоритм обнаружения падения
– Параметр *data_in – указатель на структуру с входными данными
– параметры для типа структуры MFD_input_t:
◦ AccX — значение датчика акселерометра по оси X в мг.
◦ AccY — значение датчика акселерометра по оси Y в мг
◦ AccZ — значение датчика акселерометра по оси Z в мг
◦ Press — значение датчика давления в гПа
– Параметр *data_out представляет собой указатель на перечисление со следующими элементами:
◦ MFD_NOFALL = 0
◦ MFD_FALL = 1 - void MotionFD_SetKnobs(float fall_threshold, int32_t fall_altitude_delta, float laid_time)
– устанавливает параметры конфигурации библиотеки
– fall_threshold порог ускорения в мг
– fall_altitude_delta разница высот в см
– время лежания время в секундах без движения после удара - void MotionFD_GetKnobs(float *fall_threshold, int32_t *fall_altitude_delta, float *lying_time)
– получает параметры конфигурации библиотеки
– fall_threshold порог ускорения в мг
– fall_altitude_delta разница высот в см
– время лежания время в секундах без движения после удара
2.2.3 Блок-схема API
2.2.4 Демо-код
Следующий демонстрационный код считывает данные с акселерометра и датчика давления и получает код события падения.
2.2.5 Производительность алгоритма
Алгоритм обнаружения падения использует только данные акселерометра и датчика давления и работает на низкой частоте (25 Гц) для снижения энергопотребления.
2.3 Сampле приложение
Промежуточное программное обеспечение MotionFD можно легко использовать для создания пользовательских приложений.ampФайл приложения находится в папке Application.
Он предназначен для работы на плате разработки NUCLEO-F401RE, NUCLEO-U575ZI-Q или NUCLEO-L152RE, подключенной к плате расширения X-NUCLEO-IKS4A1 или X-NUCLEO-IKS01A3.
Приложение распознает событие падения пользователя в режиме реального времени.
На рисунке выше показана пользовательская кнопка B1 и три светодиода платы NUCLEO-F401RE. После подачи питания на плату загорается светодиод LD3 (PWR).
Для мониторинга данных в реальном времени требуется подключение по USB-кабелю. Питание платы осуществляется от ПК через USB-подключение. Этот рабочий режим позволяет отслеживать обнаруженное событие падения пользователя, данные акселерометра и датчика давления, времяamp и, в конечном итоге, другие данные датчиков в режиме реального времени с использованием MEMS-Studio.
2.4 Приложение MEMS-Studio
СampПриложение использует приложение MEMS-Studio, которое можно загрузить с сайта www.st.com.
Шаг 1. Убедитесь, что установлены необходимые драйверы и плата STM32 Nucleo с соответствующей платой расширения подключена к ПК.
Шаг 2. Запустите приложение MEMS-Studio, чтобы открыть главное окно приложения.
Если к ПК подключена плата STM32 Nucleo с поддерживаемой прошивкой, она будет обнаружена автоматически.
Нажмите кнопку [Подключиться], чтобы установить соединение с оценочной платой.
Шаг 3. При подключении к плате STM32 Nucleo с поддерживаемой прошивкой открывается вкладка [Оценка библиотеки].
Чтобы запустить и остановить потоковую передачу данных, переключите соответствующий [Пуск] или [Стоп]
кнопка на внешней вертикальной панели инструментов.
Данные, поступающие от подключенного датчика, могут быть viewвыбрав вкладку [Таблица данных] на внутренней вертикальной панели инструментов
Шаг 4. Нажмите [Обнаружение падения], чтобы открыть специальное окно приложения.
Шаг 5. Нажмите на [Сохранить в File] для открытия окна конфигурации регистрации данных. Выберите данные датчика и обнаружения падения, которые нужно сохранить в file. Вы можете начать или остановить сохранение, нажав на соответствующую кнопку.
Шаг 6. Режим Data Injection может использоваться для отправки ранее полученных данных в библиотеку и получения результата. Выберите вкладку [Data Injection] на вертикальной панели инструментов, чтобы открыть специальный view для этой функциональности.
Шаг 7. Нажмите кнопку [Обзор], чтобы выбрать file с ранее полученными данными в формате CSV.
Данные будут загружены в таблицу в текущем view.
Другие кнопки станут активными. Вы можете нажать на:
– Кнопка [Автономный режим] для включения/выключения автономного режима прошивки (режима, использующего ранее полученные данные).
– Кнопки [Старт]/[Стоп]/[Шаг]/[Повторить] для управления подачей данных из MEMS-Studio в библиотеку.
2.5 Ссылки
Все следующие ресурсы находятся в свободном доступе на сайте www.st.com.
- UM1859: Начало работы с МЭМС движения X-CUBE-MEMS1 и расширение программного обеспечения датчиков окружающей среды для STM32Cube
- UM1724: платы STM32 Nucleo-64 (MB1136)
- UM3233: Начало работы с MEMS-Studio
История изменений
Таблица 4. История изменений документа
Дата | Версия | Изменения |
22-сен-2017 | 1 | Первоначальный выпуск. |
6-фев-18 | 2 | Добавлены ссылки на макетную плату NUCLEO-L152RE и таблицу 2. Алгоритм затраченного времени (мкс). |
21-мар-18 | 3 | Обновлено введение и раздел 2.1 MotionFDview. |
19-фев-19 | 4 | Обновлена таблица 2. Алгоритм прошедшего времени (мкс) и рисунок 2. STM32 Nucleo: светодиоды, кнопка, перемычка. Добавлена информация о совместимости платы расширения X-NUCLEO-IKS01A3. |
17-сен-24 | 5 | Обновленный раздел Введение, Раздел 2.1: MotionFD overview, Раздел 2.2.1: Описание библиотеки MotionFD, Раздел 2.2.2: API MotionFD, Раздел 2.2.5: Производительность алгоритма, Раздел 2.3: Sampприложение le, Раздел 2.4: Приложение MEMS-Studio |
ВАЖНОЕ УВЕДОМЛЕНИЕ – ВНИМАТЕЛЬНО ПРОЧИТАЙТЕ
STMicroelectronics NV и ее дочерние компании («ST») оставляют за собой право вносить изменения, исправления, улучшения, модификации и усовершенствования в продукцию ST и/или в этот документ в любое время без предварительного уведомления. Покупатели должны получить последнюю соответствующую информацию о продукции ST перед размещением заказов. Продукция ST продается в соответствии с условиями продажи ST, действующими на момент подтверждения заказа.
Покупатели несут исключительную ответственность за выбор, отбор и использование продукции ST, и ST не несет ответственности за помощь в применении или конструкцию продукции покупателей.
Компания ST не предоставляет никаких лицензий, явных или подразумеваемых, на какие-либо права интеллектуальной собственности.
Перепродажа продукции ST с условиями, отличными от изложенных в настоящем документе, аннулирует любую гарантию, предоставленную ST на такую продукцию.
ST и логотип ST являются товарными знаками ST. Для получения дополнительной информации о товарных знаках ST см. www.st.com/торговые марки. Все остальные названия продуктов или услуг являются собственностью их владельцев.
Информация в этом документе заменяет информацию, ранее предоставленную в предыдущих версиях этого документа.
© 2024 STMicroelectronics – Все права защищены
Документы/Ресурсы
![]() |
ST X-CUBE-MEMS1 MotionFD Библиотека обнаружения падений в реальном времени [pdf] Руководство пользователя X-CUBE-MEMS1 Библиотека обнаружения падений в реальном времени MotionFD, X-CUBE-MEMS1, Библиотека обнаружения падений в реальном времени MotionFD, Библиотека обнаружения падений в реальном времени, Библиотека обнаружения падений, Библиотека обнаружения, Библиотека |