文/張文俊
現(xiàn)代電子系統(tǒng)越來越復雜,越來越龐大,功能越來越多,各種不同領(lǐng)域,不同專業(yè)和不同設備進行了融合處理,每套電子系統(tǒng)如探測系統(tǒng)包含雷達、電子戰(zhàn)、通信等多個子系統(tǒng),向著探測、干擾、偵收和通信一體化方向發(fā)展。尤其是軍用系統(tǒng)中多采用嵌入式系統(tǒng),其中數(shù)字信號并行處理技術(shù)為其中的關(guān)鍵技術(shù),它可以實現(xiàn)對海、陸、空和天等多種信息融合處理。提升多個并行處理模塊、數(shù)據(jù)處理模塊和集群處理模塊之間的數(shù)據(jù)交換性能是提高整個嵌入式數(shù)字信號并行處理系統(tǒng)性能的關(guān)鍵。以往使用的單總線模式已經(jīng)無法滿足未來系統(tǒng)的傳輸需求。新一代的高性能互連通信技術(shù)如RapidIO、FC、PCI Express、Hyper-Transport、InfiniBand 等逐步替代原有的慢速通信技術(shù)在設備中大量使用,不同高速通信技術(shù)有各自的優(yōu)缺點,沒有一種通信技術(shù)可以適用所有的應用需求,現(xiàn)有大型系統(tǒng)多為多種通信技術(shù)共存,因此多種通信技術(shù)的融合互聯(lián)需求越來越強烈。其中,RapidIO和FC在軍用電子設備應用較為廣泛。RapidIO是一種基于報文交換的互連體系結(jié)構(gòu),具有高帶寬、低延時、高效率、高可靠性等優(yōu)點,能夠為高性能嵌入式系統(tǒng)計算節(jié)點之間通信提供良好的解決方案。FC是一種高帶寬、低延遲、擴展性好,傳輸可靠性高、協(xié)議豐富且相對簡單和傳輸距離遠的特點,廣泛用于設備之間的大容量數(shù)據(jù)傳輸。
本文討論了能滿足大容量數(shù)據(jù)傳輸RapidIO和FC互聯(lián)通信技術(shù),針對多設備互聯(lián)和數(shù)據(jù)交換需求,提出了兩種通信協(xié)議的無損高效解決方案。
RapidIO 互連通信協(xié)議采用3層體系結(jié)構(gòu),分別為邏輯層、傳輸層和物理層。最高層為RapidIO邏輯層規(guī)范,規(guī)定了協(xié)議包格式,RapidIO節(jié)點發(fā)起傳輸?shù)母袷絻?nèi)容定義和指令含義以及操作步驟,中間層為傳輸層規(guī)范,規(guī)定了RapidIO地址空間規(guī)范和數(shù)據(jù)包在傳輸所需的節(jié)點橋接信息,物理層規(guī)范定義的數(shù)據(jù)傳輸?shù)奈锢斫Y(jié)構(gòu)和方式,包括所有電氣特性的詳細規(guī)范。RapidIO操作是基于請求和響應的,執(zhí)行過程為有源節(jié)點發(fā)送一個請求需求并傳送到目標節(jié)點,目標節(jié)點執(zhí)行完請求后產(chǎn)生一個響應并返回至源節(jié)點來完成這次操作。RapidIO通信開始時需要一個主控節(jié)點進行控制和管理,在交換體制下,還需要完成橋接配置,節(jié)點交換使用的是靜態(tài)橋接。
圖1:典型RapidIO和FC數(shù)據(jù)互聯(lián)應用場景
圖2:融合互聯(lián)層次結(jié)構(gòu)圖
圖3:RapidIO數(shù)據(jù)包到FC數(shù)據(jù)包轉(zhuǎn)換流程
FC協(xié)議來源于美國,最早應用于航空電子系統(tǒng)網(wǎng)絡,美國國家標準委員會還專門成立了研究光纖通道用于航空電子系統(tǒng)的分委員會(ANSI FC-AE),該分委員會與波音公司、洛克西德馬丁公司等合作制定了一組專門用于航空電子系統(tǒng)的FC協(xié)議子集,即光纖通道航空電子環(huán)境(FC-AE),其中FC高層協(xié)議采用的就是FC-AE下的匿名簽署消息傳輸協(xié)議(FC-AE-ASM)。FC協(xié)議替代當前的航空電子主網(wǎng)絡 MIL-STD-1553,已成為航空電子系統(tǒng)發(fā)展的必然趨勢,從現(xiàn)有發(fā)展來看FC協(xié)議必將成為下一代航空電子通信的首選協(xié)議。
FC協(xié)議將通道傳輸?shù)母咚傩院途W(wǎng)絡傳輸?shù)撵`活性結(jié)合在一起,采用層次化的結(jié)構(gòu),共 分 為5層:FC-0、FC-1、FC-2、FC-3和FC-4;定義了3種拓撲結(jié)構(gòu):點對點、交換式、仲裁環(huán)網(wǎng)絡,此三種方式既可實現(xiàn)高速和高效的傳輸,同時也具有任意節(jié)點全互通特性,特別是交換方式網(wǎng)絡的拓撲結(jié)構(gòu),可很好的實現(xiàn)復雜設備的多節(jié)點互連。
由于RapidIO和FC兩種協(xié)議的傳輸方式和通信結(jié)構(gòu)不同,兩種協(xié)議的數(shù)據(jù)交互必然需要相互轉(zhuǎn)換的過程,該過程需要做的實時,無損,兼顧兩種協(xié)議的特點。
大型系統(tǒng)中由多設備組成,每個設備中又有多個處理集群,每個處理集群中又有多個處理節(jié)點,有的處理集群采用的RapidIO協(xié)議通信,有的采用采用FC通信協(xié)議,每個節(jié)點互聯(lián)互通就需要做到RapidIO和FC的融合互聯(lián)通信。典型的應用場景如圖1。
該技術(shù)主要應用于RapidIO協(xié)議和FC協(xié)議之間的雙向相互通信。該技術(shù)包括RapidIO協(xié)議解析、FC協(xié)議解析和RapidIO協(xié)議數(shù)據(jù)包和FC協(xié)議數(shù)據(jù)包之間的重組和重定向等功能。該通信分為2個方向,對于FC協(xié)議轉(zhuǎn)換RapidIO協(xié)議方向,光纖接收外來FC節(jié)點發(fā)送來的FC協(xié)議數(shù)據(jù)包,解析FC協(xié)議的數(shù)據(jù)包中FC目的ID,根據(jù)目的ID號查找橋接表中的RapidIO協(xié)議的節(jié)點號和發(fā)送空間地址,并轉(zhuǎn)換為RapidIO數(shù)據(jù)包并送達相應的RapidIO節(jié)點,對于RapidIO協(xié)議轉(zhuǎn)換FC協(xié)議方向,接收RapidIO節(jié)點發(fā)送來的數(shù)據(jù)包,解析RapidIO協(xié)議的數(shù)據(jù)包中RapidIO目的ID,根據(jù)目的ID號查找橋接表中的FC協(xié)議的節(jié)點號,并轉(zhuǎn)換為FC數(shù)據(jù)包并送達相應的FC節(jié)點。本技術(shù)解決了現(xiàn)有技術(shù)中大型系統(tǒng)中RapidIO協(xié)議和FC協(xié)議無法相互通信的問題,實現(xiàn)了RapidIO協(xié)議和FC協(xié)議的相互轉(zhuǎn)換,并且能夠高效率在RapdIO協(xié)議和FC協(xié)議之間進行交互并保留2種協(xié)議的完整功能。
RapidIO協(xié)議為3層結(jié)構(gòu),包括邏輯層,傳輸層和物理層,F(xiàn)C協(xié)議為5層結(jié)構(gòu),F(xiàn)C-0、FC-1、FC-2、FC-3和FC-4。本方案在FC-4上選用為FC-AE-ASM。融合互聯(lián)采用在應用層(RapidIO的邏輯層和FC的FC-4層上的)進行數(shù)據(jù)交互,具體層次結(jié)構(gòu)如圖2。
RapidIO到FC轉(zhuǎn)換到過程為,RapidIO節(jié)點發(fā)送數(shù)據(jù)包到一個接收融合互聯(lián)節(jié)點進行RapidIO協(xié)議解析和數(shù)據(jù)解包,然后根據(jù)接收融合互聯(lián)節(jié)點橋接關(guān)系進行映射和重定向,再進行完成FC數(shù)據(jù)包重組,對重組好的FC數(shù)據(jù)根據(jù)發(fā)送的FC物理節(jié)點放入相應隊列,數(shù)據(jù)包按照順序從FC端口發(fā)送,具體流程如圖3所示。該流程中的對于橋接映射重定向,設計了1個Srio2FC橋接管理模塊。用于完成RapidIO協(xié)議到 FC協(xié)議之間的相互轉(zhuǎn)換。
Srio2FC橋接管理用于管理RapidIO轉(zhuǎn)換換為FC數(shù)據(jù)包,主要功能為FC端口檢測,流量統(tǒng)計,節(jié)點注冊和路由分配。處理過程為每當有一個FC的端口連入,需要發(fā)送一個路由端口注冊報文,報文用于告訴有新的FC端口接入,橋接管理就設置該FC端口為有效并根據(jù)流量分配路由路徑,形成橋接關(guān)系。一旦有RapidIO包指向這個路徑,則按照路徑進行數(shù)據(jù)交換和傳遞。每當有一個FC端口斷開或者有故障時,橋接管理通過FC端口檢測就可以檢測到端口出現(xiàn)問題,會自動完成端口刪除,實現(xiàn)端口動態(tài)接入并保證系統(tǒng)交換狀態(tài)穩(wěn)定,不會出現(xiàn)單端口故障造成系統(tǒng)阻塞。
FC到RapidIO轉(zhuǎn)換到過程為,F(xiàn)C節(jié)點發(fā)送數(shù)據(jù)包到一個接收融合互聯(lián)節(jié)點進行FC協(xié)議解析和數(shù)據(jù)解包,然后根據(jù)接收融合互聯(lián)節(jié)點已配置的橋接進行橋接映射和重定向,再進行完成RapidIO數(shù)據(jù)包重組和計算RapidIO空間地址映射,對重組好的RapidIO數(shù)據(jù)根據(jù)發(fā)送的RapidIO物理節(jié)點放入相應隊列進行發(fā)送,具體流程如圖4所示。
該流程中的對于橋接和重定向,設計了1個FC2Srio橋接管理,用于完成FC協(xié)議和RapidIO協(xié)議轉(zhuǎn)換,RapidIO數(shù)據(jù)包重組。
FC融合后接收數(shù)據(jù)時,F(xiàn)C2Srio橋接管理,會收集每個節(jié)點想信息和系統(tǒng)中的流量,形成并分配路徑關(guān)系,當RapidIO節(jié)點作為數(shù)據(jù)目的時,經(jīng)過橋接管理,會指定RapidIO路徑,自動計算填寫RapidIO空間的映射的地址,形成完整的RapidIO協(xié)議包,發(fā)送到相應的節(jié)點。
大型系統(tǒng)中一般同時具有多個RapidIO節(jié)點和多個FC節(jié)點,融合互聯(lián)設計時考慮到任意節(jié)點交換需求,單個節(jié)點可向多個節(jié)點發(fā)送,單個節(jié)點可接收多個節(jié)點發(fā)送來的數(shù)據(jù)。其中RapidIO協(xié)議需要用到空間地址而FC不需要使用空間地址,兩種協(xié)議的轉(zhuǎn)換就成為一個難點。為了達到單個RapidIO節(jié)點可發(fā)送到多個目的FC地址,在RapidIO交換枚舉時采用了映射多節(jié)點技術(shù),對于一個物理的RapidIO節(jié)點,同時衍生出若干個映射節(jié)點號,RapidIO交換機配置的橋接管理把映射節(jié)點號都橋接到融合專用RapidIO節(jié)點,數(shù)據(jù)發(fā)送時使用不同的映射節(jié)點號作為RapidIO的ID號,融合互聯(lián)節(jié)點根據(jù)橋接管理完成RapidIO的ID號和FC的ID號的映射,這樣實現(xiàn)了系統(tǒng)中的一個RapidIO節(jié)點可向任意FC節(jié)點發(fā)送數(shù)據(jù)的功能。在FC轉(zhuǎn)RapidIO的過程中,由于RapidIO的數(shù)據(jù)傳輸方式為對應地址空間推送方式,F(xiàn)C轉(zhuǎn)RapidIO包需要分配好RapidIO空間地址,并在橋接管理中分配起始地址多和空間大小,再由融合節(jié)點自動計算每一個RapidIO數(shù)據(jù)包的空間地址且使用地址循環(huán)計算,不同的數(shù)據(jù)映射到不同的RapidIO空間,此設計實現(xiàn)了一個RapidIO節(jié)點可接收多個FC節(jié)點發(fā)送來的數(shù)據(jù)。FC節(jié)點使用順序接收,只要完成地址映射就可以實現(xiàn)多節(jié)點傳輸。
通過設計一個RapidIO和FC互聯(lián)模塊實現(xiàn)。實際使用使用時在需要做兩種協(xié)議之間通信的位置部署該模塊即可。該模塊使用軟件和硬件相結(jié)合分方式,硬件采用FPGA實現(xiàn)兩種協(xié)議的實時轉(zhuǎn)換,軟件采用CPU實現(xiàn)系統(tǒng)的橋接配置、更新和管理,流量監(jiān)控,狀態(tài)監(jiān)控,BIT上報等功能。實現(xiàn)框圖如圖5。
該模塊保留了RapidIO和FC各自的特性,包括多節(jié)點交換,流量控制等特性。RapidIO端采用3.125Gbps×4模式,F(xiàn)C端采用4個單線速為4.25Gbps的光纖通道與之匹配,能做到數(shù)據(jù)通過率對等,無通信瓶頸。
該模塊實際測試結(jié)果單融合互聯(lián)節(jié)點雙向通過率達到1GB/s。
RapidIO和FC互聯(lián)模塊的硬件設計需具有實時高效高速。主芯片采用大規(guī)模FPGA,F(xiàn)PGA具有至少16路高速串行通信鏈路(大于4.25Gbps),大容量緩存,F(xiàn)PGA中的運行速度需要達到160M以上。該模塊采用VPX板卡結(jié)構(gòu)形式,符合VITA46的協(xié)議,具有抗震動,耐沖擊特性,具有高可靠性,特別適合軍用電子設備應用環(huán)境。
軟件設計采用嵌入式CPU和vxWorks實時操作系統(tǒng),設計具有文件系統(tǒng),千兆以太網(wǎng)絡接口。實時操作系統(tǒng)的使用既實現(xiàn)了CPU運算的便利性和接口標準性和豐富性、軟件的靈活性,又解決了系統(tǒng)中的可靠性和實時性。使用軟件實現(xiàn)橋接實現(xiàn)了通過網(wǎng)絡便利配置,并使用操作系統(tǒng)的文件系統(tǒng)靈活固化?;诓僮飨到y(tǒng)的軟件實現(xiàn)了模塊狀態(tài)的實時監(jiān)控和查詢,橋接狀態(tài)的實時查詢和配置,以及FC和RapidIO數(shù)據(jù)流狀態(tài)的實時監(jiān)控、查詢和記錄。
本文介紹了RapidIO和FC的特點,分析了兩種協(xié)議互聯(lián)的需求和應用場景,提出了一種RapidIO和FC互聯(lián)難點,詳細分析了兩種協(xié)議的融合互聯(lián)的流程、處理方法,對其中的關(guān)鍵點給出了實現(xiàn)方案,詳細介紹了兩種協(xié)議互聯(lián)通信技術(shù)實現(xiàn)要點,最后從實際應用的角度提出方案,并給出了測試數(shù)據(jù)。
圖4:FC數(shù)據(jù)包到RapidIO數(shù)據(jù)包轉(zhuǎn)換流程
圖5:RapidIO和FC融合互聯(lián)模塊實現(xiàn)框圖