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

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

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

PCIe總線的三種錯誤報告方式

SwM2_ChinaAET ? 來源:未知 ? 作者:李倩 ? 2018-08-23 10:14 ? 次閱讀

PCIe總線有三種錯誤報告方式,分別是:

1. Completions:通過Completion中的狀態(tài)位向Request返回錯誤信息

2. Poisoned Packet(又稱為錯誤傳遞,Error Forwarding):告知接收端當前TLP的Data Payload已經(jīng)被破壞

3. Error Message(錯誤消息):向主機報告錯誤信息

前兩種之前的文章都已經(jīng)提及,錯誤消息的格式和對應的消息編碼如下所示:

為了兼容PCI總線的錯誤報告機制(使用PERR#和SERR#),PCIe設備會自動將CA、UR和Poisoned TLP轉(zhuǎn)換為對應的錯誤信息。具體這里就不詳細介紹了,有興趣的可以自行閱讀PCIe Spec的相關章節(jié)。

PCIe設備的配置空間中的狀態(tài)與控制寄存器如上圖所示,通過這些寄存器可以使能(或禁止)通過錯誤消息(Error Message)發(fā)送錯誤報告、查詢錯誤狀態(tài)信息,以及鏈路訓練和初始化狀態(tài)等。

前面的文章介紹過,默認的錯誤分類如下表所示:

這些錯誤類型可以通過設備控制寄存器(Device Control Register)中的相關位,進行使能或者禁止:

也可以通過設備狀態(tài)寄存器(Device Status Registers)相關位查詢錯誤狀態(tài):

當然,當Root接收到錯誤消息后,怎么處理還要取決于Root Control Register的設置:

鏈路錯誤(Link Errors)一般發(fā)生在物理層與數(shù)據(jù)鏈路層通信的過程中。對于Downstream的設備,如果鏈路上發(fā)生了Fatal錯誤,此時,該設備并不能夠向Root報告錯誤。這種情況下,需要Upstream設備向Root來報告錯誤。為了消除鏈路錯誤,一般需要對鏈路進行重新訓練(Retrain)。如下圖所示,在鏈路控制寄存器中,可以通過往Retrain Link這一位寫1,來強制進行鏈路重訓練。

當發(fā)起重訓練請求后,軟件可以檢查鏈路狀態(tài)寄存器(Link Status Register)中的Link Training位,來確認鏈路訓練是否已經(jīng)完成,如下圖所示。當該位為1時,表明鏈路訓練尚未完成(或者還沒有開始),如果鏈路訓練已經(jīng)完成,硬件會自動將該位清零。

PCIe總線的錯誤登記與報告的流程圖如下圖所示:

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

    關注

    31

    文章

    5273

    瀏覽量

    119657
  • 總線
    +關注

    關注

    10

    文章

    2851

    瀏覽量

    87844
  • PCIe
    +關注

    關注

    15

    文章

    1175

    瀏覽量

    82257

原文標題:【博文連載】PCIe掃盲——PCIe錯誤報告機制

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

收藏 人收藏

    評論

    相關推薦

    PCB設計中如何進行統(tǒng)一批量檢測并生成錯誤報告

    不僅能在PCB設計的過程中實時檢測, 而且也能夠在需要的時候進行統(tǒng)一的批量檢測并生成錯誤報告。 Altium Designer的設計規(guī)則不是PCB對象的屬性, 而是獨立定義的。 每條規(guī)則需針對具體的PCB對象。對于PCB規(guī)則系統(tǒng)來說,它必須知道給定的規(guī)則應用于哪些對象,即規(guī)則的應用范圍。可
    的頭像 發(fā)表于 04-04 09:21 ?1.1w次閱讀
    PCB設計中如何進行統(tǒng)一批量檢測并生成<b class='flag-5'>錯誤報告</b>

    Win8系統(tǒng)操作不當彈出錯誤報告

    win8有時候會操作不當,系統(tǒng)會彈出一個錯誤報告,頻繁彈出提示窗口,非常麻煩,有什么方法可以將提示窗口關閉呢?系統(tǒng) 會彈出一個錯誤報告,它會將系統(tǒng)出現(xiàn)的一些問題生成文件報告發(fā)送至微軟,以便讓技術員
    發(fā)表于 06-24 14:35

    仿真停止后怎樣關掉錯誤報告?

    問個小問題 請問怎樣設定才能在仿真停止之后讓那個錯誤報告頁面不彈出。每次仿真完之后都彈出煩死了
    發(fā)表于 06-23 00:29

    關于Quartus II 錯誤報告Error (171173): Node from partition Top cannot preserve previous placement at PIN_P8 and honor the location assigment to PIN_F8

    問題:在修改分配管腳后總是出現(xiàn)下面這個錯誤報告,編譯不過。Error (171173): Node rs232_tx from partition Top cannot preserve
    發(fā)表于 11-04 21:13

    MPLAB X IDE v3.20編譯器使用錯誤的行號引用報告錯誤

    嗨,我使用XC16并在匯編中編寫,所以當編譯過程中代碼出錯時,編譯器將錯誤報告錯誤的行中。例如,我在編輯器的第1439行出錯,編譯器將錯誤報告在第1741行。我在V3.15也有這個問題,但是當我使用舊的V892時沒有。有什么線
    發(fā)表于 09-16 11:14

    為什么我設計的TMS320VC5402板子在調(diào)試軟件時總會出現(xiàn)存儲器錯誤報告?

    我設計的TMS320VC5402板子在調(diào)試軟件時會經(jīng)常出現(xiàn)存儲器錯誤報告,排除是映射的問題,是不是板子不穩(wěn)定的因素?還是DSP工作不正常的問題?如何判別?
    發(fā)表于 09-17 05:33

    PCIe配置為端點時,如何啟用AER(高級錯誤報告)驅(qū)動程序?

    PCIe 配置為端點時,如何啟用 AER(高級錯誤報告)驅(qū)動程序。
    發(fā)表于 04-19 07:31

    基于軟件錯誤報告數(shù)據(jù)集成的改進貝葉斯算法

    受到關注。通過改進詞頻一逆文檔頻率( TF-IDF),考慮到詞條在類間和類內(nèi)出現(xiàn)情況對文本分類的影響,提出一基于軟件錯誤報告數(shù)據(jù)集的改進多項式樸素貝葉斯算法,同時在Hadoop平臺下使用MapReduce計算模型實現(xiàn)該算法的分布式版本
    發(fā)表于 12-18 11:25 ?1次下載

    PCIe總線錯誤報告機制中四個比較重要的概念

    錯誤報告(Error Reporting):通知系統(tǒng)某個(或多個)錯誤發(fā)生了。在PCIe總線中,發(fā)生錯誤的設備會通過
    的頭像 發(fā)表于 08-17 10:09 ?6569次閱讀

    PCIe掃盲—PCIe錯誤檢測機制的詳細資料概述

    PCIe總線錯誤檢測囊括了鏈路(Link)上的錯誤以及包傳遞過程中的錯誤,如下圖所示。用戶設計的應用程序?qū)又械?/div>
    的頭像 發(fā)表于 08-18 11:05 ?1.5w次閱讀

    PCIe錯誤報告機制上高級錯誤報告AER

    也是其他錯誤的根源。PCIe Spec V2.1還支持多個錯誤的追蹤(Tracking Multiple Errors)。
    的頭像 發(fā)表于 08-27 11:31 ?7262次閱讀
    <b class='flag-5'>PCIe</b><b class='flag-5'>錯誤報告</b>機制上高級<b class='flag-5'>錯誤報告</b>AER

    Root如何處理來自其他PCIe設備的錯誤消息

    高級可校正錯誤屏蔽寄存器如下圖所示,默認情況下,這些bit的值都是0。也就是說,只要發(fā)生相關錯誤,且該錯誤報告功能被使能,則相關錯誤便會被報告
    的頭像 發(fā)表于 08-28 09:44 ?4306次閱讀
    Root如何處理來自其他<b class='flag-5'>PCIe</b>設備的<b class='flag-5'>錯誤</b>消息

    PCIe總線的兩復位方式

    傳統(tǒng)的復位方式分為Cold、Warm和Hot Reset。PCIe設備可以根據(jù)當前的設備的運行狀態(tài)選擇合適的復位方式PCIe總線提供多種復
    的頭像 發(fā)表于 12-30 09:37 ?2.3w次閱讀

    PCIe錯誤報告的兩機制詳解

    該機制是PCIe設備必需支持的一錯誤報告機制,同時設備會定義最小的錯誤報告請求。應該是通過配置Device Control和Command寄存器做到通知其他設備產(chǎn)生了
    的頭像 發(fā)表于 10-23 11:14 ?2.5w次閱讀
    <b class='flag-5'>PCIe</b><b class='flag-5'>錯誤報告</b>的兩<b class='flag-5'>種</b>機制詳解

    查看服務器連接錯誤報告的方法說明

    查看服務器連接錯誤報告的方法
    發(fā)表于 01-07 11:04 ?1013次閱讀