你的位置:首頁 > 測試測量 > 正文

設(shè)計分享:采用上位機與FPGA開發(fā)板的光纖通道接口適配器設(shè)計

發(fā)布時間:2014-09-23 責(zé)任編輯:echolady

【導(dǎo)讀】存儲技術(shù)的日新月異推動了存儲容量的迅速增長,存儲系統(tǒng)的數(shù)據(jù)傳輸速度成為阻礙。光纖的傳輸在速度上存在優(yōu)勢,然而,在光纖傳輸被光纖通道接口限制,因此接口的設(shè)計成為光纖通道應(yīng)用于高速數(shù)據(jù)傳輸?shù)囊粋€關(guān)鍵技術(shù)所在,本文對有效地解決高數(shù)據(jù)傳輸在接口處的瓶頸具有現(xiàn)實意義。

1、方案設(shè)計

完整的實現(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)的傳輸過程。

2、設(shè)計的具體實現(xiàn)

2.1 協(xié)議的分析與與裁剪

針對不同的應(yīng)用環(huán)境應(yīng)當(dāng)對FC協(xié)議進行適當(dāng)?shù)牟眉簦M可能地有效利用協(xié)議標(biāo)準(zhǔn)。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ù)幀與響應(yīng);多播與廣播;分段與重組;差錯檢測與回復(fù)。
(4)FC-3:基本鏈路服務(wù);擴展鏈路服務(wù);查詢組。
(5)FC-4:映射上層協(xié)議,本文主要是映射MILstd-1553B協(xié)議。

2.2 軟件編程中各模塊的代碼的設(shè)計

軟件實現(xiàn)的設(shè)計部分:GUI模塊設(shè)計、設(shè)備抽象層的設(shè)計、任務(wù)處理模塊的設(shè)計、FC的協(xié)議及物理功能模塊的設(shè)計。

(1)GUI部分主要是顯示作用,可以對接口適配器的相關(guān)參數(shù)進行設(shè)置和界面顯示。GUI模塊設(shè)計內(nèi)容有:整體界面、鏈路參數(shù)區(qū)、鏈路建立區(qū)、信息顯示區(qū)。
(2)設(shè)備抽象層的設(shè)計。該部分在于屏蔽下層不同物理設(shè)備間的差異;提供較為簡便的方式,使上層模塊同邏輯進行通信。本層需要提供對上層支持的設(shè)備操作接口及在內(nèi)部通過封裝WinDriver驅(qū)動提供的功能接口,實現(xiàn)對上層的功能支持。
(3)任務(wù)處理模塊的設(shè)計。主要實現(xiàn)對鏈路和數(shù)據(jù)各自的不同的任務(wù)操作情況。鏈路數(shù)據(jù)區(qū)與文件數(shù)據(jù)區(qū)分別需要保存各自的任務(wù)數(shù)據(jù)及狀態(tài),另外,它是 GUI模塊變更LIST的依據(jù),從而還需要保存下層協(xié)議所具備的狀態(tài)及數(shù)據(jù)。
(4)FC協(xié)議及物理功能模塊的設(shè)計。該部分主要描述任務(wù)發(fā)送協(xié)議與鏈路建立協(xié)議。

①鏈路建立的注冊過程:數(shù)據(jù)傳輸前,需要通過注冊建立發(fā)送端與接收端的鏈路。首先,發(fā)送端把待注冊的地址ID等信息嵌入幀信息中,發(fā)送幀信息給接收端;然后,接收端收到幀信息后,解讀出相關(guān)的信息,若符合幀的完整性等檢查,則兩端建立鏈路。若不滿足相關(guān)檢
查則終止該次注冊過程。
②鏈路的注銷過程:當(dāng)需要注銷鏈路時,首先,發(fā)送端把待注銷的地址ID等信息嵌入幀信息中,發(fā)送幀信息給接收端;然后,接收端收到幀信息后,解讀出相關(guān)的信息,若符合幀的完整性等檢查,則兩端注銷鏈路,若不滿足相關(guān)檢查則終止該次注銷過程。
③數(shù)據(jù)傳輸過程:數(shù)據(jù)傳輸是鏈路建立的根本目的

2.3 Virtex-5開發(fā)板的底層保證

(1)系統(tǒng)構(gòu)造邏輯設(shè)計主要完成以下幾點功能:控制PCIE硬核實現(xiàn)與上層軟件交互;對上層傳輸數(shù)據(jù)加CRC校驗;完成FC鏈路初始化過程;完成FC流控功能;完成FC-2差錯處理;控制ROCKET I/O把上層軟件數(shù)據(jù)通過ROCKET I/O發(fā)送;控制ROCKET、I/O把接收恢復(fù)的數(shù)據(jù)傳輸?shù)缴蠈榆浖?br />
(2)邏輯設(shè)計的模塊組成:底層邏輯控制模塊主要完成FC物理層通信,它主要包括發(fā)送模塊、接收模塊和PCIE控制模塊三部分,每個模塊又根據(jù)功能不同劃分多個子模塊,在PCIE控制模塊中,有一些緩存來存放接收模塊傳送過的數(shù)據(jù)和相應(yīng)的數(shù)據(jù)信息,發(fā)送模塊也會從PCIE控制模塊的緩存中讀取數(shù)據(jù)傳送出去,其原理框圖如圖3所示。
 
數(shù)據(jù)發(fā)送模塊 該模塊通過讀取上位機的狀態(tài)信息來發(fā)送不同的信息,當(dāng)ACK使能時,該模塊發(fā)ACK,當(dāng)數(shù)據(jù)使能時,該模塊就發(fā)送固定幀數(shù)的數(shù)據(jù),發(fā)送的數(shù)據(jù)是從緩存中讀取,CRC由該模塊添加??臻e時就發(fā)送IDLE碼。

數(shù)據(jù)接收模塊 接收模塊包括接收控制模塊、CRC模塊和臨時緩存模塊。主要完成數(shù)據(jù)和鏈路控制幀以及準(zhǔn)備信號的接收,并實現(xiàn)CRC校驗,根據(jù)幀頭來判斷不同類型的數(shù)據(jù)幀或控制幀,并存入緩存中,同時將幀的相關(guān)信息也放入相應(yīng)的緩存中。

PCIE接口控制模塊 該模塊主要根據(jù)PCIE總線上的地址對應(yīng)的寄存器的值,譯碼成相應(yīng)的使能把PCIE總線上數(shù)據(jù)寫入相應(yīng)的數(shù)據(jù)發(fā)送buf-f,ACK發(fā)送 buff反之根據(jù)邏輯輸入的使能,譯碼成對應(yīng)的PCIE總線上對應(yīng)地址的對應(yīng)寄存器的值,并把數(shù)據(jù)接收的buffACK接收buff數(shù)據(jù)寫入相應(yīng)的 PCIE地址上。

2.4 最終實現(xiàn)

通過上位機與FPGA開發(fā)板的結(jié)合,實現(xiàn)了光纖通道接口適配器的高速性。

3、結(jié)語

結(jié)合上位機與FPGA開發(fā)板,使光纖通道在高速數(shù)據(jù)傳輸過程中接口處的設(shè)計得以實現(xiàn)。雖然該設(shè)計是結(jié)合上位機配合FPGA的形式才實現(xiàn)的,但從設(shè)計思路的角度而言,在實際開發(fā)光纖通道接口適配器方面具有借鑒意義。
  
相關(guān)閱讀:

光纖光柵傳感器的研究與應(yīng)用
光纖活動連接器進網(wǎng)質(zhì)量檢驗中常見問題及分析
光纖連接器原理分類和應(yīng)用詳解

要采購開發(fā)板么,點這里了解一下價格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
?

關(guān)閉

?

關(guān)閉