核间通信延时,都做到这么低了?附:各项完整测试数据

电子说

1.4w人已加入

描述

先说说,为什么核间通信延时能逼疯工程师?咱做工业控制的都知道,多核处理器就像车间里的多个师傅,例如瑞芯微RK3576处理器:A72核当领导管全局(跑Linux,人机交互、数据处理),A53核当工程师干细活(跑RTOS,控制电机、读传感器),M0核当助手打辅助(跑实时任务)。

这几位师傅之间,得随时“喊话”才行,比如A72喊A53:把电机转速调到1500rpm,A53得立刻回答:收到,已执行。

要是喊话慢了,多轴电机同步时,一个轴动快了0.5ms,另一个轴动慢了0.5ms,结果就是机械臂抓工件歪了

所以核间通信的延时,不是冷冰冰的数字,是设备能不能用的生死线!

▍实测2us,有点东西

一张表,把工程师们最关心的各项数据全部展现。数据为RK3576处理器A72、A53与M0核间通信中的RPMsg消息包的发送耗时与时延。实测可做到2us,时延确实低,看来RK3576处理器在工控领域很能打啊!
 

通信


Linux(A72)->RTOS(A53)、Linux(A72)->Baremetal(A53)的Rpmsg_send发送间隔为10us,Linux(A72)->RTOS(M0)的Rpmsg_send发送间隔为1000us。Linux->RTOS(A53)发送消息包的时间过程,如下图所示:
 

通信


我们通过软件计时硬件测量两种方式,计算各阶段耗时,想了解的兄弟可以看下:

通信

▍2us延时,是精度的分水岭

微秒级别的超低延时,适用于驱控一体控制器、PLC、数控机床等高精度工业自动化场景,能显著提升设备响应速度,轻松应对严苛的工业控制需求。


别小瞧这2us!在工业自动化场景中,2us的延时差异,可能意味着:一台数控机床的加工精度差0.1mm;一个PLC程序的响应速度慢0.001秒;一套驱控一体控制器的同步误差扩大10倍!它就是精度的分水岭

通信

瑞芯微RK3576处理器很好地支持了AMP(Asymmetric Multi-Processing),即“非对称多处理架构”。“非对称AMP双系统”是指多个核心相对独立运行不同的操作系统或裸机应用程序,如Linux + RTOS/裸机,但需一个主核心来控制整个系统以及其它从核心。每个处理器核心相互隔离,拥有属于自己的内存,既可各自独立运行不同的任务,又可多个核心之间进行核间通信。
 

通信


RPMsg(Remote Processor Messaging),是一种专为异构多核处理系统设计的通信协议。它允许不同处理器核心之间通过共享内存高效地交换信息,为主核心和从核心之间提供了一种标准化的消息传递机制,使得这些不同架构的核心能够协同工作,最大限度地发挥它们的性能。RPMsg的主要特点包括:
(1)基于VirtIO管理共享内存,实现了高效的数据传输

(2)避免额外的拷贝开销,优化了内存使用

(3)配备同步与互斥机制,确保数据交换的高效与安全

通信

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐
  • 热点推荐
  • 通信

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分