前面的文章提到過高級錯誤報告(Advanced Error Reporting,AER),接下來詳細地介紹一下這一功能。在已有的PCIe錯誤報告機制上(之前文章介紹的),AER還支持以下特性:
· 在登記實際發(fā)生的錯誤類型時,有更好的粒度(Granularity,可以理解為區(qū)分度或者精確度)
· 區(qū)分各種不可校正錯誤的嚴重程度
· 支持登記包頭中的錯誤
· 為Root通過中斷報告接收到的錯誤消息提供了標(biāo)準化的控制機制
· 可以定位錯誤源在PCIe體系結(jié)構(gòu)中的位置
· 能夠獨立地屏蔽某種(或者多種)錯誤類型的報告
配置空間中的AER相關(guān)寄存器結(jié)構(gòu)如下圖所示:

前面的文章中多次提到過,ECRC的產(chǎn)生于校檢需要AER的支持,相關(guān)控制bit位于高級錯誤功能控制寄存器中,如下圖所示:

其中,最低5bits為當(dāng)前錯誤指針(First Error Pointer),當(dāng)相關(guān)錯誤狀態(tài)更新時,該指針由硬件自動更新。一般情況下,當(dāng)前錯誤指針指向的錯誤是優(yōu)先級最高的錯誤,需要最先被處理的,往往也是其他錯誤的根源。PCIe Spec V2.1還支持多個錯誤的追蹤(Tracking Multiple Errors)。
圖中的ROS、RWS、RO等字符的意義如下:
· RO——只讀(Read Only),由硬件控制
· ROS——只讀且不被復(fù)位(Read Only and Sticky)
· RsvdP——保留且不可以用于其他用途
· RsvdZ——保留且只能被寫0
· RWS——可讀可寫且不被復(fù)位(Readable,Writeable and Sticky)
· RW1CS——可讀,寫1清零,且不被復(fù)位
不被復(fù)位是指該bit的內(nèi)容不會因為復(fù)位(斷電后的上電復(fù)位除外)而發(fā)生改變。PCIe總線中有多種復(fù)位概念,Sticky bit(不被復(fù)位的位)不會受到功能層復(fù)位(Function Level Reset, FLR)、熱復(fù)位(Hot Reset)和暖復(fù)位(Warm Reset)的影響,甚至不受冷復(fù)位(Cold Reset)的影響(當(dāng)主電源切斷后,Vaux等二級電源仍保持正常供電)。關(guān)于PCIe總線的復(fù)位機制,后續(xù)的文章會詳細地介紹。
-
寄存器
+關(guān)注
關(guān)注
31文章
5587瀏覽量
128991 -
PCIe
+關(guān)注
關(guān)注
16文章
1419瀏覽量
87504
原文標(biāo)題:【博文連載】PCIe掃盲——高級錯誤報告AER(一)
文章出處:【微信號:ChinaAET,微信公眾號:電子技術(shù)應(yīng)用ChinaAET】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
PCB設(shè)計中如何進行統(tǒng)一批量檢測并生成錯誤報告
Win8系統(tǒng)操作不當(dāng)彈出錯誤報告
關(guān)于Quartus II 錯誤報告Error (171173): Node from partition Top cannot preserve previous placement at PIN_P8 and honor the location assigment to PIN_F8
MPLAB X IDE v3.20編譯器使用錯誤的行號引用報告錯誤
為什么我設(shè)計的TMS320VC5402板子在調(diào)試軟件時總會出現(xiàn)存儲器錯誤報告?
當(dāng)PCIe配置為端點時,如何啟用AER(高級錯誤報告)驅(qū)動程序?
ICC錯誤集錦、ICCAVR的報錯
Xilinx術(shù)語及其定義
基于軟件錯誤報告數(shù)據(jù)集成的改進貝葉斯算法
PCIe總線的錯誤報告機制中四個比較重要的概念
PCIe總線的三種錯誤報告方式
Root如何處理來自其他PCIe設(shè)備的錯誤消息
PCIe錯誤報告的兩種機制詳解

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