
在工业控制、储能EMS这类场景中,既需要Linux强大的网络、文件系统与人机交互能力,又要保证IO控制、信号采集的高实时性。单靠一个操作系统很难两全,而双系统的核间通信时延,就成了决定方案成败的关键瓶颈。
Linux搭配RTOS/裸机,跨核通信到底能跑到多低时延?我们基于创龙科技T153工业评估板,用实测数据给出答案。
为了评估T153 Cortex-A7、RISC-V(E907)核间通信的实时性,我们分别测试了不同主从组合下Rpmsg消息包的发送耗时与接收时延,结果如下表所示。

备注:
发送耗时:Master Core发送耗时
接收时延:Master Core发送完成至Remote Core接收开始的时延
端到端时延:Master Core发送开始至Remote Core接收开始的时延
发送间隔:Master Core消息发送间隔
从表中可以直观看出,Linux->Baremetal(A7-2)的组合表现突出:接收时延低至2.56μs,端到端时延6.94μs,过程时序如下图所示。

为了确保数据的全面性与可信度,我们采用了硬件示波器测量方式计算各阶段耗时,具体方法如下表所示。

AMP:各司其职
AMP(Asymmetric Multi-Processing)的核心思想是多核各司其职,运行独立操作系统。
Linux负责复杂协议处理、联网和人机交互,发挥丰富生态优势;RTOS/Baremetal专注外设实时控制与快速中断响应,保证确定性与可靠性。

RPMsg:高速通道
有了双系统,还需一条高效通道将它们串联。RPMsg(Remote Processor Messaging)正是承担这一角色的关键技术。
RPMsg是一种面向异构多核系统的通信协议,通过共享内存为主核与从核之间提供标准化的消息传递机制,让不同架构的核心高效协同。其核心优势:
高效传输:基于VirtIO管理共享内存,零拷贝,避免额外数据搬运开销。
安全同步:内置同步与互斥机制,保障数据交换的可靠性。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。