摘要:應IEEE1394同光纖通道總線的互聯(lián)需求,設計了一種基于光纖通道的IEEE1394光信號傳輸系統(tǒng)。該系統(tǒng)以基于現(xiàn)場可編程邏輯陣列(FPGA)設計的協(xié)議映射模塊為核心,實現(xiàn)了將IEEE1394信號通過光纖通道進行傳輸?shù)墓δ堋7抡娼Y果表明,該系統(tǒng)能達到1.0625Gb/s的工作速率。
航空電子系統(tǒng)經過幾十年的發(fā)展,正在經歷從模擬化向數(shù)字化系統(tǒng)的轉變,逐步跨入第4代航空電子系統(tǒng),其主要特點就是在第3代基礎上,以高速大容量的信息交換為基礎,從綜合化向高度綜合化發(fā)展,實現(xiàn)資源共享與數(shù)據融合,其任務劃分、模塊分配和作業(yè)調度,都依賴于數(shù)據網絡系統(tǒng)的性能,這些性能包括網絡拓撲結構、傳輸帶寬、可靠性及數(shù)據延遲性能等。因此,未來先進航空電子系統(tǒng)中各站點之間的數(shù)據流將更為復雜,包括射頻、視頻等大流量數(shù)據,有的節(jié)點速率需求將超過1Gb/s,而現(xiàn)有的低速數(shù)據總線很難滿足如此高速的數(shù)據傳輸要求。
美國國家標準委員會于1988年開始制定的光纖通道(Fiber Channel,F(xiàn)C)是一種高速串行總線協(xié)議,不僅具有高帶寬、高可靠性、低延時、傳輸距離遠、拓撲靈活的優(yōu)點,而且支持多種上層傳輸協(xié)議。光纖通道的這一優(yōu)點使得在同一物理接口上運行多種上層通道標準和網絡協(xié)議成為可能。目前已經實現(xiàn)的ML-STD-1553到光纖通道協(xié)議的映射,以及ML-STD-1553遠程終端器件與光纖通道互聯(lián)方案的系統(tǒng)綜合,為未來航空電子系統(tǒng)中不同總線的互連提供了一條新的途徑,使得系統(tǒng)在保留傳統(tǒng)網絡拓撲和協(xié)議的同時,獲得光纖通道所提供的高帶寬服務。
基于此設計思想,本文提出了一種IEEE1394到光纖通道傳輸協(xié)議的映射方案,在此工作基礎上,利用現(xiàn)場可編程邏輯陣列(FPGA),對所提出的協(xié)議映射方案進行了硬件設計與實現(xiàn),設計了一個基于FC的IEEE1394光信號傳輸系統(tǒng)。
1 IEEE1394到光纖通道的協(xié)議映射
首先簡要介紹本文提出的一種IEEE1394到光纖通道傳輸協(xié)議的映射方案,更詳細的說明可參考文獻。所提協(xié)議映射方案的基本思想是:在IEEE1394到FC數(shù)據包的映射過程中,保留FC原來的幀格式形式,將FC幀頭部分中源節(jié)點和目的節(jié)點的地址分別映射為IEEE1394源節(jié)點和目的節(jié)點的地址,并將IEEE1394數(shù)據包中除了數(shù)據域外的其他信息映射到FC的64Byte可選幀頭上,數(shù)據域的信息映射到FC的有效數(shù)據區(qū)。此外,由于FC一個數(shù)據幀的有效數(shù)據區(qū)長度只有2048Byte,而在通道傳輸速率大于200Mb/s,IEEE1394的等時數(shù)據包或傳輸速率大于400Mb/s時,異步數(shù)據包的最大有效長度將超出FC有效數(shù)據區(qū)的大小。因此,當IEEE1394數(shù)據包的長度超出了FC有效數(shù)據區(qū)長度時,應該將該數(shù)據包映射成一個連續(xù)的FC數(shù)據幀序列。下面以IEEE1394異步數(shù)據包到FC數(shù)據幀的映射為例,說明兩種協(xié)議的映射過程。
IEEE1394異步數(shù)據包及FC數(shù)據幀格式如圖1,圖2所示。圖3為IEEE1394數(shù)據幀到光纖通道幀格式映射關系。
對映射過程的說明:
1)目的節(jié)點和源節(jié)點地址由IEEE1394的16位擴充到24位,使網絡規(guī)模變得比單一的IEEE1394網絡要大。
2)T-TYPE用來指明交換消息的傳輸特性,包括交換的傳輸方向和終端-終端(NT-NT)交換的性能定義。在NT-NT類型交換中,將為接收NT提供發(fā)送NT的地址,或者為發(fā)送NT提供接收NT的地址。
3)T—CTL用于實現(xiàn)FC網絡和IEEE1394網絡之間的消息傳輸,實現(xiàn)兩者之間的橋路連接,完成FC網絡終端或網絡控制器與IEEE1394節(jié)點之間的消息傳輸。
4)將IEEE1394中的幀頭CRC校驗和數(shù)據CRC校驗分開。在IEEE1394數(shù)據傳輸中,首先進行的是幀頭CRC校驗,如果發(fā)現(xiàn)錯誤,則立即拋棄該幀。所以這里設想將IEEE1394數(shù)據CRC放在光纖通道數(shù)據幀的可選幀頭,將幀頭CRC放在光纖通道數(shù)據幀CRC校驗中,這樣可以先檢測幀頭CRC,節(jié)省系統(tǒng)開銷。
2 IEEE1394光信號傳輸系統(tǒng)設計與實現(xiàn)
2.1 系統(tǒng)的構架
為在光纖通道傳輸IEEE1394信號,構建兩種總線互連的硬件平臺,所設計的傳輸系統(tǒng)不僅要實現(xiàn)兩種數(shù)據幀格式的轉換,還要實現(xiàn)FC-0、FC-1、FC-2協(xié)議層中的部分功能。本文所設計的基于FC的IEEE1394光信號傳輸系統(tǒng)結構如圖4所示,包括IEEE1394信號源,基于FPGA的1394-FC協(xié)議轉換器,必要的外圍接口器件以及光纖收發(fā)模塊,系統(tǒng)傳輸速率1.0625Gb/s。其中,光纖通道FC-0層的功能由光電轉換模塊和串并與并串轉換芯片實現(xiàn),而IEEE1394到FC數(shù)據幀映射及FC-1、FC-2層功能主要基于FPGA進行硬件編程來實現(xiàn)。
2.2 基于FPGA的功能模塊設計與實現(xiàn)
在所設計的系統(tǒng)中,F(xiàn)PGA主要實現(xiàn)IEEE1394到FC的數(shù)據幀映射以及FC-1、FC-2層功能;贔PGA的功能模塊結構如圖5所示。
1)FC-1層功能單元包括8b/10b編碼/解碼模塊和D/K類型指示模塊。
2)FC-2層功能單元包括數(shù)據接收模塊,發(fā)送模塊及系統(tǒng)配置模塊。
3)IEEE1394到FC的數(shù)據幀映射模塊(協(xié)議轉換)是FPGA設計的核心部分。該部分能夠完成對信號源發(fā)出的IEEE1394數(shù)據幀到FC協(xié)議的數(shù)據幀的映射工作,即將IEEE1394數(shù)據幀轉換為FC幀格式。同時能從接收到的FC數(shù)據幀還原出IEEE1394數(shù)據幀。
4)FPGA片內的發(fā)送(TX)部分和接收(RX)部分均加入了數(shù)字時鐘管理(DCM)和分頻器模塊,DCM可以使時鐘信號通過時鐘樹達到各個片內寄存器,以減小片內時鐘信號的抖動和延時,提高系統(tǒng)運行速率。
此外,為了方便在沒有外接IEEE1394信號源的情況下對FPGA內部的功能模塊進行調試,在FPGA的TX前通過采用線性反饋移位寄存器IP核構建了一個偽隨機序列發(fā)生器,可以用來模擬IEEE1394數(shù)據源,并通過1個二選一選擇器實現(xiàn)外部輸入信號與內部偽隨機序列的選擇功能。
FPGA內部的工作過程說明如下:IEEE1394數(shù)據從16:32解復用器輸出之后,進入IEEE1394數(shù)據拆分模塊,產生對應于FC數(shù)據幀的SOF、DATA、CRC、EOF的數(shù)據段,生成符合FC幀格式的數(shù)據。在這之后,32:8復用模塊將32bit并行輸入的數(shù)據復用成8bit并行輸出的數(shù)據。隨后進入8b/10b編碼模塊,完成8b/10b的編碼工作并以10bit位寬,106.25MHz的速率送入VSC7145串并/并串芯片,最后以1.0625Gbs的速率輸出到SFP光收發(fā)模塊,由光收發(fā)模塊將電信號調制成光信號輸出。
在RX接收部分,由光收發(fā)模塊還原成的電信號通過VSC7145串并/并串芯片后以10bit的并行數(shù)據形式輸入到FPGA中,由8b/10b解碼器解碼,輸出8bit并行數(shù)據(在解碼過程中,解碼器可以通過判斷碼流的極性來判別是否在傳輸過程中出現(xiàn)誤碼)。8b/10b解碼輸出后的數(shù)據通過1個8:32解復用模塊解復用成32bit的并行數(shù)據,并行支路速率為26.5625MHz,隨后32位并行數(shù)據通過FC幀檢測提取模塊,生成標識信號隨路輸出。在CRC校驗/判決模塊中,數(shù)據通過CRC位運算反映是否出現(xiàn)誤碼,并給出指示。在這之后,F(xiàn)C數(shù)據幀重組為IEEE1394數(shù)據幀,最后經由32:16復用模塊將32bit并行IEEE1394幀數(shù)據重新復用成16bit并行數(shù)據,與53.12MHz的隨路信號一同送出FPGA芯片。
3 FPGA功能驗證
本設計已在Xilinx Spartan3系列的Xc3s200中實現(xiàn),并在Xilinx ISE 7.1仿真環(huán)境下進行了功能和時序仿真驗證。采用偽隨機序列發(fā)生器生成的偽隨機代碼模擬IEEE1394數(shù)據源,設定每1000Byte為一個數(shù)據包包長。
3.1 功能仿真結果
1)在發(fā)送端,IEEE1394數(shù)據包被拆封,重組成FC數(shù)據幀,并由8b/10b編碼器編碼后輸出,如圖6中仿真波形tx_dtout,和TX_encode_ dtout所示。
2)在接收端,F(xiàn)C幀結構被正確檢測并提取,在CRC校驗正確后重組成IEEE1394數(shù)據幀格式輸出,如圖7中仿真波形tx_dtout,crc32及rx_dtout所示。
經仿真測試,F(xiàn)PGA實現(xiàn)IEEE1394到FC數(shù)據幀格式的映射功能,各模塊均正常工作,數(shù)據通信良好,無丟包現(xiàn)象。
3.2 時序仿真結果
該設計在Xc3s200上實現(xiàn)后,F(xiàn)PGA所使用的資源如表1所示,整個系統(tǒng)資源占用率較低,最高運行速率能達到135.245MHz,滿足106.25MHz的片上最高運行速率要求,設計達到了預期結果。
4 結束語
光纖通道具有支持多種上層傳輸協(xié)議的優(yōu)點,本文在已有工作的基礎上,利用FPAG,對所提出的IEEE1394到光纖通道的協(xié)議映射方案進行了硬件設計,通過FPGA功能仿真及時序仿真驗證了所提方案的可行性。利用此FPGA協(xié)議轉換模塊,本文還設計了基于FC的IEEE1394光信號傳輸系統(tǒng),給出了具體的硬件設計方案。目前,此系統(tǒng)的主要調試工作已完成,后續(xù)的工作將通過系統(tǒng)傳輸實驗,對系統(tǒng)性能進行分析研究。