日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

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

如下圖所示:

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

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

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

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

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

FC_Init DLLP的格式如下圖所示:

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

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

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

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

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

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

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

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

    關注

    10

    文章

    3061

    瀏覽量

    91894
  • PCIe
    +關注

    關注

    16

    文章

    1483

    瀏覽量

    88966
  • 數據鏈路層
    +關注

    關注

    0

    文章

    63

    瀏覽量

    12440

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

文章出處:【微信號:ChinaAET,微信公眾號:電子技術應用ChinaAET】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    RT-Thread自動初始化詳解

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

    NVMe高速傳輸之擺脫XDMA設計之七:系統(tǒng)初始化

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

    NVMe高速傳輸之擺脫XDMA設計之八:PCIe初始化狀態(tài)機設計

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

    NVMe高速傳輸之擺脫XDMA設計34:初始化功能驗證與分析2

    本文主要交流NVMe設計思路,在本博客已給出相關博文幾十篇,希望對初學者有用。注意這里只是拋磚引玉,切莫認為參考這就可以完成商用IP設計。 2) PCIe 初始化功能測試結果 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初始化問題,詳細介紹mit文件的創(chuàng)建與使用。利用FPGA實現(xiàn)的ROM只能認為器件處于用戶狀態(tài)時具備ROM功能。使用時不必要刻意劃分,而ROM單元的初始化則是設計人員必須
    發(fā)表于 02-08 14:24 ?5970次閱讀
    FPGA的ROM<b class='flag-5'>初始化</b>問題討論

    RDA1846S初始化設置

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

    CAN總線控制器SJA1000的初始化程序設計

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

    采用Flow Control機制的PCIe總線

    PCIe總線為了解決這一問題,提出了Flow Control的概念,如下圖所示。PCIe總線中要
    的頭像 發(fā)表于 04-26 08:54 ?7095次閱讀
    采用<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設備的每一個端口(Ports)都必須支持Flow Control機制,在發(fā)送TLP之前,
    的頭像 發(fā)表于 05-24 09:26 ?8089次閱讀
    <b class='flag-5'>Flow</b> <b class='flag-5'>Control</b>機制可以顯著地提高<b class='flag-5'>總線</b>的傳輸效率

    PCIe總線中的鏈路初始化與訓練

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

    IIC總線初始化基本驅動參考程序應用代碼免費下載

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

    GraniStudio:初始化例程

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

    EtherCAT總線初始化步驟

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

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

    通過使用配置工具導出ZAR文件進行EtherCAT總線初始化
    的頭像 發(fā)表于 02-05 10:00 ?2471次閱讀
    PC強實時運動控制(一):C#的EtherCAT<b class='flag-5'>總線</b><b class='flag-5'>初始化</b>(下)
    开远市| 晋州市| 贵阳市| 井陉县| 昭通市| 营口市| 莱西市| 彭泽县| 平定县| 灵武市| 全南县| 新丰县| 辛集市| 获嘉县| 天等县| 比如县| 谷城县| 鱼台县| 安多县| 乡城县| 涞源县| 深水埗区| 海门市| 原平市| 台江县| 泸州市| 金湖县| 资源县| 沁水县| 瑞金市| 自治县| 长宁县| 宝兴县| 黎平县| 策勒县| 牟定县| 稷山县| 长葛市| 东丰县| 嘉义县| 镇江市|