Блок управления приводом раздела для многопроцессорного MCUs

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

Много MCUs обеспечивают несколько ядер процессора. Эти дополнительные ядра могут быть усилены, чтобы достигнуть множества целей проекта:

  • Разделите приложение на задачи в реальном времени, такие как законы о надзоре и неоперативные задачи, такие как внешняя коммуникация, диагностика или машинное обучение

  • Разделите алгоритм управления, чтобы работать на нескольких центральных процессорах, чтобы достигнуть более высокого уровня цикла

  • Запустите то же приложение в нескольких центральных процессорах для важных приложений безопасности

В этом примере показано, как разделить приложение блока управления приводом через два центральных процессора TI Delfino F28379D, чтобы достигнуть более высокого времени выборки/PWM частота.

Необходимое оборудование:

  • TI Delfino F28379D LaunchPad или TI Delfino F2837xD основывали плату

  • Моторная плата драйвера BOOSTXL-DRV8305EVM

  • Teknic M 2310P LN 04K PMSM двигатель

Алгоритм управления двигателем раздела

Откройте soc_pmsm_singlecpu_foc модель. Эта модель симулирует один моторный контроллер центрального процессора, содержавшийся в soc_pmsm_singlecpu_ref модели, для постоянного магнита синхронной машины (PMSM).

Мы делим алгоритм управления путем выполнения текущего управления на CPU2, и регулировки скорости и оценки положения на CPU1 соответственно. Передача данных между центральным процессором обработана блоком Interprocess Data Channel. Для получения дополнительной информации смотрите Межпроцессную Передачу данных через Периферийное устройство Выделенного оборудования.

Откройте soc_pmsm_dualcpu_foc модель.

open_system('soc_pmsm_dualcpu_foc');

На вкладке System on Chip нажмите Hardware Settings, чтобы открыть окно Configuration Parameters. Во вкладке Hardware Implementation параметр Блока обработки не сконфигурирован ни к "Одному" указывающему на него, системная модель верхнего уровня.

Откройте soc_pmsm_cpu1_ref модель и откройте soc_pmsm_cpu2_ref модель, чтобы просмотреть алгоритмы, сконфигурированные для каждого центрального процессора. Модели - ссылки, содержавшие в системной модели, сконфигурированы, чтобы работать на c28xCPU1 (CPU1) и c28xCPU2 (CPU2).

На вкладке Simulation нажмите 'Play', чтобы симулировать модель. Откройте Инспектора Данных моделирования и просмотрите сигналы. Этот рисунок показывает результаты одной и двойных моделей CPU в симуляции и развертывании.

Повышение производительности с параллельным выполнением

Используя оба центральных процессора, чтобы выполнить алгоритмы управления позволяет нам достигать более высокой пропускной способности контроллера. В исходной одной модели CPU алгоритм управления берет только по 25us, чтобы выполниться. Чтобы обеспечить запас прочности, одна модель CPU использует частоту PWM 20 кГц, эквивалентных 50us период.

После разделения CPU1 и времена выполнения CPU2 уменьшают до меньше, чем 20us. Разрешение частоты PWM быть увеличением к 40 кГц. В mcb_pmsm_foc_sensorless_f28379d_data.m скрипт, набор PWM_frequency к 40e3 и запуск скрипт, чтобы сконфигурировать модель к новой частоте PWM. С более быстрой выборкой токов усиления контроллера могут затем быть настроены, чтобы достигнуть более быстрого времени отклика.

Разверните модель в TI Delfino F28379D LaunchPad с помощью инструмента SoC Builder. Чтобы открыть инструмент, на вкладке System on Chip, нажимают Configure, Build, & Deploy и выполняют ведомые шаги.

Этот рисунок показывает ответ контроллера от симуляции и развертывания в 25us текущий цикл с частотой PWM на 40 кГц по сравнению с 50us текущий цикл на частоте на 20 кГц. Как ожидалось время нарастания в скорости улучшается с более быстрым текущим циклом приблизительно на 50 процентов.

Ответ скорости является колебательным из-за sensorless алгоритма, для получения дополнительной информации см. Sensorless, Ориентированный на поле на Управление PMSM (Motor Control Blockset)

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

Copyright 2020 The MathWorks, Inc.