PCI總線中定義了四種復(fù)位名稱:冷復(fù)位(Cold Reset)、暖復(fù)位(Warm Reset)、熱復(fù)位(Hot Reset)和功能層復(fù)位(Function-Level Reset,F(xiàn)LR)。其中FLR是PCIe Spec V2.0加入的功能,因此一般把另外三種復(fù)位統(tǒng)稱為傳統(tǒng)的復(fù)位方式(Conventional Reset)。其中冷復(fù)位和暖復(fù)位是基于邊帶信號PERST#的,又被統(tǒng)稱為基本的復(fù)位方式(Fundamental Reset)。
基本復(fù)位由硬件自動處理,會復(fù)位整個PCIe設(shè)備,初始化所有狀態(tài)機與相關(guān)硬件邏輯,端口狀態(tài)以及配置空間中的配置寄存器等等。但是,也有一個例外,就是前面介紹PCIe錯誤報告機制的相關(guān)文章中提到過Sticky(不受復(fù)位影響)的概念。這里指的不受復(fù)位影響的前提是,PCIe設(shè)備的電源并未被完全切斷。Sticky這一功能有助于系統(tǒng)定位錯誤與分析錯誤起因。
基本復(fù)位中的冷復(fù)位(Cold Reset)指的是因為主電源斷開后重新連接導(dǎo)致的復(fù)位。需要注意的是,即使主電源斷開了,如果PCIe設(shè)備仍有輔助電源Vaux為其供電,該復(fù)位仍不會影響到Sticky的bits。
PCIe Spec允許兩種實現(xiàn)基本復(fù)位的方式。一是直接通過邊帶信號PERST#(PCI Express Reset);而是不使用邊帶信號PERST#,PCIe設(shè)備在主電源被切斷時,自行產(chǎn)生一個復(fù)位信號。一個簡單的例子如下圖所示:
暖復(fù)位(Warm Rest)是可選的,指的是在不關(guān)閉主電源的情況下,產(chǎn)生的復(fù)位。然而,PCIe Spec并未明確規(guī)定暖復(fù)位的產(chǎn)生機制,因此,如果產(chǎn)生暖復(fù)位完全是由系統(tǒng)設(shè)計者決定的。
熱復(fù)位(Hot Reset)是一種In-band 復(fù)位,其并不使用邊帶信號。PCIe設(shè)備通過向其鏈路(Link)相鄰的設(shè)備發(fā)送數(shù)個TS1 Ordered Set(其中第五個字符的bit0為1),如下圖所示。這些TS1OS在所有的通道(Lane)上同時發(fā)送,并持續(xù)2ms左右。
注:關(guān)于Ordered Set以及LTSSM等相關(guān)內(nèi)容,請參考前面介紹鏈路初始化與訓(xùn)練的相關(guān)文章。
主要注意的是,如果Switch的Upstream端口收到了熱復(fù)位,則會將其廣播至所有的Downstream端口,并復(fù)位其自己。如果PCIe設(shè)備的Downstream端口接收到熱復(fù)位,則只需要復(fù)位其自己即可。
當(dāng)PCIe設(shè)備接收到熱復(fù)位后,LTSSM會進入Recovery and Hot Reset狀態(tài),然后返回值Detect狀態(tài),并重新開始鏈路初始化訓(xùn)練。其該PCIe設(shè)備的所有狀態(tài)機,硬件邏輯,端口狀態(tài)和配置空間中的寄存器(除了Sticky bits)都將被初始化值默認狀態(tài)。
軟件可以通過向橋設(shè)備的,特定端口的配置空間中的二級總線復(fù)位(Secondary Bus Reset)bit先寫0再寫1,來產(chǎn)生熱復(fù)位,如下圖所示:
需要注意的是,如果軟件設(shè)置的是Switch的Upstream端口的二級總線復(fù)位bit,則該Switch會往其所有的Downstream端口廣播熱復(fù)位信號。而PCIe-to-PCI橋則會將接收到的熱復(fù)位信號轉(zhuǎn)換為PRST#置位,發(fā)送給PCI設(shè)備。
二級總線復(fù)位(Secondary Bus Reset)bit在配置空間的位置如下圖所示:
PCIe Spec還允許軟件禁止某個鏈路(Link),強制使其進入電氣空閑狀態(tài)(Electrical Idle)。如果將某個鏈路禁止,則該鏈路所有的下游PCIe設(shè)備都將收到鏈路禁止信號(通過TS1OS,如下圖所示)。
-
寄存器
+關(guān)注
關(guān)注
31文章
5611瀏覽量
130066 -
PCI
+關(guān)注
關(guān)注
5文章
689瀏覽量
134308 -
總線
+關(guān)注
關(guān)注
10文章
3043瀏覽量
91696
原文標(biāo)題:【博文連載】PCIe掃盲——復(fù)位機制介紹(Fundamental & Hot)
文章出處:【微信號:ChinaAET,微信公眾號:電子技術(shù)應(yīng)用ChinaAET】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
PCI總線接口芯片9054及其應(yīng)用
pci總線的含義是什么
PADS封裝中的四種庫
PCI總線接口芯片9054及其應(yīng)用
基于FPGA的PCI總線接口設(shè)計
PCI總線接口定義圖
PCI總線定義
基于FPGA的PCI總線接口設(shè)計
PCI總線接口技術(shù)及其在高速數(shù)據(jù)采集系統(tǒng)中的應(yīng)用
PCI總線中定義了四種復(fù)位名稱
評論