串行RapidIO交換技術(shù)
2 RapidIO交換原理
RapidIO傳輸層的包格式被設計為獨立于交換結(jié)構(gòu),如此系統(tǒng)互聯(lián)就可以采用特定應用所需的任何技術(shù)。通常RapidIO是圍繞交換機來組織的,除了交換機以外RapidIO網(wǎng)絡的另一個基本結(jié)構(gòu)是端點(Endpoints)。端點是數(shù)據(jù)包的發(fā)送者和接受者,交換機用來對端點之間傳送數(shù)據(jù)包。RapidIO使用器件ID唯一地識別網(wǎng)絡中的所有器件,幾乎可以支持任何系統(tǒng)拓撲結(jié)構(gòu)。器件ID內(nèi)部不包含關(guān)于器件具體位置的信息。互聯(lián)器件負責發(fā)現(xiàn)器件的具體位置并且通過目標器件ID轉(zhuǎn)發(fā)包。在系統(tǒng)啟動時的系統(tǒng)發(fā)現(xiàn)(System Discovery)階段找到器件在系統(tǒng)中的位置。雖然交換機不知道器件在系統(tǒng)中的確切位置,但通過編程可以使交換機理解器件在系統(tǒng)中所處的方位。當器件位置改變時——可能發(fā)生熱插拔(Hot Swap)或路徑故障情況下,只需重新配置交換機就可以獲得新的拓撲結(jié)構(gòu)。
RapidIO中,器件與器件問的通信是通過發(fā)送包含源和目的器件ID包進行的。器件ID是位于包頭的8位或16位字段,交換芯片通過器件ID將包轉(zhuǎn)發(fā)到最終目的。交換芯片使用查找表保持器件ID和正確的輸出端口問的關(guān)系。只要包給定了器件ID,交換芯片就能夠為其找到輸出端口。由于器件ID字段相對較小并且使用了哈希關(guān)鍵字來縮小查找表,所以交換機可以很快查找并且不會增加RapidIO包通過交換器件的傳輸延遲。
由于目的和源器件ID都包含在包頭中,所以交換機和端點不僅知道包去向何處,而且知道包的來處。系統(tǒng)可以使用源器件ID來送回一個響應,表明正確的操作已經(jīng)完成或出現(xiàn)一個錯誤條件。RapidIO僅通過硬件結(jié)構(gòu)來得到可靠的信道,使得在有限信任系統(tǒng)中來回搬移數(shù)據(jù)的效率較高。
3 RapidIO交換功能方案設計
3.1 方案概述
在雷達信號處理、數(shù)字圖像處理領(lǐng)域,海量數(shù)據(jù)高速實時處理至關(guān)重要。由于FPGA芯片在大數(shù)據(jù)量的底層算法處理上的優(yōu)勢及DSP芯片在復雜算法處理上的優(yōu)勢,DSP+FPGA的系統(tǒng)構(gòu)架越來越廣泛,這就使得FPGA與DSP芯片之間數(shù)據(jù)的實時通信至關(guān)重要。本方案正是基于這種需求,設計了一種基于串行RapidIO的交換模塊。在保證系統(tǒng)中DSP與FPGA之間數(shù)據(jù)高速交換的同時,由于采用了Tsi578交換芯片,DSP與FPGA之間的互聯(lián)網(wǎng)絡可根據(jù)不同需要重新配置,既可在系統(tǒng)工作之前對互聯(lián)網(wǎng)絡進行配置,也可在運行過程中修改DSP于FPGA的互聯(lián),達到互聯(lián)網(wǎng)絡的靜態(tài)和動態(tài)可重構(gòu)。
3.2 Tsi578芯片及其交換功能實現(xiàn)
在串行RapidIO互聯(lián)應用中,通常不直接將端點器件直接相連,而是利用交換結(jié)構(gòu)構(gòu)建可重構(gòu)的動態(tài)網(wǎng)絡,其中交換芯片作為組成交換結(jié)構(gòu)核心部件。目前市面上專業(yè)的RapidIO芯片提供商包括IDT公司、PMC—Serial公司和Mercure公司,其中IDT公司在合并原來的Tundra公司后產(chǎn)品最全。設計選取的交換芯片為IDT公司的Tsi578芯片。該款交換芯片是聚合帶寬達80Gbit·s-1的全雙工串行RapidIO交換器,符合1.3版本的串行RapidIO規(guī)范,適用于網(wǎng)狀、矩陣架構(gòu)與集成系統(tǒng)的高度可擴展解決方案。該芯片可配置高達8個4×模式鏈接或16個1×模式鏈接單個鏈路支持1.25、2.5及3.125 Gbit·s-1的速率。有關(guān)端口完全獨立,且交換器支持混合的速度及帶寬配置。
Tsi578每個端口都有各自獨立的查找表,各端口支持兩種模式的操作:Flat mode和Hierachical mode。Flat mode是默認的模式,支持ID的范圍為0~511,超出該范圍的包將被路由到寄存器設置的默認端口。Hierarchical mode可尋址的最大范圍為6 400。以Flatmode為例,如圖2所示為一個典型的該模式的路由方式。Tsi578收到包后先進行完整性檢查,例如CRC校驗等,并通過物理層發(fā)送確認信號給源器件,再由邏輯端口定位到目的ID。如果ID256則查找本地查找表,如包A目的IDox12對應的輸出端口為端口2,那么該包的輸入端口將與端口2連通;若目的ID≥256而512則查找全局查找表,如包C目的IDox145對應的輸出端口為端口9,那么該包的輸入端口將與端口9連同;所有目的ID>512的包將被發(fā)送到默認端口14。本文引用地址:http://m.butianyuan.cn/article/148313.htm
在具體應用中,通過對Tsi578內(nèi)部寄存器進行正確的配置來實現(xiàn)其路由、鏈路維護和系統(tǒng)重構(gòu)等功能。配置方式包括:(1)通過I2C總線從E2ROM中讀取配置信息。(2)通過配置軟件經(jīng)JJAG接口在線配置。(3)發(fā)送RapidIO維護包對寄存器進行配置。
上述配置方式中,第一種在Tsi578上電時完成對寄存器的配置,通過刷新E2ROM中的內(nèi)容實現(xiàn)靜態(tài)的鏈路重構(gòu);第二種為系統(tǒng)調(diào)試狀態(tài)時采用的配置方式,可隨時更改配置信息;第三種方式在系統(tǒng)正常工作的情況下可通過發(fā)送維護包隨時更改配置信息,實現(xiàn)鏈路的動態(tài)重構(gòu)。正是由于Tsi578配置的靈活性,大大方便了可重構(gòu)分布式并行處理網(wǎng)絡設計的設計。
評論