В этом примере показано, как разделить приложение блока управления приводом в реальном времени на нескольких процессорах, чтобы достигнуть модульного принципа проекта и улучшал производительность управления.
Много 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.