PA數據鏈路解密之PCI-E總線
摘要:作為新一代的通用總線接口標準,PCI-Express(PCI-E)高帶寬、低延遲、可擴展、支持熱插拔等優(yōu)點,使其全面取代了PCI、AGP等早期總線。ZLG致遠電子功率分析儀的內部多個高速數據總線中,也包含了PCI-E。下面我們來一起認識這一接口。
本文引用地址:http://butianyuan.cn/article/284310.htm1.1 架構
圖 1 框架圖
1、 Root Complex(RC)
PCI-E根控制器,集成在主處理器系統(tǒng)中,管理處理器與PCIE設備的連接。
2、 Switch
PCI-E交換設備,用于PCI-E總線的擴展。
3、 Bridge
PCI-E橋設備,用于PCI-E與其它總線的橋接。例如:PCIE to PCI橋。
4、 Endpoint(EP)
PCI-E終端設備,例如網卡等通訊板卡或其它數據采集板卡。
實際應用中,我們關注較多的則是此類設備。
1.2 通訊
1、 地址映射
EP設備可通過配置自身PCI-E控制器,將設備內部一段內存地址映射到CPU保留地址空間。CPU通過訪問該映射后的地址,便可透明地讀寫設備,而不必關心物理傳輸細節(jié)。
2、 直接內存訪問
EP設備具有總線主控能力,即能夠主動訪問CPU地址空間。通過修改PCI-E控制器的地址映射,配合DMA控制器,可以實現(xiàn)無需CPU干預的數據傳輸。
3、 MSI(Message Signaled Interrupt)中斷
EP設備可以將某個特定消息寫到特定地址,觸發(fā)一個CPU中斷。
1.3 枚舉
1、 配置空間
圖 2 1 配置空間
如圖2所示,配置空間是由EP設備定義,用于描述EP設備資源及特性的一組寄存器。在枚舉過程中,RC會掃描PCI-E總線上的所有設備。通過訪問該設備的配置空間,可以獲得加載EP設備驅動所需的DeviceID、VendorID等信息。
2、 BAR(Base Address Registers)
EP設備可向RC請求將自身的1~6段設備地址映射到CPU的地址空間,這1~6個CPU地址由RC軟件在枚舉過程中分配并回寫到配置空間中的BAR寄存器。
3、 枚舉流程
圖 3 枚舉流程
如圖3所示,CPU以一定順序掃描系統(tǒng)內的PCI-E總線,為發(fā)現(xiàn)的設備分配總線號、設備號,構建設備樹,分配地址空間并回寫B(tài)AR。操作系統(tǒng)啟動后,將根據DeviceID、VendorID找到匹配的驅動程序并加載運行。
評論