使用 IPC 模块进行内核间通信
C2000™ 微控制器模块集库提供了一组 IPC(处理器间通信)模块,用于促进 F2837xD 和 F2838x 处理器内核之间的通信。这些 IPC 模块包括:
IPC 接收:使用单独的模型来接收来自任一核心的数据。
IPC 传输:使用不同的模型,将数据传输到任一核心。
进程间数据读取:通过进程间通信通道接收来自其他处理器的消息。
进程间数据写入:使用进程间数据写入功能向另一个处理器发送消息。
为了帮助您为您的应用选择合适的解决方案,以下是进程间通信 (IPC) 发送/接收模块和进程间数据读取/写入模块之间的简要比较:
IPC 发送/接收模块:这些模块非常适合需要为每个核心设置独立模型,并希望在它们之间高效地传输或接收数据的场景。它们提供核心层面的控制和灵活性。
进程间数据读/写模块:如果您需要使用进程间通信通道在处理器之间进行通信,那么这些模块是您的首选。它们能够实现处理器之间的无缝消息交换,因此适用于处理器间数据共享。
选择最适合您应用的 IPC 模块取决于您的具体需求。请根据以下信息评估您的需求。
IPC 发送/接收模块与进程间数据读/写模块的比较
| 参数 | IPC 发送和接收 | 进程间数据读写 |
|---|---|---|
| 模块参数 |
|
|
| 每个核心采用单独的模型(扁平模型方法) | IPC 发送和 Receive 模块可以通过在每个内核上运行单独的模型来实现内核之间的 IPC 通信。 | 通过取消选择“启用仿真端口”,可以在每个内核上运行单独的模型,从而使用进程间数据读取和写入模块进行内核间的 IPC 通信,而无需其他操作。Interprocess Data Channel。 |
| 仿真 | 不可能 | 可能。选择参数 Enable simulation port 以输入仿真消息。 |
| 使用任务管理器触发多个核心的单个模型(多处理器建模方法) | 不可能 | 进程间数据读取和写入模块可以与以下方式一起使用:Interprocess Data Channel研究多处理器建模方法。 |
| 打断 | 无需设置参数。IPC 中断由系统隐式处理。支持所有进程间通信中断。 | 在发送端和接收端都设置 Enable interrupt 参数。F2838x 处理器系列不支持 CPU1/CPU2 之间的 IPC4 – IPC7 中断 – CM 是不支持的。 |
| 缓冲区实现 | 乒乓缓冲区已实现。用户无法配置缓冲区。 | 在共享消息 RAM 中创建数据类型为循环缓冲区,用户可以选择配置该缓冲区。 |
| 阻塞模式 | 可能 | 不可能 |
| 展示模块应用的示例 | 使用 IPC 模块进行处理器间通信 | 用于多处理器 MCU 的分区电机控制 |
另请参阅
F2837xD/F2838x/F2838x-M4 IPC Receive | F2837xD/F2838x/F2838x-M4 IPC Transmit | Interprocess Data Read | Interprocess Data Write | Interprocess Data Channel

