• Регистрация
MiPe
MiPe +804.65
н/д

Запуск моделей Simulink на Arduino

30.11.2014

В этом небольшом посте я бы хотел рассказать о возможностях по работе с платформой Arduino из Simulink.

Использование Simulink Run on Target Hardware
В одном из предыдущих постов я рассказывал, что такое Simulink Run on Target Hardware и как этот функционал позволяет работать с бюджетными аппаратными платформами.

Для того, чтобы начать использовать этот функционал, достаточно выполнить команду

targetinstaller

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

В результате вы получите следующее:

- Библиотеку блоков Simulink для работы с периферией Arduino:

  • Digital Input/Output
  • Analog Input
  • Servo Read/Write (Continous)
  • Serial Transmit/Receive
  • PWM

- Примеры и документацию для работы с Arduino

Заметьте, что для того, чтобы начать использовать этот функционал, вам нужен только Simulink. Вы можете начать с базовых примеров и расширять их своими алгоритмами и функционалом. Чтобы запустить модель Simulink на Arduino, достаточно выбрать Run on Target Hardware > Prepare to Run (или Run) из меню Tools . Дополнительная информация содержится в документации.

Функционал Simulink Run on Target Hardware доступен любому пользователю Simulink, но эта доступность и простота использования несут определенные ограничения. Например, Simulink Run on Target Hardware поддерживает только Arduino Uno и Arduino Mega 2560. Кроме того, процесс запуска модели на целевой платформе прозрачен для пользователя - т.е. вы не получаете доступа к исходному коду, который генерируется, и не имеете возможности тонкого управления различными аспектами генерации кода.

В случае, если вы хотите работать с любым клоном Arduino или вам важно управлять процессом генерации кода и его сборкой, то вам требуется Embedded Coder.

Использование Embedded Coder
Embedded Coder генерирует удобочитаемый, компактный и быстрый C и C++ код для использования во встраиваемых процессорах, отладочных платах и микропроцессорах, используемых для серийного производства. Embedded Coder активирует дополнительные настройки конфигурации для MATLAB Coder™ и Simulink Coder™, а также включает продвинутые оптимизации для тончайшей настройки функций, файлов и данных в сгенерированном коде. Эти оптимизации улучшают эффективность кода и облегчают интеграцию с существующим кодом, типами данных и калибровочными параметрами, используемыми в производстве. Вы можете подключить стороннюю среду разработки к процессу сборки, чтобы получить исполняемый файл "под ключ" для развертывания на вашей встраиваемой системе.

Поддержка Arduino в Embedded Coder реализована при помощи Target Support Package, который вы можете скачать с File Exchange: Embedded Coder Support Package for Arduino.

В дополнение к упомянутым настройкам и возможностью работать с любым Arduino, вы также получаете возможность верифицировать ваши алгоритмы в режиме Processor-in-the-Loop (больше информации о PIL тестировании в этомпосте).

Я записал небольшое видео, где вы можете увидеть некоторые возможности, упомянутые в этом посте.

Теги

    30.11.2014

    Комментарии