光纖接口俗稱活接頭,國際電信�(lián)盟建議將其定義為用以�(wěn)定地但并不是地連接兩根或多根光纖的無源組件。光纖接口是光纖通信系統(tǒng)中不可缺少的無源器件,它的使用使光通道間的可拆式連接成為可能�
ST、SC、FC、LC光纖接頭是早期不同企�(yè)開發(fā)形成的標準,使用效果一�,各有優(yōu)缺點,下面為這幾種光纖接口做一番簡單介紹�
ST、SC、FC、LC光纖接頭
ST、SC連接器接頭常用于一般網(wǎng)�。ST頭插入后旋轉(zhuǎn)半周有一卡口固定,缺點是容易折斷;SC連接頭直接插�,使用很方便,缺點是容易掉出�;FC連接頭一般電信網(wǎng)絡采�,有一螺帽擰到適配器上,優(yōu)點是牢靠、防灰塵,缺點是安裝時間稍長�
光纖連接�,也就是接入光模塊的光纖接頭,也有好多種,且相互之間不可以互�。不是經(jīng)常接觸光纖的人可能會誤以為GBIC和SFP模塊的光纖連接器是同一種,其實不是�。SFP模塊接LC光纖連接�,而GBIC接的是SC光纖光纖連接器。下面對�(wǎng)絡工程中幾種常用的光纖連接器進行詳細的說明:
?�?FC型光纖連接器:外部加強方式是采用金屬套,緊固方式為螺絲扣� 一般在ODF�(cè)采用(配線架上用的最�)
?�?SC型光纖連接器:連接GBIC光模塊的連接器,它的外殼呈矩�,緊固方式是采用插拔銷閂�,不須旋�(zhuǎn)�(路由器交換機上用的最�)
?�?ST型光纖連接器:常用于光纖配線架,外殼呈圓形,緊固方式為螺絲�。(對于10Base-F連接來說,連接器通常是ST類型。常用于光纖配線架)
?�?LC型光纖連接器:連接SFP模塊的連接�,它采用操作方便的模塊化插孔(RJ)閂鎖機理制成。(路由器常用)
� MT-RJ:收�(fā)一體的方形光纖連接�,一頭雙纖收�(fā)一體�
各種光纖接口類型介紹
FC 圓型帶螺�(配線架上用的最�)
ST 卡接式圓�
SC 卡接式方�(路由器交換機上用的最�)
PC 微球面研磨拋�
APC �8度角并做微球面研磨拋�
MT-RJ 方型,一頭雙纖收�(fā)一�( 華為8850上有�)
隨著�(jīng)濟的高速發(fā)展和科技的快速進步,近幾年,光纖通信技術應運而生并快速成�。根�(jù)摩爾定律,CPU的處理速度�18個月翻一番。而光纖通信的傳輸帶寬每9個月就增加一�,而成本降低一�。同時全球因特網(wǎng)流量�6個月就翻一�。作為當代通信領域的支柱技�,光纖通信正以�10年速率增長100倍的速度�(fā)展。其總的�(fā)展趨勢是速率越來越塊,可靠性越來越高,提供的業(yè)務種類越來越��
隨著存儲技術的迅速發(fā)展,存儲容量得到了迅速的增長,存儲系�(tǒng)的數(shù)�(jù)傳輸速度成為了主要的瓶頸。光纖的傳輸具有其速度上的�(yōu)�,然�,在光纖傳輸要受到光纖通道接口的限�,因此光纖通道應用于高速數(shù)�(jù)傳輸?shù)囊粋€關鍵技術問題是接口的設計問�,本文對�
效地解決高數(shù)�(jù)傳輸在接口處的瓶頸具有現(xiàn)實意義�
1 方案設計
完整的實�(xiàn)要包含PC機軟件編�、Virtex-5開發(fā)板的底層鏈路實現(xiàn)。PC機的軟件編寫主要實現(xiàn)鏈路的創(chuàng)建注銷控制、數(shù)�(jù)的組幀、數(shù)�(jù)的傳輸控�、傳輸過程中的顯�;VirteX-5開發(fā)板主要實�(xiàn)�(shù)�(jù)的鏈路貫�、支持上位機所定義的幀�(jié)�(gòu)的傳輸過��
如圖1所示,接口適配器功能實�(xiàn)過程主要包含�(xié)議的正確理解,按照協(xié)議的幀�(jié)�(gòu)和數(shù)�(jù)�(jié)�(gòu)的組織、具體的實現(xiàn)模塊的設計與編寫、結(jié)合VirteX-5底層鏈路的貫通實�(xiàn)光纖通信接口適配器功��
2 設計的具體實�(xiàn)
2�1 �(xié)議的分析與與裁剪
針對不同的應用環(huán)境應當對FC�(xié)議進行適當?shù)牟眉簦M可能地有效利用協(xié)議標�。FC�(xié)議是一個具有五層組成的�(xié)議體系。包括:FC-0�、FC-1�、FC-2層、FC-3�、FC-4層�
各層的功能分別為�
(1):FC-O:主要規(guī)定了物理接口,包含傳輸介�(zhì),收�(fā)器及接口��
(2)FC-1�8 B�10 B編碼;串化解�;比特與字同步�
(3)FC-2�(guī)定了光纖通道的傳輸機制:
有序集的檢測與識�;FC端口狀�(tài)�;幀的發(fā)送與接收,幀接收時要進行有效性檢�;流量控�;幀管理;交換與序列管理;數(shù)�(jù)幀與響�;多播與廣播;分段與重組;差錯檢測與回復�
(4)FC-3:基本鏈路服�;擴展鏈路服務;查詢��
(5)FC-4:映射上層協(xié)議,本文主要是映射MILSTd-1553B�(xié)��
2�2 軟件編程中各模塊的代碼的設計
軟件實現(xiàn)的設計部分:GUI模塊設計、設備抽象層的設�、任務處理模塊的設計、FC的協(xié)議及物理功能模塊的設��
(1)GUI部分主要是顯示作用,可以對接口適配器的相關參�(shù)進行設置和界面顯示。GUI模塊設計�(nèi)容有:整體界�、鏈路參�(shù)區(qū)、鏈路建立區(qū)、信息顯示區(qū)�
(2)設備抽象層的設計。該部分在于屏蔽下層不同物理設備間的差異;提供較為簡便的方式,使上層模塊同邏輯進行通信。本層需要提供對上層支持的設備操作接口及在內(nèi)部通過封裝WinDriver�(qū)動提供的功能接口,實�(xiàn)對上層的功能支持�
(3)任務處理模塊的設�。主要實�(xiàn)對鏈路和�(shù)�(jù)各自的不同的任務操作情況。鏈路數(shù)�(jù)區(qū)與文件數(shù)�(jù)區(qū)分別需要保存各自的任務�(shù)�(jù)及狀�(tài),另外,它是 GUI模塊變更LIST的依�(jù),從而還需要保存下層協(xié)議所具備的狀�(tài)及數(shù)�(jù)�
(4)FC�(xié)議及物理功能模塊的設�。該部分主要描述任務�(fā)送協(xié)議與鏈路建立�(xié)��
?、冁溌方⒌淖赃^程:�(shù)�(jù)傳輸前,需要通過注冊建立�(fā)送端與接收端的鏈�。首�,發(fā)送端把待注冊的地址ID等信息嵌入幀信息�,發(fā)送幀信息給接收端;然�,接收端收到幀信息�,解讀出相關的信息,若符合幀的完整性等檢查,則兩端建立鏈路。若不滿足相關檢查則終止該次注冊過程�
?、阪溌返淖N過程:當需要注銷鏈路時,首�,發(fā)送端把待注銷的地址ID等信息嵌入幀信息中,�(fā)送幀信息給接收端;然后,接收端收到幀信息�,解讀出相關的信息,若符合幀的完整性等檢查,則兩端注銷鏈路,若不滿足相關檢查則終止該次注銷過程�
?、蹟?shù)�(jù)傳輸過程:數(shù)�(jù)傳輸是鏈路建立的根本目的,簡化的�(shù)�(jù)傳輸過程如圖2所��
2�3 Virtex-5開發(fā)板的底層保證
(1)系統(tǒng)�(gòu)造邏輯設計主要完成以下幾點功能:
控制PCIE硬核實現(xiàn)與上層軟件交互;對上層傳輸數(shù)�(jù)加CRC校驗;完成FC鏈路初始化過�;完成FC流控功能;完成FC-2差錯處理;控制ROCKET I/O把上層軟件數(shù)�(jù)通過ROCKET I/O�(fā)�;控制ROCKET、I/O把接收恢復的�(shù)�(jù)傳輸?shù)缴蠈榆浖�?/FONT>
(2)邏輯設計的模塊組成:底層邏輯控制模塊主要完成FC物理層通信,它主要包括�(fā)送模�、接收模塊和PCIE控制模塊三部分,每個模塊又根據(jù)功能不同劃分多個子模塊,在PCIE控制模塊�,有一些緩存來存放接收模塊傳送過的數(shù)�(jù)和相應的�(shù)�(jù)信息,發(fā)送模塊也會從PCIE控制模塊的緩存中讀取數(shù)�(jù)傳送出�,其原理框圖如圖3所��
�(shù)�(jù)�(fā)送模� 該模塊通過讀取上位機的狀�(tài)信息來發(fā)送不同的信息,當ACK使能時,該模塊發(fā)ACK,當�(shù)�(jù)使能�,該模塊就發(fā)送固定幀�(shù)的數(shù)�(jù),發(fā)送的�(shù)�(jù)是從緩存中讀�,CRC由該模塊添加??臻e時就�(fā)送IDLE碼�
�(shù)�(jù)接收模塊 接收模塊包括接收控制模塊、CRC模塊和臨時緩存模塊。主要完成數(shù)�(jù)和鏈路控制幀以及準備信號的接�,并實現(xiàn)CRC校驗,根�(jù)幀頭來判斷不同類型的數(shù)�(jù)幀或控制幀,并存入緩存�,同時將幀的相關信息也放入相應的緩存中�
PCIE接口控制模塊 該模塊主要根�(jù)PCIE總線上的地址對應的寄存器的�,譯碼成相應的使能把PCIE總線上數(shù)�(jù)寫入相應的數(shù)�(jù)�(fā)送buf-f,ACK�(fā)� buff反之根據(jù)邏輯輸入的使�,譯碼成對應的PCIE總線上對應地址的對應寄存器的�,并把數(shù)�(jù)接收的buffACK接收buff�(shù)�(jù)寫入相應的PCIE地址��
2�4 最終實�(xiàn)
通過上位機與FPGA開發(fā)板的�(jié)合,實現(xiàn)了光纖通道接口適配器的高速�。傳輸效果圖如圖4所示�
3 �(jié)�
通過上位機與FPGA開發(fā)板的�(jié)�,模擬并實現(xiàn)了光纖通道在高速數(shù)�(jù)傳輸過程中接口處的設�。盡管該設計是上位機配合FPGA的形式實�(xiàn),但僅就設計思路而言,對于實際開�(fā)光纖通道接口適配器具有一定的借鑒意義�
存儲�(wǎng)絡和下一代航空電子系�(tǒng)對光纖通道�(wǎng)絡的需求,提出了一種新的光纖通道�(wǎng)絡接口控制芯片的設計方案。用 Verilog實現(xiàn)了接口控制芯片的RTL設計并完成了功能仿真和驗�,通過嵌入式PowerPC完成了接口控制芯片的控制軟件設計。以Xilinx公司的Virtex-II Pro系列FPGA為平�,實�(xiàn)了接口控制芯片原型�
� 言
作為通道技術和�(wǎng)絡技術結(jié)合的�(chǎn)�,光纖通道(fibre channel)是一種具有高實時�、高可靠�、高帶寬,高性價比的開放式網(wǎng)�。任何需要接入到光纖通道�(wǎng)絡的設備都需要相應的�(wǎng)絡接口卡(NAC),而網(wǎng)絡接口卡的核心是接口控制芯片。目前市場上商用的光纖通道接口控制芯片寥寥可數(shù)且價格昂�,并且核心技術都掌握在國外公�;而軍用的光纖通道接口控制芯片更由于眾所周知的原因在市場上根本就買不到。因�,根�(jù)光纖通道標準設計出擁有自主知識產(chǎn)�(quán)的光纖通道�(wǎng)絡接口控制芯�,對于我國的�(jīng)濟和軍事�(fā)展具有極其重要的意義�
由于光纖通道標準是一簇十分龐大而復雜的�(xié)�,不同的特性適用于不同的應用環(huán)�;又因為光纖通道標準目前仍處于發(fā)展階�,標準的�(nèi)容還在做不停的變化,因此選用FPGA作為當前接口控制芯片的載體是一個非常合適的選擇。一方面對于不同的應用環(huán)�,可以對相應的功能模塊進行適當?shù)牟脺p,既能滿足應用需要又能降低成本;另一方面對于�(xié)議的變化,基于FPGA的實�(xiàn)也很容易就能對老版本設計進行更新�
1 �(xié)議分�
和OSI參考模型類�,光纖通道�(xié)議簇也是以分層的方式來組織各個協(xié)議的。其分層模型如圖1所��
作為�(shù)�(jù)傳輸�(xié)議,光纖通道支持許多上層�(xié)�,包括VIA、SCSI、IPv4、IPv6、SBCCS、ASM�。在為這些�(xié)議傳輸數(shù)�(jù)之前,需要先將待�(fā)送的�(shù)�(jù)映射成規(guī)定的格式,F(xiàn)C-4層實�(xiàn)這一映射,對于每一個支持的上層�(xié)�,都有一個映射協(xié)議與之相對應�
FC-3層是一個通用服務�,為映射層協(xié)議提供一系列通用服務。比較重要的幾個服務包括:交換注冊、端口注冊和注銷服務�
FC-2層是光纖通道�(xié)議中最重要的一層,定義了將�(shù)�(jù)塊進行端到端傳�?shù)�?guī)則和機制,包括不同類型的服務、幀格式定義、序列的分片和重�、交換管理、地址分配和多播管理等�
FC-1層定義了串行編碼和解碼規(guī)�,規(guī)定使�8B�10B編碼�
FC-0層是光纖通道�(xié)議的物理層規(guī)�,定義了�(fā)射機、接收機、傳輸介�(zhì)以及它們之間的接口�(guī)范。傳輸速率也在這里定義�
2 設計方案
通過對協(xié)議的分析得出,映射層�(xié)議和具體應用�(huán)境密切相關,應該由用戶自己實�(xiàn)。接口控制芯片在邏輯上可以分成三部分,即通用服務模塊、端到端IU傳輸和緩沖到緩沖幀傳輸;在實現(xiàn)方式上又可以分為軟件部分和硬件部�。接口控制芯片系�(tǒng)框圖如圖2所示�
�2左邊的PowerPC和存儲器控制器通過PLB總線互聯(lián)在一�,構(gòu)建了Linux操作系統(tǒng)和接口控制芯片的軟件部分的運行平��
PowerPC架構(gòu)中還包含了通用的OPB總線,用來進行外部設備的互�(lián)。OPB總線通過一個PLB-OPB橋連接到PLB總線,如�2右邊所�。連接到OPB總線的外部設備只有一�,也就是光纖通道傳輸��
用戶接口定義了接口控制芯片的用戶接口。根�(jù)應用�(huán)境的不同,這個模塊有不同的實�(xiàn)方法,如PCI或USB�
當用戶有�(shù)�(jù)需要發(fā)送時,通過接口控制芯片的用戶接口將�(shù)�(jù)按標準格式存入芯片內(nèi)部的�(shù)�(jù)存儲�,并通過設置相應的寄存器請求接口控制芯片的數(shù)�(jù)傳輸服務。然�,軟件代碼將�(shù)�(jù)接管過來,先為這次�(shù)�(jù)(IU)傳輸分配相應的軟件資�(交換狀�(tài)�、序列狀�(tài)塊等)用以記錄�(shù)�(jù)的發(fā)送狀�(tài)。等完成相應的處理后,PowerPC通過光纖通道傳輸核提供的接口通知傳輸核對�(shù)�(jù)進行處理,包括分�、成幀、CRC計算�8B�10B編碼等任��,傳輸核通過輸出引腳輸出高速串行數(shù)�(jù)去調(diào)制光�(fā)射機并發(fā)送到光纖鏈路�
當從輸入鏈路上接收到�(shù)�(jù)�,傳輸核首先對數(shù)�(jù)進行處理,包括位同步、串并轉(zhuǎn)��8B�10B解碼、字同步、有序集檢測、CRC校驗和幀提取。當有效幀接收到并存到接收緩沖區(qū)后,硬件模塊設置相應的寄存器通知Power-PC,然后PowerPC對接收到的幀進行處理,包括分配相應的軟件資源、幀重裝。當屬于一個序列的所有幀都正確接收完�,PowerPC通過用戶接口模塊通知用戶模塊,用戶模塊接收到�(shù)�(jù)后自行進行處理�
3 硬件設計
接口控制芯片的硬件部分也就是�2中的光纖通道傳輸�,負責將�(shù)�(jù)幀按標準規(guī)定的格式從發(fā)送緩沖區(qū)傳輸?shù)芥溌妨硪欢说慕邮站彌_區(qū)。為了正確有效地完成這個任�,接口控制芯片的硬件部分實現(xiàn)以下一些功能:緩沖到緩沖的流量控制、鏈路級別的差錯檢測和恢�、字同步、有序集檢測、幀提取�8B�10B編解碼和串并/并串轉(zhuǎn)換等功能。接口控制芯片的硬件部分功能框圖如圖3所��
3�1 �(fā)送控制邏�
�(fā)送控制邏輯的功能是控制幀、原語信號和原語序列的發(fā)送順�,使之符合光纖通道標準,主要包括保證連續(xù)幀之間具有足夠的間隔和在幀之間插入原語信號�
�(fā)送幀的CRC值也由發(fā)送控制邏輯計�,傳�(tǒng)的串行計算方法達不到要求的速率,這里采用并行CRC算法進行計算,每個時鐘有效沿可以計算32位數(shù)�(jù),大大提高了�(shù)�(jù)吞吐��
緩沖到緩沖流量控制也在發(fā)送控制邏輯中實現(xiàn)。發(fā)送控制邏輯維持一個計�(shù)�,表示當前已�(fā)送但還未被確認的幀的數(shù)�,每當發(fā)�1幀,計�(shù)器加1;當接收� R_RDY原語信號時,計數(shù)器減1。如果這個值小于配置寄存器中的BB_Credit值,則表示可以繼�(xù)�(fā)送幀;否則,表明目標端口已經(jīng)沒有可用的接收緩沖區(qū),發(fā)送控制邏輯此時就不往外發(fā)出幀�
3�2 接收控制邏輯
8B�10B解碼出來的數(shù)�(jù)是字節(jié)�(shù)�(jù),而所有的有序集都是字,因此需要在輸入的字節(jié)流中正確區(qū)分出字邊�。接收控制邏輯內(nèi)部的字同步模塊和接收狀�(tài)機協(xié)同工�,實�(xiàn)這一功能。標準規(guī)定的接收機狀�(tài)�(zhuǎn)換圖如圖4所��
3�3 8B�1 0B編解�
傳統(tǒng)的編解碼方法由數(shù)字邏輯實�(xiàn),主要是為了節(jié)省邏輯資�。由于FPGA�(nèi)含有豐富的RAM,使其作為編解碼的載體既可以降低復雜程度又可以提高編解碼的速度,待編碼的數(shù)�(jù)作為地址線輸�,編碼數(shù)�(jù)存在RAM�(nèi)從數(shù)�(jù)線輸出�
3�4 端口狀�(tài)�
作為鏈路級差錯檢測與恢復的核�,端口狀�(tài)機對收發(fā)鏈路的狀�(tài)進行�(jiān)測。每當鏈路狀�(tài)出現(xiàn)異常,端口狀�(tài)機就根據(jù)異常的起因啟動不同的鏈路恢復�(xié)議來對鏈路進行恢復。如果恢復失敗,那么端口狀�(tài)機就通過狀�(tài)寄存器向上層報告。出于版面的考慮,簡化的端口狀�(tài)機的狀�(tài)�(zhuǎn)換圖如圖5所��
3�5 其他模塊
異步FIFO:由于接口控制芯片的接收部分使用從接收數(shù)�(jù)中恢復出來的時鐘,因此和芯片的主時鐘是異步的。當將接收到的數(shù)�(jù)交給其他工作于主時鐘的模塊處理時需要進行速率�(diào)�。異步FIFO用于實現(xiàn)這個功�。串并/并串�(zhuǎn)換:高速的串并�(zhuǎn)換對器件性能有較高要�。FPGA�(nèi)部集成了專用的硬� (RocketIO)用來實現(xiàn)這一功能,因此對其進行適當?shù)呐渲眉纯?。這樣節(jié)省了專用的串并轉(zhuǎn)換芯��
配置寄存器存儲一系列的工作參�(shù),如(R_T_TOV、E_D_TOV�),復位后以默認值初始化寄存�。完成注冊后,使用新值更新寄存器�
光纖通道傳輸核通過狀�(tài)寄存器來表示自己當前所處的狀�(tài)(如在線、離線等)�
4 軟件設計
接口控制芯片的軟件部分負責進行參數(shù)�(xié)商和處理與端到端�(shù)�(jù)傳輸相關的事�,包括端口注冊和交換注冊、提供不同類型的服務、端到端流量控制、序列級差錯檢測和恢��
為了簡化軟件的設計,以嵌人式Linux操作系統(tǒng)作為接口控制芯片的軟件運行環(huán)�。通過設計一系列的操作函�(shù),實�(xiàn)整個軟件系�(tǒng)。最重要的函�(shù)包括:端口注冊函�(shù)、IU�(fā)送函�(shù)和接收幀處理函數(shù)�
4�1 端口注冊函數(shù)PLogin_in()
注冊包含端口注冊和交換注冊。兩種注冊的流程類似,這里僅分析端口注�。系�(tǒng)啟動后,需要對芯片的工作參�(shù)進行配置,注冊函�(shù)根據(jù)用戶的配置選擇注冊方�。如果用戶指定隱式注冊,那么注冊函數(shù)從配置文件中讀取默認配置參�(shù)配置芯片;如果用戶指定顯式注冊,那么注冊函數(shù)�(fā)送注冊請�,等對方端口返回響應�,注冊函�(shù)用響應的�(shù)�(jù)配置參數(shù)。端口注冊函�(shù)的工作流程如�6所示�
4�2 IU�(fā)送函�(shù)Sen
4�3 接收幀處理函數(shù)Frm_Rcved()
當光纖通道傳輸核將正確的幀接收到并存儲于接收緩沖區(qū)�,通過狀�(tài)接口通知PowerPC。此時Frm_Rcved()函數(shù)開始處理幀�,幀頭中需要檢查的參數(shù)很多,這里不在贅述。如果幀頭中的參�(shù)沒有錯誤,那么函�(shù)為這個新接收到的幀分配存儲空間,然后從接收緩沖區(qū)中將幀取到存儲器中,并以一定的方式和之前接收到的幀關聯(lián)起來(例如鏈表);如果幀頭中的參�(shù)有誤,則將幀丟棄并啟動中止序列協(xié)議進行序列恢復�
�(jié) �
本文提出的方案以嵌入式技術和FPGA技術為基礎,使其具有極大的靈活性和可擴展�。在不同的應用環(huán)境中只需要對相應的軟硬件代碼進行適當?shù)牟脺p或擴展即可,無需對PCB電路進行任何更改,具有極其廣泛的應用價值�
維庫電子�,電子知�,一查百��
已收錄詞�160558�