【自動駕駛汽車通訊協議】深入理解PCI Express(PCIe)技術

文章目錄

      • 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.pswp.cn/web/38141.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/38141.shtml
英文地址,請注明出處:http://en.pswp.cn/web/38141.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C# --- 如何在代碼中開啟進程

C# --- 使用代碼開啟一個進程 方法一 using (Process myProcess new Process()) {myProcess.StartInfo.UseShellExecute false;// You can start any process, HelloWorld is a do-nothing example.myProcess.StartInfo.FileName "C:\\HelloWorld.exe";myProcess…

unity canvas顯示相機照射畫面的方法

1. 使用 Image 組件顯示處理后的圖像 如果你的圖像數據已經是一個 Texture2D 或 Sprite,你可以將它直接顯示在Canvas上的 Image 組件中: 創建 Sprite: 將你的 Texture2D 數據轉換為 Sprite,以便可以在 Image 組件中使用。public Sprite CreateSpriteFromTexture(Texture2D…

【產品運營】Saas的核心六大數據

國內頭部軟件公司的一季度表現慘不忍睹,為啥美國的還那么賺錢呢?其實核心是,沒幾個Saas產品經理是看數據的,也不知道看啥數據。 SaaS 行業,天天拋頭露面、名頭叫的響的 SaaS 產品,真沒有幾個賺錢的。 那為…

電子看板,幫助工廠實現數字化管理

在數字化浪潮的推動下,制造業正經歷著深刻的變革,數字工廠成為了行業發展的新趨勢。而生產管理看板作為一種重要的管理工具,在提升數字工廠管理效率方面發揮著關鍵作用。 生產管理看板通過實時數據的展示,為數字工廠提供了清晰的全…

【算法學習】射線法判斷點在多邊形內外(C#)以及確定內外兩點連線與邊界的交點

1.前言: 在GIS開發中,經常會遇到確定一個坐標點是否在一塊區域的內部這一問題。 如果這個問題不是一個單純的數學問題,例如:在判斷DEM、二維圖像像素點、3D點云點等含有自身特征信息的這些點是否在一個區域范圍內部的時候&#x…

基于uniapp(vue3)H5附件上傳組件,可限制文件大小

代碼&#xff1a; <template><view class"upload-file"><text>最多上傳5份附件&#xff0c;需小于50M</text><view class"" click"selectFile">上傳</view></view><view class"list" v…

CCAA:認證通用基礎 10(審核的概念、審核有關的術語、審核的特征、審核原則)

10.審核的概念、審核有關的術語、審核的特征、審核原則 10.1審核的基本概念 第一章 審核基礎知識 第一節 概述 1.什么是審核 審核是認證過程中最基本的活動&#xff0c;是審核方案的重要組成部分&#xff0c;其實施效果直接影響到審核方案的意圖和審核目標的達成。 在認證…

外貿企業選擇什么網絡?

隨著全球化的深入發展&#xff0c;越來越多的國內企業將市場拓展到海外。為了確保外貿業務的順利進行&#xff0c;企業需要建立一個穩定、安全且高速的網絡。那么&#xff0c;外貿企業應該選擇哪種網絡呢&#xff1f;本文將為您詳細介紹。 外貿企業應選擇什么網絡&#xff1f; …

算法訓練(leetcode)第二十三天 | 455. 分發餅干、*376. 擺動序列、53. 最大子數組和

刷題記錄 455. 分發餅干*376. 擺動序列53. 最大子數組和 455. 分發餅干 leetcode題目地址 貪心&#xff0c;兩個數組排序&#xff0c;從前向后或從后向前均可&#xff0c;二者需保持同序&#xff0c;使用兩個指針分別指向兩個數組&#xff0c;當胃口滿足時兩個指針同時后移并…

VehicleSPY的安裝與使用

VehicleSPY介紹 Vehicle Spy 是美國英特佩斯公司的一款集成了診斷、節點/ECU仿真、數據獲取、自動測試和車內通信網絡監控等功能的工具&#xff0c;Vehicle Spy軟件支持的應用場景很多&#xff0c;無法一一列舉&#xff0c;以下是一些常見的應用&#xff1a; 總線監控&#x…

C#中類的反射以及調用小妙招

C#中類的反射以及調用小妙招 介紹原始代碼類的反射修改之后的代碼總結 介紹 最近看到原來同事寫的代碼感嘆了一下&#xff0c;優化這個東西確實是永無止境的&#xff0c;其實就是不了解類的反射和返回值的使用。 原始代碼 public void OnExit(Frame f, QFSMAnimatorEnum sta…

stthjpv:一款針對JWT Payload的安全保護工具

關于stthjpv stthjpv是一款針對JWT Payload的安全保護工具&#xff0c;這款工具集多種技術和思想于一身&#xff0c;可以通過不斷改變相關參數值來防止Payload被解碼&#xff0c;以幫助廣大研究人員更好地保護JWT Payload的安全性。 除此之外&#xff0c;該工具還能夠確保JWT …

如何定制化 ListView 界面

&#x1f604;作者簡介&#xff1a; 小曾同學.com,一個致力于測試開發的博主??&#xff0c;主要職責&#xff1a;測試開發、CI/CD 如果文章知識點有錯誤的地方&#xff0c;還請大家指正&#xff0c;讓我們一起學習&#xff0c;一起進步。 &#x1f60a; 座右銘&#xff1a;不…

代碼查重軟件-自力更生

為了減輕工作量&#xff0c;自研了簡單實用的代碼查重工具&#xff0c;可以對若干文件之間進行查重。通過調試&#xff0c;相似度大于80%的沒有一個是冤枉的。好用。去掉雷同的&#xff0c;其他的代碼再慢慢看。

Python中的除法操作詳解

在Python編程中&#xff0c;除法是一個基礎但極其重要的算術操作。Python提供了多種除法運算方式&#xff0c;以適應不同的計算需求。以下是對Python中除法操作的全面介紹&#xff0c;包括示例代碼。 1. 普通除法 / 普通除法使用/運算符&#xff0c;它返回一個浮點數結果&…

Java UU跑腿同城跑腿小程序源碼快遞代取幫買幫送源碼小程序+H5+公眾號跑腿系統

&#x1f680;【同城生活小助手】&#x1f680; &#x1f3c3;?♂?【同城跑腿&#xff0c;即刻送達的便利生活】&#x1f3c3;?♀? 在快節奏的都市生活中&#xff0c;時間成了最寶貴的資源。UU跑腿小程序&#xff0c;作為同城生活的得力助手&#xff0c;讓你輕松解決生活…

?如何部署私有化地圖服務器(Windows版)

用戶希望我們能詳細講講&#xff0c;如何通過《水經注地圖服務》進行私有化部署做一個地圖服務器。 現在就來為大家作一個較為詳細的分享&#xff0c;希望能在私有化部署地圖服務器的工作中&#xff0c;助你一臂之力&#xff01; 《水經注地圖服務》下載與安裝 打開以下官方…

Embedded Coder代碼生成優化

Embedded Coder為 MATLAB Coder 產品擴展了可用于嵌入式軟件開發的功能。您可以生成具有專業人工代碼的清晰度和效率的代碼。例如&#xff0c;您可以&#xff1a; 生成緊湊、快速的代碼&#xff0c;這對實時仿真器、目標系統快速原型構建板、大規模生產中使用的微處理器以及嵌…

從深度學習到音樂創作:AI如何重新定義音樂行業

&#x1f4d1;引言 近一個月來&#xff0c;隨著幾款音樂大模型的輪番上線&#xff0c;AI在音樂產業的角色迅速擴大。這些模型不僅將音樂創作的門檻降至前所未有的低點&#xff0c;還引發了一場關于AI是否會徹底顛覆音樂行業的激烈討論。從初期的興奮到現在的理性審視&#xff0…

IO模型與多路復用

前言 在Linux中有一句經典臺詞&#xff1a;“Linux一切皆文件”。IO操作是與文件進行交流的唯一方式&#xff0c;也就是說這是與Linux系統交流的唯一手段。就如同人與人之間的交流&#xff0c;如果我們連交流的方式都不甚了解&#xff0c;交流的效率就會變得低下。操作系統也是…