SDK

Две особенности нового SDK управления двигателем, которые поразят ваш разум

Решения ST для управления двигателем очень разнообразны, и, хоть ST больше склонны писать о монолитных решениях, все же было бы ошибкой забыть о продуктах ST для PMSM двигателей. Однако во всех случаях ST предоставляет не только компоненты, но и целостную экосистему (аппаратные средства, программные библиотеки с графическим пользовательским интерфейсом для конфигурирования, документацию и т. д.), чтобы помочь инженерам быстрее вывести их решения на рынок. Один из основных элементов этой экосистемы – STM32 SDK управления двигателем, известный теперь как XCUBE-MCSDK.
2533
В избранное

XCUBE-MCSDK новый STM32 Software Development Kit (SDK) управления двигателем с  библиотеками прошивки (firmware) и графическим интерфейсом пользователя (GUI) для конфигурирования. Разработанный для синхронных двигателей с постоянными магнитами (PMSM), использующих векторное управление (FOC - Field-Oriented Control), SDK олицетворяет собой радикальный скачок относительно предыдущих версий.

Решения ST для управления двигателем очень разнообразны, и, хоть ST больше склонны писать о монолитных решениях, все же было бы ошибкой забыть о продуктах ST для PMSM двигателей

Решения ST для управления двигателем очень разнообразны, и, хоть ST больше склонны писать о монолитных решениях, все же было бы ошибкой забыть о продуктах ST для PMSM двигателей.

Однако во всех случаях ST предоставляет не только компоненты, но и целостную экосистему (аппаратные средства, программные библиотеки с графическим пользовательским интерфейсом для конфигурирования, документацию и т. д.), чтобы помочь инженерам быстрее вывести их решения на рынок. Один из основных элементов этой экосистемы –STM32 SDK управления двигателем, известный теперь как XCUBE-MCSDK.

Возвращаясь к корням, ведущим к 2002 году, можно увидеть SDK, который предлагает библиотеки, помогающие разработчикам лучше использовать компоненты и быстрее разрабатывать приложения. Например, алгоритмы от ST увеличивают эффективность и облегчают реализацию таких критических функций, как запуск «на лету» для вентиляторов кондиционирования воздуха, ослабление потока для стиральных машин и обнаружение углового положения ротора для бессенсорных приложений, а также позволяют использование одного шунта для экономичных решений.  Однако обратная связь с разработчиками и видение ST технологии управления двигателем привели к другому подходу с новым X-CUBE-MCSDK.

Особенность 1: Новая архитектура прошивки (firmware, FW) 

Значительное преимущество нового SDK заключается в использовании другой парадигмы программирования, нацеленной на возможность получения разработчиками кода, который можно было бы намного проще кастомизировать и отлаживать.

Новая архитектура прошивки (firmware, FW) Ранее некоторые аспекты библиотек SDK использовали объектно-ориентированные концепции, унаследованные от C++. ST решили переписать их на что-то более доступное с использованием C, чтобы упростить операции разработки приложений. Например, новый XCUBE-MCSDK больше не использует приведение некоторых выражений к void, популярный метод в C++ для подавления предупреждений компилятора, что, как правило, усложняет операции отладки. Портирование библиотек на C также помогает оптимизировать приложения, поскольку с ними легче повысить производительность и эффективность. Кроме того, архитектура FW была полностью перегруппирована, а исходные файлы стали значительно меньше, делая FW решения более читабельными и понимаемыми разработчиками для более тонкой настройки. Этот основной внутренний пересмотр сопровождался массовыми обновлениями в библиотеках SDK. Действительно, в предыдущей версии SDK использовались более старые библиотеки, которые больше не были стандартными для MCU STM32. На протяжении нескольких лет STM32Cube является де-факто решением для всех разработок на микроконтроллерах ST. Он предлагает аппаратные уровни абстракции (HAL), повышает переносимость между MCU STM32, предлагает низкоуровневые API, драйверы и другие компоненты промежуточного программного обеспечения, чтобы сделать экосистему ST более доступной и эффективной. X-CUBE-MCSDK опирается на те же стандартные библиотеки, поэтому разработчикам, хорошо знакомым с STM32Cube, будет гораздо легче работать с кодом и, кроме того, они  потенциально смогут повторно использовать более значительные фрагменты своих приложений из одного проекта в другом.

Особенность 2: Более гибкий GUI 

Более гибкий GUI Помимо внутренних изменений, которые не всегда могут быть очевидны на первый взгляд, новый  SDK теперь работает в сочетании с STM32CubeMX. Действительно, X-CUBE-MCSDK по-прежнему использует MC-Workbench, графический инструмент, в котором инженеры могут вводить параметры своего двигателя и датчиков, чтобы генерировать пользовательский код с учетом этих настроек. Однако сегодняшняя версия SDK имеет прямую связь с STM32CubeMX, чего не хватало в предыдущих версиях. В конечном счете, это означает, что разработчики сначала настраивают свое приложение, выбрав предварительно определенный проект в MC-Workbench (как и в предыдущей версии), ну, а новым  является  то, что система вызывает STM32CubeMX в фоновом режиме для создания кода.

Когда разработчики хотят изменить предварительно выбранную конфигурацию, такую как парт намбер STM32, конфигурацию выводов, настройку синхронизации или добавить периферию для новых коммуникационных интерфейсов, они могут теперь использовать STM32CubeMX через MC-Workbench и генерировать новый код для своего приложения. Они также могут свободно настраивать проекты, добавлять пользовательский код (например, дополнительный контур управления PID) в теги, помещаемые STM32CubeMX, таким образом, создавая собственное решение.

Сообщество ST увлечено конфигурационным инструментом STM32CubeMX, потому что он использует библиотеки STM32Cube и интуитивно понятный интерфейс для генерации заголовочных файлов.  Используя пошаговый процесс, легко сконфигурировать выводы, настроить тактирование и периферийные устройства, а также, среди прочего, разрешить конфликты. Если разработчики, работающие над приложением управления двигателем, решают использовать другой MCU в середине этапа прототипирования, им просто нужно будет открыть STM32CubeMX и, что значительно быстрее, перенести работу, выполненную для предыдущего MCU. Таким образом, X-CUBE-MCSDK привносит новый уровень гибкости, что ранее было невозможно.

Новое начинание для SDK управления двигателем

 Этот краткий обзор новых функций X-CUBE-MCSDK показывает тот большой объем работ и приложенных усилий, которые понадобились для этого масштабного обновления по модернизации и оптимизации библиотек управления двигателем, что сделало их более доступными и гибкими. Более того, команда ST уже работает над новым обновлением. Например, рабочий процесс от MC-Workbench к STM32CubeMX является слишком однонаправленным. Как только в STM32CubeMX изменена предопределенная конфигурация, пользователю непросто вернуться назад к MC-Workbench, чтобы модифицировать параметры приложения для двигателя. Поэтому ST ищет возможности, позволяющие сделать эти оба инструмента более открытыми для взаимодействия. В конечном итоге, MC-Workbench будет интегрирован в STM32CubeMX.

Аналогичным образом увеличится количество MCU и продуктов, совместимых с новым SDK, чтобы он соответствовал и даже превзошел предыдущую версию. Цель ещё не достигнута, но тот факт, что сегодня используются более современные и более стандартные библиотеки, является гарантией того, что ST сможем усовершенствовать SDK для работы с более широкой номенклатурой и гораздо быстрее, чем делали это раньше. ST также работает над Motor Control Suite - инструментом, который позволит централизовать всю документацию, прошивки, примеры приложений, темы форума и т. д. Таким образом, когда команды разработчиков будут выбирать определенный тип двигателя, они сразу же смогут получить доступ ко всему, что им нужно для старта своего проекта без необходимости использования нескольких ресурсов на разных сайтах и доменах.

Загрузить X-CUBE-MCSDK.

Журнал: "https://blog.st.com

Сравнение позиций

  • ()