新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 基于PCI交換的數(shù)據(jù)處理模塊設(shè)計

基于PCI交換的數(shù)據(jù)處理模塊設(shè)計

作者: 時間:2016-10-16 來源:網(wǎng)絡(luò) 收藏

摘要:PCI Express突破傳統(tǒng)總線,采用點到點的互連方式,每個設(shè)備都由獨立的鏈路連接,獨享帶寬,提高傳輸速率。PCIE交換和橋接器提供協(xié)議轉(zhuǎn)換能力為系統(tǒng)間的互連帶來了便捷的解決方案,同時豐富了整個應(yīng)用環(huán)境。本文基于PEX8648交換芯片設(shè)計實現(xiàn)了多PCIE設(shè)備互連的數(shù)據(jù)處理模塊,對其硬件結(jié)構(gòu)及軟件配置方法進(jìn)行了詳細(xì)介紹。

本文引用地址:http://m.butianyuan.cn/article/201610/308147.htm

0 引言

PCI Express是第三代高性能IO總線,在總線結(jié)構(gòu)上采取了根本性的變革,主要體現(xiàn)在兩個方面:一是由并行總線轉(zhuǎn)變?yōu)榇锌偩€;二是采用點到點的互連。將原并行總線結(jié)構(gòu)中橋下面掛連設(shè)備的一條總線變成一條鏈路,一條鏈路可包含一條或多條通路,每條通路由兩對差分信號線組成雙單工的串行傳輸通道,沒有專用的數(shù)據(jù)、地址、控制和時鐘線,總線上各種事務(wù)組成信息包來傳送。點到點的互連方式使得每個設(shè)備由獨立的鏈路連接,獨享帶寬,這是提高傳輸速率的有效解決方案。

隨著數(shù)量不斷增長的PCIe處理單元和外設(shè)芯片,PCIE交換和橋接器提供協(xié)議轉(zhuǎn)換能力,為這些系統(tǒng)的互連帶來了便捷的解決方案,同時豐富了整個應(yīng)用環(huán)境。PLX8648是PLX公司開發(fā)的PCIE交換芯片,符合PCIE2.0標(biāo)準(zhǔn)。支持12 port,48 lane,并且端口可以靈活配置、支持多播、低延遲、低功耗。支持熱插拔功能,含有三個并行控制器和一個IIC串行擴(kuò)展模塊,配合使用IO端口控制器,可以在每個下游端口實現(xiàn)熱插拔控制功能。本文采用PEX8648設(shè)計實現(xiàn)了一種可連接多種PCIE設(shè)備的數(shù)據(jù)處理模塊。

1 PCIE

是一個具有2~n端口的設(shè)備,每個端口連一條PCIE鏈路,在系統(tǒng)中用于多設(shè)備的互聯(lián)。可以將事務(wù)從任一個端口路由到另一個端口,交換開關(guān)內(nèi)部可以抽象為圖1的邏輯結(jié)構(gòu),基于一條虛擬PCI總線,該總線與上游端口及各下游端口間均為一虛擬PCI橋,各橋都采用PCI類型01配置空間頭標(biāo),配置和枚舉軟件在系統(tǒng)引導(dǎo)時檢測并初始化頭標(biāo)寄存器。

基于PCI交換的數(shù)據(jù)處理模塊設(shè)計

PLX公司的PEX8648最多支持48通路,12端口的 Gen 2交換芯片,可選擇配置每個端口的通路數(shù)為X4,X8或X16,也支持X1和x2的通路數(shù),合計480GT/s的帶寬。PEX8648交換開關(guān)具有靈活的體系結(jié)構(gòu),48條通路被平均分配在3個控制端口中,稱之為Station,每個station包含16條通路,這3個控制端口通過內(nèi)部互連到中樞RAM中。每個station中的16條通路可以組合,配置成1到4個PCIE端口。如果上游端口在其他station中,則當(dāng)前station中的端口將使能為下游端口。其端口配置表如表1所示,表中方括號內(nèi)為通道號。

基于PCI交換的數(shù)據(jù)處理模塊設(shè)計

所有的端口序號都與下游端口內(nèi)部虛擬PCI總線的PCI-PCI橋分派的PCI設(shè)備號相關(guān)聯(lián),例如端口6是一個下游端口,則內(nèi)部PCI-PCI橋分給這個端口設(shè)備的Device Number就是6。PEX8648的任何一個端口都可配置成上游端口,但推薦將端口0配置成上游端口,PCI-PCI橋?qū)ι嫌味丝诓辉O(shè)定設(shè)備號,該端口的設(shè)備號由上游連接的設(shè)備分配。

2 模塊設(shè)計

2.1 功能框圖

本文設(shè)計的數(shù)據(jù)處理模塊采用8640處理器,該處理器配置了兩種靈活的高性能IO接口。一種是×1、×2、×4、×8 PCI Expre ss接口,采用PCI-E總線實現(xiàn)板級高性能設(shè)備的串行點對點互連。另一種是1×、4×線串行RapidIO接口,本設(shè)計中均配置為PCIE接口。處理器對外通過PCIE交換開關(guān)互連顯示處理芯片和存儲控制單元,對外提供4路PCIE鏈路,可以連接更多的PCIE設(shè)備,其功能結(jié)構(gòu)如圖2所示。

基于PCI交換的數(shù)據(jù)處理模塊設(shè)計

2.2 PEX8648端口分配

處理器總共連接6種PCIE設(shè)備,將處理器第二路PCIE接口上接PEX8648交換芯片,將PEX8648的port0設(shè)置成上游端口,配置為×8的PCI Express接口,交換開關(guān)下連接PCIE接口的顯示處理器,2路對外×4的PCIE接口和2路×1的PCIE接口,5種設(shè)備連接的端口號分別現(xiàn)配置如圖2所示,Port0為上游端口8640 PCIE1,×8通路;Port4和Port5為×4通路;Port6和port7為×1通路,Port8連接顯示處理器,配置×8通路。

2.3 中斷號映射

PEX8648支持PCI INTx信號中斷機(jī)制,它可以向系統(tǒng)中斷控制器發(fā)送中斷信號。這種機(jī)制和現(xiàn)存的PCI軟件兼容。PEX8648只用INTA#生成內(nèi)部中斷消息,因為他是一個單功能設(shè)備,但從下游端點引入的消息可以是INTA#、INTB#、INTC#、INTD#,下游端口內(nèi)部生成的INTA#中斷消息將依照下游端口的設(shè)備號在上游端口重新映射。這種重新映射表如表2所示。

基于PCI交換的數(shù)據(jù)處理模塊設(shè)計

根據(jù)表2,PEX8648下掛接的5路PCIE接口連接的設(shè)備均發(fā)送INTA#中斷,因此,按照它們連接的端口號分配如下:Port4對應(yīng)INTA,Port5對應(yīng)INTB,Port6對應(yīng)INTC,Port7對應(yīng)INTD,Port8對應(yīng)INTA。

處理器8640兩路PCIE接口在根復(fù)合節(jié)點模式下接收INTx虛擬中斷信號,并將INTx中斷信號與中斷請求信號IRQn邏輯上進(jìn)行組合,其映射關(guān)系如下

基于PCI交換的數(shù)據(jù)處理模塊設(shè)計

由上表可以得出在系統(tǒng)中斷分配時,Port4對應(yīng)IRQ0,Port5對應(yīng)IRQ1,Port6對應(yīng)IRQ2,Port7對應(yīng)IRQ3,Port8對應(yīng)IRQ0。

3 PCIE接口軟件初始化

8640的PCIE控制器上電后需要對配置寄存器以及EP設(shè)備進(jìn)行初始化。首先初始化PowerPC8640的基地址和空間大小。處理器8640在內(nèi)部定義了多個局部存取窗口,按照優(yōu)先級選取一個窗口作為PCIE的配置窗口,可設(shè)置窗口的基地址和窗口大小。然后掃描PCIE鏈路上的PCIE設(shè)備,這時能掃描到PowerPC8640的PCIE設(shè)備,通過看ID號可判定掃描到PowerPC8640的PCIE設(shè)備后進(jìn)行PCIE鏈路訓(xùn)練,訓(xùn)練通過后進(jìn)行PowerPC8640的PCIE設(shè)備寄存器設(shè)置,需要把PowerPC8640的PCIE設(shè)備配置為主設(shè)備,設(shè)置PowerPC8640 的PCIE設(shè)備為BUS0,點對點連接的設(shè)備為BUS1。

配置完P(guān)owerPC8640的PCIE設(shè)備后再次掃描PCIE鏈路,查找鏈路上的PCIE交換開關(guān)PEX8648,PEX8648的總線號是BUS1,找到后再按照類型1配置交換開關(guān)頭標(biāo)區(qū),配置原級總線號,次級總線號寄存器和分配給交換開關(guān)及所有下游設(shè)備的PCI空間基址和大小進(jìn)行配置,然后對交換開關(guān)連有設(shè)備的端口的原級總線號,次級總線號寄存器和PCI空間基址和大小進(jìn)行配置。

基于PCI交換的數(shù)據(jù)處理模塊設(shè)計

配置完P(guān)EX8648交換開關(guān)后再次掃描PCIE鏈路,查找鏈路上的PCIE端節(jié)點設(shè)備,可以獲得BUS4、BUS5、BUS6、BUS7、BUS8上連接有PCIE

設(shè)備的ID號,然后各個設(shè)備再配置各自的PCI配置空間即可完成PCIE初始化。整個流程圖如圖3所示。

4 總結(jié)

本文通過PCIE交換開關(guān)PEX8648實現(xiàn)了多PCIE設(shè)備互連的系統(tǒng),并對PEX8648端口特性、互連方式及軟件初始化方法進(jìn)行了詳細(xì)介紹。結(jié)果表明,基于PCIE交換的處理模塊具有靈活的系統(tǒng)拓?fù)浣Y(jié)構(gòu),降低了系統(tǒng)硬件復(fù)雜度和軟件開發(fā)過程,可為同行設(shè)計提供參考。



關(guān)鍵詞: PCI Express 交換開關(guān) PowerPC

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉