智能汽车域控制器的以太网子系统的实现

描述

汽车工业的发展反映在现代汽车所提供的功能和服务的扩展上。为了使所有这些功能得到执行,也有必要增加车辆内的物理组件的数量。随着整个系统的发展,连接系统内各实体的问题也随之而来。系统的有效简化是通过引入域控制器来实现的,并根据它们所执行的功能来分离物理组件,同时在域控制器之间建立骨干通信网络。在自动驾驶发展的推动下,对时间的要求和其他性能的要求,要求在这个通信网络主干上使用新的标准和解决方案。这些解决方案之一是汽车以太网。在本文中,将介绍和评估自主车辆的域控制器的以太网子系统的实现。

I.简介

多年来,在实现自动驾驶的尝试推动下,硬件和软件技术取得的进步,为汽车行业树立了新的全球趋势。自主驾驶的基础是实现对环境的高质量感知,处理观察到的环境的算法,计算机动性,即计划必要的行动和执行最佳操作。为了使这些和许多其他的算法、功能和不同重要程度的服务(导航、系统安全和稳定性控制等)得到成功实施,有必要在车辆系统中引入许多传感器、传感器数据处理单元以及执行器。为了达到更安全、更舒适和更高效的驾驶的最终目标,系统组件之间的数据交换以及汽车内部传输所需的电线的增加是显而易见的。这导致了控制不同服务的ECU数量的大幅增加,因此,以快速和可靠的数据交换为目的的联网是至关重要的。被称为域控制器的高性能组件是一种解决方案,用于以特定领域的方式对系统进行重新排序,并将其中的不同单元相互连接。

到目前为止,一些总线,如LIN、CAN、FlexRay、MOST等,在车辆内部ECU的联网和通信方面发挥了主要作用,并实际占主导地位。

由于没有对每个使用情况最合适的终极总线,所以应该使用哪种总线是由给定的要求决定的。然而,这种异质性使系统变得更加复杂,研究人员投入了大量精力来创建一个可靠的解决方案,将所有这些技术放在一起,并代表每辆车的通信骨干。最近提出的方法之一是以太网。最初,它只用于诊断,因为它不符合工业的要求。也就是说,它有太多的噪音,由于布线的原因,实施起来很费劲,而且它不提供同步性 和确定性。然而,这种情况随着汽车以太网的发展

而改变。

本文将介绍以太网子系统作为车辆内通信主干的实现。该子系统是自主驾驶领域控制器的一部分,它是基于菊花链拓扑结构的。它由三个连续连接的网络交换机及其外围设备组成。在第二节中,提出了满足汽车工业要求的关键挑战。第三节将对系统的结构和数据流进行描述。第四节和第五节包含评估、结果讨论、结论和未来工作建议。

II.相关工作

以太网是最广泛的通信技术,由各种标准集定义,为各种使用情况进行优化。它也涵盖了各种拓扑结构选项。为了作为车辆内适当的通信主干,以太网必须满足汽车行业的特定要求。这些要求可以分为两组--硬件功能要求和与数据流有关的要求,分别如表一和表二所示。

由于其可扩展性、灵活性、可用性和与其他通信技术的兼容性,以太网已被改编并作为新一代的车内网络引入到车辆。快速以太网标准100Base-TX和1000Base-T有足够的带宽(100/1000 Mbps),但没有合适的物理规格。两对或四对电线是一个非常昂贵的解决方案,因为电线是任何汽车中第三大最昂贵和第三大重量元素。较高的带宽频率、不必要的长距离和对不良外部条件的抵抗力也不是汽车工业的有利特征。

2011年12月,BroadR-Reach被开发为汽车以太网的特殊标准时,开放联盟社区优化了上述物理特性。

自动驾驶

表一 以太网硬件特性要求

自动驾驶

表二 以太网数据流要求

然而,关于实时以太网协议的利用,仍有一些公开的讨论,在时间触发以太网和时间敏感网络之间没有明确的选择,以提供确定性、同步性和可靠性。

就以太网在车辆中的使用方式而言,不同的作者考虑了几种通信网络结构。由于ECU数量的增加和它们的集成问题,分散的、网状的系统结构实际上是不可能的。一些作者专注于集中式系统,但仍然假设存在一个可以由ECU内部处理的单一信息源。

在本文中,通信网络将以领域控制的分层方式组织,其中以太网代表不同领域之间的主干和互连。单一领域内的网络拓扑结构不是本文的重点,应该根据特定的使用情况和需要连接的外围设备的数量来设计。

III.解决方法

A.域控制器

图1说明了提供驱动辅助和控制服务的域控制器的通用架构。如前所述,系统组件是根据它们所执行的功能来分组的。例如,不同的外围传感器允许环境感知被连接。此外,用于处理获得的数据的设备,以及具有通用和汽车安全关键功能的必要微控制器被分组。

自动驾驶

图1. 域控制器架构抽象

汽车微控制器通常是具有安全和安保控制功能的设备,专门用于汽车行业,如Infenion Aurix、Renesas RH850,等等。另一方面,FPGA通常被用作通用微控制器,而数据处理则由某些Nvidia设备、瑞萨R-car H3等执行。采用CAN和FlexRay接口作为与发动机、刹车等动力系统域的通信接口。汽车以太网是通信的主干,它将所有设备连接成一个功能单元。

为了满足本项目表一的物理特性要求,决定对每个组件使用IEEE的100和1000 Base-T1以太网标准。和前面提到的BroadR-Reach一样,这些标准只使用一对电线来提供全双工通信。带宽频率减半至33.3MHz,这允许利用较低质量的电缆,同时将不必要的长电缆长度从100米减少到15米。通过降低待机功耗也实现了能源效率。也启用了回声消除和极端天气条件下的阻力。IEEE的标准与Broadcom在2011年提供的标准几乎相同。唯一的区别是,在IEEE的标准中,唤醒指令期更短,并且明确规定了传输峰值振幅的测试。

B.系统结构和集成

由于现代车辆需要结合来自多个传感器(通常需要至少4个摄像头输入、激光雷达、雷达等)、处理设备和微控制器的数据,通常需要多个网络交换机。在本文中,我们提供了利用三个汽车以太网交换机的解决方案。交换机以线性菊花链拓扑结构相互连接,这是一种成本效益高、实施简单的结构。如果节点的数量小于4个,就只能使用这种拓扑结构。当节点数达到4个时,菊花链应被环形拓扑结构所取代。

外围设备以星形拓扑方式直接连接到每个交换机,因此中心设备是一个网络交换机。这就是整个以太网子系统的混合拓扑结构的实际创建过程,其中三个网络交换机作为关键元素连接在一个线性的菊花链结构中,在每个交换机上,设备通过使用星形拓扑结构的技术进行连接。

自动驾驶

图2. 以太网子系统结构

在图2中,显示了以太网子系统的确切结构。来自网络交换机的MAC芯片通过RGMII/SGMII媒体独立接口连接到物理收发器(PHY)。一些交换机端口不支持所需类型的MII是一种常见的情况,因此在这种情况下,某些收发器被用作适当的媒体转换器。这种情况涵盖了五个端口,以测量系统中引入的潜在限制(延迟、带宽等)。

在图2中,转换器在交换机和PHY之间的路径上以圆圈表示。传感器将通过物理收发器与开关相连,但其中一个PHY将被保留用于与PC的通信,以便进行诊断和控制。高性能的数据处理设备和微控制器具有MAC-to-MAC通信。

为了使组件成功地集成到所述的拓扑结构中,有必要根据制造商的说明将某些端口设置为工作模式:

-对于每个端口,应指出该端口是将MAC从网络交换机连接到PHY还是连接到另一个MAC。

--对于MAC-to-MAC通信的端口,有必要手动设置端口速度。另一方面,如果交换机的端口与PHY相连,则由收发器来决定速度。

-为启用该选项的端口设置适当的MII类型

-在连接交换机和外部CPU的端口上,应启用远程管理单元(RMU)。这允许通过使用外部处理器或微控制器来修改配置。

系统集成后,必须验证其功能。为了测试流量是否通过系统的所有端口正常转发,使用了一台外部PC。在与汽车微控制器或数据处理设备的通信中,PC有必要在每个外部端口上正确接收和发送帧。

同时,当PC机连接到每个端口时,应从开关中读取地址表,每次都是如此。通过读取该表,可以确认MAC地址的学习是正确进行的。

C.数据流

数据流分析应该解决的问题之一是设备的分组方式。这将防止由于路径的长度或流量优先级而违反某些要求。在本文描述的例子中,重要的是要确定这样的结构及其元素的安排是否影响所需功能的实现和传感器所能容忍的延迟。为了涵盖所有情况,选择了特征路径进行测试。研究了单个交换机内部、相邻交换机之间和非相邻网络交换机之间的通信情况。对于每个场景,考虑三种情况:如果路径上没有媒体转换器,如果路径上只有一个媒体转换器,如果有两个媒体转换器。这样,9条路由就足以通过测量每条路由的延迟和带宽来分析设备调度对系统的影响。

本文还提供了一个通过使用VLAN组来实现流量优先的解决方案。在这个项目中,所有的端口都被配置为ID为7和11的VLAN成员,并有选项允许未标记的帧不被修改被传输。创建了三个流量优先级,0--用于无标记的流量,1--用于VID=11,7--用于VID=7。首先,发送带有VLAN标签的帧,这些帧与配置相对应,预计将在系统中顺利传输。然后,创建了不符合配置的带有错误VLAN标签的帧。错误标记的帧预计会被802.1Q策略过滤。此外,在测试的两部分中都进行了读取传输帧的优先级并将其与预期的优先级进行比较。

IV.评估

评估的第一步是表明表一中的所有物理标准都已得到满足。通过使用支持前几章所述汽车以太网标准的网络设备,这一点很容易实现。这样一来,表一中的要求将得到满足,如表三所示。

自动驾驶

表三 实现的物理规格

为了测试表二中的基本功能,外部PC与所有带有物理收发器的端口连接,一次一个。对于每个方案,在两个方向(PC到微控制器,反之亦然)发送了10 000个长度为512个八位字节的帧。为了确认通过系统进行正确的流量转发,在帧传输前后观察了三种类型的帧计数器的值:接收到的所有好的帧的长度之和(InGoodOctets),接收到的所有坏的帧的长度之和(InBadOctets)和发送的所有帧的长度之和(OutOctets)。图3显示了一个场景示例,其中可以看到帧计数器的值是如何根据参与帧传输的端口上的流量方向正确地改变的,而其他端口的计数器保持不变。此外,还确认了网络交换机维护的所有地址表都包含相关的MAC地址和相应的端口。

自动驾驶

图3. 基本帧转发评估示例

为了检查表二中的延迟和带宽要求是否得到满足,对解决方案中提到的9条路径进行了端到端的延迟和带宽测量。为此,使用了pcap和iperf3。表四提供了每个路径的测量值。

自动驾驶

表四 受检路径的延迟和带宽测量值

从结果可以得出结论,无论设备以何种方式排列,该系统都能满足带宽要求。但是,如果两个非相邻的交换机通过一条包含媒体转换器的路径连接,可能无法满足延迟要求(延迟《250us),所以在这种情况下应格外注意。

为了评估VLAN配置和流量优先级,进行了类似于基本功能测试的试验。这一次,20000个长度为516个八位字节(插入4字节的802.1Q头)的帧被双向传输,其中一半是正确的VLAN ID值,一半是错误的。观察到两个额外的帧计数器类型:通过过滤策略的帧数(InAccepted)和没有通过过滤的帧数(InFiltered)。从图4可以看出,在参与帧传输的端口上,帧计数器的值是如何根据流量方向正确改变的,而在其他端口上则保持不变。

自动驾驶

图4. VLAN帧转发评估示例

同时,对于接收方的每个场景,通过使用Wireshark对每个帧的优先级进行控制。

V.总结

介绍了自动驾驶汽车域控制器以太网子系统的实现过程。本文清楚地提供了以太网履行其通信骨干角色所需要满足的需求的概述。对由三个菊花链汽车以太网交换机组成的网络子系统进行了评估,重点是延迟和带宽问题。公开了从选择设备和系统结构到满足数据流要求的整个过程。所有的基本功能都得到了实现和测试,并揭示了确切的限制。

在未来的工作中,将给出实时以太网协议的实现和向系统引入确定性的过程。

审核编辑:郭婷

 

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

全部0条评论

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

×
20
完善资料,
赚取积分