Различные микроконтроллерные блоки (MCU) и SoC предоставляют выделенные аппаратные периферийные устройства для обеспечения взаимодействия процессов, выполняемых на отдельных процессорах. Выделенное аппаратное соединение устраняет необходимость разработки обычных каналов через общую память или через периферийные шины. Выделенная межпроцессная передача данных в аппаратных средствах используется во встроенных MCU, которые либо поддерживают, либо не поддерживают операционную систему (OS). Без ОС процесс занимает все ресурсы процессора. В этом случае многопроцессорные системы требуют распределения по нескольким процессорам в пределах одного MCU. Например, семейство процессоров F2838xD из Техаса Instruments™ содержит пару периферийных устройств межпроцессорной связи (IPC), которые непосредственно соединяют C28 ЦП. Дополнительные сведения о процессорах F2838xD и их периферийных устройствах IPC см. на веб-сайте Texas Instruments TMS320F2838x Microcontrollers with Connectivity Manager.
Блоки SoC Blockset™ Interprocess Data Read, Interprocess Data Channel и Interprocess Data Write моделируют обмен данными между процессами с нуля, выполняемыми на отдельных процессорах. Чтобы создать канал данных мононаправления между двумя процессорами, добавьте блок Interprocess Data Write в ссылочную модель процессора, которая отправляет данные. Затем добавьте блок Interprocess Data Read в ссылочную модель процессора, которая принимает данные. В каждой модели откройте порты событий для модели верхнего уровня, используя блоки Outport и Inport соответственно. Наконец, подключите порты событий в модели верхнего уровня с помощью блока Interprocess Data Channel.
Если модели SoC созданы для поддерживаемого процессора, например, в семействе процессоров F2838xD, код автоматически генерируется для периферийных устройств IPC оборудования.
В этом примере показана односторонняя межпроцессная передача данных между двумя процессорами с нулевым металлом.
Алгоритм в Processor1 посылает сообщение данных, используя блок записи данных межпроцессного процесса, в блок канала данных межпроцессного процесса с интервалом 0,01 секунды. Processor2 два принимает и обрабатывает сообщения данных асинхронно, используя блок Interprocess Data Read.

Результаты
На вкладке Моделирование (Simulation) щелкните Выполнить (Run). По завершении моделирования откройте инспектор данных моделирования для просмотра полученных сигналов и задач. Из графиков Processor1 отправляет значение данных по завершении первой задачи, Task11, экземпляра. Затем данные принимаются Processor2, что приводит к запуску задачи, управляемой событиями, Task21. По завершении Task21 экземпляра конечное значение сбрасывается в Processor2, потенциально для дополнительной обработки другими задачами.

Межпроцессный канал данных | Считывание данных межпроцесса | Межпроцессная запись данных | Диспетчер задач