MATLAB/Simulink/Stateflow

    • Михаил
      19.08.2013
      11:34
      В предыдущих записях в блоге я рассказывал о некоторых целевых платформах и средах разработки, поддерживаемых Embedded Coder:
      Запуск моделей Simulink на Arduino
      Поддержка TI MSP430 LaunchPad в Embedded Coder
      Embedded Coder встречает Green Hills Software MULTI

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

      В этом посте я расскажу о поддержке (Target Support Package) ОС реального времени QNX в Embedder Coder. Embedded Coder является расширяемой и настраиваемой системой, и, хотя QNX не обозначена в списке выше, поддержка этой RTOS была разрабатана инженерами MathWorks и предоставлена для общего использования. Это позволит всем инженерам, работающим в Simulink и разворачивающим свои системы на QNX, существенно упростить процесс разработки и тестирования, а также адаптировать эту поддержку для своих конкретных нужд.

      QNX - это Unix-подобная операционная система реального времени, в первую очередь предназначенная для встраиваемых систем.
      Simulink - это лидирующее окружение для симуляции мультидисциплинарных систем и модельно-ориентированного проектирования.
      Embedded Coder позволяет вам генерировать С код и разворачивать ваши алгоритмы на целевом аппаратном обеспечении.

      Вы можете скачать поддержку с ресурса пользователей File Exchange: http://www.mathworks.com/matlabcentral/fileexchange/42290-qnx-target-support-package-for-embedded-coder.
      Либо можете использовать последнюю версию из этого репозитория Github.

      Этот Target Support Package был протестирован на платформе Beagleboard xM, работающей под управлением QNX 6.5.1. В принципе, он также должен работать на других целевых платформах QNX, для которых есть BSP. Для этого потребуется внести минимальные изменения в Template Makefile, чтобы использовать другие флаги компилятора.

      Как я уже раньше писал, поддержка может заключаться в нескольких аспектах. В данном случае доступна автоматическая связь со средой разработки посредством Makefile (что подразумевает автоматическую компиляцию и линковку после генерации С кода), интеграция с QNX посредством POSIX таймеров (что позволяет запускать ваши многочастотные/многозадачные модели в реальном времени), а также поддержка симуляции в режиме External Mode. Такой режим симуляции позволяет осуществлять калибровку параметров, мониторинг и трассировку сигналов непосредственно из модели Simulink при работе вашего кода на встраиваемом процессоре в реальном времени.

      В небольшом видео вы можете увидеть эту поддержку в действии.

      Кстати, в Simulink также доступна встроенная поддержка BeagleBoard. Однако, это совсем другая возможность, не имеющая отношения к QNX и Embedded Coder. Больше информации об этом вы можете почерпнуть в предыдущем посте.
    • Михаил
      20.11.2012
      15:05
      В релизе MATLAB R2012a появилась возможность запускать модели Simulink на поддерживаемых аппаратных платформах.
      Таким образом, Simulink предлагает встроенную поддержку для прототипирования, тестирования и запуска моделей на недорогом целевом оборудовании, включая Arduino®, LEGO® MINDSTORMS® NXT, PandaBoard и BeagleBoard. Вы можете проектировать алгоритмы в Simulink для систем управления, робототехники, обработки звука и систем компьютерного зрения, и видеть, как они работают на реальном железе.

      Многие, кто читал эту новость, могли задаться вопросом - а что нового в этом функционале? Ведь еще до релиза R2012a у нас была возможность работать из MATLAB/Simulink с Arduino, LEGO и BeagleBoard - скачав соответствующую поддержку с File Exchange.

      Если вкратце, то основное отличие Simulink Run on Target Hardware (ROTH) заключается в том, что для запуска моделей Simulink на железе не требуется Embedded Coder. Для работы этого функционала достаточно иметь студенческую версию Simulink.

      Какие основные возможности Simulink ROTH?

      • Автоматическая установка и настройка поддержки целевого оборудования
      • Библиотека блоков Simulink для аппаратных интерфейсов: I/O портов, датчиков и исполнительных механизмов
      • Выстроенный рабочий процесс для разработки, выполнения и отладки ваших алгоритмов непосредственно на поддерживаемом обрудование
      • Прямая связь между Simulink целевым оборудованием
      • Интерактивная настройка параметров и мониторинг сигналов во время работы вашего приложения
      • Развертывание модели для автономного выполнения

      Главная целевая аудитория ROTH - это, конечно, студенты и преподаватели. Им требуется недорогое оборудование, и нужно, чтобы их алгоритмы просто работали на этом оборудовании.

      Есть два подхода к исследованию и анализу свойств систем – это симуляция и физическое взаимодействие.

      В данном контексте, симуляция – это конфигурация, при которой сам алгоритм, динамика объекта управления, и внешняя среда, с которой они взаимодействуют – все это моделируется на компьютере.

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

      Именно здесь большое значение имеет обучение на реальных проектах (Project-Based Learning).

      Студенты обучаются, выполняя определенные задачи. Это весело, это бросает вызов студентам, и часто позволяет применить на практике полученные теоретические знания.
      Методика обучения на проектах основана на непосредственном экспериментировании с настоящими задачами. Взаимодействие с настоящей средой стимулирует процесс обучения у студента и предлагает возможности по исследованию и анализу сложных проблем. Работа над проектом также предоставляет возможности для командной кооперации и пониманию того, как устроен инженерный процесс – от первоначальной идеи до конечной реализации.

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

      В этом небольшом видео вы можете посмотреть, каким образом осуществляется работа с целевым оборудованием из Simulink на примере платы BeagleBoard.
  • RSS подписка
    Архив материалов
    Май 2019
    Пн Вт Ср Чт Пт Сб Вс
        1 2 3 4 5
    6 7 8 9 10 11 12
    13 14 15 16 17 18 19
    20 21 22 23 24 25 26
    27 28 29 30 31    
    Поиск