《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于上位機(jī)與FPGA開發(fā)板的光纖通道接口適配器
基于上位機(jī)與FPGA開發(fā)板的光纖通道接口適配器
摘要: 隨著存儲(chǔ)技術(shù)的迅速發(fā)展,,存儲(chǔ)容量得到了迅速的增長(zhǎng),存儲(chǔ)系統(tǒng)的數(shù)據(jù)傳輸速度成為了主要的瓶頸,。光纖的傳輸具有其速度上的優(yōu)勢(shì),,然而,在光纖傳輸要受到光纖通道接口的限制,,因此光纖通道應(yīng)用于高速數(shù)據(jù)傳輸?shù)囊粋€(gè)關(guān)鍵技術(shù)問題是接口的設(shè)計(jì)問題,,本文對(duì)有效地解決高數(shù)據(jù)傳輸在接口處的瓶頸具有現(xiàn)實(shí)意義?! ? 方案設(shè)計(jì)  完整的實(shí)現(xiàn)要包含PC機(jī)軟件編程,、Virtex-5開發(fā)板的底層鏈路實(shí)現(xiàn)。PC機(jī)的軟件編寫主要實(shí)現(xiàn)鏈路的創(chuàng)建注銷控制,、數(shù)據(jù)的組幀,、數(shù)據(jù)的傳輸控制、傳輸過程中的顯示;VirteX-5開發(fā)板主要實(shí)現(xiàn)數(shù)據(jù)的鏈路貫通,、支持上位機(jī)所定義的幀結(jié)構(gòu)的傳輸過程,。     如圖1所示,,接口適配器功能實(shí)現(xiàn)過程主要包含協(xié)議的正確理解,,按照協(xié)議的幀結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)的組織、具體的實(shí)現(xiàn)模塊的設(shè)計(jì)與編寫,、結(jié)合VirteX-5底層鏈路的貫通實(shí)現(xiàn)光纖通信接口適配器功能,。 
Abstract:
Key words :

  隨著存儲(chǔ)技術(shù)的迅速發(fā)展,,存儲(chǔ)容量得到了迅速的增長(zhǎng),,存儲(chǔ)系統(tǒng)的數(shù)據(jù)傳輸速度成為了主要的瓶頸。光纖的傳輸具有其速度上的優(yōu)勢(shì),,然而,,在光纖傳輸要受到光纖通道接口的限制,因此光纖通道應(yīng)用于高速數(shù)據(jù)傳輸?shù)囊粋€(gè)關(guān)鍵技術(shù)問題是接口的設(shè)計(jì)問題,,本文對(duì)有效地解決高數(shù)據(jù)傳輸在接口處的瓶頸具有現(xiàn)實(shí)意義,。

  1 方案設(shè)計(jì)

  完整的實(shí)現(xiàn)要包含PC機(jī)軟件編程、Virtex-5開發(fā)板的底層鏈路實(shí)現(xiàn),。PC機(jī)的軟件編寫主要實(shí)現(xiàn)鏈路的創(chuàng)建注銷控制,、數(shù)據(jù)的組幀、數(shù)據(jù)的傳輸控制、傳輸過程中的顯示;VirteX-5開發(fā)板主要實(shí)現(xiàn)數(shù)據(jù)的鏈路貫通,、支持上位機(jī)所定義的幀結(jié)構(gòu)的傳輸過程,。

  

  如圖1所示,接口適配器功能實(shí)現(xiàn)過程主要包含協(xié)議的正確理解,,按照協(xié)議的幀結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)的組織,、具體的實(shí)現(xiàn)模塊的設(shè)計(jì)與編寫、結(jié)合VirteX-5底層鏈路的貫通實(shí)現(xiàn)光纖通信接口適配器功能,。

  2 設(shè)計(jì)的具體實(shí)現(xiàn)

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

  針對(duì)不同的應(yīng)用環(huán)境應(yīng)當(dāng)對(duì)FC協(xié)議進(jìn)行適當(dāng)?shù)牟眉?,盡可能地有效利用協(xié)議標(biāo)準(zhǔn)。FC協(xié)議是一個(gè)具有五層組成的協(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ī)定了光纖通道的傳輸機(jī)制:

  有序集的檢測(cè)與識(shí)別;FC端口狀態(tài)機(jī);幀的發(fā)送與接收,幀接收時(shí)要進(jìn)行有效性檢查;流量控制;幀管理;交換與序列管理;數(shù)據(jù)幀與響應(yīng);多播與廣播;分段與重組;差錯(cuò)檢測(cè)與回復(fù),。

  (4)FC-3:基本鏈路服務(wù);擴(kuò)展鏈路服務(wù);查詢組,。

  (5)FC-4:映射上層協(xié)議,本文主要是映射MILstd-1553B協(xié)議,。

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

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

  (1)GUI部分主要是顯示作用,可以對(duì)接口適配器的相關(guān)參數(shù)進(jìn)行設(shè)置和界面顯示,。GUI模塊設(shè)計(jì)內(nèi)容有:整體界面,、鏈路參數(shù)區(qū)、鏈路建立區(qū),、信息顯示區(qū),。

  (2)設(shè)備抽象層的設(shè)計(jì)。該部分在于屏蔽下層不同物理設(shè)備間的差異;提供較為簡(jiǎn)便的方式,,使上層模塊同邏輯進(jìn)行通信,。本層需要提供對(duì)上層支持的設(shè)備操作接口及在內(nèi)部通過封裝WinDriver驅(qū)動(dòng)提供的功能接口,實(shí)現(xiàn)對(duì)上層的功能支持。

  (3)任務(wù)處理模塊的設(shè)計(jì),。主要實(shí)現(xiàn)對(duì)鏈路和數(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è)計(jì),。該部分主要描述任務(wù)發(fā)送協(xié)議與鏈路建立協(xié)議,。

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

  查則終止該次注冊(cè)過程,。

 ?、阪溌返淖N過程:當(dāng)需要注銷鏈路時(shí),首先,,發(fā)送端把待注銷的地址ID等信息嵌入幀信息中,,發(fā)送幀信息給接收端;然后,接收端收到幀信息后,,解讀出相關(guān)的信息,,若符合幀的完整性等檢查,則兩端注銷鏈路,,若不滿足相關(guān)檢查則終止該次注銷過程,。

  ③數(shù)據(jù)傳輸過程:數(shù)據(jù)傳輸是鏈路建立的根本目的,,簡(jiǎn)化的數(shù)據(jù)傳輸過程如圖2所示,。

  

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

  (1)系統(tǒng)構(gòu)造邏輯設(shè)計(jì)主要完成以下幾點(diǎn)功能:

  控制PCIE硬核實(shí)現(xiàn)與上層軟件交互;對(duì)上層傳輸數(shù)據(jù)加CRC校驗(yàn);完成FC鏈路初始化過程;完成FC流控功能;完成FC-2差錯(cuò)處理;控制ROCKET I/O把上層軟件數(shù)據(jù)通過ROCKET I/O發(fā)送;控制ROCKET、I/O把接收恢復(fù)的數(shù)據(jù)傳輸?shù)缴蠈榆浖?/p>

  (2)邏輯設(shè)計(jì)的模塊組成:底層邏輯控制模塊主要完成FC物理層通信,,它主要包括發(fā)送模塊,、接收模塊和PCIE控制模塊三部分,每個(gè)模塊又根據(jù)功能不同劃分多個(gè)子模塊,,在PCIE控制模塊中,,有一些緩存來存放接收模塊傳送過的數(shù)據(jù)和相應(yīng)的數(shù)據(jù)信息,,發(fā)送模塊也會(huì)從PCIE控制模塊的緩存中讀取數(shù)據(jù)傳送出去,其原理框圖如圖3所示,。

  

  數(shù)據(jù)發(fā)送模塊 該模塊通過讀取上位機(jī)的狀態(tài)信息來發(fā)送不同的信息,,當(dāng)ACK使能時(shí),該模塊發(fā)ACK,,當(dāng)數(shù)據(jù)使能時(shí),,該模塊就發(fā)送固定幀數(shù)的數(shù)據(jù),發(fā)送的數(shù)據(jù)是從緩存中讀取,,CRC由該模塊添加,。空閑時(shí)就發(fā)送IDLE碼,。

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

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

  2.4 最終實(shí)現(xiàn)

  通過上位機(jī)與FPGA開發(fā)板的結(jié)合,實(shí)現(xiàn)了光纖通道接口適配器的高速性,。傳輸效果圖如圖4所示,。

  

  3 結(jié)語

  通過上位機(jī)與FPGA開發(fā)板的結(jié)合,模擬并實(shí)現(xiàn)了光纖通道在高速數(shù)據(jù)傳輸過程中接口處的設(shè)計(jì),。盡管該設(shè)計(jì)是上位機(jī)配合FPGA的形式實(shí)現(xiàn),,但僅就設(shè)計(jì)思路而言,對(duì)于實(shí)際開發(fā)光纖通道接口適配器具有一定的借鑒意義,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。