主要内容

本页采用了机器翻译。点击此处可查看英文原文。

通过专用硬件外设进行进程间数据通信

各种微控制器单元 (MCU) 和片上系统 (SoC) 提供专用硬件外设,使在独立处理器上执行的进程能够进行通信。专用硬件连接消除了通过共享内存或外围总线开发传统通道的需要。专用的硬件进程间数据通信用于嵌入式 MCU,无论其是否支持操作系统 (OS)。如果没有操作系统,该进程将占用全部处理器资源。在这种情况下,多进程系统需要将任务分配到单个 MCU 内的多个处理器上。例如,Texas Instruments® 的 F2838xD 系列处理器包含一对处理器间通信 (IPC) 外设,可直接连接 C28 CPU。有关 F2838xD 处理器及其 IPC 外设的详细信息,请参阅德州仪器网站 TMS320F2838x 微控制器及其连接管理器

Interprocess Data ReadInterprocess Data ChannelInterprocess Data Write 模块仿真在独立处理器上执行的裸机进程之间的通信。要在两个处理器之间创建单向数据通道,请在发送数据的处理器引用模型中添加 Interprocess Data Write 模块。接下来,在处理器引用模型中添加一个接收数据 Interprocess Data Read 模块。在每个模型中,分别使用 OutportInport 模块将事件端口暴露给顶层模型。最后,使用 Interprocess Data Channel 模块连接顶层模型中的事件端口。

如果 SoC 模型是为受支持的处理器(例如 F2838xD 系列处理器)构建的,则会自动为硬件 IPC 外设生成代码。

单向进程间通信

此示例展示了两个裸机处理器之间的单向进程间数据通信。

Processor1 中的算法使用 Interprocess Data Write 模块,以 0.01 秒的间隔 Interprocess Data Channel 模块发送数据消息。Processor2 使用 Interprocess Data Read 块异步接收和处理数据消息。

结果

在“仿真”选项卡中,点击“运行”。仿真完成后,打开仿真数据检查器查看生成的信号和任务。从图中可以看出,处理器 1 在第一个任务 Task11 实例完成后发送数据值。然后,处理器 2 接收到数据,触发事件驱动任务 Task21。Task21 实例完成后,最终值会在 Processor2 中发出,以便其他任务进行进一步处理。

另请参阅

| | |