本發明涉及高速串行總線通信與測試技術領域,尤指一種光纖通道協議通用仿真測試卡及其數據交互方法。
背景技術:
FC(Fibre Channel光纖通道協議)的制定開始于1988年,由美國國家標準委員會ANSI X3T11小組負責。目前已形成了一個龐大的協議族,并且還在不斷地更新與完善。近年來,我國也開始大力研究FC協議相關高速互聯技術,并連續發布了《GJB6410–2008光纖通道物理和信號接口FC-PH》、《GJB6411–2008光纖通道航空電子環境FC-AE》等一系列FC協議標準,并且已經廣泛應用于多種型號的航空航天器內部電子通信網絡系統中。
FC協議網絡是綜合計算機通道和數據網絡概念提出的一個不同于傳統的通道和網絡結構的互連方案。是一種具有高實時性、可靠性、帶寬、性價比的開放式通信技術,采用通道計數控制信號傳輸,使用交換或仲裁環拓撲處理介質訪問沖突,采用信用策略控制網絡流量。其主要特點如下:
1)采用全雙工高速串行總線接口;
2)常用速率為1.0625/2.125/4.25Gbps,并可隨著物理接口與傳輸介質的升級,能達到8/16Gbps的高帶寬;
3)傳輸介質使用波長850nm的多模光纖或1310nm的單模光纖,無中繼理論傳輸距離分別可達到500m與15km,具備超高抗電磁干擾能力;
4)誤碼率優于10-12,線路傳輸延時優于5us/km;
5)有效帶寬比高,采用8B/10B編碼,單幀數據包負載最大可達2112Byte,理論有效帶寬優于端口速率的75%;
6)支持點到點,仲裁環,交換網等多種網絡拓撲結構,組網靈活;
7)支持全網時鐘同步,時鐘同步精度優于0.1us;
8)高層協議種類豐富,定義完整。分布式網絡協議代表為FC-AE-ASM(匿名簽署消息傳輸協議),集中控制式網絡協議代表為FC-AE-1553(MIL-STD-1553高層FC映射協議)。
目前,國內FC光纖通道協議的各種應用已逐漸展開,并呈熱烈上升趨勢。尤其是軍用領域方面,航空航天系統都開始為下一代新型航天器考慮具備更高帶寬、更高可靠性、更好抗輻噪性能、多上層協議并行使用的通訊主干網絡。目前,以FC-AE-ASM、FC-AE-1553、FC-AV、ARINC818為代表的FC協議或類FC協議通訊設備,已經在各個航空航天及相關領域的研究所與供應商處出現非常頻繁。
FC協議總線通信產品的增多,勢必帶來大量的協議一致性驗證、智能通信模擬、通信性能評估、實時數據監控、通信過程記錄與回放等諸多FC協議總線相關的仿真測試需求。
技術實現要素:
以下是對本文詳細描述的主題的概述。本概述并非是為了限制權利要求的保護范圍。
本發明實施例提供了一種光纖通道協議通用仿真測試卡及其數據交互方法,能夠滿足與FC協議總線相關的仿真測試需求。
為了實現上述目的,本發明實施例提供了一種光纖通道協議通用仿真測試卡,與宿主計算機配合實現仿真測試功能,包括:
現場可編程門陣列FPGA單元,用于按照預設的應用需求實現控制邏輯功能;
光模塊接口單元SFP,用于收發鏈路光信號,并將接收到的光信號轉化為串行數字信號供FPGA單元處理,同時將來自FPGA單元的串行數字信號轉化為光信號發送至光纖鏈路;
邊沿連接器,一端連接測試卡所插入的宿主計算機背板的總線接口PCI-E插槽,另一端與FPGA單元連接,用于實現測試卡與測試卡所插入的宿主計算機之間的高速數據交換;
同步動態隨機存儲器SDRAM,固定的板上外部存儲芯片,用于FPGA單元內部微處理器PowerPC的指令與數據存儲;
配置電路,用于FPGA單元的上電加載配置,為非易失性閃存芯片;
閃存單元,用于FPGA單元內PowerPC的上電加載配置,為非易失性閃存芯片;
時鐘單元,用于提供高精度有源時鐘,生成供各個電路模塊使用的時鐘源;
聯合測試工作組JTAG接口,用于供FPGA下載配置及用于PowerPC調試使用。
可選的,所述聯合測試工作組JTAG接口共有3套,其中一套供FPGA下載配置專用,另外兩套用于PowerPC調試使用。
可選的,所述時鐘單元提供的高精度有源時鐘為25MHz。
可選的,所述光纖通道協議通用仿真測試卡還包括以下模塊的一種或者兩種以上的組合:
雙列直插式存儲模塊DIMM條式連接用插槽,用于FPGA單元的大容量外部數據存儲;
前面板LED,用于提供雙通道光口工作狀態標識;
擴展接口單元,用于自定義多用接口,包括國際通用時間格式碼IRIG-B信號、外部觸發輸入、觸發輸出信號。
可選的,所述FPGA單元包括以下子模塊中的一種或者兩種以上的任意組合:
第一編碼模塊GTX_0以及第二編碼模塊GTX_1,用于收發光信號,并實現光信號與串行數據信號之間的相互轉換;
路由模塊,為FPGA兩個通道提供可變的對外數據流拓撲結構,可實現兩個通道并行、交叉、內回環等類型的數據路由;
第一主邏輯模塊Port_0或第二主邏輯模塊Port_1,用于按照預設的應用需求實現控制邏輯功能,
PCI-E IP核模塊,用于FGPA單元與上位機PCI-E總線連接的接口模塊,直接用IP核例化;
通道數據緩沖及仲裁邏輯模塊,用于調度第一主邏輯模塊Port_0與第二主邏輯模塊Port_1兩個邏輯模塊對PCI-E總線之間的數據流,解決多端口之間數據傳輸的沖突。
可選的,所述FPGA單元還包括:
擴展模塊,用于預留給擴展功能模塊及接口。
可選的,所述第一主邏輯模塊Port_0或第二主邏輯模塊Port_1包括以下子模塊的任意組合:接收緩沖區、發送緩沖區、發送隊列管理模塊、國際通用時間格式碼IRIG模塊、寄存器組、直接內存存取DMA控制器、監控數據預處理模塊、緩沖對緩沖BB信用緩沖區、端對端EE信用緩沖區、鏈路控制邏輯模塊、幀建立模塊、故障注入模塊、發送隊列管理模塊、發送緩沖區、微處理器PPC中斷控制器、同步動態隨機存儲器SDRAM控制器、雙倍速率同步動態隨機存儲器DDR2控制器、通道數據緩沖區、本地自定義總線Local Bus、管道突發式緩存PLB;其中,
所述接收緩沖區,用于接收來自路由模塊的數據流并緩存,分別提供給監控數據預處理模塊、BB信用緩沖區、故障注入模塊,供監控數據通路、鏈路控制通路、故障注入通路使用;
所述發送緩沖區,用來緩存來自發送隊列管理模塊的數據流,對齊、整理并發送至路由模塊;
所述IRIG模塊,用于生成IRIG時標,還用于實現收發與處理外部同步信號;
所述寄存器組,具有與基址寄存器PCI-E BAR空間映射地址的寄存器集合;
所述DMA控制器,用于本地自定義總線Local Bus上各子模塊之間的數據流控制;
所述監控數據預處理模塊,用于接收和緩沖鏈路數據,經分類、壓縮以及對齊處理,添加時標和附加信息之后,發送至DDR2內或直接發送至通道數據緩沖區;
所述BB信用緩沖區,用于接收具有幀結構的光纖通道協議FC報文和鏈路響應原語,進行緩沖區對緩沖區流控判斷,并提示幀建立模塊生成適當的鏈路響應原語;
所述EE信用緩沖區,用于接收具有幀結構的FC報文,進行端到端緩沖區流控判斷,并提示幀建立模塊生成適當的FC響應幀;
所述鏈路控制邏輯模塊,用于根據鏈路上接收到的用于協議層鏈路控制的原語序列及幀報文,執行相應的鏈路復位或控制協議,并提示幀建立模塊生成適當的FC響應原語序列或響應幀;
所述幀建立模塊,用于根據BB信用緩沖區、EE信用緩沖區、鏈路控制邏輯模塊發送的組幀或組原語請求,并根據對應狀態寄存器的內容生成適當的FC報文,然后按約定的順序發送至發送隊列管理模塊;
所述故障注入模塊,用于根據簡介觸發器Trigger寄存器的匹配指示和故障注入策略寄存器的指示,對接收到的鏈路原始報文進行實時故障注入行為,然后將修改后的報文發送至發送隊列管理模塊;
所述發送隊列管理模塊,用于接收和緩沖來自多個模塊的發送報文,并根據約定規則排序并發送至發送緩沖區,在故障注入模式下,還負責報文長度匹配機制的管理;
所述發送緩沖區,接收并緩沖來自發送隊列管理模塊的報文,然后發送至路由模塊;
所述微處理器PPC中斷控制器,用于管理作用于PowerPC的中斷信號;
所述SDRAM控制器,用于提供訪問FPGA外部SDRAM芯片的接口模塊;
所述DDR2控制器,用于提供訪問FPGA外部DDR2SDRAM芯片的接口模塊;
所述通道數據緩沖區,用于管理和緩沖單個通道的主邏輯模塊對于PCI-E總線接口模塊的上行和下行數據流;
所述Local Bus,用于連接多個子模塊的數據、地址以及控制信號的自定義內部總線;
所述PLB,用于連接PowerPC與其相關子模塊的內部總線。
本發明實施例還提供了一種光纖通道協議通用仿真測試卡數據交互方法,用于進行上行數據交互,所述方法包括:
1)上電后上位機驅動申請內存Mem空間,并建立與之對應的地址表,包括上行地址表與下行地址表;
2)上位機驅動以寄存器映射訪問BAR方式向FPGA單元分別寫入上行地址表與下行地址表的物理地址和長度;
3)上位機驅動以BAR方式通知FPGA單元地址表生效;
4)FPGA單元以直接存儲器訪問DMA方式讀取512B的地址表;
5)FPGA單元當判斷到Mem地址的OwnerBit為1時,向該Mem地址入口寫入數據,當判斷到Mem地址的OwnerBit為0時,FPGA單元向上位機發中斷,表示無可用Mem資源,直到上位機下發Mem資源可用通知;
6)FPGA以DMA方式更新地址表,包括修改已使用的Mem地址的地址表的OwnerBit信息;
7)FPGA向上位機發中斷,表示一次上行數據訪問完成;
8)上位機驅動以中斷為信號,對更新過的地址表中OwnerBit為0的Mem地址空間進行讀操作,讀取數據并更新相應地址的OwnerBit,置1以釋放空間;
9)FPGA地址指針指向上一次DMA結束后的下一個Mem地址入口,當繼續有上傳數據需求,且上一次申請的64個地址入口沒有用完,則重復步驟5~8;當64個地址入口用完且仍有數據要傳輸,FPGA執行步驟4,然后執行步驟5~8。
本發明實施例還提供了一種光纖通道協議通用仿真測試卡數據交互方法,用于進行下行數據交互,所述方法包括:
1)上電后上位機驅動申請Mem空間,并建立與之對應的地址表,包括上行地址表與下行地址表;
2)上位機驅動以BAR方式向FPGA單元分別寫入上行地址表與下行地址表的物理地址和長度;
3)上位機按地址表順序向對應Mem空間寫數據;
4)上位機置地址表對應的OwnerBit為0;
5)上位機驅動以BAR方式,通知FPGA單元有下行數據;
6)FPGA單元以DMA方式,讀取512B的地址表;
7)FPGA單元根據地址表中OwnerBit為0的地址做定長DMA,讀取對應Mem空間的數據;
8)FPGA單元以DMA方式,更新地址表,置上次所讀取Mem空間地址的OwnerBit為1;
9)上位機判斷到要使用的下一個地址入口OwnerBit為0時,暫時停止寫數據并等待,間隔設定時間后再次查詢地址入口的OwnerBit情況,直到OwnerBit為1,然后重復步驟3~8,或者超時報錯。
與現有技術相比,本發明實施例提供了基于PCIe×8接口的高性能、雙端口FC光纖通道協議通用仿真測試卡,作為一款多功能高智能的FC接口測試模塊,可針對基于光纖通道協議的節點和交換通信測試和檢驗,提供數據生成、仿真和監視、以及分析功能。具體來說,本發明實施例提供的FC光纖通道協議通用仿真測試卡具備端口配置、數據生成和仿真、數據監視、FC-4層協議分析、視頻接口擴展等多項功能。能夠提供豐富的觸發和過濾功能,方便用戶對光纖通道接口進行仿真和測試,基于該通用仿真測試卡可為用戶構建基于FC協議的通用開發、實驗、測試、分析、監控平臺,適于構建FC統一網絡的仿真測試應用,可以滿足用戶的多種應用需求。
在閱讀并理解了附圖和詳細描述后,可以明白其他方面。
附圖說明
附圖用來提供對本申請技術方案的進一步理解,并且構成說明書的一部分,與本申請的實施例一起用于解釋本申請的技術方案,并不構成對本申請技術方案的限制。在附圖中:
圖1為本發明實施例提供的光纖通道協議通用仿真測試卡的結構示意圖。
圖2為本發明實施例提供的FPGA單元結構示意圖。
圖3為本發明實施例提供的FPGA單元所包括的第一主邏輯模塊Port_0或者第二主邏輯模塊Port_1內包含的子模塊示意圖。
圖4為本發明實施例提供的上行數據交互流程圖。
圖5為本發明實施例提供的下行數據交互流程圖。
圖6為本發明實施例提供的FPGA內部數據流示意圖。
圖7為本發明實施例提供的ULP(Upper Level Protocol,高層協議)數據塊的分割與重組示意圖。
本申請目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。
具體實施方式
應當理解,此處所描述的具體實施例僅僅用以解釋本申請,并不用于限定本申請。
現在將參考附圖描述實現本發明各個實施例的數據采集模塊。在后續的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本申請的說明,其本身并沒有特定的意義。因此,“模塊”與“部件”可以混合地使用。
實施例1
圖1為本發明實施例提供的光纖通道協議通用仿真測試卡結構示意圖,如圖1所示,本實施例提供的光纖通道協議通用仿真測試卡,包括:
FPGA(Field-Programmable Gate Array,即現場可編程門陣列)單元,用于按照預設的應用需求實現控制邏輯功能;
光模塊接口單元SFP,用于收發鏈路光信號,并將接收到的光信號轉化為串行數字信號供FPGA單元處理,同時將來自FPGA單元的串行數字信號轉化為光信號發送至光纖鏈路;
邊沿連接器,一端連接測試卡所插入的宿主計算機背板的PCI-E(總線接口)插槽,另一端與FPGA單元的編碼模塊GTX接口連接,用于實現測試卡與測試卡所插入的宿主計算機之間的高速數據交換。
所述邊沿連接器為8通道PCI-E印制板邊沿連接接口。
SDRAM(Synchronous Dynamic Random Access Memory,同步動態隨機存儲器),固定的板上外部存儲芯片,用于FPGA內部位微處理器的指令與數據存儲;兩個通道。
配置電路,用于FPGA的上電加載配置,為非易失性閃存芯片;
閃存單元,用于FPGA內PowerPC的上電加載配置,為非易失性閃存芯片,
時鐘單元:用于提供高精度有源時鐘,并搭配PLL(Phase Locked Loop,鎖相回路或鎖相環)電路,生成供各個電路模塊使用的時鐘源。所述高精度有源時鐘為25MHz。
JTAG(Joint Test Action Group,聯合測試工作組)接口:3套JTAG接口。其中一套供FPGA下載配置專用,另外兩套用于PowerPC調試使用。
在本實施例中,所述纖通道協議通用仿真測試卡還包括:
DIMM(Dual-Inline-Memory-Modules,即雙列直插式存儲模塊)條式連接用插槽,用于FPGA的大容量外部數據存儲;
可自由擴展內存條容量,兩個通道。
在本實施例中,所述纖通道協議通用仿真測試卡還包括:
前面板LED:兩套彩色LED指示燈,提供直觀的雙通道光口工作狀態標識。
在本實施例中,所述纖通道協議通用仿真測試卡還包括:
擴展接口單元,用于自定義多用接口,包括IRIG-B(國際通用時間格式碼)信號、外部觸發輸入、觸發輸出信號,對內與FPGA連接。
實施例2
參照圖2所示,為本發明實施例提供的FPGA單元結構示意圖。本發明實施例提供的FC通用仿真測試卡采用雙光口雙通道結構設計。因此,FPGA單元內部包含兩套主邏輯模塊,分別對應于兩個通道,如圖2所示,兩套主邏輯模塊分別為第一主邏輯模塊Port_0和第二主邏輯模塊Port_1,這兩套主邏輯模塊內部邏輯完全相同。除了以上兩個主邏輯模塊外,FPGA單元內還包括路由模塊,以及PCI-E IP核模塊,用于實現板卡硬件與宿主計算機之間的通信;還包括與PCI-E核對應的通道數據緩沖與仲裁邏輯模塊;還包括充當FC通道編碼層的兩個GTX模塊(第一編碼模塊GTX_0、第二編碼模塊GTX_1),用于實現板卡硬件對光纖傳輸介質的電-光信號編碼與轉化,還包括擴展模塊。
參照圖2所示,以下詳細描述各個模塊的功能。
首先需要說明的是,IP核例化是指將事先定義好的,能實現特定功能的FPGA代碼,以特定的流程添加到使用者的設計方案中,并實現該特定功能的過程。
所述第一編碼模塊GTX_0以及第二編碼模塊GTX_1,第一編碼模塊GTX_0模塊與第一光纖接口SFP_0和路由模塊直接接口,第二編碼模塊GTX_1模塊與第二光纖接口SFP_1和路由模塊直接接口,是FPGA內部直接例化的IP核模塊,用于對外連接實施例1中所述的光模塊SFP接口單元,收發光信號,并實現光信號與串行數據信號之間的相互轉換。另外實現FC通道的FC-1編碼層功能,為主邏輯模塊提供32位(或40位)的并行數據的收發功能;
路由模塊,為FPGA兩個通道提供可變的對外數據流拓撲結構。根據上層軟件配置,可實現兩個通道并行、交叉、內回環等類型的數據路由;
第一主邏輯模塊Port_0(或第二主邏輯模塊Port_1):按照預設的應用需求實現控制邏輯功能,包括部分FC-2層協議、故障注入、鏈路數據緩沖與預處理等子模塊。同時,還包含對SDRAM、DDR2、Flash、JTAG、擴展接口等FPGA外部設備的接口子模塊;
PCI-E IP核模塊,用于FGPA與上位機PCI-E總線連接的接口模塊,直接用IP核例化,使本發明實施例的測試卡可被上位機識別為一個PCI-E設備;
通道數據緩沖及仲裁邏輯模塊,用于調度第一主邏輯模塊Port_0與第二主邏輯模塊Port_1兩個邏輯模塊對PCI-E總線之間的數據流,解決多端口之間數據傳輸的沖突問題;
擴展模塊,用于預留給本發明實施例的通用仿真測試卡的擴展功能模塊及接口。
實施例3
如上所述,第一主邏輯模塊Port_0與第二主邏輯模塊Port_1是FPGA功能實現的核心,所述模塊內部包含了大量子模塊來實現不同的邏輯或接口。下面將參照圖3所示,詳細描述一下第一主邏輯模塊Port_0或者第二主邏輯模塊Port_1內包含的子模塊。
參展圖3所示,所述第一主邏輯模塊Port_0或者第二主邏輯模塊Port_1包含以下子模塊:接收緩沖區、發送緩沖區、發送隊列管理模塊、IRIG(國際通用時間格式碼)模塊、寄存器組、DMA(直接內存存取)控制器、監控數據預處理模塊、BB(緩沖對緩沖)信用緩沖區、EE(端對端)信用緩沖區、鏈路控制邏輯模塊、幀建立模塊、故障注入模塊、發送隊列管理模塊、發送緩沖區、PPC(PowerPC)中斷控制器、SDRAM(同步動態隨機存儲器)控制器、DDR2(雙倍速率同步動態隨機存儲器)控制器、通道數據緩沖區、Local Bus(本地自定義總線)、PLB管道突發式緩存,
接收緩沖區,用于接收來自路由模塊的數據流并緩存,然后分別提供給監控數據預處理模塊、BB信用緩沖區、故障注入模塊,供監控數據通路、鏈路控制通路、故障注入通路使用;
發送緩沖區,用來緩存來自發送隊列管理模塊的數據流,對齊、整理并發送至路由模塊;
IRIG模塊:用于生成IRIG時標,還用于實現收發與處理外部同步信號。在需要時,為監控數據預處理模塊提供64bit的實時時標。另外,還用于實現收發與處理外部同步信號,該信號通過擴展接口的專用端口與外部相關設備通訊;
寄存器組,具有與PCI-E BAR(基址寄存器)空間映射地址的寄存器集合。其中包括各個子模塊的配置寄存器與狀態寄存器、用于條件觸發的簡介觸發器Trigger寄存器組、組合Trigger序列寄存器組、故障注入策略寄存器組等。由上位機對各個寄存器或寄存器組進行配置;
DMA(直接內存存取)控制器,用于本地自定義總線Local Bus上各子模塊之間的數據流控制。具有突發訪問模式和帶有優先級的通道設置;
監控數據預處理模塊,用于接收和緩沖鏈路數據,經分類、壓縮以及對齊處理,添加時標和附加信息之后,發送至DDR2內或直接發送至通道數據緩沖區。該數據用于上位機實時監控和通訊使用;
BB信用緩沖區,用于接收具有幀結構的FC報文和鏈路響應原語,進行緩沖區對緩沖區流控判斷,并提示幀建立模塊生成適當的鏈路響應原語;
EE信用緩沖區,用于接收具有幀結構的FC報文,進行端到端緩沖區流控判斷,并提示幀建立模塊生成適當的FC響應幀;
鏈路控制邏輯模塊,用于根據鏈路上接收到的用于協議層鏈路控制的原語序列及幀報文,執行相應的鏈路復位或控制協議,并提示幀建立模塊生成適當的FC響應原語序列或響應幀;
幀建立模塊,根據BB信用緩沖區、EE信用緩沖區、鏈路控制邏輯模塊發送的組幀或組原語請求,并根據對應狀態寄存器的內容生成適當的FC報文,然后按約定的順序發送至發送隊列管理模塊;
故障注入模塊,根據簡介觸發器Trigger寄存器的匹配指示和故障注入策略寄存器的指示,對接收到的鏈路原始報文進行實時故障注入行為,然后將修改后的報文發送至發送隊列管理模塊;
發送隊列管理模塊,用于接收和緩沖來自多個模塊的發送報文,并根據約定規則排序并發送至發送緩沖區,在故障注入模式下,還負責報文長度匹配機制的管理;
發送緩沖區,接收并緩沖來自發送隊列管理模塊的報文,然后發送至路由模塊;
PowerPC,例化的FPGA內部PowerPC 440的硬核;
PPC(PowerPC)中斷控制器,用于管理作用于PowerPC的中斷信號;
SDRAM(同步動態隨機存儲器)控制器,用于提供訪問FPGA單元外部SDRAM芯片的接口模塊;
DDR2控制器,用于提供訪問FPGA外部DDR2SDRAM芯片的接口模塊;
通道數據緩沖區,用于管理和緩沖單個通道的主邏輯模塊對于PCI-E總線接口模塊的上行和下行數據流;
Local Bus,單個通道的主邏輯模塊內部,用于連接多個子模塊的數據、地址以及控制信號的自定義內部總線;
PLB(管道突發式緩存),單個通道的主邏輯模塊內部,用于連接PowerPC與其相關子模塊的內部總線。
下面對FPGA單元所包括的各個子模塊功能進行詳細描述。
1、第一編碼模塊GTX_0、第二編碼模塊GTX_1模塊
第一編碼模塊GTX_0與第二編碼模塊GTX_1模塊是兩個相同的功能模塊,由FPGA單元的GTX IP核例化得到。分別通過FPGA單元的專用高速I/O連接板卡上的第一光纖接口SFP_0與第二光纖接口SFP_1。其主要功能是:
1)實現本發明實施例FC通用仿真測試卡板卡內部數據與光纖網絡之間的數據傳輸;
2)實現與板卡上的光纖接口SFP輸入/輸出的串行數據流(1bit)至GTX模塊內部的并行數據流(10bit)的相互轉換;
3)實現至FPGA單元內部數據的8B/10B編/解碼轉換,并為FPGA單元內部相關模塊提供對齊的32bit或40bit數據以及相關控制、狀態信號,或者接收來自FPGA內部相關模塊的32bit或40bit數據以及相關控制、狀態信號;
4)接收通路邏輯根據接收到的串行數據流,使用恢復發送時鐘,并以此時鐘對接收數據進行可靠采樣;
5)提供符合FC-1層規范的信號丟失、位同步、字同步狀態判斷機制,并為FPGA單元內部相關模塊提供上述狀態信號。
6)光纖接口SFP線路狀態需要可查詢。
第一編碼模塊GTX_0模塊分別與第一光纖接口SFP_0和路由模塊直接接口,第二編碼模塊GTX_1模塊分別與第二光纖接口SFP_1和路由模塊直接接口。
在一種實施方式中,第一編碼模塊GTX_0模塊與第二編碼模塊GTX_1模塊部分功能使能與配置需要上位機來管理,通過專用寄存器總線直接對其專用寄存器進行配置。為了實現該功能,第一編碼模塊GTX_0與第二編碼模塊GTX_1模塊接口處需要掛載寄存器譯碼模塊。
2、路由模塊
路由模塊為自定義邏輯模塊,其目的是提供一種第一編碼模塊GTX_0、第二編碼模塊GTX_1信號至第一主邏輯模塊Port_0、第二主邏輯模塊Port_1之間的整體數據與控制信號的靈活路由機制。可以在用戶不變動兩個外部SFP光纖接口上光纖連線的情況下,方便的根據仿真測試卡的功能選擇來實現所需的端口數據流向。其功能主要是實現如下五種線路路由:
1)平行式線路路由:第一編碼模塊GTX_0發送信號組(內)與第一主邏輯模塊Port_0接收信號組相連,
第一編碼模塊GTX_0接收信號組(內)與第一主邏輯模塊Port_0發送信號組相連,
第二編碼模塊GTX_1發送信號組(內)與第二主邏輯模塊Port_1接收信號組相連,
第二編碼模塊GTX_1接收信號組(內)與第二主邏輯模塊Port_1發送信號組相連;
2)交叉式線路路由第一編碼模塊:第一編碼模塊GTX_0發送信號組(內)與第一主邏輯模塊Port_0接收信號組相連,
第一編碼模塊GTX_0接收信號組(內)與第二主邏輯模塊Port_1發送信號組相連,
第二編碼模塊GTX_1發送信號組(內)與第二主邏輯模塊Port_1接收信號組相連,
第二編碼模塊GTX_1接收信號組(內)與第一主邏輯模塊Port_0發送信號組相連;
3)平行旁路式線路路由:第一編碼模塊GTX_0發送信號組(內)與第一主邏輯模塊Port_0接收信號組相連,
第一編碼模塊GTX_0接收信號組(內)與第一編碼模塊GTX_0發送信號組相連,
第二編碼模塊GTX_1發送信號組(內)與第二主邏輯模塊Port_1接收信號組相連,
第二編碼模塊GTX_1接收信號組(內)與第二編碼模塊GTX_1發送信號組相連;
4)雙工旁路式線路路由:第一編碼模塊GTX_0發送信號組(內)與第一主邏輯模塊Port_0接收信號組相連,
第一編碼模塊GTX_0接收信號組(內)與第一編碼模塊GTX_0發送信號組相連,
第一編碼模塊GTX_0接收信號組(內)與第二主邏輯模塊Port_1接收信號組相連;
5)內回環式線路路由:第一主邏輯模塊Port_0發送信號組與第一主邏輯模塊Port_0接收信號組相連,
第二主邏輯模塊Port_1發送信號組與第二主邏輯模塊Port_1接收信號組相連。
路由模塊一般認為只需要多路選擇器結構,并不需要數據緩沖結構。
路由模塊向外方向同時與第一編碼模塊GTX_0、第二編碼模塊GTX_1直接接口,向內方向與第一主邏輯模塊Port_0、第二主邏輯模塊Port_1直接接口。
路由模塊的路由模式選擇需要上位機通過專用寄存器總線對其專用配置寄存器進行配置管理,同時也需要專用狀態寄存器供上位機查詢。
3、監控數據預處理模塊
監控數據預處理模塊屬于第一主邏輯模塊Port_0或第二主邏輯模塊Port_1的子模塊之一。其接收來自路由模塊向內方向的發送信號組信號,以及IRIG-B模塊的時標信號,以此兩路信號進行處理整合成約定格式的上行數據格式,然后發送給DMA邏輯模塊。其主要功能包括:
1)緩沖FC原始鏈路報文,報文以32bit或40bit對齊(解碼或非解碼格式);
2)壓縮幀間隙的連續同名原語或原語序列;
3)確定幀邊界,并對幀內容進行32位CRC檢查;
4)按照幀或原語包的格式分類整合原始鏈路報文;
5)按約定格式為分類報文包添加標記與時標;
6)將整合后的報文或經時鐘域轉換后發送至DMA邏輯模塊或發送至對應DDR2。(直接發送至DMA邏輯模塊的方式比較有效率,但要根據實際需要的緩沖區大小來決定)
監控數據預處理模塊向外方向與路由模塊直接接口,向內方向與DMA邏輯模塊(或DDR2讀寫模塊)與IRIG-B模塊直接接口。與EE信用緩沖模塊直接接口。
監控數據預處理模塊需要上位機通過專用寄存器總線對其專用配置寄存器進行配置管理,同時也需要專用狀態寄存器供上位機查詢。
4、條件觸發模塊
條件觸發模塊屬于第一主邏輯模塊Port_0或第二主邏輯模塊Port_1子模塊之一。其目的是將原始鏈路報文與事先配置好的匹配報文進行比對,如果相同則輸出約定的觸發信號。除了報文匹配方式,還應具有時間匹配、觸發次數匹配、組合條件匹配的高級附加功能。觸發信號可做為報文捕獲開關條件、報文捕獲條件、故障注入條件使用。此外,還應可以將觸發信號輸出至另一通道或外部板卡使用,同樣,也要支持另一通道或外部板卡的觸發信號輸入。其主要功能包括:
1)以偏移量和掩碼為基準的報文匹配功能。對于原語,偏移量始終為零。對于幀,偏移量以SOF為起始地址。掩碼可定位32bit或40bit的每一位;(偏移量以廣義幀為標準)
2)可以將計時器設為單獨的觸發條件,或者基于(1)的組合觸發條件;
3)可以基于(1)與計數器作為組合觸發條件;
4)可以將由編碼模塊GTX模塊、FC-2控制邏輯模塊提供的FC-1層、FC-2層錯誤信號作為觸發條件;
5)可以將另一通道條件觸發輸入和外部板卡條件輸入作為本地觸發條件之一;
6)基于(1)(2)(3)(4)(5)的多條件復合順序觸發機制;
7)基于(1)(2)(3)(4)(6)的條件觸發信號輸出,該信號可用于本通道、另一通道以及外部板卡。
條件觸發模塊向外方向與路由模塊直接接口,向內方向與故障注入模塊、FC-2控制邏輯模塊直接接口,另外有指向另一通道的條件觸發模塊和擴展接口的外部觸發條件輸入輸出信號。
條件觸發模塊需要上位機通過專用寄存器總線對其專用配置寄存器進行配置管理,同時也需要專用狀態寄存器供上位機查詢。此外,還具有用作觸發條件的匹配寄存器組、用于復合觸發條件的匹配寄存器序列組等。
5、IRIG-B模塊
IRIG-B模塊屬于第一主邏輯模塊Port_0或第二主邏輯模塊Port_1的子模塊之一。其目的是產生精確時標并提供給監控數據預處理模塊使用。該時標由本地計時器產生,同時,該模塊應支持來自外部板卡的時標同步信號,或向外部板卡輸出時標同步信號。其主要功能包括:
1)提供兩組32bit計數時標,高32bit計數器應包括D、H、M、S,低32bit計數器應包括m、u、n。分辨率不應低于1ns;(64bit連續計數器)
2)時標用于監控數據預處理模塊,且數據包類型為原語時,時標標注的應是同名連續原語的首個原語位置;數據包類型為幀時,時標標注的應是該幀的SOF位置;
3)時標用于過濾模塊時,時標對每個符合過濾條件的報文都應該添加時標;
4)外部時標同步信號,對于高32bit計數器,按約定編碼格式修改該計數器的內容。對于低32bit計數器,直至使用復位信號復位。此外,同步信號需要按照約定算法計算線路間的延時并消除之;
5)該模塊應具備向外部板卡的IRIG-B模塊輸出(4)所述同步信號的功能。
IRIG-B模塊與監控數據預處理模塊直接接口,與另一通道的IRIG-B模塊有直接接口,與外部擴展接口有直接接口。
IRIG-B模塊需要上位機通過專用寄存器總線對其專用配置寄存器進行配置管理,同時也需要專用狀態寄存器供上位機查詢。
6、BB信用緩沖模塊
BB信用緩沖模塊屬于第一主邏輯模塊Port_或第二主邏輯模塊Port_1的子模塊之一。其目的是用于緩沖鏈路報文,并對接收到的FC傳輸幀,進行FC-2協議層緩沖區對緩沖區級數據流控制。其主要功能包括:
1)接收并緩沖原始鏈路報文,并根據支持的服務類配置不相關的獨立緩沖區,同時緩沖區個數與大小由上位機配置;
2)檢查FC傳輸幀中的約定位置,認定其在BB信用方面的有效性(服務類型、幀定界符等);
3)如果一個FC傳輸幀在(2)中判定為有效幀,則將該幀存入對應緩沖區并立即通知EE緩沖區模塊接收該幀,以及通知FC-2控制邏輯模塊準備發送適當的響應幀或原語;
4)如果一個FC傳輸幀在(2)中判定為無效幀,則丟棄該幀并只通知FC-2控制邏輯模塊準備發送適當的響應幀;
5)對于FC原語,該模塊不做任何處理。
BB信用緩沖模塊向外方向與路由模塊直接接口(數據信號相關),向內方向與EE信用緩沖模塊直接連接(數據信號相關),與FC-2控制邏輯模塊直接接口(標志信號相關)。
BB信用緩沖模塊需要上位機通過專用寄存器總線對其專用配置寄存器進行配置管理,同時也需要專用狀態寄存器供上位機查詢。
7、EE信用緩沖模塊
EE信用緩沖模塊屬于第一主邏輯模塊Port_0或第二主邏輯模塊Port_1的子模塊之一。其目的是用于緩沖鏈路報文,并對自BB信用緩沖模塊接收到的FC數據幀,進行FC-2協議層端對端級數據流控制。其主要功能包括:
1)接收并緩沖BB信用緩沖模塊發送的報文,并根據所支持的最大并發序列數預留FC數據幀緩沖區,該緩沖區個數與大小由上位機配置;
2)檢查FC數據幀中的約定位置,認定其在EE信用方面的有效性(內容有效性、CRC檢查等);
3)如果一個FC數據幀在(2)中判定為有效幀,則將該幀存入對應緩沖區并組包,以及通知FC-2控制邏輯模塊準備發送適當的響應幀;
4)如果一個FC數據幀在(2)中判定為無效幀,則丟棄該幀并通知FC-2控制邏輯模塊,由FC-2控制邏輯模塊決定對該幀所屬同名緩沖區內的所有數據幀的處理方式,并隨后生成適當的響應幀;
5)對于FC原語和FC鏈路響應幀,該模塊不做任何處理。
EE信用緩沖模塊向外方向與BB緩沖模塊直接接口(數據信號相關),與FC-2(鏈路控制邏輯模塊)直接接口(標志信號相關)。
EE信用緩沖模塊需要上位機通過專用寄存器總線對其專用配置寄存器進行配置管理,同時也需要專用狀態寄存器供上位機查詢。
8、FC-2(鏈路控制邏輯模塊)
FC-2控制邏輯模塊屬于第一主邏輯模塊Port_0或第二主邏輯模塊Port_1的子模塊之一。其目的是實現FC-2協議層大部分的數據流控制、自動應答、錯誤判斷與恢復功能,同時也為上層(FC-3、FC-4以及FC-4以上層)協議提供可選的附加功能接口。此外,該模塊還是幀建立模塊的多種響應幀生成的指示標識產生源。其主要功能包括:
1)根據接收到的鏈路復位類原語序列(來自EE信用緩沖模塊)、或根據接收到的編碼模塊GTX模塊的約定標識,產生鏈路復位邏輯;
2)根據接收到的仲裁環類原語或原語序列,產生仲裁環鏈路仲裁邏輯;
3)可產生登陸和登出邏輯,判斷端口拓撲結構,并維護登陸結果與參數;
4)根據接收到的響應幀或原語,統計通信發送方BB或EE信用值,并以此做出適當的數據流控制響應或動作;
5)對接收到的基礎鏈路服務幀或擴展鏈路服務幀,根據內部寄存器的參數做出正確的響應或動作(每一種鏈路服務幀的響應動作,可能為不相關的獨立邏輯);
6)根據(1)(2)(3)(4)(5)的情況,指示幀建立模塊生成對應的幀或原語以及原語序列并發送;
7)可讀寫多個FC協議相關的內部模塊的專用寄存器,例如BB信用緩沖模塊、EE信用緩沖模塊、編碼模塊GTX模塊、幀建立模塊等。
FC-2控制邏輯模塊與EE信用緩沖模塊有直接接口,信號多為原語、原語序列、鏈路控制幀、鏈路服務幀等,也包含標志位或寄存器讀寫接口;與BB信用緩沖模塊、編碼模塊GTX模塊(通過路由模塊接口)有直接接口,信號多為標志位或寄存器讀寫接口;與幀建立模塊有直接接口,其中包括標志位或寄存器讀寫接口,以及發送內容隊列,一般認為是一種FIFO(先入先出)結構;與上位機或上層協議有直接接口,一般認為是通過專用寄存器的讀寫來實現。
FC-2控制邏輯模塊的專用寄存器數量比較多,多用于各類參數的配置與維護,各類供上位機查詢的狀態寄存器等。
9、幀建立模塊
幀建立模塊屬于第一主邏輯模塊Port_0或第二主邏輯模塊Port_1的子模塊之一。其目的一是根據FC-2控制邏輯模塊的指示,生成適當的響應幀或原語以及原語序列,并通過發送隊列模塊發送;另一個是接收來自上位機的指示,讀取來自DDR2內的報文內容,并根據參數配置要求,控制幀間隙結構、CRC字段等的生成,并通過發送隊列模塊發送。其主要功能包括:
1)根據FC-2控制邏輯模塊的指示,生成(2)~(6)類型的響應幀、原語或原語序列;
2)生成用于鏈路復位協議控制的原語或原語序列;
3)生成用于仲裁環鏈路仲裁的原語或原語序列;
4)生成用于FC-3公用服務的原語或原語序列或鏈路服務幀;
5)生成鏈路控制幀的響應幀或原語;
6)生成鏈路服務幀的響應幀;
7)根據上位機請求與配置,發送對應的鏈路控制幀或鏈路服務幀;
8)為來自上位機的下行通訊報文自動添加幀間隙結構或CRC字段;
9)為來自上位機的下行仿真報文自動添加幀間隙結構或CRC字段;
10)將(1)~(9)產生的報文發送到發送隊列管理模塊。
幀建立模塊與鏈路控制邏輯模塊FC-2直接接口,為寄存器讀寫接口以及發送指示隊列FIFO接口;與DDR2讀寫模塊直接接口,用于讀取DDR2內的報文內容;與發送隊列管理模塊直接接口,用于發送準備好的幀、原語或原語序列;一般認為與上位機的直接接口通過專用寄存器的讀寫來實現。
幀建立模塊需要上位機通過專用寄存器總線對其專用配置寄存器進行配置管理,同時也需要專用狀態寄存器供上位機查詢。
10、發送隊列管理模塊
發送隊列管理模塊屬于第一主邏輯模塊Port_0或第二主邏輯模塊Port_1的子模塊之一。其目的是緩沖、管理并發送來自多個模塊的發送報文;另外應管理優先級發送通道以及周期發送通道。其主要功能包括:
1)接收來自幀建立模塊的發送報文并緩沖;
2)接收來自故障注入模塊的發送報文并緩沖;
3)預取來自DDR2的周期報文并緩沖,一般認為該報文經由幀建立模塊轉發;
4)對來自(1)(2)(3)的報文按默認優先級或標識優先級進行排序后發送(一般認為部分類型不同的報文不會同時出現);
5)應具備應對故障注入報文可能出現的刪除或添加IDLE(空閑信號)原語的請求。
發送隊列管理模塊與幀建立模塊直接接口,數據類型為直接32bit或40bit對齊FC格式報文;與故障注入模塊直接接口,數據類型為直接32bit或40bit對齊FC格式報文。
發送隊列管理模塊需要上位機通過專用寄存器總線對其專用配置寄存器進行配置管理,同時也需要專用狀態寄存器供上位機查詢。
11、故障注入模塊
故障注入模塊屬于第一主邏輯模塊Port_0或第二主邏輯模塊Port_1的子模塊之一。其目的是對接收到的原始鏈路報文根據事先約定的目標和策略進行修改、替換、插入、刪除等多種類型的故障注入行為。其主要功能包括:
1)根據條件觸發模塊的事件觸發來確定故障注入目標;
2)根據故障注入策略寄存器的配置對對應故障注入對象執行故障注入行為;
3)故障注入策略與條件觸發策略類似,都是以偏移量和掩碼為基準的定位方式;
4)修改類型故障注入,是指對目標報文的指定位置數據位進行修改,不改變對象的長度;
5)替換類型故障注入,是指刪除目標報文,并在對象原本的隊列位置處插入新的報文。完成后有可能增加或縮短原有報文隊列的長度,需要發送隊列管理模塊進行干預;
6)插入類型故障注入,是指在目標報文的尾部添加新的約定報文,目標報文本身不受影響。完成后會增加原有報文隊列的長度,需要發送隊列管理模塊進行干預;
7)刪除類型故障注入,是指將目標報文直接從報文隊列中刪除。完成后會縮短原有報文隊列長度,需要發送隊列管理模塊進行干預;
8)應對(4)(5)(6)(7)具有計劃執行次數和實際執行次數以及未命中次數的管理功能。
故障注入模塊與條件觸發模塊直接接口,用于接收事件觸發信號;與路由模塊直接接口,用于接收原始鏈路報文;與發送隊列管理模塊直接接口,用于發送執行故障注入后的報文隊列,并發送報文隊列長度干預請求。
發送隊列管理模塊需要上位機通過專用寄存器總線對其專用配置寄存器進行配置管理,以及故障注入策略寄存器組進行配置管理,同時也需要專用狀態寄存器供上位機查詢。
12、DDR2控制器IP模塊
DDR2控制器IP模塊屬于第一主邏輯模塊Port_0或第二主邏輯模塊Port_1的子模塊之一。其由DDR2控制器IP直接例化得到,其目的是提供對FPGA單元外的DDR2 SDRAM的直接訪問接口。其主要功能包括:
1)提供對DDR2 SDRAM的訪問接口;
2)與DDR2讀寫模塊配合,提供本發明實施例仿真測試卡板卡與上位機間大部分數據的大容量緩存功能。
DDR2控制器IP模塊向外方向直接與外部DDR2 SDRAM直接接口;向內方向與DDR2讀寫模塊直接接口。
DDR2控制器IP模塊需要上位機通過專用接口進行配置管理。
13、DDR2讀寫模塊
DDR2讀寫模塊屬于第一主邏輯模塊Port_0或第二主邏輯模塊Port_1的子模塊之一。其目的是提供一個自定義的多數據通路分時訪問DDR2 SDRAM的仲裁邏輯。其主要功能包括:
1)協調多路上下行數據流之間分時訪問DDR2 SDRAM。
DDR2讀寫模塊向外方向與DDR2控制器IP模塊直接接口;向內方向與幀建立模塊以及DMA邏輯模塊直接接口。
該模塊不需要專用寄存器用于配置或狀態查詢。
參照圖4所示,本發明實施例提供的上行數據交互流程圖,圖中示出了FPGA單元與上位機的通訊流程。本發明實施例的通用仿真測試卡是作為一個PCI-E設備,通過PCI-E總線來與上位機通訊的。FPGA單元內兩個端口通道第一主邏輯模塊Port_0與第二主邏輯模塊Port_1的數據流,從邏輯上講是不相關的,但通訊方式是完全相同的。兩個端口通道的數據通過模塊的分時復用邏輯,共同使用PCI-E總線資源與上位機通訊。
FPGA單元與上位機的上行數據交互:
FPGA單元通過PCI-E總線與上位機的上行數據交互如下所述:
1)上電后上位機驅動申請Mem(內存)空間,并建立與之對應的地址表(上行下行均有);
2)上位機驅動以BAR(寄存器映射訪問)方式向FPGA單元分別寫入上行地址表與下行地址表的物理地址和長度;
3)上位機驅動以BAR方式通知FPGA單元地址表生效;
4)FPGA單元以DMA(直接存儲器訪問)方式讀取512B的地址表(一個地址表單位結構為64bit,其中32bit表示實際Mem物理地址,另外32bit包含OwnerBit、虛擬地址等信息。因此512B的地址表實際只包含64個Mem地址入口);
5)FPGA單元以DMA方式按地址表的Mem地址入口,如果一個Mem地址的OwnerBit為1,則向該Mem地址入口寫入數據(寫入的數據為512B的整數倍,不完整的部分使用填充,有效數據長度由數據內部幀頭指示)。如果一個Mem地址的OwnerBit為0,FPGA單元則會向上位機發中斷,表示已無可用Mem資源,直到上位機執行步驟3,下發Mem資源可用通知;
6)FPGA以DMA方式更新地址表,主要是修改已使用的Mem地址的地址表的OwnerBit等信息。此次DMA寫為非定長;
7)FPGA向上位機發中斷,表示一次上行數據訪問完成;
8)上位機驅動以中斷為信號,對更新過的地址表中OwnerBit為0的Mem地址空間進行讀操作,讀取數據并更新相應地址的OwnerBit,置1以釋放空間;
9)FPGA會有地址指針指向上一次DMA結束后的下一個Mem地址入口,如果繼續有上傳數據需求,且上一次申請的64個地址入口沒有用完,則重復步驟5~8。如果64個地址入口用完且仍有數據要傳輸,FPGA會優先執行步驟4,然后執行步驟5~8。
參照圖5所示,為本發明實施例提供的下行數據交互流程圖。圖中示出了FPGA單元與上位機的下行數據交互過程。
FPGA單元通過PCI-E總線與上位機的下行數據交互可總結為:
1)上電后上位機驅動申請Mem空間,并建立與之對應的地址表(上行下行均有);
2)上位機驅動以BAR方式向FPGA單元分別寫入上行地址表與下行地址表的物理地址和長度;
3)上位機按地址表順序向對應Mem空間寫數據;
4)上位機置地址表對應的OwnerBit為0;
5)上位機驅動以BAR方式,通知FPGA單元有下行數據;
6)FPGA單元以DMA方式,讀取512B的地址表;
7)FPGA單元根據地址表中OwnerBit為0的地址做定長DMA,讀取對應Mem空間的數據;
8)FPGA單元以DMA方式,更新地址表,置上次所讀取Mem空間地址的OwnerBit為1。此DMA為非定長;
9)上位機如果遇到要使用的下一個地址入口OwnerBit為0的情況(即FPGA單元很長時間都沒有把Mem的數據取走),則會暫時停止寫數據并等待,一定時間后再次查詢地址入口的OwnerBit情況。直到OwnerBit為1,然后重復步驟3~8,或者超時報錯。
參照圖6所示,為本發明實施例提供的FPGA內部數據流示意圖。
參照圖7所示,為本發明實施例提供的ULP數據塊的分割與重組示意圖。
FC-2層通訊協議中規定,FC-2層與ULP(Upper Level Protocol,高層協議,是FC協議中定義的一種協議層次)之間傳輸塊的最小單位為“序列”。所謂“序列”就是指具有相同的Sequence I D(序列標識)的一個幀或多個幀的集合,一個包含n個幀的序列,會為每個幀按發送順序,分配0~n-1的Sequence Counter(序列號)值。Sequence ID和Sequence Counter的值都會在每個幀的幀頭對應位中體現。
在ULP向光口發送數據的過程中,ULP通過PCIE總線,將要發送的數據塊和發送參數(服務類、傳輸策略、錯誤處理策略等)發送給FC-2層。FC-2層邏輯根據以上信息,將數據塊按順序拆分成大小合適的分段(一個或多個),然后將這些數據分段封裝到FC幀的數據域中,并附加適當的SOF、EOF、幀頭以及CRC(循環冗余校驗)。這樣就完成了一個數據塊分解并組幀的過程。
同樣,FC-2層邏輯經由光口接收到一個完整序列,會根據該序列中每個幀Sequence Counter,按順序提取數據域內的內容并組裝起來。這樣就完成了一個幀解析并重組數據塊的過程。之后會在適當的時機將該數據塊經由PCIE總線上傳至上位機。
在本發明實施例中,FC通用仿真測試卡產品功能與性能指標如下所述:
1)雙光口通道,全雙工通訊;
2)光口通訊速率支持1.0625Gbps或2.125Gbps,可配置;
3)支持點到點和交換拓撲結構;
4)滿足FC-PI協議要求;
5)支持1、2、3類服務,支持自動BB信用控制;
6)支持FC-AE-ASM協議;
7)支持多種工作模式與線路拓撲模式的組合設置,可形成平行仿真、旁路監控、中繼監控等組合模式;
8)支持工作全局信息的統計與實時顯示,包括各個光口的接收幀總數、發送幀總數、錯誤幀總數、實時帶寬等;
9)支持多頁面實時監控,支持多組、多類型的監控顯示過濾設置;
10)支持實時協議解析,用戶選中的數據條目會在協議解析頁面顯示數據內容與幀頭各區域的詳解;
11)支持多組、多類型的接收觸發條件設置,包括數據內容匹配、定時、定量等觸發類型;
12)提供簡捷的文本編輯腳本語言,支持用戶編寫發送數據,發送數據包括原語類型與幀類型,并提供多組、多類型預配置發送通道;
13)用戶可以通過界面設置即時發送,或通過觸發條件與預配置發送通道的組合設置按條件自動發送;
14)支持用戶設置復雜狀態機,實現多種觸發條件的組合發送或自動循環發送體系;
15)支持接收數據存儲,用戶可指定數據存儲位置與存儲文件大小,連續存儲時超過文件最大容量將會自動新建文件繼續存儲;
16)支持多組、多類型存儲過濾條件設置,用戶可以設置只存儲關鍵數據以提高存儲效率;
17)支持存儲數據回放,支持連續存儲文件的關聯回放;
18)支持專用的FC-AE-ASM協議存儲數據回放解析,為用戶提供FC-AE-ASM協議的ULP層協議解析形式;
19)存儲回放同樣支持多組、多類型的顯示過濾條件設置;
20)支持二次開發接口,以上功能用戶均可以通過API接口實現,并擴展使用。
21)支持Windows32位系統;
22)PCIe x8接口,符合PCIe 1.0接口協議規范。
本發明實施例基于FPGA單元構造了光纖通道協議通用仿真測試卡,并且設置了所述FPGA單元的結構以及FPGA單元主邏輯模塊的子模塊結構,可以按照預設的應用需求實現控制邏輯功能,從而可以與上位機配合實現本發明實施例的仿真測試功能,可以滿足用戶的多種需求。
需要說明的是,在本文中,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。
上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到上述實施例中的方法可借助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發明的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設備執行本發明實施例中包括的方法或者流程。
以上僅為本發明的優選實施例,并非因此限制本發明的專利范圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技術領域,均同理包括在本發明的專利保護范圍內。