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

news2024/10/7 4:23:26

文章目录

      • 0. 前言
      • 1. PCIe简介
        • 1.1 PCIe外观
        • 1.2 PCIe的技术迭代
      • 2. PCIe的通道(lane)配置
        • 2.1 通道配置详解
        • 2.2 通道配置的影响
      • 3. PCIe的架构
        • 3.1 架构层次
        • 3.2 核心组件
      • 4. PCIe的特性
      • 5. PCIe在自动驾驶中的应用

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

  • 全双工通信(Full Duplex):通信的两端都可以同时发送和接收信息。这种模式通常使用两条独立的信道或者通过先进的信号处理技术在单一信道上实现,以避免信号之间的干扰。全双工通信在很多现代通信系统中都很常见,比如电话网络、以太网和无线局域网(Wi-Fi)。
  • 半双工通信(Half Duplex):半双工通信允许双向通信,但是不能同时进行。在任一时刻,一个端点要么发送要么接收,而另一个端点则相反。典型的例子是步话机或对讲机,用户需要按下按钮才能发送信息,在发送时无法接收对方的回应。
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 通道配置详解
  • x1:这是最小的通道配置,只使用一个PCIe通道。尽管带宽最低,但它足够用于低带宽需求的设备,如一些网络适配器、声卡或USB扩展卡

  • x4:使用四个PCIe通道,提供了四倍于x1配置的带宽。这样的配置常用于需要更高带宽但又不需要x8或x16带宽的设备,如某些高速的存储解决方案中等带宽需求的网络卡

  • x8:配置有八个PCIe通道,提供了八倍于x1配置的带宽。x8通常用于高性能的存储设备,如RAID控制器

  • x16:这是最常见的高性能配置,使用16个PCIe通道,提供了16倍于x1配置的带宽。x16配置主要用于图形卡(GPU),因为这些设备需要非常高的带宽来处理大量的图形数据。

  • x32:虽然PCIe规范中定义了x32配置,但实际上很少见。理论上,x32配置将提供32倍于x1配置的带宽,但由于成本、功耗和设计复杂性,大多数系统中并未采用这种配置。

从下表可以直观看出通道数对带宽的影响,另外在不同的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架构的核心组件包括:

  • Root Complex:通常位于系统主板上,与CPU紧密集成,作为PCIe架构的起点。Root Complex负责初始化和配置PCIe总线,管理事务,以及提供到CPU和内存的接口。

  • Switches:允许构建复杂的PCIe拓扑,通过连接多个端点设备或其它Switches,实现灵活的系统架构。Switches可以扩展PCIe总线,允许更多设备连接到系统中。

  • Endpoints:终端设备,如显卡、硬盘控制器或网络适配器,它们是PCIe总线的消费者,与Root Complex或Switches相连。
    在这里插入图片描述

4. PCIe的特性

  • 点对点连接:PCIe采用点对点连接,不同于共享总线架构,这减少了信号干扰,提高了带宽利用率。

  • 动态链接速度和宽度: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 在这种架构中可以作为高速数据交换的核心,支持车辆内部的高速数据传输。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1876236.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mybatis框架介绍 , 环境的搭建和代码实现

1.mybatis框架介绍 mybatis框架介绍 mybatis是Apache软件基金会下的一个开源项目,前身是iBatis框架。2010年这个项目由apache 软件基金会迁移到google code下,改名为mybatis。2013年11月又迁移到了github(GitHub 是一个面向开源及私有 软件项目的托管平…

40V 60V 80V 100V 400V高压LDO三端稳压器选择,技术参数

40V 60V 80V 100V 400V高压LDO三端稳压器选择,技术参数

基于yolo的物体识别坐标转换

一、模型简介: 1.1、小孔成像模型简图如下:不考虑实际相机中存在的场曲、畸变等问题 相对关系为: 为了表述与研究的方便,我们将像面至于小孔之前,且到小孔的距离仍然是焦距f,这样的模型与原来的小孔模型是等价的 相对关系为: 二、坐标系简介: **世界坐标系(world coo…

Qt中用QLabel创建状态灯

首先ui设计中分别创建了4个大灯和4个小灯。 编辑.h文件 #ifndef LED_H #define LED_H#include <QWidget> #include <QLabel>QT_BEGIN_NAMESPACE namespace Ui { class Led; } QT_END_NAMESPACEclass Led : public QWidget {Q_OBJECTpublic:Led(QWidget *parent n…

今天天气正好,开锐界L去追风

早就想开着它来个惬意的自驾游&#xff0c;结果因为工作原因一直在忙东忙西&#xff0c;锐界L这车都是上下班代步使用&#xff0c;今天终于空闲下来了&#xff0c;带着它来郊区转一圈&#xff0c;顺便交一篇极其不正式的游记吧&#xff0c;写的不好。 本来打算去的远一点&…

Nvidia Jetson/RK3588+AI双目立体相机,适合各种割草机器人、扫地机器人、AGV等应用

双目立体视觉是基于视差原理&#xff0c;依据成像设备从不同位置获取的被测物体的图像&#xff0c;匹配对应点的位置偏移&#xff0c;得到视差数据&#xff0c;进而计算物体的空间三维信息。为您带来高图像质量的双目立体相机&#xff0c;具有高分辨率、低功耗、远距离等优点&a…

一文掌握 Object 类里的所有方法(wait、notify、finalize)

Object 概述 Object 类是 Java 中所有类的父类&#xff0c;这个类中包含了若干方法&#xff0c;这也就意味着所有类都将继承这些方法。因此&#xff0c;掌握这个类的方法是非常必要的&#xff0c;毕竟所有类都能为你提供这些方法。 Object 类位于 java.base 模块下 java.lang…

python系列30:各种爬虫技术总结

1. 使用requests获取网页内容 以巴鲁夫产品为例&#xff0c;可以用get请求获取内容&#xff1a; https://www.balluff.com.cn/zh-cn/products/BES02YF 对应的网页为&#xff1a; 使用简单方法进行解析即可 import requests r BES02YF res requests.get("https://www.…

Apache IoTDB 监控详解 | 分布式系统监控基础

IoTDB 分布式系统监控的基础“须知”&#xff01; 我这个环境的系统性能一直无法提升&#xff0c;能否帮我找到系统的瓶颈在哪里&#xff1f; 系统优化后&#xff0c;虽然写入性能有所提升&#xff0c;但查询延迟却增加了&#xff0c;下一步我该如何排查和优化呢&#xff1f; 请…

办公软件的答案?ONLYOFFICE 桌面应用编辑器会是最好用的 Office 软件?ONLYOFFICE 桌面编辑器使用初体验

文章目录 &#x1f4cb;前言&#x1f3af;什么是 ONLYOFFICE&#x1f3af; 主要功能介绍及 8.1 新功能体验&#x1f3af; 在线体验&#x1f4dd;最后 &#x1f4cb;前言 提到办公软件&#xff0c;大家最常用的可能就是微软的 Microsoft Office 和国产的 WPS Office。这两款软件…

IBCS 虚拟专线用哪些特点!

当今数字化时代&#xff0c;高效、稳定、安全的网络连接对于企业和个人来说至关重要。IBCS 虚拟专线作为一种创新的网络解决方案&#xff0c;凭借其众多显著的优势&#xff0c;正逐渐成为众多用户的首选。 IBCS 虚拟专线最突出的优势之一在于其卓越的网络性能。它通过优化网络路…

Go 语言切片遍历地址会发生改变吗?

引言&#xff1a;今天面试的时候&#xff0c;面试官问了一道学 Go 语言的同学都会的简单代码&#xff0c;是关于 Go 语言 for 循环问题的&#xff0c;他询问了一个点&#xff0c;循环中共享变量的地址会发生改变吗&#xff1f; 相信听到这个问题的你&#xff0c;第一反应肯定是…

你还能顶几天?

A总&#xff1a;你还能顶几天&#xff1f; 汪汪队&#xff1a;顶到奉命撤退的那一天 A总&#xff1a;你在这守散钱点几十年了&#xff0c;从来没跟我提过任何的要求&#xff0c;难道你不困难吗&#xff1f; 汪汪队&#xff1a;有困难&#xff0c;但是我提了有什么用呢&#…

Java异常处理详解【入门篇】

Java异常处理详解【入门篇】 Java异常处理详解1. 异常的概念2. 异常的分类2.1 检查异常&#xff08;Checked Exception&#xff09;2.2 非检查异常&#xff08;Unchecked Exception&#xff09;2.3 错误&#xff08;Error&#xff09; 3. 异常处理机制3.1 try-catch3.2 finally…

kubuadm 方式部署 k8s 集群

准备三台机器 主机名IP地址CPU/内存角色K8S版本Docker版本k8s231192.168.99.2312C4Gmaster1.23.1720.10.24k8s232192.168.99.2322C4Gwoker1.23.1720.10.24k8s233192.168.99.2332C4Gwoker1.23.1720.10.24 需要在K8S集群各节点上面安装docker&#xff0c;如未安装则参考 …

如何3分钟上手传得神乎其神的AI绘画!一篇文章带你搞懂!

前言 今年 AI 绘画绝对是大火的概念之一&#xff0c;这次加入了生财 AI 绘画小航海的船&#xff0c;今天是体验的第1天&#xff0c;那么 AI 绘画是什么呢&#xff1f; 简单来说就是利用 AI 实现绘画&#xff0c;在特定的软件或者程序中&#xff0c;输入一定的关键词或者指令&…

springboot系列八: springboot静态资源访问,Rest风格请求处理, 接收参数相关注解

文章目录 WEB开发-静态资源访问官方文档基本介绍快速入门注意事项和细节 Rest风格请求处理基本介绍应用实例注意事项和细节思考题 接收参数相关注解基本介绍应用实例PathVariableRequestHeaderRequestParamCookieValueRequestBodyRequestAttributeSessionAttribute ⬅️ 上一篇…

数据结构复习指南

数据结构复习指南 本文中列举了数据结构期末考试可能存在的考点 绪论 数据的基本单位 数据元素是数据的基本单位 数据项 数据项是组成数据的、有独立含义的、不可分割的最小单位。 数据对象 数据对象是性质相同的数据元素的集合&#xff0c;是数据的一个子集。 数据结…

【DevExpress】WPF DevExpressMVVM 24.1版本开发指南

DevExpressMVVM WPF 环境安装 前言重要Bug&#xff08;必看&#xff09;环境安装控件目录Theme 主题LoginWindow 登陆窗口INavigationService 导航服务DockLayout Dock类型的画面布局TreeView 树状列表注意引用类型的时候ImageSource是PresentationCore程序集的博主找了好久&am…

【python】OpenCV—QR Code

文章目录 1 QR Code2 准备工作3 生成 QR 码4 读取 QR 码5 与 Zbar 比较 1 QR Code QR Code&#xff08;Quick Response Code&#xff09;是一种二维条码&#xff0c;由日本Denso-Wave公司于1994年发明。QR Code的主要特点是存储信息量大、编码范围广、容错能力强、识读速度快&…