《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于PowerPC的光纖通道接口卡設(shè)計(jì)
基于PowerPC的光纖通道接口卡設(shè)計(jì)
郭志君,周 東 電子科技大學(xué)
摘要: 介紹了模塊化光纖通道協(xié)議功能。采用新一代嵌入式處理器PowerPC440,搭建光纖通道接口卡的SOPC系統(tǒng),實(shí)現(xiàn)了光纖通道協(xié)議的基本功能,為基于PowerPC的嵌入式系統(tǒng)設(shè)計(jì)應(yīng)用提供了參考。
Abstract:
Key words :


引言
    現(xiàn)階段,主流的高性能光纖通道通用產(chǎn)品基本上被Qloglc、Morethan、DDC等少數(shù)幾家國(guó)外大公司壟斷,其昂貴的價(jià)格,加上一些發(fā)達(dá)國(guó)家對(duì)相關(guān)產(chǎn)品技術(shù)的封鎖,使得國(guó)內(nèi)的光纖通道技術(shù)發(fā)展受到了一定程度的影響。因此,對(duì)自主知識(shí)產(chǎn)權(quán)的專用光纖通道芯片的研究就顯得尤為重要。
    目前,大多嵌入式系統(tǒng)開發(fā)都采用ARM處理器或軟核處理器,而對(duì)于處理能力更強(qiáng)大的PowerPC處理器卻沒有更深入的研究和廣泛的應(yīng)用,對(duì)于 Xilinx公司的嵌入式處理器PowerPC440" title="PowerPC440">PowerPC440的應(yīng)用性研究也非常少見。本文基于PowerPC440硬核,對(duì)嵌入式技術(shù)在光纖通道網(wǎng)絡(luò)中的應(yīng)用進(jìn)行了一些探索。

1 設(shè)計(jì)方案
    光纖通道協(xié)議(以下簡(jiǎn)稱FC協(xié)議)支持多種拓?fù)浣Y(jié)構(gòu),但由于交換機(jī)價(jià)格昂貴,在實(shí)際應(yīng)用中還未普及。相對(duì)而言,簡(jiǎn)單的點(diǎn)對(duì)點(diǎn)拓?fù)浜托詢r(jià)比較高的仲裁環(huán)拓?fù)湓诂F(xiàn)階段更為適用。本文即針對(duì)這兩種拓?fù)浣Y(jié)構(gòu),在深入分析FC協(xié)議的基礎(chǔ)上采用模塊化的思想對(duì)功能作了劃分,
如圖1所示。其中由虛線框標(biāo)識(shí)的序列/交換管理模塊由軟件實(shí)現(xiàn)。
a.JPG

    接收數(shù)據(jù):
    ①接收通道從光接收機(jī)接收其輸出的串行信號(hào),經(jīng)過串并轉(zhuǎn)換、8位/10位解碼、8:32解復(fù)用后,將沒有錯(cuò)誤的字傳給接收控制模塊。
    ②接收控制模塊對(duì)接收通道接收的信息進(jìn)行分流,將原語(yǔ)序列交給相應(yīng)的狀態(tài)機(jī),將數(shù)據(jù)放入接收緩存后通知序列/交換管理模塊。
    ③交換管理邏輯將根據(jù)幀頭內(nèi)容和交換管理塊的內(nèi)容進(jìn)行進(jìn)一步的高層次的差錯(cuò)檢驗(yàn)和交換/序列管理,并且等序列接收完成后通知上層取數(shù)據(jù)。
    發(fā)送數(shù)據(jù):
    ①當(dāng)上層需要發(fā)送數(shù)據(jù)時(shí),首先給光纖通道接口控制模塊發(fā)送命令。接口控制模塊根據(jù)命令的內(nèi)容取出數(shù)據(jù),并結(jié)合命令參數(shù)將數(shù)據(jù)打包成幀后通知發(fā)送控制模塊。
    ②發(fā)送控制模塊根據(jù)一定的規(guī)則控制不同的數(shù)據(jù)源分時(shí)使用發(fā)送通道,數(shù)據(jù)源包括發(fā)送緩沖區(qū)的幀、狀態(tài)機(jī)發(fā)出的原語(yǔ)序列和原語(yǔ)信號(hào)。
    ③發(fā)送通道將從
    接收控制模塊接收到的字進(jìn)行分解,再對(duì)并行的字節(jié)信息經(jīng)過8位/10位編碼、并串轉(zhuǎn)換發(fā)送給光發(fā)射機(jī)。
    其中環(huán)/端口控制模塊實(shí)現(xiàn)環(huán)初始化狀態(tài)機(jī)、環(huán)/端口狀態(tài)機(jī)、原有端口狀態(tài)機(jī)功能。根據(jù)原語(yǔ)信號(hào)和原語(yǔ)序列的不同,系統(tǒng)或進(jìn)入原有端口狀態(tài)機(jī)進(jìn)行點(diǎn)對(duì)點(diǎn)傳輸過程,或進(jìn)入環(huán)端口狀態(tài)機(jī)進(jìn)行仲裁環(huán)傳輸過程。
    從總體上看,硬件應(yīng)該負(fù)責(zé)幀級(jí)別的管理,軟件應(yīng)該負(fù)責(zé)序列和交換級(jí)別的管理。軟硬件接口采用共享存儲(chǔ)器與寄存器的設(shè)計(jì)思想。系統(tǒng)硬件部分與軟件部分通過讀寫共享的幀緩存及接口寄存器實(shí)現(xiàn)信息交互。

2 基于PowerPC的SOPC系統(tǒng)搭建
    本設(shè)計(jì)采用Xilinx公司的Virtex-5 FXT系列開發(fā)板為開發(fā)平臺(tái)。此開發(fā)板集成了兩個(gè)嵌入式PowerPC440RISC核,同時(shí)具有靈活的存儲(chǔ)器管理單元(MMU),3個(gè)相互獨(dú)立的128位PLB總線接口,獨(dú)立的32 KB數(shù)據(jù)存儲(chǔ)器和32 KB的指令存儲(chǔ)器,4個(gè)直接存儲(chǔ)器存儲(chǔ)(DMA)控制單元,以及設(shè)備控制寄存器(DCR)等。其中PowerPCA40處理器具有高達(dá)500 MHz的速度,采用IP嵌入架構(gòu)的形式整合到FPGA器件中,增強(qiáng)型BOOK-E體系結(jié)構(gòu),內(nèi)部包括一個(gè)具有7級(jí)流水線的微內(nèi)核,每周期最多可執(zhí)行兩條命令,從而提高了整體的吞吐量。PLB總線采用36位地址路徑,可提供64 GB的內(nèi)存尋址能力。
    Xilinx公司提供的EDK開發(fā)工具是一種專門針對(duì)FPGA內(nèi)部嵌入式處理器的集成開發(fā)工具包,主要的軟件設(shè)計(jì)由EDK中的子工具包SDK完成。用戶可以通過集成在EDK中的XPS來調(diào)用各種工具完成嵌入式系統(tǒng)平臺(tái)的搭建工作。
    EDK10.1版本較之9.1版本有很大的變化,其中軟核版本升級(jí)到7.1,IBM CoreConneet總線標(biāo)準(zhǔn)中的OPB總線被PLB總線代替,還提供了豐富的外圍IP可供選擇。光纖通道接口卡" title="光纖通道接口卡">光纖通道接口卡的FPGA實(shí)現(xiàn)架構(gòu)如圖2所示。
b.JPG

    (1)PowerPC處理器和高速存儲(chǔ)器通過PLB高速總線互聯(lián)在一起構(gòu)成嵌入式操作系統(tǒng)和軟件系統(tǒng)的運(yùn)行平臺(tái)。
    (2)用戶接口IP提供一個(gè)方便的接口,供外部設(shè)備操控接口卡芯片,亦可對(duì)該芯片的工作狀態(tài)進(jìn)行動(dòng)態(tài)監(jiān)控。
    (3)采用FPGA芯片內(nèi)部集成的可編程高速串行收發(fā)器RoeketI/O來負(fù)責(zé)數(shù)據(jù)的發(fā)送和接收。
    (4)在數(shù)據(jù)發(fā)送端,硬件通過DMA方式讀取與序列和交換管理有關(guān)的隊(duì)列,然后根據(jù)隊(duì)列中的信息,確定每個(gè)幀頭的內(nèi)容,再通過DMA方式讀取管理內(nèi)存中的數(shù)據(jù)并組裝成幀發(fā)送出去;在數(shù)據(jù)接收端,硬件接收到幀后,通過DMA方式寫到內(nèi)存中,軟件負(fù)責(zé)將幀重組為序列,再將序列重組成交換。

3 IPIF模塊
    由于PLB總線接口協(xié)議非常復(fù)雜,為了讓用戶可以更便捷地實(shí)現(xiàn)總線與用戶IP的交互,Xilinx公司提供了在用戶IP核和PLB v4.6總線標(biāo)準(zhǔn)之間的一個(gè)雙向的PLBV46_Slave_Single接口協(xié)議模塊IPIF,如圖3所示。
c.jpg

    其中的Slave Attachment結(jié)構(gòu)提供了Slave運(yùn)行的基礎(chǔ)功能,它在PLB總線和IPIC之間執(zhí)行協(xié)議和時(shí)序的轉(zhuǎn)換。用戶IP的用戶邏輯接口需按照IPIC接口標(biāo)準(zhǔn)來設(shè)計(jì),才能通過IPIF成功掛接到PLB總線上。
    利用集成在EDK的XPS工具中Create/Import Peripheral Wizard(添加外設(shè)向?qū)Чぞ?,以對(duì)話框的形式可以很便捷地配置IPIF模塊,以Master/Slave的方式將用戶自定制IP核掛接到PLB總線上,通過ISE1O.1環(huán)境綜合驗(yàn)證模塊的正確性。然后再利用此工具,將經(jīng)過驗(yàn)證正確的IP核導(dǎo)入EDK環(huán)境下,這樣就成功建立了一個(gè)IP核的通用模板。最后再在相應(yīng)的.VHD文件中添加用戶功能代碼,即可完成基于PLB總線接口的用戶自定制IP核的添加。

結(jié)語(yǔ)
    本文設(shè)計(jì)的光纖通道接口卡芯片采用Xilinx公司推出的新一代嵌入式硬核PowerPCA40,利用EDK開發(fā)工具,在Virtex5系列FPGA開發(fā)平臺(tái)上實(shí)現(xiàn)了接口卡芯片的基本功能,支持點(diǎn)對(duì)點(diǎn)拓?fù)浣Y(jié)構(gòu)和仲裁環(huán)拓?fù)浣Y(jié)構(gòu),為用戶自定制IP核的開發(fā)應(yīng)用提供了一定的參考。
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。