本文将举例说明多核微控制器的控制软件配置。
多核微控制器框图示例
多核微控制器的功能框图,将以如下图所示的SMP(对称多处理)功能框图为例,介绍控制软件的构成。

控制软件配置和 CPU 到 CPU 接口示例
控制软件配置示例
如下图和下表所示,控制软件配置分为每个 CPU 的功能。假定每个 CPU 都有足够的处理时间。
CPU | 软件 |
---|---|
CPU0 | 控制应用A 控制应用B 控制应用C |
CPU1 | I/O驱动程序 电路和集成电路、传感器、致动器驱动器 HAL:GPIO, ADC, PWM, Pulse IO, SPI, I2C |
CPU2 | 通信驱动程序 通信应用程序和通信中间件 HAL:UART, CAN, LIN, Ethernet, EtherCAT |
CPU 到 CPU 接口示例
CPU间接口通过Common RAM实现,如下图所示。
每个CPU都设有专用的只写区域,每处理周期仅写入一次数据。该写入操作实施排他控制,以确保数据一致性。
其他CPU从该只写区域读取所需信息。
Write | Read |
---|---|
CPU0: 控制应用A/B/C | CPU1: I/O驱动程序 CPU2: 通信驱动程序 |
CPU1: I/O驱动程序 | CPU0: 控制应用A/B/C |
CPU2: 通信驱动程序 | CPU0: 控制应用A/B/C |

软件处理时序示例
软件处理时序如下图所示。
标签 | 时间 |
---|---|
Tcyc | CPU0: 控制应用程序 A/B/C 的处理周期 CPU1: I/O 驱动程序处理周期 CPU2: 通信驱动程序的处理周期 |
Tin | 从CPU1的I/O驱动程序输入及CPU2的通信驱动程序接收处理开始到CPU0的控制应用程序处理开始之间的相位。 |
Tout | 从CPU0控制应用程序处理开始到CPU1 I/O驱动程序输出及CPU2通信驱动程序发送处理开始的相位。 |
