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

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

3天內不再提示

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

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

前面的文章提到過,PCI總線中定義兩個邊帶信號(PERR#和SERR#)來處理總線錯誤。其中PERR#主要對應的是普通數(shù)據(jù)奇偶校檢錯誤(Parity Error),而SERR#主要對應的是系統(tǒng)錯誤(System Error)。具體如下:

· 普通的數(shù)據(jù)奇偶校檢錯誤——通過PERR#報告

· 在多任務事務(Multi-task Transaction,又稱為Special Cycles)時的奇偶校檢錯誤——通過SERR#報告

· 地址和命令的奇偶校檢錯誤——通過SERR#報告

· 其他錯誤——通過SERR#報告

一個簡單的例子如下圖所示:

PCIe作為一種高速串行總線,取消了PCI總線中的這兩個邊帶信號,采用錯誤消息的方式來實現(xiàn)錯誤報告。但是,在軟件層面上,PCIe仍是兼容PCI總線的,具體后面會詳細描述。

在PCIe總線的錯誤報告機制中,有如下四個比較重要的概念:

· 錯誤檢測(Error Detection):指的是檢測某個錯誤是否存在的過程。

· 錯誤登記(Error Logging):指的是將相關寄存器(配置空間中的)的對應為置位,以等待軟件中的相關錯誤處理程序來處理該錯誤。

· 錯誤報告(Error Reporting):通知系統(tǒng)某個(或多個)錯誤發(fā)生了。在PCIe總線中,發(fā)生錯誤的設備會通過錯誤消息(Error Message)逐級將錯誤信息發(fā)送至Root,Root接收到錯誤消息后,會產生對應的中斷通知系統(tǒng)。

· 錯誤發(fā)送(Error Signaling):指的是通過發(fā)送錯誤消息(或者帶有UR,CA的Completion和Poisoned TLP)來傳遞錯誤信息的過程。

注:“帶有UR,CA的Completion”在前面的文章中介紹過,不熟悉的可以回顧一下?!癙oisoned TLP”是PCIe總線錯誤報告機制中的Error Forwarding的方式,具體會在后面詳細介紹。

PCIe總線Spec定義了兩個錯誤報告等級。第一個為基本的(Baseline Capability),是所有PCIe設備都需要支持的功能。第二個是可選的,稱之為高級錯誤報告(Advanced Error Reporting Capability)。

在基本的錯誤報告機制中,有兩組相關的配置寄存器(配置空間中),分別為:

· 兼容PCI總線的寄存器(PCI-compatible Registers

· PCIe總線中新增的寄存器(PCI Express Capability Registers)

高級錯誤報告機制(AER)中,又使用了一組專用的配置寄存器(配置空間中)。借助AER可以獲得更多的錯誤信息,有助于軟件定位錯誤源和分析錯誤原因。

PCIe總線的錯誤可以分為(Correctable Errors)和不可校正錯誤(Uncorrectable Errors)。其中,可校正錯誤可以自動地被硬件識別并被自動的校正或恢復。而不可校正錯誤又被分為非致命的(Non-Fatal)和致命的(Fatal)。非致命的錯誤一般有設備驅動軟件(Device Specific Software)直接處理,且鏈路(Link)可恢復,甚至鏈路上的數(shù)據(jù)有可能得到恢復(不丟失數(shù)據(jù))。致命的錯誤只能由系統(tǒng)軟件(System Software)處理,且一般需要進行復位等操作,因此鏈路上的數(shù)據(jù)必然會丟失。

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

    關注

    31

    文章

    5253

    瀏覽量

    119205
  • 總線
    +關注

    關注

    10

    文章

    2817

    瀏覽量

    87710
  • PCIe
    +關注

    關注

    15

    文章

    1165

    瀏覽量

    81983

原文標題:【博文連載】PCIe掃盲——PCIe錯誤定義與分類

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

收藏 人收藏

    評論

    相關推薦

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

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

    CAN控制器總線錯誤分析之CAN節(jié)點BusOff恢復過程分析與測試

    總線關閉(bus off)是CAN節(jié)點比較重要錯誤處理機制。那么,在總線關閉狀態(tài)下,CAN節(jié)點的恢復流程是怎樣的?又該如何理解節(jié)點恢復流程的“快恢復”和“慢恢復”
    發(fā)表于 08-04 11:16 ?1.5w次閱讀
    CAN控制器<b class='flag-5'>總線</b><b class='flag-5'>錯誤</b>分析之CAN節(jié)點BusOff恢復過程分析與測試

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

    win8有時候會操作不當,系統(tǒng)會彈出一錯誤報告,頻繁彈出提示窗口,非常麻煩,有什么方法可以將提示窗口關閉呢?系統(tǒng) 會彈出一錯誤報告,它會將系統(tǒng)出現(xiàn)的一些問題生成文件
    發(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行出錯,編譯器將錯誤報告
    發(fā)表于 09-16 11:14

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

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

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

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

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

    用戶提交的軟件錯誤報告隨意性大、主觀性強且內容少導致自動分類正確率不高,需要花費大量人工干預時間。隨著互聯(lián)網的快速發(fā)展用戶提交的錯誤報告數(shù)量也不斷增加,如何在海量數(shù)據(jù)下提高其自動分類的精確度越來越
    發(fā)表于 12-18 11:25 ?1次下載

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

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

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

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

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

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

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

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

    PCIe錯誤報告的兩種機制詳解

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

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

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