性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

廣元兄
認(rèn)證:優(yōu)質(zhì)創(chuàng)作者
所在專題目錄 查看專題
這份大約5000字的HDMI知識(shí)指南,請(qǐng)查看!
USB2.0知識(shí)指南
USB3.0知識(shí)指南
PCIe知識(shí)指南
USB4.0知識(shí)指南
SATA3.2知識(shí)指南
作者動(dòng)態(tài) 更多
電源完整性入門(mén)寶典書(shū)籍
04-22 15:33
一種新的內(nèi)存模塊CAMM
04-20 10:15
差分信號(hào)與邏輯電平
01-01 09:39
差分對(duì)耦合的問(wèn)題
2024-12-29 15:48
說(shuō)一說(shuō)《高速電路設(shè)計(jì)進(jìn)階》
2024-12-10 16:05

PCIe知識(shí)指南

大家好,我是廣元兄。很高興和大家分享信號(hào)完整性的相關(guān)知識(shí)。希望大家點(diǎn)贊,分享。有什么問(wèn)題加微交流學(xué)習(xí),微信號(hào)【SI_Basic】。

Slogan:一起學(xué)習(xí),共同進(jìn)步!

在現(xiàn)有的電子產(chǎn)品,從消費(fèi)類產(chǎn)品到高速產(chǎn)品中,PCIe總線作為主要的主板級(jí)互連。不同于PCI 并行總線結(jié)構(gòu),PCIe 使用串行總線結(jié)構(gòu),端對(duì)端的連接模式。

數(shù)據(jù)從芯片發(fā)出,經(jīng)過(guò)事務(wù)層,數(shù)據(jù)鏈路層,物理層,發(fā)出去后,接收端的數(shù)據(jù)通過(guò)物理層,數(shù)據(jù)鏈路層,事務(wù)層,再到終端設(shè)備芯片。

事務(wù)層(Transaction Layer)

事務(wù)層用于處理數(shù)據(jù)包的傳送管理,是請(qǐng)求和處理信息的基礎(chǔ),這里面有四種地址空間,三種處理類型等,基本信息如下:

當(dāng)處理器或其他PCIe設(shè)備訪問(wèn)PCIe設(shè)備時(shí),所傳送的數(shù)據(jù)報(bào)文先通過(guò)事務(wù)層被分發(fā)成一個(gè)或者多個(gè)TLP,之后才能通過(guò)PCIe總線送達(dá)各個(gè)層。

TLP為事務(wù)層的數(shù)據(jù)包,具有一定的格式,有包頭,數(shù)據(jù)負(fù)載和可選的摘要。包頭里的數(shù)據(jù)用于對(duì)包的管理和控制。

TLP數(shù)據(jù)傳輸有一定規(guī)則:數(shù)據(jù)承載量有限制;數(shù)據(jù)從低字節(jié)高位先發(fā)送,從左到右

TLP數(shù)據(jù)負(fù)載DW(Double Words)長(zhǎng)度,定義如下:

TLP尋址方式:地址,ID識(shí)別,間接。

地址尋址主要用于內(nèi)存和I/O,用于請(qǐng)求和讀寫(xiě)等,支持64位和32位地址,I/O只支持32位地址。ID尋址主要用于配置請(qǐng)求和信息響應(yīng),包含Bus Number,Device Number,F(xiàn)unction Number。間接尋址只用于信息請(qǐng)求。

接收端處理機(jī)制就是對(duì)接收到的經(jīng)過(guò)Data Link Layer 進(jìn)行數(shù)據(jù)完整性驗(yàn)證過(guò)的TLP進(jìn)行再處理。無(wú)效的包被去除,保留的也會(huì)被忽略。

虛擬通道機(jī)制Virtual Channel(VC)Mechanism支持整個(gè)使用TC標(biāo)簽區(qū)分的流量。VC 的基礎(chǔ)是有獨(dú)立的結(jié)構(gòu)資源(隊(duì)列/緩沖區(qū)和相關(guān)的控制邏輯), 這些資源用于不同 VC 之間,通過(guò)完全獨(dú)立的流控制跨鏈路移動(dòng)信息。這是解決流量控制引起的阻塞問(wèn)題的關(guān)鍵。 具體的虛擬通道都是由VC ID決定和識(shí)別的。

每個(gè)虛擬通道都有獨(dú)立的流程控制的緩沖空間,在接收和發(fā)送雙方,流程控制信息是用數(shù)據(jù)鏈路包(DLLP)打包發(fā)送,其中的”VC ID”就是用來(lái)載送虛擬通道的識(shí)別。

每個(gè)虛擬通道對(duì)應(yīng)的流程包含6個(gè)不同的流程控制,信息如下:

數(shù)據(jù)鏈路層(Data Link Layer)

為了確保數(shù)據(jù)端對(duì)端的可靠性,在事務(wù)層的TLp Digtest選擇性地做ECRC校驗(yàn),ECRC的初值是FFFF FFFF。說(shuō)到CRC 這里就有數(shù)據(jù)鏈路層,數(shù)據(jù)鏈路層為處理層和物理層的中間層,為T(mén)LP在鏈路傳遞中提供可靠機(jī)制。數(shù)據(jù)鏈路層的作用:

  • 數(shù)據(jù)交換
  • 誤碼檢測(cè)和重發(fā)
  • 初始化和電源管理
  • 生成用于鏈路管理的DLLP

DLLP(Data Link Layer Packet)用于一個(gè)鏈路上的兩個(gè)組件之間點(diǎn)對(duì)點(diǎn)發(fā)送。而TLP 從一個(gè)組件傳輸?shù)搅硪粋€(gè)組件,可能會(huì)通過(guò)一個(gè)或多個(gè)中間組件。

數(shù)據(jù)完整性檢測(cè)就是為DLLP和TLP做CRC校驗(yàn)。DLLP使用16bit CRC,而TLP使用的是32 bit的LCRC(Link CRC)。

這個(gè)LCRC 和Sequence Number,用于檢測(cè)錯(cuò)誤或者發(fā)送過(guò)程中丟失的TLP,讓源端重新發(fā)送,保證數(shù)據(jù)的完整性。

數(shù)據(jù)鏈路層跟蹤鏈路連接狀態(tài),同時(shí)和事務(wù)層以及物理層交換鏈路狀態(tài),并通過(guò)物理層完成對(duì)鏈路的管理。

物理層(Physical Layer)

物理層又分為邏輯子層和電氣子層兩部分。

邏輯子層有兩個(gè)主要部分:

傳輸部分,準(zhǔn)備從數(shù)據(jù)鏈路層傳遞的傳出信息以供電氣子層傳輸;接收部分,在將接收到的信息傳遞到數(shù)據(jù)鏈路層之前對(duì)其進(jìn)行識(shí)別和準(zhǔn)備。

邏輯子層和電氣子層通過(guò)狀態(tài)和控制寄存器接口或功能協(xié)調(diào)每個(gè)收發(fā)器的狀態(tài)。邏輯子層指導(dǎo)物理層的控制和管理功能。

在物理層有兩大功能:

一是編碼和解碼。Gen2,8b/10b編碼和解碼機(jī)制,Gen3,128b/130b。

在傳輸端,加擾應(yīng)用于 8b/10b 編碼之前的字符。在接收端,對(duì) 8b/10b 解碼后的字符應(yīng)用解擾。這里面會(huì)有數(shù)據(jù)加擾功能,加擾功能可以通過(guò)多通道鏈路上的一個(gè)或多個(gè)線性反饋移位寄存器 (LFSR) 來(lái)實(shí)現(xiàn)

 當(dāng)每個(gè)鏈路有多個(gè)傳輸 LFSR 時(shí),它們必須協(xié)同工作,在每個(gè) LFSR 中保持相同值(通道到通道輸出偏移)。當(dāng)每個(gè)鏈路有多個(gè)接收 LFSR 時(shí),它們必須協(xié)同工作,在每個(gè) LFSR 中保持相同的時(shí)延值(總偏斜),如下圖:

不管它們是如何實(shí)現(xiàn)的,LFSR 必須在逐個(gè)通道的基礎(chǔ)上與數(shù)據(jù)交互,就好像對(duì)于該鏈路中的每個(gè)通道有一個(gè)單獨(dú)的 LFSR,如此處所述。

  • 數(shù)據(jù)加擾規(guī)則如下:
  • COM 符號(hào)初始化。
  • 對(duì)于除 SKP之外的每個(gè)符號(hào),LFSR值提前8個(gè)連續(xù)移位。
  • 除訓(xùn)練序列命令設(shè)置(例如TS1、TS2)和一致性模式中的數(shù)據(jù)符號(hào)(D 代碼)外,所有數(shù)據(jù)符號(hào)(D代碼)都要加擾, 所有特殊符號(hào)(K代碼)均未加擾。

  • LFSR (D0-D15) 的初始化值為FFFFh,COM退出,初始化發(fā)送端的LFPS,COM進(jìn)入,初始化接收端的LFPS。
  • 配置/檢測(cè)過(guò)程中默認(rèn)開(kāi)啟加擾。

第二大功能就是鏈路初始化和訓(xùn)練(Initialization & Training)。在訓(xùn)練過(guò)程中,確認(rèn)和完成以下內(nèi)容:

  • 鏈路寬度(X4,X8……)
  • 鏈路速率(5Gbps,10Gbps……)
  • 通道互換
  • 極性互換

在訓(xùn)練序列查詢期間,接收端將 TS1 和 TS2 有序集的符號(hào) 6-15 作為通道極性反轉(zhuǎn)的指示符(D+ 和 D- 交換)。如果發(fā)生通道極性反轉(zhuǎn),則接收到的 TS1 符號(hào) 6-15 將為 D21.5,而不是預(yù)期的 D10.2。類似地,如果發(fā)生通道極性反轉(zhuǎn),則 TS2 有序集的符號(hào) 6-15 將為 D26.5,而不是預(yù)期的 D5.2。如果檢測(cè)到極性反轉(zhuǎn),接收端必須反轉(zhuǎn)接收到的數(shù)據(jù)。

發(fā)射端不能反轉(zhuǎn)傳輸?shù)臄?shù)據(jù)。所有通道上的所有 PCIe接收端都需要獨(dú)立支持通道極性反轉(zhuǎn)。

PCIe鏈路兩端設(shè)備所用的Lane可以錯(cuò)序連接,稱之為“Lane Reversal”,相同的Lane上,差分信號(hào)的極性也可以錯(cuò)序連接,稱之為“Polarity Inversion”。

在實(shí)際的工作中,會(huì)根據(jù)這樣的功能來(lái)捋順走線,進(jìn)行版圖優(yōu)化設(shè)計(jì):

不同于2.0&3.0三種不同的時(shí)鐘架構(gòu),4.0只給出兩種。每個(gè)都有一個(gè)相關(guān)的濾波器功能,可以理解 PLL 帶寬/峰值和等效抖動(dòng)的最壞情況組合。

不同于2.0&3.0三種不同的時(shí)鐘架構(gòu),4.0只給出兩種。每個(gè)都有一個(gè)相關(guān)的濾波器功能,可以理解 PLL 帶寬/峰值和等效抖動(dòng)的最壞情況組合。

PCIe參考時(shí)鐘的架構(gòu)分為共同時(shí)鐘和獨(dú)立時(shí)鐘架構(gòu):

這里面有一個(gè)延遲值需要注意,就是數(shù)據(jù)和 Refclk 之間的累積傳輸延遲12 ns。Tx和Rx的最大內(nèi)部傳輸延遲為2.0 ns。

這里面還有一個(gè)鏈路損耗的標(biāo)準(zhǔn)概念,放到PCIe CEM里再講。

電源管理Power

Power Management PM 除了軟件與硬件上的兼容模式,更多的是硬件上管理模式。PCIe設(shè)備之間通過(guò)功耗管理事件(Power Management Event,PME)來(lái)進(jìn)行通信,同時(shí)控制功耗狀態(tài)的切換。規(guī)范文檔就定義了PCIe 設(shè)備的PM狀態(tài):

  • D0狀態(tài):Full-on。又分為兩個(gè)狀態(tài):未初始化和活動(dòng)狀態(tài)。
  • D1狀態(tài):Light Sleep,輕睡眠狀態(tài),該狀態(tài)可選。
  • D2狀態(tài):Deep Sleep,深睡眠狀態(tài),該狀態(tài)也可選。
  • D3狀態(tài):Full-off,分為兩個(gè)狀態(tài):熱狀態(tài)(電源未切斷)和冷狀態(tài)(電源切斷)

在鏈路訓(xùn)練狀態(tài)機(jī)(Link Training and Status State Machine ,LTSSM)這部分,有三種狀態(tài)和電源有關(guān):

  • L0 是可以發(fā)送和接收數(shù)據(jù)和控制數(shù)據(jù)包的正常操作狀態(tài)。所有的電源管理狀態(tài)都是從這個(gè)狀態(tài)進(jìn)入的。
  • L0s是一種省電狀態(tài),也允許鏈路快速進(jìn)入并從省電狀態(tài)恢復(fù),沒(méi)有延遲。
  • L1 也是一種省電狀態(tài)。L1 狀態(tài)允許在L0上額外省電,但是需要額外的恢復(fù)延遲。

聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電子星球立場(chǎng)。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請(qǐng)聯(lián)系:editor@netbroad.com
覺(jué)得內(nèi)容不錯(cuò)的朋友,別忘了一鍵三連哦!
贊 4
收藏 5
關(guān)注 155
成為作者 賺取收益
全部留言
0/200
成為第一個(gè)和作者交流的人吧