智能网络接口用于高级汽车应用
车辆中的计算能力显著增强,电子控制单元(ECU)通过日益复杂且异构的网络进行通信,并在可扩展性、验证和安全性方面带来了挑战。在本文中,我们描述了智能网络接口的概念,该接口在网络层结合可编程计算,以实现硬件级容错、具备足够隔离性的应用整合以及系统级安全性。
在汽车网络中,计算和通信通常被视为两个独立的部分,尽管它们之间存在显著的相互影响。整个系统的验证是一个涉及理解计算延迟和通信延迟的过程,并分析这些延迟如何影响在这些网络上实现的高层应用。在此背景下,网络接口仅用于在电子控制单元中的处理器与网络之间传输数据,同时遵守所采用协议的规范。
车载系统的计算按域进行组织(如车身域、动力总成域和信息娱乐域),每个域由满足其特定带宽、可靠性及其他属性要求的网络协议提供服务。各域的ECU系统将相应的网络接口作为集成外设集成在同一芯片上(作为微控制器内部的子系统)或通过外部连接的独立ASIC实现。无论哪种情况,网络接口都是所定义协议的一种实现,例如FlexRay情况下的博世e‐Ray,且严格遵循该协议。
标准协议层的扩展可实现独特的功能;例如,一种名为CAN+的控制器局域网(CAN)协议,其带宽比传统CAN高出16×,同时保持与传统CAN设备的向后兼容性。我们提出了网络层数据处理扩展的概念,以支持附加功能。我们基于FPGA平台设计了扩展FlexRay网络接口,以证明可配置扩展层能够提供额外的功能(如同步时间戳和实时消息监控),从而用于实现独特的平台级功能(如网络安全)。这些网络层扩展还可实现功能。
在商用以太网交换机中,现场可编程门阵列(FPGA)已被应用于高速以太网的线速交换系统、网络内流量分析器以及入侵检测。对于时间敏感网络(TSN)等确定性以太网标准,网络层内的扩展能够通过管理数据包级重传和在网络层进行删除等底层任务,高效实现无缝冗余等容错策略。在汽车领域,此类应用通常采用具有多个接口的处理器构建,在以太网与传统汽车网络之间传输数据时会带来显著延迟。智能FlexRay控制器也可集成于混合FPGA平台上的网关中,以实现传统汽车网络标准与以太网之间的确定性互连,并通过在网络接口层增加数据路径扩展,确保即使在高网络负载下仍能实现低延迟交换性能和优先级消息的高效消息映射。
尽管汽车领域的计算主要使用汽车级处理器和微控制器,但使用现场可编程门阵列(FPGA)的理念已获得一定关注。在汽车领域,现场可编程门阵列(FPGA)已被提议作为加速实时基于视觉的驾驶辅助系统的计算平台。基于现场可编程门阵列(FPGA)的架构还可以通过物理级重构实现架构级容错。
在本文中,我们展示了网络接口中的可编程数据路径如何实现独特的功能,以支持对汽车网络日益增长的需求,并在现场可编程门阵列(FPGA)上验证了这些想法。
通用概念
在传统的电子控制单元(ECU)架构中,所有计算均由运行在现成的汽车级微控制器上的软件完成,该微控制器集成了网络接口和其他外设(参见图1)。应用层通过网络接收来自传感器的信息,并对其进行处理,以确定需要发送给执行器模块或传递至另一个电子控制单元的控制输出。这些独立任务根据预定义调度周期性地调用。网络接口仅负责与协议相关的功能,实现网络与电子控制单元处理器之间的数据传输,而不提供任何需要计算能力的附加功能。因此,任何功能增强(例如监控健康数据或对单条消息进行时间戳标记)都必须通过在电子控制单元的应用层上增加额外的软件来实现。
在软件中集成此类系统级和底层任务可能具有挑战性。首先,网络和软件任务并不总是在电子控制单元内同步,且软件任务在不同电子控制单元之间也不同步。应用层的此类功能需要额外的任务可以增加处理器负载,并可能需要对电子控制单元功能进行广泛的重新调度和重新验证。
其次,由于电子控制单元并非始终处于激活状态,因此在各电子控制单元之间建立同步时间基准具有挑战性。最后,电子控制单元处理器上的任务容易因中断和具有严格截止时间的优先级任务而产生延迟。这些因素都可能导致对网络事件或其他电子控制单元触发信号的非确定性响应。
在网络层引入计算能力可以克服这些挑战。该能力可透明地增强网络数据,添加有关系统状态的信息,在所有电子控制单元之间维持同步时间基准,或执行其他处理。其工作方式类似于以太网等网络中的分层协议封装——网络接口在嵌入应用数据之前,会添加一组头部信息和时间戳信息。在接收端,这些头部信息由网络层进行处理,而应用数据则传递给高层软件任务。图2展示了FlexRay的一种此类协议架构,其中网络接口作为数据层头部添加了一个2字节头部和一个4字节同步时间戳。该头部可嵌入有关电子控制单元状态的信息(用于诊断、容错措施或其他目的)、数据格式信息(用于将数据打包序列组合在一起),以及指示特殊网络层消息存在的标志位。
为了实现这种透明且具有确定性的功能,如图3所示,在FlexRay网络接口的接收路径中,集成了一条与网络接口常规数据流并行的处理路径。该并行路径允许普通消息沿传统路径转发至软件处理器,而特殊消息(网络级或适配方案)则可在接口内部进行确定性处理,从而无需修改软件即可支持此类扩展功能。在接收方向,扩展部分从网络接收解码后的字节,并利用模式检测器从有效载荷段中提取数据层头部或其他信息。时间戳逻辑利用网络协议的同步机制,并进一步扩展,以在所有参与的电子控制单元之间提供统一同步的时间视图。
扩展可以触发特定操作以增强功能;例如,对于支持多种操作模式的电子控制单元(如地形响应系统),可直接通过扩展触发模式切换消息,从而减轻由中断和软件延迟引起的非确定性因素。集成在数据路径中的密码原语(如图3所示)可对协议头部和应用数据执行即时解密,而不会产生额外延迟。在发送方向上,扩展以相反顺序运行。它们利用关于系统状态的信息(由应用程序周期性更新)和时间戳逻辑来生成数据层头部,该头部被送入加密模块(如果已集成),加密模块以8字节块(从协议头部开始)为单位进行混淆处理,然后将其编码为位级格式以便在网络上传输。
因此,以透明方式在网络接口集成此类智能,能够在不占用宝贵处理器时间来管理这些底层任务的情况下,实现独特的功能。虽然我们将在下一节中使用现场可编程门阵列(FPGA)验证这些想法,但该概念也可轻松应用于新的专用集成电路(ASIC)或片上系统(SoC)网络接口中,只需集成一条小型可编程逻辑路径,即可在收发链中实现这些扩展。
案例研究
为了量化将计算嵌入网络接口的优势,我们研究了三个与前文讨论的增强功能相关的案例研究。首先,我们探讨在网络接口中集成数据打包与解包如何减少处理器开销。第二个案例研究通过将重构管理系统与网络接口中的数据路径扩展相结合,探索硬件级适应性,从而提高相较于软件驱动方法的确定性。最后一个示例展示了如何在网络接口的数据路径中嵌入密码原语,以提供网络和数据安全性,同时在网络传输上不增加延迟开销,也不影响软件应用。所有实验均采用赛灵思Zynq混合FPGA器件,因为它合理地近似了一种典型的汽车嵌入式架构(具备双核ARM Cortex‐A9处理器),同时还允许我们在同一平台上集成所提出的硬件扩展。在软件评估中,应用程序运行于Xilinx提供的独立操作系统之上,这是一种非常轻量级的操作系统,可抽象部分硬件细节。FlexRay网络接口设计的详细信息在另一项研究中进行了讨论。我们使用FlexRay和以太网作为实验的网络标准,但相同原理可扩展至其他传统汽车网络(如控制器局域网(CAN))或更新的标准(如时间敏感网络(TSN))。
接口处的大数据处理
在本案例研究中,我们考虑将消息从传统的FlexRay电子控制单元(ECU)传输到以太骨干网络的情况。本实验使用8字节消息(在FlexRay上),因为其他研究表明,8字节消息大小占基于FlexRay的车载系统通信流量的70%以上。多个此类消息被打包在一起,形成64字节的有效以太网载荷。在基于软件的网关中,每当网络接口接收到8字节FlexRay帧时(通过中断触发),处理器就会激活一个取数与打包任务。该任务将消息读入以太网缓冲区,并在数据包准备就绪(填满64字节)时设置“完成”标志;否则执行其他任务并等待下一个中断。这些操作每次都会产生一定的延迟,如表1所示,最佳情况中断延迟为2.96 μs。如图所示,取数与打包任务在每个以太网帧中多次执行,消耗了大量的处理器周期用于上下文切换和数据移动(总延迟为26.08 μs)。
| Mode | 延迟组件 | 延迟组件 | 总时间变化 |
|---|---|---|---|
| 中断 | 数据移动 | ||
| 软件 | 2.96 μs × 8 | 0.3 μs × 8 | 26.08 μs |
| 扩展 | 2.96 μs × 1 | 0.3 μs × 8 | 5.36 μs –79% |
将此功能嵌入网络层可使接口将多条消息打包到以太网有效载荷中,从而通过更简单的获取任务进行读取,延迟降低约80%。还应注意,在汽车系统中,许多任务为不可抢占式,以确保严格截止时间,这可能进一步提升性能。最后,一种完全基于硬件的打包与交换系统,不依赖软件任务,可进一步将延迟降低至3.3 μs(包括以太网链路上的传输延迟,通过在实际硬件上测得的基于硬件的打包与转发),这是高性能汽车网关更具可行性的解决方案(参见VEGa)。此类打包同样适用于处理数据密集型传感器(如雷达或摄像机)的电子控制单元。
硬件级适应
本案例研究探讨了将设备级功能(如动态重配置)与网络接口中的数据路径扩展相结合所带来的优势。考虑一个电子控制单元系统,该系统能够根据环境条件或用户设置的变化调整其控制算法,例如在具备越野能力的车辆中常见的自适应地形响应系统。由于这些不同的操作模式是互斥排他的,因此根据需要切换它们以节省面积和功耗是合理的选择。Zynq平台允许通过基于处理器的PCAP接口选择性地修改硬件模块,从而实现处理逻辑的自适应调整。在此场景中,一个监控来自传感器或用户输入(通过网络)信息的软件任务会通过处理器触发重新配置,并使处理器处于非抢占任务状态直至重新配置完成。
或者,通过将低级重配置原语与网络扩展相连接,重配置过程可由接口完全处理,而处理器则执行其常规任务。自定义重配置系统确定要选择的模式,获取新的硬件配置(通过DMA)并在无需处理器干预的情况下配置硬件模块。两种情况下自适应过程(从消息接收到自适应)所消耗的时间如表2所示。软件方法在重新配置小型硬件模块(占设备资源的3%)时会使处理器占用2.26毫秒,显著延迟其他任务。通过网络接口处理重新配置,处理器可以继续正常执行其任务;这种方法还提供了改进的重配置性能(减少了66%),从而实现更快地切换到新模式。对于占用更多资源的复杂硬件模块,由处理器驱动的重新配置可能导致处理器繁忙数十毫秒,在关键系统中可能不可行。
| Mode | 延迟组件 | 延迟组件 | 延迟组件 | 总时间 | 变化 |
|---|---|---|---|---|---|
|
中断
2.96 μs N/A |
数据移动
0.3 μs N/A |
重新配置
2,257.9 μs 759.4 μs |
2,261.1 μs
759.4 μs | –66% | |
| 软件 (PCAP) | 2.96 μs | 0.3 μs | 2,257.9 μs | 2,261.1 μs | |
| 硬件智能(采用自定义ICAP) | N/A | N/A | 759.4 μs | 759.4 μs |
网络安全
本案例研究表明,安全性架构如何作为网络接口的扩展无缝集成,并实现零延迟开销。我们之前的工作表明,网络接口内的密码原语可以对应用程序代码进行认证,并保护网络免受未授权访问。然而,关键挑战在于以引入最小延迟开销(针对网络或应用程序)且不影响协议保障的方式集成这一复杂的安全架构。对于通过软件管理的安全性,从网络接收到的加密消息必须使用密码原语的当前配置读取并解密,然后应用程序才能使用其中的信息。
如表3所示,即使在最低安全设置(32轮)下采用轻量级对称密码PRESENT,每8字节传感器数据也会产生41.5 μs的显著开销(即每个数据块在整个周期内被加密和解密32次)。由于与管理加密操作(如内存需求和中间阶段密钥计算)相关的复杂性,提高安全级别(更多轮数)会导致延迟超线性增加。作为对比,在支持64(静态)时隙的标准5毫秒FlexRay周期中,时隙宽度约为65 μs,而提高安全级别将导致传输窗口丢失。此外,软件任务与网络时序不同步,而FlexRay等网络的自适应特性会使应用程序与网络失去同步,从而因错过的传输而引发更多错误。
| Mode | 延迟组件轮次 | 延迟组件轮次 | TS读取 | 加密 | 回写 | 总计延迟 |
|---|---|---|---|---|---|---|
| 软件 | 32 | 32 | 0.3 μs | 40.9 μs | 0.3 μs | 41.5 μs |
| 软件 | 64 | 64 | 0.3 μs | 82.6 μs | 0.3 μs | 83.2 μs |
| 扩展 解密 | 高达 | 高达 | N/A | 0 μs | 0.3 μs | 0.3 μs |
| 扩展 解密 | 470 | N/A | 与事务重叠 | 0.3 μs | 0.3 μs | |
| 软件 | 32 | 32 | 0.6 μs | 0.3 μs | 42.1 μs | 43.0 μs |
| 软件 | 64 | 64 | 0.6 μs | 0.3 μs | 85.2 μs | 86.1 μs |
| 扩展 | 高达 | 高达 | 0.3 μs | N/A | 0 μs | 0.3 μs |
| 扩展 | 470 | 0.3 μs | N/A | 与反应重叠 | 0.3 μs |
将安全原语嵌入网络接口可使加密操作与网络时序同步,从而始终保证传输的可靠性。在数据路径中,通过预取和深度流水线技术,可实现数据段的发送/接收与加密/解密过程的重叠。该过程的抽象时序图如图4所示。在传输时隙开始时预先获取帧头,并在帧序列开始及标志位传输之前,使用预共享密钥(PSK)对帧头以及帧时间戳tn(标记为TS)进行加密。随后,帧头的传输与前8字节数据的加密过程重叠,依此类推。基于时间戳的密钥技术(PSK + tn)确保即使实际应用数据保持静态(这在许多汽车应用中很常见),每个时隙中的加密数据也会有所不同。此外,这种重叠机制使得在不违反任何时序边界的情况下,每个8字节数据块可支持更高层次的安全性(高达470轮),如表3中发送和接收所示。此外,网络扩展还能在无需应用程序干预的情况下管理安全适配帧(用于调整安全参数的特殊帧),从而使安全方案对应用程序完全透明。
),并用于随机化数据段(使用PSK + t0作为密钥,标记为E_t0(Data1))。)
开销
虽然将智能功能嵌入网络接口可以提高系统的整体确定性和灵活性,但在小型Xilinx Zynq Z‐7020设备上实现时,如表4所示,也会在硬件资源和功耗方面带来一定开销。在标准FlexRay网络接口基础上增加简单的数据路径扩展(模式检测器和时间戳逻辑),会使硬件资源消耗增加28.9%(以寄存器计,双通道模式下),而功耗的增加可忽略不计。
接入重构管理功能会使智能网络接口的资源消耗进一步增加11.8%(对于寄存器)百分比,且功耗没有明显增加。然而,在FlexRay网络的两个通道上将网络安全集成到接口中,会额外占用98.7%的资源(对于寄存器),并使网络接口的整体功耗增加24%(36 mW)。类似地,引入之前讨论的数据段协议会将FlexRay帧的有效载荷容量减少至248字节。尽管存在这些轻微的开销(与芯片上的可用资源相比,最高占用仅为查找表的6%),智能网络接口仍提供了独特的方法来增强系统性能和能力,其中一些功能是基于软件的实现无法实现的。
| 实现 | 归一化资源消耗 Reg | 归一化资源消耗 LUTs | 归一化资源消耗 块状RAM | 峰值资源 | 功耗消耗 |
|---|---|---|---|---|---|
| FlexRay 带数据路径扩展 | 1.29 x | 1.20 x | 1.00 x | 21.0 % (查找表) | 1.02 x |
| 智能网络接口 | 1.42 x | 1.27 x | 1.06 x | 22.4 % (查找表) | 1.02 x |
| Secure FlexRay interface | 2.27 x | 1.51 x | 1.63 x | 26.7 %(查找表) | 1.26 x |
我们必须再次强调,尽管这些实验是在现场可编程门阵列(FPGA)上验证的,但该方法同样可用于新型网络接口专用集成电路(ASIC)的设计,其中可集成一个可编程数据路径段。
结论
本文提出了在汽车网络接口中集成可编程计算层的概念。该方法为应对车载系统中的新兴挑战(如安全性、确定性性能和硬件级适应)提供了独特途径。我们通过在FPGA上实现智能FlexRay网络接口的原型,验证了该方法的有效性,并评估了其带来的优势及相关开销。我们的评估结果表明,与传统软件方法相比,智能网络接口在处理速度和响应时间方面具有显著提升。

被折叠的 条评论
为什么被折叠?



