首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

汽车服务器ECU与以太网的高效连接

要管理不断增长的复杂性并实现更大的灵活性和可扩展性,就需要对服务器ECU进行虚拟化。有三种硬件选项可用于将虚拟机连接到以太网。Elektrobit通过其EB tresos和EB corbos产品系列为所有这些选项提供高效的软件解决方案。

汽车以太网作为汽车行业的车辆内部网络而建立。这主要有两个方面的原因:一方面,车辆中必须传输的数据量大大增加。

另一方面,基于信号的通信发展转变成面向服务的通信(数十年来这一方法一直都是IT世界的标准)。过去,特别是CAN主导了车辆内部通信。如今,汽车以太网则创造了新的可能性。

车辆网络架构演变中的汽车以太网

过去的车辆网络架构将单个的应用程序域进行组合(图1左,“域架构”。现在,基于汽车以太网的综合车载网络基础设施提供了一种选项,能够跨越这些边界共享传感器和执行器,并且将应用程序集中化。然而,不断丰富的车辆功能增加了电子控制单元(ECU)的数量及其复杂性。这一问题可以通过功能的集中化来得以解决,方法是将功能集中在新推出的能够执行大量应用程序的服务器ECU上。此类服务器ECU也称为高性能控制器(HPC),通常由具备高性能CPU和集成(或单独连接)安全CPU的片上系统(SoC)组成(图1中,“集中式架构”)。为了使这一理念更加灵活、可扩展性更强,将来还可以额外连接所谓的“区域ECU”(图1右,“分区架构”)。它们连接车辆中特定范围(“区域”,例如左前部分)所有的传感器/执行器ECU,并通过汽车以太网主干将该区域有效地连接至服务器ECU。

图1:车辆网络架构的演变。传统的域架构方法(左)、集中式架构(中)、未来的分区架构(右)

要在一个ECU上同时运行不同关键等级的功能,它们可能来自不同制造商、或者处于不同的操作系统,就必须采取类似于IT世界中的虚拟化技术来对其虚拟化。

本文介绍如何将不同的虚拟机连接到汽车以太网。它特别关注了效率和性能 — 这两个对于汽车行业尤为关键的方面。

虚拟化和通信要求

传统设计将单个ECU通过一个物理以太网接口连接到汽车以太网(图2)。

图2:各个ECU通过一个以太网交换机连接

下一步中,不同的物理ECU可以合并起来,比如合并为一个物理服务器ECU。为此,物理ECU的软件会在虚拟机(VM)中运行,这些虚拟机使用能够确保时间和空间分区的虚拟机监控程序,因此得以彼此分离(图3)。

图3:使用虚拟机监控程序将多个ECU集成到一个服务器ECU中

这些VM如何连接到汽车以太网的具体细节目前尚不得而知。下列通信要求必须得以满足:

VM必须通过网络在彼此之间以及与其他ECU之间均能透明地通信。

其实施必须满足嵌入式系统在性能和资源需求方面的特定要求。

VM的连接必须满足服务质量要求(QoS)。

系统必须在不同的VM和以太网之间提供时钟同步。

通信接口既不能引起VM之间的错误串扰,也不能在VM之中产生这种故障行为 — 必须确保满足标准ISO 26262所要求的无相互干扰(FFI)。

安全性要求(机密性、完整性、可用性)也必须满足。

基于这些要求,我们现在可以讨论图3中概述的以太网(EthX)接口不同硬件设计的各个方面。

连接虚拟机至汽车以太网

交换机的任务是根据OSI通信模型在第2层转发以太网数据包,这一过程应符合可配置的服务质量要求(QoS);同时还提供诸如时钟同步等其他服务。当这一定义应用于连接虚拟机(VM)的抽象模型时,即相当于此类交换机。由于一方面涉及到连接VM,另一方面则涉及到不一定必须完全由硬件实现的功能:基于这一事实,以下章节中的虚拟交换机针对的是“将VM连接到汽车以太网”的功能。之前的考虑为这种虚拟交换机的基础设计提供了三种选项(图4):

由多个VM共享单个以太网接口硬件单元,或者

多个单独的以太网接口硬件单元(每个VM都有自己的接口),或者

一个(硬件)以太网交换机为每个VM提供其自己的主机端口。

选项(1)是仅具有一个以太网接口硬件单元的服务器ECU。虚拟交换机的任务是在VM之间拆分以太网接口。

通过将一个专用VM实例化成为连接Linux的以太网桥(以太网桥VM),可以使用标准Linux工具来实现此功能。该VM被授予对以太网硬件的独占访问权限,允许其向外界发送数据和从外界接收数据。使用虚拟机监控程序在以太网桥VM中进行复制操作,可以实现到各个VM的内部分配。后者是必需的,因为虚拟机监控程序必须确保各个VM彼此分离。此选项较容易实现;但它非常低效,因为除了单独的以太网桥VM外,它还需要CPU时间来复制数据。此外,满足上述要求也很困难,涉及到大量的额外工作。

通过使用多个以太网接口硬件DMA通道进行发送和接收,因此无需进行CPU的任何复制操作,这一实现方式的效率更高(EB corbos虚拟以太网交换机即可实现这点)。为了在VM之间进行通信并向某些或所有VM转发广播或多播消息,虚拟交换机会使用本地DMA控制器(用户DMA)。虚拟交换机不一定必须具备虚拟机监控程序的功能,它也可以在安全核心上运行。

在选项(2)中,每个VM都有自己的以太网接口硬件单元(由虚拟机监控程序直接分配)及其自己的以太网交换机端口。此选项简单但却很昂贵,并且可扩展性较差。其配置如图2所示。每个VM都包含一个以太网驱动程序,用于直接控制为其分配的以太网接口硬件。各个VM通过连接的以太网交换机相互通信。

在选项(3)中,集成或紧密联接的硬件通过以太网交换机为每个VM提供其自己的主机端口(HP)(图4右)。外部交换器通过PCIe连接到SoC。对于此连接,“单根输入/输出虚拟化”(R-IOV) PCIe扩展尤为实用。由于每个虚拟机都有自己的主机端口,因此每个VM自身都具备虚拟功能(图5,“VirtFun”虚拟功能)。这样,虚拟交换机就可以通过快速PCIe连接直接使用单独的DMA通道发送和接收,同时满足每个VM的所有要求。

图4:三种硬件连接选项

解决方案对比

要管理不断增长的复杂性并实现更大的灵活性和可扩展性,就需要对服务器ECU进行虚拟化。有三种硬件选项可用于将虚拟机连接到以太网。表1对比了这些选项,并特别就其复杂性、资源效率、可扩展性和性能进行了评分。Elektrobit通过其EB tresos和EB corbos产品系列为所有这些选项提供高效的软件解决方案。

图5:虚拟交换机与硬件以太网交换机的PCIe连接

表1:选项对比

作者:

Georg Gaderer博士

Georg Gaderer博士是Elektrobit的技术团队经理。他的团队的任务包括开发产品实现高效利用通信硬件,例如以太网交换机和以太网控制器。

作者:

Michael Ziehensack博士

Michael Ziehensack博士是Elektrobit奥地利公司总经理,专注于汽车网络。

可爱的读者,都会点【在看】

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191031A0BQRU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券