摘要:應IEEE1394同光纖通道總線的互聯需求,設計了一種基于光纖通道的IEEE1394光信號傳輸系統。該系統以基于現場可編程邏輯陣列(FPGA)設計的協議映射模塊為核心,實現了將IEEE1394信號通過光纖通道進行傳輸的功能。仿真結果表明,該系統能達到1.0625Gb/s的工作速率。
航空電子系統經過幾十年的發展,正在經歷從模擬化向數字化系統的轉變,逐步跨入第4代航空電子系統,其主要特點就是在第3代基礎上,以高速大容量的信息交換為基礎,從綜合化向高度綜合化發展,實現資源共享與數據融合,其任務劃分、模塊分配和作業調度,都依賴于數據網絡系統的性能,這些性能包括網絡拓撲結構、傳輸帶寬、可靠性及數據延遲性能等。因此,未來先進航空電子系統中各站點之間的數據流將更為復雜,包括射頻、視頻等大流量數據,有的節點速率需求將超過1Gb/s,而現有的低速數據總線很難滿足如此高速的數據傳輸要求。
美國國家標準委員會于1988年開始制定的光纖通道(Fiber Channel,FC)是一種高速串行總線協議,不僅具有高帶寬、高可靠性、低延時、傳輸距離遠、拓撲靈活的優點,而且支持多種上層傳輸協議。光纖通道的這一優點使得在同一物理接口上運行多種上層通道標準和網絡協議成為可能。目前已經實現的ML-STD-1553到光纖通道協議的映射,以及ML-STD-1553遠程終端器件與光纖通道互聯方案的系統綜合,為未來航空電子系統中不同總線的互連提供了一條新的途徑,使得系統在保留傳統網絡拓撲和協議的同時,獲得光纖通道所提供的高帶寬服務。
基于此設計思想,本文提出了一種IEEE1394到光纖通道傳輸協議的映射方案,在此工作基礎上,利用現場可編程邏輯陣列(FPGA),對所提出的協議映射方案進行了硬件設計與實現,設計了一個基于FC的IEEE1394光信號傳輸系統。
1 IEEE1394到光纖通道的協議映射
首先簡要介紹本文提出的一種IEEE1394到光纖通道傳輸協議的映射方案,更詳細的說明可參考文獻。所提協議映射方案的基本思想是:在IEEE1394到FC數據包的映射過程中,保留FC原來的幀格式形式,將FC幀頭部分中源節點和目的節點的地址分別映射為IEEE1394源節點和目的節點的地址,并將IEEE1394數據包中除了數據域外的其他信息映射到FC的64Byte可選幀頭上,數據域的信息映射到FC的有效數據區。此外,由于FC一個數據幀的有效數據區長度只有2048Byte,而在通道傳輸速率大于200Mb/s,IEEE1394的等時數據包或傳輸速率大于400Mb/s時,異步數據包的最大有效長度將超出FC有效數據區的大小。因此,當IEEE1394數據包的長度超出了FC有效數據區長度時,應該將該數據包映射成一個連續的FC數據幀序列。下面以IEEE1394異步數據包到FC數據幀的映射為例,說明兩種協議的映射過程。
IEEE1394異步數據包及FC數據幀格式如圖1,圖2所示。圖3為IEEE1394數據幀到光纖通道幀格式映射關系。



對映射過程的說明:
1)目的節點和源節點地址由IEEE1394的16位擴充到24位,使網絡規模變得比單一的IEEE1394網絡要大。
2)T-TYPE用來指明交換消息的傳輸特性,包括交換的傳輸方向和終端-終端(NT-NT)交換的性能定義。在NT-NT類型交換中,將為接收NT提供發送NT的地址,或者為發送NT提供接收NT的地址。
3)T—CTL用于實現FC網絡和IEEE1394網絡之間的消息傳輸,實現兩者之間的橋路連接,完成FC網絡終端或網絡控制器與IEEE1394節點之間的消息傳輸。
4)將IEEE1394中的幀頭CRC校驗和數據CRC校驗分開。在IEEE1394數據傳輸中,首先進行的是幀頭CRC校驗,如果發現錯誤,則立即拋棄該幀。所以這里設想將IEEE1394數據CRC放在光纖通道數據幀的可選幀頭,將幀頭CRC放在光纖通道數據幀CRC校驗中,這樣可以先檢測幀頭CRC,節省系統開銷。
2 IEEE1394光信號傳輸系統設計與實現
2.1 系統的構架
為在光纖通道傳輸IEEE1394信號,構建兩種總線互連的硬件平臺,所設計的傳輸系統不僅要實現兩種數據幀格式的轉換,還要實現FC-0、FC-1、FC-2協議層中的部分功能。本文所設計的基于FC的IEEE1394光信號傳輸系統結構如圖4所示,包括IEEE1394信號源,基于FPGA的1394-FC協議轉換器,必要的外圍接口器件以及光纖收發模塊,系統傳輸速率1.0625Gb/s。其中,光纖通道FC-0層的功能由光電轉換模塊和串并與并串轉換芯片實現,而IEEE1394到FC數據幀映射及FC-1、FC-2層功能主要基于FPGA進行硬件編程來實現。

2.2 基于FPGA的功能模塊設計與實現
在所設計的系統中,FPGA主要實現IEEE1394到FC的數據幀映射以及FC-1、FC-2層功能。基于FPGA的功能模塊結構如圖5所示。

1)FC-1層功能單元包括8b/10b編碼/解碼模塊和D/K類型指示模塊。
2)FC-2層功能單元包括數據接收模塊,發送模塊及系統配置模塊。
3)IEEE1394到FC的數據幀映射模塊(協議轉換)是FPGA設計的核心部分。該部分能夠完成對信號源發出的IEEE1394數據幀到FC協議的數據幀的映射工作,即將IEEE1394數據幀轉換為FC幀格式。同時能從接收到的FC數據幀還原出IEEE1394數據幀。
4)FPGA片內的發送(TX)部分和接收(RX)部分均加入了數字時鐘管理(DCM)和分頻器模塊,DCM可以使時鐘信號通過時鐘樹達到各個片內寄存器,以減小片內時鐘信號的抖動和延時,提高系統運行速率。
此外,為了方便在沒有外接IEEE1394信號源的情況下對FPGA內部的功能模塊進行調試,在FPGA的TX前通過采用線性反饋移位寄存器IP核構建了一個偽隨機序列發生器,可以用來模擬IEEE1394數據源,并通過1個二選一選擇器實現外部輸入信號與內部偽隨機序列的選擇功能。
FPGA內部的工作過程說明如下:IEEE1394數據從16:32解復用器輸出之后,進入IEEE1394數據拆分模塊,產生對應于FC數據幀的SOF、DATA、CRC、EOF的數據段,生成符合FC幀格式的數據。在這之后,32:8復用模塊將32bit并行輸入的數據復用成8bit并行輸出的數據。隨后進入8b/10b編碼模塊,完成8b/10b的編碼工作并以10bit位寬,106.25MHz的速率送入VSC7145串并/并串芯片,最后以1.0625Gbs的速率輸出到SFP光收發模塊,由光收發模塊將電信號調制成光信號輸出。
在RX接收部分,由光收發模塊還原成的電信號通過VSC7145串并/并串芯片后以10bit的并行數據形式輸入到FPGA中,由8b/10b解碼器解碼,輸出8bit并行數據(在解碼過程中,解碼器可以通過判斷碼流的極性來判別是否在傳輸過程中出現誤碼)。8b/10b解碼輸出后的數據通過1個8:32解復用模塊解復用成32bit的并行數據,并行支路速率為26.5625MHz,隨后32位并行數據通過FC幀檢測提取模塊,生成標識信號隨路輸出。在CRC校驗/判決模塊中,數據通過CRC位運算反映是否出現誤碼,并給出指示。在這之后,FC數據幀重組為IEEE1394數據幀,最后經由32:16復用模塊將32bit并行IEEE1394幀數據重新復用成16bit并行數據,與53.12MHz的隨路信號一同送出FPGA芯片。
3 FPGA功能驗證
本設計已在Xilinx Spartan3系列的Xc3s200中實現,并在Xilinx ISE 7.1仿真環境下進行了功能和時序仿真驗證。采用偽隨機序列發生器生成的偽隨機代碼模擬IEEE1394數據源,設定每1000Byte為一個數據包包長。
3.1 功能仿真結果
1)在發送端,IEEE1394數據包被拆封,重組成FC數據幀,并由8b/10b編碼器編碼后輸出,如圖6中仿真波形tx_dtout,和TX_encode_ dtout所示。

2)在接收端,FC幀結構被正確檢測并提取,在CRC校驗正確后重組成IEEE1394數據幀格式輸出,如圖7中仿真波形tx_dtout,crc32及rx_dtout所示。

經仿真測試,FPGA實現IEEE1394到FC數據幀格式的映射功能,各模塊均正常工作,數據通信良好,無丟包現象。
3.2 時序仿真結果
該設計在Xc3s200上實現后,FPGA所使用的資源如表1所示,整個系統資源占用率較低,最高運行速率能達到135.245MHz,滿足106.25MHz的片上最高運行速率要求,設計達到了預期結果。

4 結束語
光纖通道具有支持多種上層傳輸協議的優點,本文在已有工作的基礎上,利用FPAG,對所提出的IEEE1394到光纖通道的協議映射方案進行了硬件設計,通過FPGA功能仿真及時序仿真驗證了所提方案的可行性。利用此FPGA協議轉換模塊,本文還設計了基于FC的IEEE1394光信號傳輸系統,給出了具體的硬件設計方案。目前,此系統的主要調試工作已完成,后續的工作將通過系統傳輸實驗,對系統性能進行分析研究。