前面的文章簡(jiǎn)單的介紹了一些關(guān)于PCIe總線事務(wù)層(Transaction Layer)和數(shù)據(jù)鏈路層(Data Link Layer)的一些基本概念。這篇文章來(lái)繼續(xù)聊一聊PCIe總線的最底層——物理層(Physical Layer)。在PCIe Spec中,物理層是被分為兩個(gè)部分單獨(dú)介紹的,分別是物理層邏輯子層和物理層電氣子層,其中后者一般都是采用SerDes來(lái)實(shí)現(xiàn)的。本篇文章只是簡(jiǎn)單地介紹一些PCIe物理層的基本概念,關(guān)于物理層詳細(xì)、深入地介紹,請(qǐng)關(guān)注我后續(xù)的連載博文。
由于物理層處于PCIe體系結(jié)構(gòu)中的最底層,所以無(wú)論是TLP還是DLLP都必須通過(guò)物理層完成收發(fā)操作。來(lái)自數(shù)據(jù)鏈路層的TLP和DLLP都會(huì)被臨時(shí)放入物理層的Buffer中,并被加上起始字符(Start & End Characters),這些起始字符有的時(shí)候也被稱為幀字符(Frame Characters)。具體如下圖所示:
注:這里所說(shuō)的TLP和DLLP指的是包的原始發(fā)送者發(fā)的包,即TLP表示這個(gè)包的原始發(fā)送者為事務(wù)層,而DLLP則為數(shù)據(jù)鏈路層。但是TLP仍然會(huì)被數(shù)據(jù)鏈路層轉(zhuǎn)發(fā),并添加Sequence和LCRC。
物理層完成的一個(gè)重要的功能就是8b/10b編碼和解碼(Gen1 & Gen2),Gen3及之后的PCIe則采用了128b/130b的編碼和解碼機(jī)制。關(guān)于8b/10b,這里不再詳細(xì)地介紹了.
物理層的另一個(gè)重要的功能時(shí)進(jìn)行鏈路(Link)的初始化和訓(xùn)練(Initialization & Training),且是完全自動(dòng)的操作,并不需要人為的干預(yù)。完成鏈路的初始化和訓(xùn)練之后,便可以確定當(dāng)前PCIe設(shè)備的一些基本屬性:
· 鏈路的寬度(Link Width,x1還是x2,x4……)
· 鏈路的速率(Link Data Rate)
· Lane Reversal - Lanes connected in reverse order
· Polarity Inversion – Lane polarity connected backward
· Bit Lock Per Lane – Recovering the transmitter clock
· Symbol Lock Per Lane – Finding a recognizable position in the bit-stream
· Lane-to-Lane De-skew Within a Multi-Lane Link
物理層的電氣子層主要實(shí)現(xiàn)了差分收發(fā)對(duì),如下圖所示:
由于其速度很高,因此采用的是交流耦合的方式(AC-Coupled),說(shuō)白了就是在信號(hào)線上加了電容Ctx,此時(shí)低頻信號(hào)和直流信號(hào)都會(huì)被抑制。
需要注意的是,PCIe物理層處理可以轉(zhuǎn)發(fā)LTP和DLLP之外,還可以直接發(fā)送命令集(Ordered Sets)。之所以稱其為命令集,是因?yàn)樗⒉皇钦嬲饬x上的包(Packet),因?yàn)槲锢韺硬粫?huì)為其添加起始字符(Start & End Characters)。并且命令集始于發(fā)送端的物理層,結(jié)束語(yǔ)接收端的物理層。雖然命令集沒(méi)有起始字符,但是對(duì)于Gen1&Gen2版本的PCIe物理層來(lái)說(shuō),會(huì)為其添加一個(gè)叫做COM的字符作為開始字符,隨后跟著三個(gè)或者更多的信息字符。
注:PCIe Gen3及之后的版本處理方式有所不同,但是Gen3是向前兼容Gen1 & Gen2的。由于本文主要還是基于Gen2來(lái)介紹的,所以關(guān)于Gen3的更多信息,大家可以自行參考PCIe Gen3 的Spec。
命令集(OrderedSets)的收發(fā)示意圖,如下圖所示:
命令集(OrderedSets)的結(jié)構(gòu)圖如下圖所示:
命令集主要用于鏈路的訓(xùn)練操作(Link Training Process)。此外,命令集還用于鏈路進(jìn)入或者退出低功耗模式的操作。
-
總線
+關(guān)注
關(guān)注
10文章
2878瀏覽量
88051 -
PCIe
+關(guān)注
關(guān)注
15文章
1234瀏覽量
82576 -
物理層
+關(guān)注
關(guān)注
1文章
148瀏覽量
34359
原文標(biāo)題:【博文連載】PCIe掃盲——PCIe總線物理層入門
文章出處:【微信號(hào):ChinaAET,微信公眾號(hào):電子技術(shù)應(yīng)用ChinaAET】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論