色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

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

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

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

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

          本文引用地址:http://cafeforensic.com/article/201610/308147.htm

          0 引言

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

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

          1 PCIE

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

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

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

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

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

          2 模塊設(shè)計(jì)

          2.1 功能框圖

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

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

          2.2 PEX8648端口分配

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

          2.3 中斷號(hào)映射

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

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

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

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

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

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

          3 PCIE接口軟件初始化

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

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

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

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

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

          4 總結(jié)

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



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

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉