В этом примере показано, как моделировать контроллер двигателя для устройств SoC путем разделения алгоритмов управления и калибровки между FPGA и процессором SoC.
В этом примере показано, как разделить полевой ориентированный контроллер (ВОК) для синхронного двигателя с постоянным магнитом (PMSM) на устройство SoC. На следующей схеме показан концептуальный ВОК с замкнутым контуром PMSM.

В ВОК, работающем в замкнутом контуре, контур управления током должен работать с высокой скоростью, обычно в микросекундах. В отличие от этого, управление скоростью может выполняться с меньшими скоростями, обычно миллисекундами, но должно реагировать на внешние события, такие как управляемые обновления скорости. Путем разделения контроллеров тока и скорости на FPGA и процессорные ядра, соответственно, оба контура управления в ВОК могут удовлетворять вышеуказанным требованиям.
Первая модель в этом примере используется для поведенческого моделирования ВОК с замкнутым контуром с контроллером калибровки с разомкнутым контуром для PMSM. Вторая модель показывает, как контроллер калибровки с разомкнутым контуром, контроллер скорости с замкнутым контуром и контроллер тока с замкнутым контуром могут быть разделены на устройство SoC с использованием SoC Blockset. Сравнение результатов моделирования между поведенческой и SoC моделями показывает ожидаемое поведение контроллера.
Структура верхнего уровня поведенческой модели показана ниже. Подсистема установки моделирует PMSM с нагрузкой с моделируемыми измерениями от датчика положения вала двигателя и датчиков тока. Образцовые параметры двигателя, груза и датчиков основаны на Совете по Оценке AD-FMCMOTCON2-EBZ от Analog Devices®. Подсистема контроллера содержит ВОК с замкнутым контуром и контроллеры калибровки с разомкнутым контуром.

Контроллер разделен на две подсистемы: внутренний контур управления током и внешний контур управления скоростью и калибровкой.
Подсистема управления током получает значение тока команды из подсистемы управления калибровкой и скоростью. Контроллер тока использует последовательные преобразования Кларка и Парка для преобразования сигнала переменного тока и напряжения в сигналы постоянного тока. Пропорционально-интегральный (PI) контроллер использует сигналы постоянного тока для возбуждения сигналов переключения ШИМ на MOSFET питания, приводящие в действие PMSM.
Подсистема управления скоростью использует внешние команды для установки режима контроллера в качестве режима калибровки или отслеживания скорости по замкнутому контуру. В режиме калибровки Mode_Scheduler вращает двигатель, используя регулятор скорости с разомкнутым контуром для идентификации нулевого индекса кодера вала. Затем контроллер командует и удерживает нулевую позицию для идентификации смещения кодера. После определения смещения кодера контроллер скорости калибруется и может быть переключен в управление скоростью по замкнутому контуру. Управление скоростью по замкнутому контуру также использует PI-контроллер, аналогичный текущему контроллеру.
Структура секционированной модели SoC основана на схеме секционирования, показанной ниже. Контроллер быстрого тока работает на FPGA и контроллер медленной скорости на процессоре. FPGA и процессор взаимодействуют через интерфейс AXI.

Исходная подсистема контроллера из поведенческой модели была разделена на модели процессора и FPGA, которые соединены с блоками канала регистров.

Процессор
Калибровка с разомкнутым контуром и контроллеры скорости с замкнутым контуром теперь находятся внутри блока модели и работают как задача, управляемая блоком диспетчера задач. В рамках итерации задачи контроллер сначала считывает из регистров AXI с помощью блоков чтения регистров, итерирует алгоритм управления, а затем записывает обновленные выходные данные в регистр AXI с помощью блоков записи регистров. Диспетчер задач выполняет задачу контроллера со скоростью 1kHz со средней продолжительностью выполнения 0,2 мс.
Интерфейс AXI
Блок канала регистрации моделирует связь AXI между FPGA и процессором для операций чтения и записи регистров. Соответствующие блоки драйверов AXI4-Lite, Register Read/Register Write, используются в модели процессора для представления AXI4-Lite интерфейса.
FPGA
Контроллер тока с замкнутым контуром содержится в блоке модели, представляющем FPGA устройства SoC. Поскольку текущий контроллер существует в FPGA, он может записывать и считывать непосредственно из аппаратных регистров AXI. FPGA использует часы 40us.
1. Откройте и запустите поведенческую модель. Наблюдайте за поведением контроллера и двигателя из области System_Response.

2. Откройте и запустите секционированную модель SoC. Убедитесь, что поведение контроллера и двигателя совпадает.
3. Щелкните Инспектор данных (Data Inspector), чтобы открыть Инспектор данных моделирования (SDI). Данные сигналов для предыдущих запусков модели были автоматически захвачены и заархивированы в SDI.
4. Выберите параметры «Скорость из прогона 1: soc_motor_behavior» и «Скорость из прогона 2: soc_motor_top» в каждом вложенном графике, чтобы получить следующий график. Как поведенческая, так и разделенная модели демонстрируют эквивалентное отслеживание скорости двигателя.

5. В режиме «Запуск 2: soc_motor_top» выберите и отобразите сигналы Velocity_Control_Task и Core: 0 в каждом вложенном графике, чтобы получить следующий график. На графике можно просмотреть время выполнения задачи контроллера скорости и загрузку ЦП.

Эту модель можно использовать в качестве шаблона для разработки модели SoC, специфичной для оборудования управления двигателем, например, платы драйвера двигателя FMC - Analog Devices AD-FMCMOTCON2-EBZ. Он будет генерировать дизайн SoC (битовый поток FPGA и исполняемое программное обеспечение) с использованием кодера HDL и встроенного кодера. Обратитесь к документации по поддержке пользовательских плат SoC и устройств ввода/вывода.