91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

SwM2_ChinaAET ? 來源:未知 ? 作者:李倩 ? 2018-05-24 09:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在任何事務(wù)層包(TLP)發(fā)送之前,PCIe總線必須要先完成Flow Control初始化。當(dāng)物理層完成鏈路初始化后,便會將LinkUp信號變?yōu)橛行?,告知?shù)據(jù)鏈路層可以開始Flow Control初始化了。

如下圖所示:

注:由于VC0是默認(rèn)使能的,所以當(dāng)Flow Control初始化開始時,其會被自動的初始化。其他的Virtual Channel是可選的,只有當(dāng)被配置為使能的時候才會被初始化。

Flow Control初始化被分為兩個步驟,F(xiàn)C_Init1和FC_Init2,其在整個數(shù)據(jù)鏈路控制和管理狀態(tài)機(Data Link Control & Management State Machine)的位置如下圖所示:

在FC_Init1步驟中,PCIe設(shè)備會連續(xù)地發(fā)送三個InitFC1類型的Flow Control DLLP來報告其接收Buffer 的大小。三個DLLP的順序是固定的:Posted、Non-Posted然后是Completions。如下圖所示:

FC_Init2與FC-Init1類似,同樣是連續(xù)的發(fā)送三個InitFC2類型的DLLP,當(dāng)完成后,DLCMSM(上一篇文章中提到的狀態(tài)機)會切換到DL_Active狀態(tài),表明數(shù)據(jù)鏈路層初始化完成。

注:可能有人會有疑惑了,F(xiàn)C_Init1和FC_Init2干的活不是差不多嘛,為什么還需要FC_Init2呢?原因是,不同的設(shè)備完成FC_Init1的時間可能是不同的,增加FC_Init2是為了保證每個設(shè)備都能收到FC初始化DLLP。

FC_Init DLLP的格式如下圖所示:

在完成FC初始化之后,相鄰的兩個設(shè)備之間會周期性的通過Updated FC DLLP更新接收Buffer的大小。如下圖所示:

Update FC DLLP的格式與FC_Init的格式是類似的,具體如下:

前面說到。Update FC DLLP是周期性發(fā)送的,周期的值可以通過以下公式計算得:

具體可以參考PCIe的Spec,這里不再詳細(xì)介紹,下面給出Gen1和Gen2的周期表格(根據(jù)公式計算的結(jié)果)。其中AF為AckFactor。

注:Mindshare的書中,為了便于理解,把AckFactor一詞修改為UpdateFactor,實際上指的是同一個東西。

Gen1 (2.5GT/s)如下表所示:

Gen2(5GT/s)如下表所示:

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

    關(guān)注

    10

    文章

    3040

    瀏覽量

    91657
  • PCIe
    +關(guān)注

    關(guān)注

    16

    文章

    1460

    瀏覽量

    88400
  • 數(shù)據(jù)鏈路層

    關(guān)注

    0

    文章

    63

    瀏覽量

    12409

原文標(biāo)題:【博文連載】PCIe掃盲——Flow Control基礎(chǔ)(二)

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    RT-Thread自動初始化詳解

    我們知道,在寫裸機程序時,當(dāng)我們完成硬件初始化后,就需要在主函數(shù)中進(jìn)行調(diào)用。當(dāng)我們使用RT-Thread后,完全不需要這樣做了,我們可以將硬件等自動初始化。 RT-Thread?自動初始化
    的頭像 發(fā)表于 06-25 21:38 ?1.3w次閱讀
    RT-Thread自動<b class='flag-5'>初始化</b>詳解

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

    路訓(xùn)練由 PCIE 集成塊實現(xiàn), 初始化模塊根據(jù)鏈路訓(xùn)練完成信號和初始化啟動信號來執(zhí)行 PCIe 初始化
    發(fā)表于 07-04 09:14

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

    PCIe配置初始化狀態(tài)機實現(xiàn)PCIe設(shè)備枚舉和配置空間初始化過程,在完成鏈路訓(xùn)練后,使用DFS(深度優(yōu)先搜索)算法枚舉
    發(fā)表于 07-05 22:00

    NVMe高速傳輸之?dāng)[脫XDMA設(shè)計34:初始化功能驗證與分析2

    本文主要交流NVMe設(shè)計思路,在本博客已給出相關(guān)博文幾十篇,希望對初學(xué)者有用。注意這里只是拋磚引玉,切莫認(rèn)為參考這就可以完成商用IP設(shè)計。 2) PCIe 初始化功能測試結(jié)果 PCIe
    發(fā)表于 10-09 11:31

    CAN總線初始化

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

    FPGA的ROM初始化問題討論

    本文討論FPGA的ROM初始化問題,詳細(xì)介紹mit文件的創(chuàng)建與使用。利用FPGA實現(xiàn)的ROM只能認(rèn)為器件處于用戶狀態(tài)時具備ROM功能。使用時不必要刻意劃分,而ROM單元的初始化則是設(shè)計人員必須
    發(fā)表于 02-08 14:24 ?5905次閱讀
    FPGA的ROM<b class='flag-5'>初始化</b>問題討論

    RDA1846S初始化設(shè)置

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

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

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

    采用Flow Control機制的PCIe總線

    PCIe總線為了解決這一問題,提出了Flow Control的概念,如下圖所示。PCIe總線中要
    的頭像 發(fā)表于 04-26 08:54 ?6967次閱讀
    采用<b class='flag-5'>Flow</b> <b class='flag-5'>Control</b>機制的<b class='flag-5'>PCIe</b><b class='flag-5'>總線</b>

    Flow Control機制可以顯著地提高總線的傳輸效率

    PCIe Spec規(guī)定,PCIe設(shè)備的每一個端口(Ports)都必須支持Flow Control機制,在發(fā)送TLP之前,
    的頭像 發(fā)表于 05-24 09:26 ?7967次閱讀
    <b class='flag-5'>Flow</b> <b class='flag-5'>Control</b>機制可以顯著地提高<b class='flag-5'>總線</b>的傳輸效率

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

    前面的文章中介紹過,PCIe收發(fā)的都是差分信號,有的時候Link兩端的設(shè)備的對應(yīng)信號的極性可能是相反的。因此,PCIe Spec允許在鏈路訓(xùn)練與初始化的時候,對其進(jìn)行調(diào)整,如下圖所示。和通道位置翻轉(zhuǎn)
    的頭像 發(fā)表于 06-05 09:06 ?1.2w次閱讀
    <b class='flag-5'>PCIe</b><b class='flag-5'>總線</b>中的鏈路<b class='flag-5'>初始化</b>與訓(xùn)練

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

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

    GraniStudio:初始化例程

    1.文件運行 導(dǎo)入工程 雙擊運行桌面GraniStudio.exe。 通過引導(dǎo)界面導(dǎo)入初始化例程,點擊導(dǎo)入按鈕。 打開初始化例程所在路徑,選中初始化.gsp文件,點擊打開,完成導(dǎo)入。
    的頭像 發(fā)表于 08-22 16:45 ?892次閱讀
    GraniStudio:<b class='flag-5'>初始化</b>例程

    EtherCAT總線初始化步驟

    EtherCAT(Ethernet for Control Automation Technology)是一種高性能的工業(yè)以太網(wǎng)通信協(xié)議,廣泛應(yīng)用于工業(yè)自動領(lǐng)域。其初始化過程是確保系統(tǒng)穩(wěn)定運行
    的頭像 發(fā)表于 12-22 10:10 ?575次閱讀
    EtherCAT<b class='flag-5'>總線</b><b class='flag-5'>初始化</b>步驟

    PC強實時運動控制(一):C#的EtherCAT總線初始化(下)

    通過使用配置工具導(dǎo)出ZAR文件進(jìn)行EtherCAT總線初始化
    的頭像 發(fā)表于 02-05 10:00 ?923次閱讀
    PC強實時運動控制(一):C#的EtherCAT<b class='flag-5'>總線</b><b class='flag-5'>初始化</b>(下)