Сгенерируйте подсистему интерфейса Simulink Real-Time для Simscape двухуровневая модель конвертера

В этом примере показано, как сгенерировать Simulink® Интерфейсная подсистема В реальном времени для Simscape™ двухуровневая модель объекта управления конвертера. Можно затем развернуть интерфейсную модель на FPGA Speedgoat модуль IO. Этот пример использует модуль Speedgoat IO334-325k.

Симуляция в реальном времени

Симуляция модели объекта управления на FPGA обеспечивает:

  • Симуляция в реальном времени: оборудование в цикле обеспечивает симуляцию в реальном времени вашей модели объекта управления Simscape на целевом компьютере.

  • Аппаратное ускорение: Ускоренная симуляция комплексных физических систем на оборудовании, в то время как реконфигурируемый FPGAs обеспечивает быстрое прототипирование.

Использовать рабочий процесс:

  1. Разработайте модель Simscape и преобразуйте ее в модель реализации при помощи HDL Workflow Advisor Simscape.

  2. Сгенерируйте HDL-код и разверните код в модуль ввода-вывода Speedgoat при помощи HDL Workflow Advisor.

Setup и настройка

Прежде, чем развернуть ваш алгоритм на модуле Speedgoat IO:

1. Установите последнюю версию Xilinx® Vivado®, как перечислено в Поддержке Языка HDL и Поддерживаемых Сторонних программах и Оборудовании.

Затем установите инструмент path на установленный исполняемый файл Xilinx Vivado при помощи hdlsetuptoolpath функция.

hdlsetuptoolpath('ToolName','Xilinx Vivado','ToolPath','C:\Xilinx\Vivado\2019.2\bin\vivado.bat')

2. Для симуляции в реальном времени, настроенной среда разработки и настройки целевого компьютера. Смотрите Начало работы с Simulink Real-Time (Simulink Real-Time).

3. Установите Библиотеку Speedgoat и пакеты Интегрирования HDL Coder Speedgoat. Смотрите Установку Пакеты Интегрирования HDL Coder Speedgoat.

Двухуровневая модель идеала конвертера

Открыть эту модель, введите:

open_system('sschdlexTwoLevelConverterIdealExample')

Сохраните эту модель локально как TwoLevelConverter_HDL.slx запускать этот рабочий процесс.

open_system('TwoLevelConverter_HDL')
set_param('TwoLevelConverter_HDL','SimulationCommand','update')

open_system('TwoLevelConverter_HDL/Simscape_system')

Подсистема Simscape получает импульсы управления с шестью переключателями, как введено. Подсистема Simscape действует как генератор, который использует двухуровневый, основанный на поставщике услуг метод PWM для:

  1. Произведите ссылочную волну.

  2. Сравните выборку с треугольной несущей.

  3. Сгенерируйте переключатель - на импульсе, если выборка выше, чем сигнал поставщика услуг или выключать импульс, если выборка ниже, чем несущая.

Симулируйте модель.

sim('TwoLevelConverter_HDL')
open_system('TwoLevelConverter_HDL/Load Scope')

Сгенерируйте модель реализации HDL

Чтобы сгенерировать модель реализации, используйте HDL Workflow Advisor Simscape. Запустите sschdladvisor функционируйте для своей модели:

sschdladvisor('TwoLevelConverter_HDL')
### Running Simscape HDL Workflow Advisor for <a href="matlab:(TwoLevelConverter_HDL)">TwoLevelConverter_HDL</a>

Чтобы сгенерировать модель реализации, в HDL Workflow Advisor Simscape, сохраняют настройки по умолчанию для задач, и затем запускают задачи. Вы видите ссылку на модель в Сгенерировать задаче модели реализации. Эта модель имеет то же имя как исходная модель, снабженная префиксом gmStateSpaceHDL.

Открыть модель реализации, введите:

load_system('gmStateSpaceHDL_TwoLevelConverter_HDL')
open_system('gmStateSpaceHDL_TwoLevelConverter_HDL/Simscape_system')
set_param('gmStateSpaceHDL_TwoLevelConverter_HDL','SimulationCommand','update')

Модель реализации заменяет подсистему Simscape на алгоритм HDL, который выполняет расчеты пространства состояний. Когда вы перешли в этой подсистеме, вы видите несколько задержек, сумматоров, и Умножение матриц блоки, которые моделируют уравнения пространства состояний. От и блоки Goto в этой подсистеме обеспечивают тот же вход как та из исходной модели к HDL Subsystem.

open_system('gmStateSpaceHDL_TwoLevelConverter_HDL/Simscape_system/HDL Subsystem/HDL Algorithm')

HDL Workflow Advisor

HDL Workflow Advisor проводит вас по генерации HDL-кода и процессу проектирования FPGA. Используйте Советника:

  • Проверяйте модель на совместимость генерации HDL-кода и зафиксируйте несовместимые настройки.

  • Сгенерируйте HDL-код, испытательный стенд и скрипты, чтобы создать и запустить код и испытательный стенд.

  • Выполните анализ синтеза и синхронизации.

  • Разверните сгенерированный код на SoCs, FPGAs и модулях ввода-вывода Speedgoat.

Чтобы открыть HDL Workflow Advisor для подсистемы в модели, используйте hdladvisor функция.

load_system('sschdlexTwoLevelConverterIgbtExample')
hdladvisor('sschdlexTwoLevelConverterIgbtExample/Simscape_system')

Левая панель содержит папки, которые представляют группу связанных задач. Расширение папок и выбор задачи отображают информацию о той задаче на правой панели. Правая панель содержит простые средства управления для выполнения задачи к продвинутым параметрам и настройкам опции что генерация испытательного стенда и код системы управления. Чтобы узнать больше о каждой задаче, щелкните правой кнопкой по той задаче и выберите What, Это?. Смотрите Начало работы с HDL Workflow Advisor.

Разверните две модели конвертера идеала уровня в модуль Speedgoat IO334-325K

1. Откройте HDL Workflow Advisor для модели реализации.

hdladvisor('gmStateSpaceHDL_TwoLevelConverter_HDL/Simscape_system/HDL Subsystem')

2. В задаче Инструмента Целевого устройства и Синтеза Набора задайте Целевой рабочий процесс как Simulink Real-Time FPGA I/O и Целевая платформа как Speedgoat IO334-325K

3. Запустите Целевую задачу Исходного проекта Набора, выберите значение x4 для параметра PCIe lanes, и выберите Run This Task.

4. В Поставившей Целевой Интерфейсной задаче сопоставьте ввод и вывод single порты типа данных к PCIe Interface и выберите Run This Task.

5. Щелкните правой кнопкой по Generate RTL Code и задаче IP Core и выберите Run to Selected Task. Когда модель использует векторные типы данных, Сгенерировать Код RTL и сбои Ядра IP потому что ScalarizePorts свойство должно быть установлено в dutlevel. Щелкните по ссылке, чтобы изменить эти настройки и повторно выполнить задачу.

6. Запустите рабочий процесс к задаче интерфейса Generate Simulink Real-Time. В Создают задачу Проекта, можно открыть проект Vivado и видеть реализованный проект. После передач задачи интерфейса Generate Simulink Real-Time щелкните по ссылке, чтобы открыть Модель Интерфейса Simulink Real-Time.

Экспортируйте рабочий процесс HDL в скрипт

Для быстрого прототипирования можно экспортировать настройки HDL Workflow Advisor в скрипт. Скрипт является файлом MATLAB®, который можно запустить из командной строки. Можно затем изменить и запустить скрипт или импортировать настройки в Пользовательский интерфейс HDL Workflow Advisor.

Чтобы экспортировать скрипт Рабочего процесса HDL, после того, как вы запустите задачи в Советнике, выбирают File> Export to Script. В данном примере, когда вы экспортируете в скрипт, этот файл показывает настройки вы сохраненный.

edit('hdlworkflow_slrt.m')

Чтобы импортировать скрипт Рабочего процесса HDL, в HDL Workflow Advisor, выбирают File> Import from Script. Выберите файл скрипта и нажмите Open. HDL Workflow Advisor обновляет задачи с импортированными настройками скрипта.

Для примера, который показывает, как запустить приложение реального времени путем развертывания потока битов FPGA, смотрите Оборудование в Реализации цикла Модели Simscape на Модулях ввода-вывода FPGA Speedgoat.

Смотрите также

Функции

Похожие темы