PA數據鏈路解密之PCI-E總線(xiàn)
摘要:作為新一代的通用總線(xiàn)接口標準,PCI-Express(PCI-E)高帶寬、低延遲、可擴展、支持熱插拔等優(yōu)點(diǎn),使其全面取代了PCI、AGP等早期總線(xiàn)。ZLG致遠電子功率分析儀的內部多個(gè)高速數據總線(xiàn)中,也包含了PCI-E。下面我們來(lái)一起認識這一接口。
本文引用地址:http://dyxdggzs.com/article/284310.htm1.1 架構

圖 1 框架圖
1、 Root Complex(RC)
PCI-E根控制器,集成在主處理器系統中,管理處理器與PCIE設備的連接。
2、 Switch
PCI-E交換設備,用于PCI-E總線(xiàn)的擴展。
3、 Bridge
PCI-E橋設備,用于PCI-E與其它總線(xiàn)的橋接。例如:PCIE to PCI橋。
4、 Endpoint(EP)
PCI-E終端設備,例如網(wǎng)卡等通訊板卡或其它數據采集板卡。
實(shí)際應用中,我們關(guān)注較多的則是此類(lèi)設備。
1.2 通訊
1、 地址映射
EP設備可通過(guò)配置自身PCI-E控制器,將設備內部一段內存地址映射到CPU保留地址空間。CPU通過(guò)訪(fǎng)問(wèn)該映射后的地址,便可透明地讀寫(xiě)設備,而不必關(guān)心物理傳輸細節。
2、 直接內存訪(fǎng)問(wèn)
EP設備具有總線(xiàn)主控能力,即能夠主動(dòng)訪(fǎng)問(wèn)CPU地址空間。通過(guò)修改PCI-E控制器的地址映射,配合DMA控制器,可以實(shí)現無(wú)需CPU干預的數據傳輸。
3、 MSI(Message Signaled Interrupt)中斷
EP設備可以將某個(gè)特定消息寫(xiě)到特定地址,觸發(fā)一個(gè)CPU中斷。
1.3 枚舉
1、 配置空間

圖 2 1 配置空間
如圖2所示,配置空間是由EP設備定義,用于描述EP設備資源及特性的一組寄存器。在枚舉過(guò)程中,RC會(huì )掃描PCI-E總線(xiàn)上的所有設備。通過(guò)訪(fǎng)問(wèn)該設備的配置空間,可以獲得加載EP設備驅動(dòng)所需的DeviceID、VendorID等信息。
2、 BAR(Base Address Registers)
EP設備可向RC請求將自身的1~6段設備地址映射到CPU的地址空間,這1~6個(gè)CPU地址由RC軟件在枚舉過(guò)程中分配并回寫(xiě)到配置空間中的BAR寄存器。
3、 枚舉流程

圖 3 枚舉流程
如圖3所示,CPU以一定順序掃描系統內的PCI-E總線(xiàn),為發(fā)現的設備分配總線(xiàn)號、設備號,構建設備樹(shù),分配地址空間并回寫(xiě)BAR。操作系統啟動(dòng)后,將根據DeviceID、VendorID找到匹配的驅動(dòng)程序并加載運行。
評論