打印
[总线技术]

一文读懂远程控制协议—Remote Control Protocol

[复制链接]
3066|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 Hirain1234 于 2024-10-24 16:12 编辑

#技术资源#

      随着中央计算+区域控制的中央集中式架构广泛应用,10BASE-T1S技术逐渐得到各方关注,总线型及半双工的特性让10BASE-T1S在成本和功耗上更占优势。在此基础上,为了进一步实现中央计算+区域控制的理念,2023年5月,BMW在OPEN联盟TC14的会议中提到了远程控制协议Remote Control Protocol(简称RCP)的概念。2024年7月,OPEN联盟创建了TC18 :Remote Control小组。当前在TC18中各个OEM对这项技术的讨论和关注度较高。
      RCP是一种轻量级的通信协议,核心理念是将边缘节点控制器中MCU的协议转换功能迁移至区域控制器ZCU甚至中央控制器Central ECU中实现,从而实现针对边缘节点的远程控制,实现网络中软件集中化,边缘节点轻量化。
让我们想象这样一个场景:一个执行器通过标准SPI接口连接在边缘节点的MCU上。当我要控制这个执行器执行相关指令时,边缘节点必须通过SPI在执行器的寄存器0x01中写入0x0A。

      如果我们采用SOME/IP协议,信号的传输过程是这样的:区域控制器将SOME/IP报文发送至边缘节点,边缘节点中的MCU解析报文payload中控制执行器的信号,并通过SPI修改执行器的0x01寄存器。

      这样做可能产生的风险是:如果更换了一个具有其他SPI映射关系(比如需要在寄存器0x0A中写入0x0B,寄存器0x10中写入0x0A)或采用其他接口的执行器(比如I2C、UART等),边缘节点需要进行更新与修改。但SOME/IP协议至SPI的转换远远不像图片中展示的一样简单。

      如果我们采用RCP,信号的传输过程是这样的:区域控制器应用层下发的数据在RCP Client中转换为SPI格式的指令,并填入RCP协议的payload中,传输至边缘节点后,不需要进行额外的转换工作,RCP Server解析payload中的指令即可直接通过SPI控制执行器。

      同样在更换具有其他SPI映射关系的执行器后,仅需要更新ZCU的软件即可完成适配工作,实现了网络中软件集中化,边缘节点轻量化的目的。

      RCP的应用不仅体现在单一边缘节点的控制上,由于10BASE-T1S支持总线型连接,区域控制器可以在一条RCP报文中添加多个命令,通过组播的方式实现一条RCP报文控制总线上多个边缘节点,或一条RCP报文控制一个边缘节点中多个控制器的操作。这一组播操作的具体实现方式还在讨论中。

      RCP的协议字段当前正在TC18中展开讨论,并于2024年4月发布了Draft 0.2版本。值得注意的是,RCP在OSI七层模型中的位置并没有被确认,即RCP报文视使用场景的不同可能被封装进不同的协议中,当前的候选包括了SOME/IP、1722、Google Protocol Buffers等。
      总结来看,远程控制协议是一种轻量化协议,基于10BASE-T1S实现时简化了边缘节点中MCU的功能,由中央控制器或区域控制器直接下发控制指令,实现了网络中软件集中化,边缘节点轻量化。


使用特权

评论回复

相关帖子

沙发
海中水| | 2024-10-24 17:46 | 只看该作者
这个RCP的确是一个不错的解决方案,但是也要结合绝体的方案设计。才能将其优势发挥到极致。

使用特权

评论回复
板凳
Hirain1234|  楼主 | 2024-10-25 10:06 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

438

主题

451

帖子

2

粉丝