Интерпроцессная передача данных через выделенный аппаратный периферийный узел

Различные модули микроконтроллеров (MCU) и СнК обеспечивают выделенные аппаратные периферийные устройства, позволяющие процессорам, выполняемым на отдельных процессорах, обмениваться данными. Выделенное аппаратное соединение устраняет необходимость разработки обычных каналов через общую память или через периферийные шины. Специализированная межпроцессная передача данных в оборудовании используется во встроенных MCU, которые либо поддерживают, либо не поддерживают операционную систему (ОС). Без ОС процесс занимает всю полноту процессорных ресурсов. В этом случае многопроцессорные системы требуют распределения между несколькими процессорами в пределах одного MCU. Например, семейство F2838xD процессоров из Техаса Instruments™ содержит пару периферийных устройств межпроцессорной связи (IPC), которые непосредственно соединяют C28 центральные процессоры. Для получения дополнительной информации о процессорах F2838xD и их периферийных устройствах IPC смотрите веб-сайт 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 отправляет сообщение данных, используя блок Interprocess Data Write, в блок Interprocess Data Channel с интервалом 0,01 секунды. Processor2 два принимает и обрабатывает сообщения данных асинхронно, используя блок Interprocess Data Read.

Результаты

На вкладке Simulation нажмите запуск. Когда симуляция завершится, откройте Данные моделирования Inspector, чтобы просмотреть полученные сигналы и задачи. Из графиков Processor1 отправляет значение данных по завершении первой задачи, Task11, образца. Затем данные получают по Processor2, вызывая событийно-управляемую задачу, Task21. По завершении Task21 образца окончательное значение эмитируется в Processor2, потенциально для дополнительной обработки другими задачами.

См. также

| | |