一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

PCIe總線中的鏈路初始化與訓(xùn)練

SwM2_ChinaAET ? 來(lái)源:未知 ? 作者:李倩 ? 2018-06-05 09:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

PCIe總線中的鏈路初始化與訓(xùn)練(Link Initialization & Training)是一種完全由硬件實(shí)現(xiàn)的功能,處于PCIe體系結(jié)構(gòu)中的物理層。整個(gè)過(guò)程由鏈路訓(xùn)練狀態(tài)機(jī)(Link Training and Status State Machine,LTSSM)自動(dòng)完成,也就說(shuō)基本沒(méi)有數(shù)據(jù)鏈路層和事務(wù)層啥事。

LTSSM在PCIe體系結(jié)構(gòu)中的位置的示意圖如下:

在系統(tǒng)復(fù)位后,會(huì)自動(dòng)進(jìn)行鏈路訓(xùn)練,以達(dá)成以下目標(biāo):位鎖定(Bit Lock)、字符鎖定(Symbol Lock,Gen1 & Gen2 Only)、塊鎖定(Block Lock,Gen3 Only)、確定鏈路寬度(Link Width)、通道位置翻轉(zhuǎn)(Lane Reversal)、信號(hào)極性翻轉(zhuǎn)(Polarity Inversion)、確定鏈路的數(shù)據(jù)率(Data Rate)和通道對(duì)齊(Lane-to-Lane De-skew)等功能。

下面依次的,簡(jiǎn)要地介紹一下這些目標(biāo)。

注:本次連載博文主要Gen2為主,所以一些和Gen3相關(guān)的內(nèi)容只會(huì)簡(jiǎn)單提及,并不會(huì)深入地介紹,有興趣的可以閱讀PCIe Spec V3.0或者M(jìn)indshare的相關(guān)書(shū)籍。

首先是

位鎖定(Bit Lock):

前面的文章中提到過(guò),PCIe總線采用了一種嵌入式時(shí)鐘的機(jī)制,即發(fā)送端只向接收端發(fā)送數(shù)據(jù)信號(hào),并不發(fā)送時(shí)鐘信號(hào)(時(shí)鐘信號(hào)影藏在數(shù)據(jù)信號(hào)中)。接收端可以通過(guò)CDR(Clock and Data Recovery)邏輯將時(shí)鐘從數(shù)據(jù)流中恢復(fù)出來(lái),然后再用恢復(fù)出來(lái)的時(shí)鐘對(duì)數(shù)據(jù)信號(hào)進(jìn)行采樣。當(dāng)然,時(shí)鐘恢復(fù)需要一定的時(shí)間,才能保證時(shí)鐘信號(hào)與數(shù)據(jù)信號(hào)的相位對(duì)應(yīng)關(guān)系符合要求。一旦CDR完成了時(shí)鐘的恢復(fù),我們就說(shuō)PCIe總線完成了位鎖定。

字符鎖定(Symbol Lock):

完成了位鎖定之后,只是能夠準(zhǔn)確地識(shí)別出數(shù)據(jù)流中的0和1,還是不知道發(fā)送的內(nèi)容是個(gè)啥。對(duì)于Gen1&Gen2來(lái)說(shuō),采用的8b/10b編碼,即傳輸?shù)臄?shù)據(jù)是以10bit為一個(gè)字符。LTSSM可以引導(dǎo)物理層相關(guān)邏輯通過(guò)識(shí)別COM字符(K28.5)來(lái)確定每個(gè)字符的開(kāi)始與結(jié)束為止,即字符鎖定。

鏈路寬度(Link Width):

由于PCIe允許將x1的PCIe卡插入x4、x8甚至是x16的PCIe插槽中。因此在鏈路訓(xùn)練與初始化過(guò)程中,相鄰的兩個(gè)PCIe設(shè)備需要相互通信來(lái)確定其支持的最大鏈路寬度。

注:實(shí)際上PCIe Spec還允許采用動(dòng)態(tài)帶寬的機(jī)制,即允許鏈路寬度和數(shù)據(jù)率動(dòng)態(tài)調(diào)整,以實(shí)現(xiàn)降低功耗等功能。

通道位置翻轉(zhuǎn)(Lane Reversal):

有的時(shí)候兩個(gè)PCIe設(shè)備的通道排列位置可能不太一致,PCIe Spec允許對(duì)默認(rèn)的通道排列位置重新排列,如下圖所示。但是,從大部分的PCIe設(shè)備(PCIe卡和插槽等)都是按照統(tǒng)一的標(biāo)準(zhǔn)實(shí)現(xiàn)的,一般不會(huì)出現(xiàn)這種情況,因此這一功能是可選的。

信號(hào)極性翻轉(zhuǎn)(Polarity Inversion):

前面的文章中介紹過(guò),PCIe收發(fā)的都是差分信號(hào),有的時(shí)候Link兩端的設(shè)備的對(duì)應(yīng)信號(hào)的極性可能是相反的。因此,PCIe Spec允許在鏈路訓(xùn)練與初始化的時(shí)候,對(duì)其進(jìn)行調(diào)整,如下圖所示。和通道位置翻轉(zhuǎn)(Lane Reversal)不一樣的是,信號(hào)極性翻轉(zhuǎn)(Polarity Inversion)并不是一個(gè)可選項(xiàng),而是所有標(biāo)準(zhǔn)PCIe設(shè)備都應(yīng)支持的。

鏈路的數(shù)據(jù)率(Data Rate):

系統(tǒng)剛復(fù)位的時(shí)候,鏈路訓(xùn)練和初始化都是基于2.5G T/s的速率的。如果Link兩端的設(shè)備都支持更高的速率,則會(huì)自動(dòng)進(jìn)入Re-training狀態(tài),以重新切換速率。

注:PCIe Spec規(guī)定,高速率的PCIe設(shè)備必須能夠向下兼容。即Gen2必須同時(shí)支持2.5G T/s和5G T/s。

通道對(duì)齊(Lane-to-Lane De-skew):

PCIe鏈路完成字符鎖定后,還需要進(jìn)行通道對(duì)齊。因?yàn)橛械耐ǖ赖男盘?hào)可能先到達(dá),有的可能后到達(dá)。PCIe Spec規(guī)定PCIe鏈路應(yīng)有能力對(duì)一定范圍了的Lane-to-Lane Skew進(jìn)行移除,使得各個(gè)Lane上的信號(hào)是同步的。關(guān)于通道對(duì)齊,會(huì)在后續(xù)的博文中詳細(xì)地介紹。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5152

    文章

    19675

    瀏覽量

    317657
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2960

    瀏覽量

    89778
  • PCIe
    +關(guān)注

    關(guān)注

    16

    文章

    1342

    瀏覽量

    85168

原文標(biāo)題:【博文連載】PCIe掃盲——鏈路初始化與訓(xùn)練基礎(chǔ)(一)

文章出處:【微信號(hào):ChinaAET,微信公眾號(hào):電子技術(shù)應(yīng)用ChinaAET】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    NVMe高速傳輸之?dāng)[脫XDMA設(shè)計(jì)之七:系統(tǒng)初始化

    直接采用PCIe實(shí)現(xiàn)NVMe功能,它的系統(tǒng)初始化流程主要分為訓(xùn)練、PCIe
    發(fā)表于 07-04 09:14

    NVMe高速傳輸之?dāng)[脫XDMA設(shè)計(jì)之八:PCIe初始化狀態(tài)機(jī)設(shè)計(jì)

    PCIe配置初始化狀態(tài)機(jī)實(shí)現(xiàn)PCIe設(shè)備枚舉和配置空間初始化過(guò)程,在完成
    發(fā)表于 07-05 22:00

    SRIO重復(fù)初始化不通了

    專家好: 調(diào)試接口時(shí)經(jīng)常會(huì)出現(xiàn)重新load程序的情況,發(fā)現(xiàn)如果SRIO雙方已經(jīng)進(jìn)行數(shù)據(jù)通信,重新加載程序進(jìn)行SRIO初始化后,srio不通了,需要重新斷電重連,這樣調(diào)試起來(lái)比較浪費(fèi)時(shí)間,請(qǐng)問(wèn)有什么好的方法,可以節(jié)省調(diào)試時(shí)間
    發(fā)表于 01-07 11:15

    使用iMPACT無(wú)法初始化

    使用iMPACT我無(wú)法初始化。在初始邊界掃描時(shí),彈出以下錯(cuò)誤:有許多未知設(shè)備被檢測(cè)到。按是繼續(xù)或按否停止。我還收到以下錯(cuò)誤:錯(cuò)誤:iMPACT - 硬件配置可能存在問(wèn)題。電纜,掃描
    發(fā)表于 09-16 10:32

    CAN總線初始化

    1、CAN總線初始化void can_init(void){CAN_InitTypeDefCAN_InitStructure
    發(fā)表于 08-19 07:17

    手機(jī)模塊初始化向?qū)?/a>

    手機(jī)模塊初始化向?qū)?為了剛好的對(duì)手機(jī)模塊進(jìn)行初始化,所以把最基本的向?qū)?xiě)下來(lái).本向?qū)нm用于本公司的西門子TC35I和華為GT9000模塊。一、在初始化手機(jī)模塊前,請(qǐng)先確定DT
    發(fā)表于 09-18 09:41 ?17次下載

    RDA1846S初始化設(shè)置

    RDA1846S初始化設(shè)置RDA1846S初始化設(shè)置RDA1846S初始化設(shè)置
    發(fā)表于 01-15 17:08 ?0次下載

    CAN總線控制器SJA1000的初始化程序設(shè)計(jì)

    CAN總線控制器SJA1000的初始化程序設(shè)計(jì)。
    發(fā)表于 05-06 11:29 ?12次下載

    objc源碼NSObject如何進(jìn)行初始化

    + alloc 和 - init 這一對(duì)我們?cè)?iOS 開(kāi)發(fā)每天都要用到的初始化方法一直困擾著我, 于是筆者仔細(xì)研究了一下 objc 源碼 NSObject 如何進(jìn)行初始化。 在具
    發(fā)表于 09-26 09:58 ?0次下載

    PCIe總線必須要先完成Flow Control初始化

    由于VC0是默認(rèn)使能的,所以當(dāng)Flow Control初始化開(kāi)始時(shí),其會(huì)被自動(dòng)的初始化。其他的Virtual Channel是可選的,只有當(dāng)被配置為使能的時(shí)候才會(huì)被初始化。
    的頭像 發(fā)表于 05-24 09:18 ?8291次閱讀
    <b class='flag-5'>PCIe</b><b class='flag-5'>總線</b>必須要先完成Flow Control<b class='flag-5'>初始化</b>

    PCIe總線的三種錯(cuò)誤報(bào)告方式

    PCIe設(shè)備的配置空間中的狀態(tài)與控制寄存器如上圖所示,通過(guò)這些寄存器可以使能(或禁止)通過(guò)錯(cuò)誤消息(Error Message)發(fā)送錯(cuò)誤報(bào)告、查詢錯(cuò)誤狀態(tài)信息,以及訓(xùn)練
    的頭像 發(fā)表于 08-23 10:14 ?1.5w次閱讀
    <b class='flag-5'>PCIe</b><b class='flag-5'>總線</b>的三種錯(cuò)誤報(bào)告方式

    IIC總線初始化基本驅(qū)動(dòng)參考程序應(yīng)用代碼免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是IIC總線初始化基本驅(qū)動(dòng)參考程序應(yīng)用代碼免費(fèi)下載。程序功能:為IIC總線的基本驅(qū)動(dòng)程序(此程序沒(méi)有寫(xiě)主函數(shù),只是一些IIC必備的子函數(shù))
    發(fā)表于 01-16 08:00 ?5次下載
    IIC<b class='flag-5'>總線</b><b class='flag-5'>初始化</b>基本驅(qū)動(dòng)參考程序應(yīng)用代碼免費(fèi)下載

    神經(jīng)網(wǎng)絡(luò)如何正確初始化?

    初始化對(duì)訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)的收斂性有重要影響。
    的頭像 發(fā)表于 05-17 16:32 ?8478次閱讀
    神經(jīng)網(wǎng)絡(luò)如何正確<b class='flag-5'>初始化</b>?

    C++之初始化列表學(xué)習(xí)的總結(jié)

    可以使用初始化列表對(duì)成員進(jìn)行初始化。
    的頭像 發(fā)表于 12-24 17:39 ?1137次閱讀

    DDR4-初始化、訓(xùn)練和校準(zhǔn)

    上電與初始化是由一系列精心設(shè)計(jì)的步驟組成的序列(sequence)。一般來(lái)說(shuō),在系統(tǒng)上電之后,ASIC/FPGA/處理器的 DDR 控制器會(huì)被從復(fù)位狀態(tài)釋放,自動(dòng)執(zhí)行上電與初始化
    的頭像 發(fā)表于 07-03 11:48 ?8938次閱讀
    DDR4-<b class='flag-5'>初始化</b>、<b class='flag-5'>訓(xùn)練</b>和校準(zhǔn)