前言本文主要講述PCIe熱插拔機(jī)制,通過圖形方式方便讀者快速掌握。
一、概述
如果在PCIe設(shè)備不支持熱插拔的條件下,在不斷電的情況下插拔一塊PCIe SSD時,很可能會對主板或PCIe插槽造成損毀。
為了防止意外的發(fā)生,PCIe Spec設(shè)計了一種“No Surprise”熱插拔機(jī)制,即,當(dāng)用戶要插拔PCIe設(shè)備時,必須先通知系統(tǒng)軟件做好準(zhǔn)備,然后通過指示燈告知用戶熱插拔的狀態(tài)。
二、原理詳解
2.1 熱插拔原理總結(jié)
PCIe總線的熱插拔主要指的是PCIe卡設(shè)備的熱插拔以及相關(guān)的實(shí)現(xiàn)機(jī)制等。
如圖所示,上方部分PCIe卡有兩個用于熱插拔機(jī)制的引腳——PRSNT1#和PRSNT2#。PCIe卡設(shè)備上的這兩個信號之間是短路的,下方部分PCIe插槽的PRSNT1#被固定地連接到地,PRSNT2#則被上拉。且PCIe卡上的這兩個信號的金手指長度要比其他的信號的金手指長度要短一點(diǎn)。當(dāng)PCIe卡設(shè)備未被完全插入插槽時,插槽的PRSNT2#信號由于上拉的作用,將一直處于高電平狀態(tài)。當(dāng)PCIe卡設(shè)備被完全插入插槽后,PRSNT1#與插槽上接地的PRSNT1#連接,同時插槽上的PRSNT2#信號則會被PCIe卡設(shè)備的短路線連接到地,從而使得其變?yōu)榈碗娖健Q句話說,從插槽的角度看,當(dāng)PRSNT2#位高電平時,則認(rèn)為PCIe卡設(shè)備未能正確插入或者無PCIe卡設(shè)備;當(dāng)PRSNT2#位低電平時,表明PCIe卡設(shè)備被正確地插入插槽中。
2.2 熱插拔軟硬件要求
熱插拔不僅僅是硬件的事,其需要軟硬件協(xié)同實(shí)現(xiàn)。要想實(shí)現(xiàn)熱插拔功能,操作系統(tǒng)、主板熱插拔驅(qū)動器、PCIe卡設(shè)備驅(qū)動以及PCIe卡硬件功能都必須支持熱插拔,缺一不可。從PCIe卡設(shè)備硬件功能的角度來看,其需要支持Quiesce命令、Pause命令(可選)、Start命令和Resume命令。
PCIe環(huán)境下的熱插拔需要軟件與硬件的通力合作。紅色框內(nèi)屬于軟件方面的需求,綠色框內(nèi)是硬件方面的需求。
軟件方面主要包括:
1、User Interface: 這部分由系統(tǒng)OS提供。主要允許用戶可以請求插拔PCIe設(shè)備。
2、Hot-Plug Service: 這部分也是由系統(tǒng)OS提供。主要負(fù)責(zé)處理用戶插拔PCIe設(shè)備的請求。
3、Standardized Hot Plug System Driver: 這部分驅(qū)動可以由系統(tǒng)OS或者主板提供。
4、Device Driver: 這部分主要有適配卡提供。
硬件方面主要包括:
1、Hot-Plug Controller: 主要負(fù)責(zé)接收和處理來自Hot Plug System Driver的指令。
2、Card Slot Power Switching Logic: 主要被Hot Plug Controller控制,用于turn-on/off電源。
3、Card Reset Logic: 按照Hot-plug System Driver的指示,Hot Plug Controller向需要插拔PCIe設(shè)備的插槽(Slot)傳送PERST#信號。
4、Power Indicator: 主要負(fù)責(zé)指示設(shè)備連接器上面的電源狀態(tài)。
5、Attention Indicator: 這個是警示燈,提醒用戶熱插拔失敗狀態(tài),所以一般情況下處于關(guān)閉狀態(tài)。
6、Card Present Detect Pins: PCIe設(shè)計了兩個用于檢測PCIe設(shè)備是否存在的信號PRSNT1#和PRSNT2#。PRSNT#1接地,當(dāng)PCIe設(shè)備存在時,PRSNT#2拉高。
橋設(shè)備(Switch等)中還需要支持熱插拔控制器(Hot Plug Controller)。
注:PCIe總線除了有一個Base Spec之外,還有一個關(guān)于PCIe卡設(shè)備的Spec——PCIe Card ElectroMechanical Spec(CEM)。
與PCI總線不同,PCIe總線采用的是點(diǎn)到點(diǎn)的連接(Point-to-Point Connections),因此其并不像PCI總線那樣需要用于卡設(shè)備的隔離邏輯(Isolation Logic),但是每個端口(橋設(shè)備中的,如Root和Switch)都必須包含一個獨(dú)立的熱插拔控制器(Hot Plug Controller),如下圖所示:
配置空間中,與熱插拔相關(guān)的寄存器如下圖所示:
-
熱插拔
+關(guān)注
關(guān)注
2文章
224瀏覽量
37349 -
硬件
+關(guān)注
關(guān)注
11文章
3328瀏覽量
66223 -
PCIe
+關(guān)注
關(guān)注
15文章
1239瀏覽量
82654
原文標(biāo)題:PCIe熱插拔機(jī)制(詳細(xì))總結(jié)
文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
基于PCIe-Native機(jī)制的熱插拔
高精度熱插拔和電源監(jiān)控

熱插拔是什么?熱插拔有哪些特點(diǎn)?
即插即用和熱插拔的區(qū)別
如何對BMS單元連接進(jìn)行熱插拔
空間受限應(yīng)用中的PMBus熱插拔電路基礎(chǔ)介紹
使熱插拔與電子熔絲的優(yōu)勢
熱插拔
PCIe總線的熱插拔機(jī)制
PCIe引腳PRSNT與熱插拔
基于IC的熱插拔電路保護(hù)的優(yōu)勢

評論