摘 要:接口適配器是通信傳輸系統的一個重要組成部分,它的效率直接關系通信效率。但隨著光纖通信技術的發展,光纖接口適配器并未一同迅速發展,可以說,光纖接口適配已經成了光纖通信系統發展的瓶頸。主要介紹光纖通道接口適配器的組合實現過程,該過程包含對FC協議的分析與理解、具體的VC軟件編寫、上位機與FPGA相結合,實現FC協議下的接口適配器功能。
關鍵詞:FC; 接口適配器; FPGA; 軟件流程
中圖分類號:TN929 文獻標識碼:A
文章編號:1004-373X(2010)13-0042-03
Research and Implementation of Fiber Interface Adapter
MA Yin-ping, XUAN Liang-liang
(Nanchang Hangkong University, Nanchang 330063, China)
Abstract: The interface adapter that is relative to the communication efficiency of a communication system is an important component of a communication transmission system. As a matter of fact, the optical fiber interface adapter is not rapidly developed along with the development of the fiber communication technology. That is, the fiber interface adaption has already become a bottleneck of the fiber communication system development. The assembly process of the fiber channel interface adapter is elaborated. This process includes the analysis and understanding of FC protocol, design of VC software, combination of PC and FPGA, and function implementation of interface adapter under FC protocol.
Keywords: FC; interface adapter; FPGA; software flow
0 引 言
隨著經濟的高速發展和科技的快速進步,近幾年,光纖通信技術應運而生并快速成長。根據摩爾定律,CPU的處理速度每18個月翻一番。而光纖通信的傳輸帶寬每9個月就增加一倍,而成本降低一半。同時全球因特網流量每6個月就翻一番。作為當代通信領域的支柱技術,光纖通信正以每10年速率增長100倍的速度發展。其總的發展趨勢是速率越來越塊,可靠性越來越高,提供的業務種類越來越多。
隨著存儲技術的迅速發展,存儲容量得到了迅速的增長,存儲系統的數據傳輸速度成為了主要的瓶頸。光纖的傳輸具有其速度上的優勢,然而,在光纖傳輸要受到光纖通道接口的限制,因此光纖通道應用于高速數據傳輸的一個關鍵技術問題是接口的設計問題,本文對有效地解決高數據傳輸在接口處的瓶頸具有現實意義。
1 方案設計
完整的實現要包含PC機軟件編程、Virtex-5開發板的底層鏈路實現。PC機的軟件編寫主要實現鏈路的創建注銷控制、數據的組幀、數據的傳輸控制、傳輸過程中的顯示;Virtex-5開發板主要實現數據的鏈路貫通、支持上位機所定義的幀結構的傳輸過程。
如圖1所示,接口適配器功能實現過程主要包含協議的正確理解,按照協議的幀結構和數據結構的組織、具體的實現模塊的設計與編寫、結合Virtex-5底層鏈路的貫通實現光纖通信接口適配器功能。
圖1 接口適配器功能實現過程
2 設計的具體實現
2.1 協議的分析與與裁剪
針對不同的應用環境應當對FC協議[1]進行適當的裁剪,盡可能地有效利用協議標準。FC協議是一個具有五層組成的協議體系。包括:FC-0層、FC-1層、FC-2層、FC-3層、FC-4層。
各層的功能分別為:
(1) FC-0:主要規定了物理接口,包含傳輸介質,收發器及接口等。
(2) FC-1:
8 B/10 B編碼;
串化解串;
比特與字同步。
(3) FC-2規定了光纖通道的傳輸機制:
有序集的檢測與識別;
FC端口狀態機;
幀的發送與接收,幀接收時要進行有效性檢查;
流量控制;
幀管理;
交換與序列管理;
數據幀與響應;
多播與廣播;
分段與重組;
差錯檢測與回復。
(4) FC-3:基本鏈路服務;擴展鏈路服務;查詢組。
(5) FC-4:映射上層協議,本文主要是映射MIL-std-1553B協議。
2.2 軟件編程中各模塊的代碼的設計
軟件實現的設計部分:GUI模塊設計、設備抽象層的設計、任務處理模塊的設計、FC的協議及物理功能模塊的設計。
(1) GUI部分主要是顯示作用,可以對接口適配器的相關參數進行設置和界面顯示。
GUI模塊設計內容有:整體界面、鏈路參數區、鏈路建立區、信息顯示區。
(2) 設備抽象層的設計。該部分在于屏蔽下層不同物理設備間的差異;提供較為簡便的方式,使上層模塊同邏輯進行通信。本層需要提供對上層支持的設備操作接口及在內部通過封裝WinDriver驅動提供的功能接口,實現對上層的功能支持。
(3) 任務處理模塊的設計。主要實現對鏈路和數據各自的不同的任務操作情況。鏈路數據區與文件數據區分別需要保存各自的任務數據及狀態,另外,它是GUI模塊變更LIST的依據,從而還需要保存下層協議所具備的狀態及數據。
(4) FC協議及物理功能模塊的設計。該部分主要描述任務發送協議與鏈路建立協議。
① 鏈路建立的注冊過程:
數據傳輸前,需要通過注冊建立發送端與接收端的鏈路。首先,發送端把待注冊的地址ID等信息嵌入幀信息中,發送幀信息給接收端;然后,接收端收到幀信息后,解讀出相關的信息,若符合幀的完整性等檢查,則兩端建立鏈路。若不滿足相關檢查則終止該次注冊過程。
② 鏈路的注銷過程:
當需要注銷鏈路[2]時,首先,發送端把待注銷的地址ID等信息嵌入幀信息中,發送幀信息給接收端;然后,接收端收到幀信息后,解讀出相關的信息,若符合幀的完整性等檢查,則兩端注銷鏈路,若不滿足相關檢查則終止該次注銷過程。
③ 數據傳輸過程:
數據傳輸是鏈路建立的根本目的,簡化的數據傳輸過程如圖2所示。
圖2 數據傳輸過程
2.3 Virtex-5開發板的底層保證
(1) 系統構造邏輯設計主要完成以下幾點功能:
控制PCIE硬核[3]實現與上層軟件交互;對上層傳輸數據加CRC校驗;
完成FC鏈路初始化過程;完成FC流控功能;完成FC-2差錯處理;
控制ROCKET I/O 把上層軟件數據通過ROCKET I/O 發送;
控制ROCKET I/O 把接收恢復的數據傳輸到上層軟件。
(2) 邏輯設計的模塊組成:
底層邏輯控制模塊[4]主要完成FC物理層[5]通信,它主要包括發送模塊、接收模塊和PCIE控制模塊[6]三部分,每個模塊又根據功能不同劃分多個子模塊,在PCIE控制模塊中,有一些緩存來存放接收模塊傳送過的數據和相應的數據信息,發送模塊也會從PCIE控制模塊的緩存中讀取數據傳送出去,其原理框圖如圖3所示。
圖3 邏輯控制模塊原理框圖
數據發送模塊
該模塊通過讀取上位機的狀態信息來發送不同的信息,當ACK使能時,該模塊發ACK,當數據使能時,該模塊就發送固定幀數[7]的數據,發送的數據是從緩存中讀取,CRC由該模塊添加。空閑時就發送IDLE碼。
數據接收模塊
接收模塊包括接收控制模塊、CRC模塊和臨時緩存模塊。主要完成數據和鏈路控制幀以及準備信號的接收,并實現CRC校驗[8],根據幀頭來判斷不同類型的數據幀或控制幀[7],并存入緩存中,同時將幀的相關信息也放入相應的緩存中。
PCIE接口控制模塊
該模塊主要根據PCIE總線[9]上的地址對應的寄存器的值,譯碼成相應的使能把PCIE總線上數據寫入相應的數據發送buff,ACK發送buff反之根據邏輯輸入的使能,譯碼成對應的PCIE總線上對應地址的對應寄存器的值,并把數據接收的buff ACK接收buff數據寫入相應的PCIE地址上。
2.4 最終實現
通過上位機與FPGA開發板的結合,實現了光纖通道接口適配器的高速性。傳輸效果圖如圖4所示。
圖4 數據傳輸效果圖
3 結 語
通過上位機與FPGA開發板的結合,模擬并實現了光纖通道在高速數據傳輸過程中接口處的設計。盡管該設計是上位機配合FPGA的形式實現,但僅就設
計思路而言,對于實際開發光纖通道接口適配器具有一定的借鑒意義。
參考文獻
[1]徐亞軍,張曉林,熊華剛.基于光纖通道的航空電子網絡研究[J].遙測遙控,2006,27(3):8-13.
[2]熊華鋼.1553B總線通信技術的應用與發展[ J] .電子技術應用,1997(8):20-25.
[3]Williamson B.IP組播網絡設計開發[M].顧金星,張擁軍,譯.北京:電子工業出版社,2000.
[4]唐玉華.PCI總線的傳輸協議概述[J].計算機工程與科學,1998,20(2):74-78.
[5]周敬利,高同慶.高速串行SCSI接口設計[J].小型微型計算機系統,1998,19(10):20-25.
[6]林強,熊午鋼,張其善.光纖通道中的1553總線技術[J].航空電子技術,2004,35(1):1-5.
[7]陳鈞,胡修林.基于Windows NT的DMA設備驅動程序的設計[J].電子技術,1999,27(7):20-25.
[8]余勝生,趙玉峰,周敬利.Fibre Channel主機適配器的研究與開發[J].小型微型計算機系統,2002,23(6):663-666.
[9]Marc Farley.SAN存儲區域網絡[M].孫功星,蔣文保,范勇,譯.北京:機械工業出版社,2001.
[10]李浩,周東.在光纖通道上映射MIL-STD-1553協議[J].光通信技術,2005,29(8):53-55.
[11]章淼,徐明偉,吳建平.應用層組播研究綜述[J].電子學報,2004,32(12A):20-25.