服务器 > 网络 > 网络协议

【自动驾驶汽车通讯协议】深入理解PCI Express(PCIe)技术

65人参与 2024-07-28 网络协议

0. 前言

pci express(简称pcie)是一种高速的计算机扩展总线标准。pcie 由 intel 公司于 2001 年提出,它被设计用于取代旧的pci,agp和pci-x标准,并在现代计算机中广泛使用。然而,随着自动驾驶汽车技术的发展,pcie协议在汽车电子架构中的重要性日益凸显。

这是因为自动驾驶系统需要处理大量的数据,包括来自各种传感器(如雷达、激光雷达、摄像头)的信息,以及高精度地图和定位数据。为了实现这种复杂的数据处理,车辆内部需要配备高性能计算平台,如gpu、fpga或asic等加速器。这些计算资源通常通过pcie总线连接,以提供必要的带宽和低延迟。

本文将深入探讨pcie技术,尤其是在自动驾驶汽车中的应用。

1. pcie简介

1.1 pcie外观

如果有拆过旧电脑的同学,可能会见到过这个接口:
在这里插入图片描述
这便是pci接口。而本文的主角pcie是长下面的样子:
在这里插入图片描述
pcie接口插槽的形状通常是矩形,边缘带有金属加固以增加耐用性。插槽的长度和宽度根据所支持的通道配置(如x1、x4、x8、x16等)而变化。较长的插槽支持更多的lane,因此具有更高的带宽。pcie接口是主板上的插槽和相关的电气(如图形处理器(gpu)、网络适配器、固态硬盘(ssd)控制器、声卡等。)连接标准。

而pcie通道是数据在设备与主板之间传输的具体路径。每个通道包含两对差分信号线(一对用于发送数据,另一对用于接收数据),允许全双工通信

1.2 pcie的技术迭代

根据pci-sig(pci特别兴趣小组)制定的pcie标准:pcie现在已经出到了6.0版本。
在这里插入图片描述

2. pcie的通道(lane)配置

pci express(pcie)的通道(lane)配置是决定pcie设备性能的关键因素。通道配置通常用“x”后跟一个数字表示,如x1、x4、x8、x16等,这个数字代表了有多少个独立的pcie通道被使用,即有几个lane。这些配置影响了设备的带宽和数据传输速率,从而影响了整体的系统性能。

2.1 通道配置详解

从下表可以直观看出通道数对带宽的影响,另外在不同的pcie版本中单个通道的带宽也是不同的:
在这里插入图片描述

2.2 通道配置的影响

不同的通道配置对pcie设备的性能有直接的影响。更高的通道数意味着更高的潜在带宽,这对于需要大量数据吞吐量的设备(如高端图形卡)至关重要。然而,更多的通道也会增加制造成本和功耗,因此对于不需要高带宽的设备,较低的通道配置通常是更经济的选择。

此外,通道配置还可以通过一种称为“通道拆分”或“bifurcation”的技术进行动态调整。这意味着一个物理上的x16插槽可以被配置为两个x8或一个x8和三个x4的组合,以适应不同的设备需求,同时优化系统资源的使用。这种灵活性使得pcie架构能够更好地适应多样化的硬件需求。

3. pcie的架构

3.1 架构层次

pcie架构可以分为以下几层:

  1. 应用层:这不是pcie规范正式定义的一部分,而是由具体实现者根据需求设计的部分,它决定了设备的功能和类型,例如存储设备、网络适配器或图形卡。

  2. 事务层(transaction layer):负责处理事务的初始化和完成,例如读取、写入、配置和中断等。事务层还管理事务的优先级和流量控制。

  3. 数据链路层(data link layer):分为两个子层:链路子层(link sublayer)和物理媒体附件子层(physical media attachment sublayer)。链路子层负责链路的建立、训练、维护和错误检测,而物理媒体附件子层则负责数据的编码和解码。

  4. 物理层(physical layer):包括电气信号的生成、接收和处理,以及串行数据的编码和解码。物理层进一步细分为电气子层(electrical sublayer)和介质访问控制子层(media access control sublayer)。

3.2 核心组件

pcie架构的核心组件包括:

4. pcie的特性

5. pcie在自动驾驶中的应用

pci express (pcie) 在自动驾驶汽车中扮演着关键角色,尤其是在那些依赖高性能计算和大量数据传输的场景中。自动驾驶汽车需要处理大量的传感器数据,包括摄像头、雷达、激光雷达(lidar)、超声波传感器等,这些数据需要被实时分析和处理,以做出准确的决策。pcie 提供了必要的高速数据传输能力,使得这些数据能够在各个组件之间高效地流动。

下图表示了nvidia orin产品的接口,可以看出pcie占了很重要的一部分:
在这里插入图片描述

例如,一辆配备了 8 个高清摄像头的自动驾驶汽车,每个摄像头输出的数据速率高达每秒数百兆字节。如果没有足够快的 pcie 连接,数据处理可能会出现瓶颈,导致系统反应迟缓。因此,pcie 在这个场景中是不可或缺的,它确保了数据的高速传输,使自动驾驶系统能够实时做出准确的决策。

以下是一些pcie在自动驾驶汽车中具体的应用方向:

  1. 传感器数据聚合
    自动驾驶车辆装备了大量的传感器,每个传感器产生的数据流都必须被迅速地传输到中央处理器或数据处理单元。pcie 提供了高带宽和低延迟的连接,使得传感器数据可以被快速地集中并处理。

  2. 高性能计算传输
    自动驾驶系统依赖于深度学习和人工智能算法,这些算法需要在gpu或专门的加速器上运行。pcie 3.0 或更高级别的 pcie 4.0 和 pcie 5.0 可以提供足够的带宽来支持这些高负载的计算任务,确保数据在 cpu 和 gpu 或 fpga 之间的高速传输。

  3. 域控制器和ecu的连接
    现代自动驾驶车辆可能包含多个域控制器(domain control units),每个控制器负责不同的功能区域,如感知、规划和执行。这些控制器之间需要通过高速接口进行通信,pcie 是一个理想的选项,因为它提供了可扩展性和灵活性。

  4. 冗余和安全性
    自动驾驶系统需要高度的可靠性和安全性。通过使用双路或冗余的 pcie 连接,系统可以设计成即使某个链路失败也能保持运行,这对于保证车辆安全至关重要。

  5. 车载网络
    车载网络架构正从传统的基于can和flexray的架构向基于以太网和 pcie 的更高带宽架构演进。pcie 在这种架构中可以作为高速数据交换的核心,支持车辆内部的高速数据传输。

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

自动驾驶关键技术(一):时间敏感网络TSN

07-28

【BEVHeight论文阅读】自动驾驶车路协同车端感知算法

07-28

清华&地平线!SparseDrive:端到端自动驾驶 论文精读

07-28

CMU Sphinx: 开源语音识别引擎

07-28

语音识别+AI总结项目搭建回顾

07-28

基于STM32语音识别的智能蓝牙音箱(源程序+原理图+PCB+设计说明书+PPT)

07-28

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论