exponenta event banner

Создание подсистемы интерфейса Simulink в реальном времени для модели двухуровневого преобразователя Simscape

В этом примере показано, как создать подсистему интерфейса Simulink ® Real-Time для Simscape™ двухуровневой модели установки преобразователей. Затем модель интерфейса можно развернуть на модуле ввода-вывода Speedgoat FPGA. В этом примере используется модуль Speedgoat IO334-325k.

Моделирование в реальном времени

Моделирование модели установки на FPGA обеспечивает:

  • Моделирование в реальном времени: Аппаратное моделирование в цикле обеспечивает моделирование в реальном времени модели завода Simscape на целевом оборудовании.

  • Аппаратное ускорение: ускоренное моделирование сложных физических систем на аппаратном обеспечении, а реконфигурируемые FPGA обеспечивают быстрое создание прототипов.

Для использования рабочего процесса:

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

  2. Создайте код HDL и разверните его в модуле ввода-вывода Speedgoat с помощью помощника по рабочим процессам HDL.

Настройка и настройка

Перед развертыванием алгоритма на модуле ввода-вывода Speedgoat:

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

Затем установите путь к установленному исполняемому файлу 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 Library и пакеты интеграции кодеров HDL Speedgoat. См. раздел Установка пакетов интеграции кодеров HDL 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

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

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

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

Для открытия модели внедрения введите:

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

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

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

Консультант по рабочим процессам HDL

Консультант по рабочим процессам HDL помогает создавать коды HDL и разрабатывать FPGA. Используйте Advisor для:

  • Проверьте модель на совместимость генерации кода HDL и исправьте несовместимые настройки.

  • Создание кода HDL, тестового стенда и сценариев для создания и запуска кода и тестового стенда.

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

  • Развертывание созданного кода на модулях SoC, FPGA и Speedgoat I/O.

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

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

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

Развертывание двухуровневой модели идеального преобразователя в модуль Speedgoat IO334-325K

1. Откройте помощник по рабочим процессам HDL для модели внедрения.

hdladvisor('gmStateSpaceHDL_TwoLevelConverter_HDL/Simscape_system/HDL Subsystem')

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

3. Запустите задачу «Задать целевое ссылочное проектирование», выберите значение x4 для параметра PCIe lanesи выберите «Запустить эту задачу».

4. В задаче Set Target Interface сопоставьте входные и выходные данные. single порты типа данных для PCIe Interface и выберите Запустить эту задачу.

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

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

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

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

Чтобы экспортировать сценарий рабочего процесса HDL, после выполнения задач в помощнике выберите «Файл» > «Экспорт в сценарий». Например, при экспорте в сценарий в этом файле отображаются сохраненные параметры.

edit('hdlworkflow_slrt.m')

Чтобы импортировать сценарий рабочего процесса HDL, в помощнике по рабочему процессу HDL выберите «Файл» > «Импорт из сценария». Выберите файл сценария и нажмите кнопку «Открыть». Помощник по рабочим процессам HDL обновляет задачи с помощью импортированных параметров сценария.

Пример запуска приложения в реальном времени путем развертывания битового потока FPGA см. в разделе Аппаратная реализация модели Simscape на модулях ввода-вывода FPGA Speedgoat.

См. также

Функции

Связанные темы