【座舱域控器】座舱域的通信方案
座舱域的通信方案
座舱域控器作为整车的几大域控器之一,提供驾驶娱乐的功能。比如中控、副驾、仪表、HUD等。
就座舱来说,座舱域控制器以及MCU,加上一系列的硬件外设。以及再此硬件之上的软件系统,构成了整个座舱系统。
同时,通过车载网络线束与其他域相连(比如车身域、动力域等等),实现域间的互联控制。
单从座舱域软件来说,一般情况下包括中控系统、仪表系统、MCU等。比如基于高通Qnx+hypervisor下,可以是:
座舱域仪表与中控通信
这里指,座舱域中不同软件域间如何进行通信,如Android系统(中控)与Qnx系统(仪表)如何进行信息交互,考虑下面的场景:

可以考虑三种方式:
- 共享分区:Qnx与Android拥有共享分区,两个系统都可以访问这个分区,实现文件的读写交互操作。
- HAB:Qnx通过HAB将硬件虚拟化给Android访问,可以借助可以机制来达到通信的目的。
- RPC:现在有很多流行的RPC中间件,比如Android14开始自带了GRpc实现域间通信。通过 RPC的方式,Qnx和Android可以实现域间通信。

座舱域域间通信
这里指,座舱域中Soc与MCU间的通信。座舱中MCU作为通信控制器,完成CAN/LIN通信、其他几大域间的通信、诊断通信等等。Soc通过MCU与其他几大域控制器进行通信,另外Soc的电源输入一般是MCU控制的。
串行通信
一般来说,MCU和Soc间可以使用一些串行通信的,通过物理连接、同步时钟。
网络通信
MCU和SOC间,也可以通信网络进行通信。比如通过网线连接到Switch上,就可以进行网络通信(Socket)。

PS:
这里只说了座舱域内的通信,如果整车通信考虑,还有如域间通信、云端通信、诊断通信等等。受限于某些原因。其实整车的网络拓扑,可以理解为通过不同的线束将各个域控制器连接起来,每个域控制器下又通过不同线束连接各个设备。然后利用不同的通信协议,实现车内/外的互联。
这里只做基础通用的说明,不涉及具体技术与实现。
作者:林多