本帖最后由 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的功能,由中央控制器或区域控制器直接下发控制指令,实现了网络中软件集中化,边缘节点轻量化。
|