本發(fā)明屬于電力系統(tǒng)中智能變電站通信技術(shù)領(lǐng)域,具體涉及一種協(xié)議解析方法、裝置及包含協(xié)議解析裝置的二層交換系統(tǒng)。
背景技術(shù):
電網(wǎng)的高度智能化對電力通信系統(tǒng)提出了需求,全網(wǎng)信息數(shù)字化、通信平臺網(wǎng)絡(luò)化、信息平臺共享化是其基本特征,大容量、快速、高安全、低成本是其發(fā)展方向。以太網(wǎng)技術(shù)是目前工業(yè)控制領(lǐng)域較為成熟可行的技術(shù),現(xiàn)在以及未來都將是電網(wǎng)通信的主要技術(shù)。目前電網(wǎng)系統(tǒng)中局域網(wǎng)如智能變電站,采用以太網(wǎng)技術(shù)進(jìn)行通信組網(wǎng)所用的網(wǎng)絡(luò)通信設(shè)備主要是二層網(wǎng)絡(luò)交換機(jī)。由于站內(nèi)通常包含多種類型的數(shù)據(jù)業(yè)務(wù)報(bào)文,如MMS、GOOSE、SMV等,這些報(bào)文都有自己各自的特點(diǎn),有的是突發(fā)報(bào)文、有的是定時(shí)報(bào)文、有的實(shí)時(shí)性要求高、有的是組播/廣播報(bào)文、有的流量大等等,當(dāng)這些不同特點(diǎn)的報(bào)文在同一個(gè)網(wǎng)絡(luò)里用傳統(tǒng)交換設(shè)備傳輸時(shí),會帶來相互影響和干擾,使得性能有所下降甚至不能達(dá)到預(yù)期的目的。
此時(shí)作為網(wǎng)絡(luò)通信節(jié)點(diǎn)的以太網(wǎng)交換機(jī)如果具備報(bào)文解析和智能識別功能,便可根據(jù)不同類型的業(yè)務(wù)報(bào)文進(jìn)行合適的控制,以滿足帶寬、實(shí)時(shí)性等方面的要求,同時(shí)也可提高通信的網(wǎng)絡(luò)的安全系數(shù)。
技術(shù)實(shí)現(xiàn)要素:
為了實(shí)現(xiàn)上述目的,本發(fā)明提出一種具備速度快、精度高、易實(shí)現(xiàn)和低成本等優(yōu)點(diǎn)且通過硬件實(shí)現(xiàn)的協(xié)議解析方法、裝置及包含協(xié)議解析裝置的二層交換系統(tǒng);適用于智能變電站通信系統(tǒng),通過智能識別、管理網(wǎng)絡(luò)業(yè)務(wù)報(bào)文,有效提高網(wǎng)絡(luò)安全性。
本發(fā)明的目的是采用下述技術(shù)方案實(shí)現(xiàn)的:
一種協(xié)議解析方法,所述方法包括:
獲取經(jīng)S3MII總線傳輸?shù)臉I(yè)務(wù)報(bào)文信息;
封裝為數(shù)據(jù)幀,采用FPGA算法快速解析每一幀數(shù)據(jù)。
優(yōu)選的,所述經(jīng)S3MII總線傳輸?shù)臉I(yè)務(wù)報(bào)文信息的獲取方法包括,實(shí)時(shí)監(jiān)控經(jīng)S3MII總線傳輸?shù)臉I(yè)務(wù)報(bào)文信息,根據(jù)本地參考時(shí)鐘和處理器的控制信號按比特逐位獲取,并以字節(jié)為單位存儲。
優(yōu)選的,所述封裝為數(shù)據(jù)幀包括:按字節(jié)分析幀頭,定義幀格式,獲取幀起始標(biāo)志位其后攜帶的數(shù)據(jù)字段;
選擇指定位置的幀標(biāo)志,讀取其對應(yīng)的類型字段,通過與已知的數(shù)據(jù)類型進(jìn)行比較識別業(yè)務(wù)報(bào)文類型后,放入緩存區(qū)以待確認(rèn);其中,所述已知的數(shù)據(jù)類型包括MMS、SMV和GOOSE;
根據(jù)自定義的安全優(yōu)先級從緩沖區(qū)中選取待確認(rèn)幀,執(zhí)行CRC校驗(yàn),若校驗(yàn)結(jié)果發(fā)生CRC錯誤,則將當(dāng)前發(fā)生CRC錯誤的幀丟棄,通過并行總線發(fā)送信號告知處理器;否則,將CRC正確的幀封裝;
將接收到的CRC正確的幀插入幀尾后四個(gè)字節(jié)進(jìn)行封裝,生成完整的數(shù)據(jù)幀,并遵循S3MII接口協(xié)議標(biāo)準(zhǔn)發(fā)送數(shù)據(jù)幀;
接收到數(shù)據(jù)幀后,根據(jù)預(yù)先的配置的目的地址將數(shù)據(jù)幀轉(zhuǎn)發(fā)到指定端口。
進(jìn)一步地,所述定義幀格式具體包括;定義長度為7個(gè)字節(jié)、數(shù)值為0X55的前導(dǎo)碼,以及位于幀前導(dǎo)碼后接長度為1個(gè)字節(jié)、數(shù)值為0XD5的開始符,以7個(gè)0X55和1個(gè)0XD5的位置作為幀起始標(biāo)志位;
定義長度均為6個(gè)字節(jié)的目地址和源地址,分別表示各數(shù)據(jù)幀所到達(dá)的目的地址和源地址;
定義802.1q的字段長度為4個(gè)字節(jié),用于配置數(shù)據(jù)幀的安全優(yōu)先級和VLAN信息;
定義長度/類型字段長度為2個(gè)字節(jié),用于表示該數(shù)據(jù)幀的總長度或者業(yè)務(wù)報(bào)文類型;
定義數(shù)據(jù)負(fù)荷區(qū)的長度為46-1500個(gè)字節(jié),表示該數(shù)據(jù)幀攜帶的用戶信息。
進(jìn)一步地,所述將數(shù)據(jù)幀轉(zhuǎn)發(fā)到指定端口之后還包括:以業(yè)務(wù)報(bào)文類型為依據(jù),采用狀態(tài)機(jī)快速識別每一幀數(shù)據(jù)所攜帶的業(yè)務(wù)報(bào)文信息;
結(jié)合現(xiàn)場實(shí)際工況按比例分配帶寬或者設(shè)置固定帶寬,實(shí)現(xiàn)流量控制,對于非法業(yè)務(wù)報(bào)文信息進(jìn)行攔截或丟棄處理,并將處理結(jié)果轉(zhuǎn)發(fā)到處理器,同步顯示于用戶端,提示用戶排查非法來源。
一種協(xié)議解析裝置,所述協(xié)議解析裝置包括:
獲取模塊,用于獲取經(jīng)S3MII總線傳輸?shù)臉I(yè)務(wù)報(bào)文信息;
封裝模塊,用于封裝為數(shù)據(jù)幀;
解析模塊,用于采用FPGA算法快速解析每一幀數(shù)據(jù)。
優(yōu)選的,所述獲取模塊包括:
監(jiān)控單元,用于實(shí)時(shí)監(jiān)控經(jīng)S3MII總線傳輸?shù)臉I(yè)務(wù)報(bào)文信息,根據(jù)本地參考時(shí)鐘和處理器的控制信號按比特逐位獲取,并以字節(jié)為單位存儲;
優(yōu)選的,所述封裝模塊包括:分析單元,用于按字節(jié)分析幀頭,定義幀格式,獲取幀起始標(biāo)志位其后攜帶的數(shù)據(jù)字段;
類型識別單元,用于選擇指定位置的幀標(biāo)志,讀取其對應(yīng)的類型字段,通過與已知的數(shù)據(jù)類型進(jìn)行比較識別業(yè)務(wù)報(bào)文類型后,放入緩存區(qū)以待確認(rèn);其中,所述已知的數(shù)據(jù)類型包括MMS、SMV和GOOSE;
確認(rèn)單元,用于根據(jù)自定義的安全優(yōu)先級從緩沖區(qū)中選取待確認(rèn)幀,執(zhí)行CRC校驗(yàn),若校驗(yàn)結(jié)果發(fā)生CRC錯誤,則將當(dāng)前發(fā)生CRC錯誤的幀丟棄,通過并行總線發(fā)送信號告知處理器;否則,將CRC正確的幀封裝;
生成單元,用于將接收到的CRC正確的幀插入幀尾后四個(gè)字節(jié)進(jìn)行封裝,生成完整的數(shù)據(jù)幀,并遵循S3MII接口協(xié)議標(biāo)準(zhǔn)發(fā)送數(shù)據(jù)幀;
轉(zhuǎn)發(fā)單元,用于接收到數(shù)據(jù)幀后,根據(jù)預(yù)先的配置的目的地址將數(shù)據(jù)幀轉(zhuǎn)發(fā)到指定端口。
進(jìn)一步地,所述分析單元包括:
第一處理子單元,用于定義長度為7個(gè)字節(jié)、數(shù)值為0X55的前導(dǎo)碼,以及位于幀前導(dǎo)碼后接長度為1個(gè)字節(jié)、數(shù)值為0XD5的開始符,以7個(gè)0X55和1個(gè)0XD5的位置作為幀起始標(biāo)志位;
第二處理子單元,用于定義長度均為6個(gè)字節(jié)的目地址和源地址,分別表示各數(shù)據(jù)幀所到達(dá)的目的地址和源地址;
第三處理子單元,用于定義802.1q的字段長度為4個(gè)字節(jié),用于配置數(shù)據(jù)幀的安全優(yōu)先級和VLAN信息;
第四處理子單元,用于定義長度/類型字段長度為2個(gè)字節(jié),用于表示該數(shù)據(jù)幀的總長度或者業(yè)務(wù)報(bào)文類型;
第五處理子單元,用于定義數(shù)據(jù)負(fù)荷區(qū)的長度為46-1500個(gè)字節(jié),表示該數(shù)據(jù)幀攜帶的用戶信息。
優(yōu)選的,所述解析模塊包括:
信息識別單元,用于將數(shù)據(jù)幀轉(zhuǎn)發(fā)到指定端口之后以業(yè)務(wù)報(bào)文類型為依據(jù),采用狀態(tài)機(jī)快速識別每一幀數(shù)據(jù)所攜帶的業(yè)務(wù)報(bào)文信息;
控制單元,用于結(jié)合現(xiàn)場實(shí)際工況按比例分配帶寬或者設(shè)置固定帶寬,實(shí)現(xiàn)流量控制,對于非法業(yè)務(wù)報(bào)文信息進(jìn)行攔截或丟棄處理,并將處理結(jié)果轉(zhuǎn)發(fā)到處理器,同步顯示于用戶端,提示用戶排查非法來源。
一種二層交換系統(tǒng),所述系統(tǒng)包括第一物理接口收發(fā)器、第二物理接口收發(fā)器、第一FPGA芯片、第二FPGA芯片、處理器模塊、核心交換模塊、本地時(shí)鐘模塊和供電模塊;所述第一FPGA芯片和第二FPGA芯片均包括如權(quán)利要求6-10任意一項(xiàng)所述的協(xié)議解析裝置;所述協(xié)議解析裝置通過并行總線與處理器模塊相連,以實(shí)現(xiàn)以太網(wǎng)數(shù)據(jù)幀的識別、解析和封裝;
其中,所述處理器模塊用于控制整個(gè)系統(tǒng),具備協(xié)議解析功能,以實(shí)現(xiàn)對所述系統(tǒng)中各部分的配置管理;所述供電模塊,用于為系統(tǒng)及系統(tǒng)下各部分提供不同等級的電壓電源;所述本地時(shí)鐘模塊分別與第一物理接口收發(fā)器、第二物理接口收發(fā)器、第一FPGA芯片、第二FPGA芯片、處理器模塊和核心交換模塊單向連接,為其提供本地參考時(shí)鐘;
設(shè)置于物理層與數(shù)據(jù)鏈路層之間的第一、第二物理接口收發(fā)器分別通過S3MII總線與設(shè)于數(shù)據(jù)鏈路層的第一、第二FPGA芯片雙向連接;所述第一FPGA芯片和第二FPGA芯片通過獨(dú)立的S3MII總線與核心交換模塊雙向連接,通過16位數(shù)據(jù)總線與處理器模塊雙向連接;所述核心交換模塊與處理器模塊之間通過PCIE總線雙向連接。
優(yōu)選的,所述第一物理接口收發(fā)器和第二至物理接口收發(fā)器分別設(shè)有第一光/電端口單元和第二光/電端口單元;所述第一、第二光/電端口單元分別通過S3MII總線與其對應(yīng)的第一、第二FPGA芯片雙向連接,以實(shí)現(xiàn)物理層和數(shù)據(jù)鏈路層之間的數(shù)據(jù)交互。
優(yōu)選的,所述第一光/電端口單元和第二光/電端口單元分別包含8組順次排列的光/電端口。
優(yōu)選的,所述第一、第二物理接口收發(fā)器具備數(shù)據(jù)的串并聯(lián)轉(zhuǎn)換、編碼/解碼功能,用于接收/發(fā)送網(wǎng)絡(luò)中的光/電物理量或者電信號,完成電信號與光/電物理量之間的相互轉(zhuǎn)換,獲取電信號中的業(yè)務(wù)報(bào)文信息。
優(yōu)選的,所述本地時(shí)鐘模塊,為第一、第二物理接口收發(fā)器提供125M時(shí)鐘;為第一、第二FPGA芯片提供125M時(shí)鐘;為處理器模塊提供50M時(shí)鐘;
所述供電模塊,為第一、第二物理接口收發(fā)器提供2.5V、1.2V電源;為一、第二FPGA芯片提供1.2V、2.5、3.3V電壓;為處理器模塊提供1V、2.5V、3.3V電壓;為本地時(shí)鐘模塊提供3.3V電壓;為核心交換模塊提供2.5V、3.3V電壓。
與最接近的現(xiàn)有技術(shù)相比,本發(fā)明達(dá)到的有益效果是:
本發(fā)明基于FPGA的硬件算法解析、識別數(shù)據(jù)幀,運(yùn)算速度快、精度高且操作簡單;可以準(zhǔn)確快速分析業(yè)務(wù)報(bào)文類型,以實(shí)現(xiàn)網(wǎng)絡(luò)報(bào)文的智能實(shí)時(shí)監(jiān)控和網(wǎng)絡(luò)業(yè)務(wù)流量的動態(tài)管理,有效提高了網(wǎng)絡(luò)的安全性的同時(shí)確保通信網(wǎng)絡(luò)更加穩(wěn)固、流暢。本申請?zhí)岢龅难b置及方法適用于智能變電站通信應(yīng)用,為變電站的通信網(wǎng)絡(luò)智能化的實(shí)現(xiàn)提供支撐,具有實(shí)際工程應(yīng)用價(jià)值。
附圖說明
圖1為數(shù)據(jù)幀結(jié)構(gòu)示意圖;
圖2為包含協(xié)議解析裝置的二層交換系統(tǒng)結(jié)構(gòu)示意圖;
圖3為數(shù)據(jù)幀封裝和解析方法流程圖;
具體實(shí)施方式
下面結(jié)合附圖對本發(fā)明的具體實(shí)施方式做進(jìn)一步的詳細(xì)說明。
1、本實(shí)施例中提供一種協(xié)議解析方法,所述方法包括:
(1)獲取經(jīng)S3MII總線傳輸?shù)臉I(yè)務(wù)報(bào)文信息;
經(jīng)S3MII總線傳輸?shù)臉I(yè)務(wù)報(bào)文信息的獲取方法包括,實(shí)時(shí)監(jiān)控經(jīng)S3MII總線傳輸?shù)臉I(yè)務(wù)報(bào)文信息,根據(jù)本地參考時(shí)鐘和處理器的控制信號按比特逐位獲取,并以字節(jié)為單位存儲;
(2)封裝為數(shù)據(jù)幀,采用FPGA算法快速解析每一幀數(shù)據(jù)。
封裝為數(shù)據(jù)幀包括:按字節(jié)分析幀頭,定義幀格式,獲取幀起始標(biāo)志位其后攜帶的數(shù)據(jù)字段;如圖1所示。
選擇指定位置的幀標(biāo)志,讀取其對應(yīng)的類型字段,通過與已知的數(shù)據(jù)類型進(jìn)行比較識別業(yè)務(wù)報(bào)文類型后,放入緩存區(qū)以待確認(rèn);其中,所述已知的數(shù)據(jù)類型包括MMS、SMV和GOOSE;
根據(jù)自定義的安全優(yōu)先級從緩沖區(qū)中選取待確認(rèn)幀,執(zhí)行CRC校驗(yàn),若校驗(yàn)結(jié)果發(fā)生CRC錯誤,則將當(dāng)前發(fā)生CRC錯誤的幀丟棄,通過并行總線發(fā)送信號告知處理器;否則,將CRC正確的幀封裝;
將接收到的CRC正確的幀插入幀尾后四個(gè)字節(jié)進(jìn)行封裝,生成完整的數(shù)據(jù)幀,并遵循S3MII接口協(xié)議標(biāo)準(zhǔn)發(fā)送數(shù)據(jù)幀;
接收到數(shù)據(jù)幀后,根據(jù)預(yù)先的配置的目的地址將數(shù)據(jù)幀轉(zhuǎn)發(fā)到指定端口。
將數(shù)據(jù)幀轉(zhuǎn)發(fā)到指定端口之后還包括:以業(yè)務(wù)報(bào)文類型為依據(jù),采用狀態(tài)機(jī)快速識別每一幀數(shù)據(jù)所攜帶的業(yè)務(wù)報(bào)文信息;
結(jié)合現(xiàn)場實(shí)際工況按比例分配帶寬或者設(shè)置固定帶寬,實(shí)現(xiàn)流量控制,對于非法業(yè)務(wù)報(bào)文信息進(jìn)行攔截或丟棄處理,并將處理結(jié)果轉(zhuǎn)發(fā)到處理器,同步顯示于用戶端,提示用戶排查非法來源。
定義幀格式具體包括;定義長度為7個(gè)字節(jié)、數(shù)值為0X55的前導(dǎo)碼,以及位于幀前導(dǎo)碼后接長度為1個(gè)字節(jié)、數(shù)值為0XD5的開始符,以7個(gè)0X55和1個(gè)0XD5的位置作為幀起始標(biāo)志位;定義長度均為6個(gè)字節(jié)的目地址和源地址,分別表示各數(shù)據(jù)幀所到達(dá)的目的地址和源地址;定義802.1q的字段長度為4個(gè)字節(jié),用于配置數(shù)據(jù)幀的安全優(yōu)先級和VLAN信息;定義長度/類型字段長度為2個(gè)字節(jié),用于表示該數(shù)據(jù)幀的總長度或者業(yè)務(wù)報(bào)文類型;
定義數(shù)據(jù)負(fù)荷區(qū)的長度為46-1500個(gè)字節(jié),表示該數(shù)據(jù)幀攜帶的用戶信息。
2、本實(shí)施例中提供一種協(xié)議解析裝置,所述協(xié)議解析裝置包括:
獲取模塊,用于獲取經(jīng)S3MII總線傳輸?shù)臉I(yè)務(wù)報(bào)文信息;
封裝模塊,用于封裝為數(shù)據(jù)幀;
解析模塊,用于采用FPGA算法快速解析每一幀數(shù)據(jù)。
獲取模塊包括:監(jiān)控單元,用于實(shí)時(shí)監(jiān)控經(jīng)S3MII總線傳輸?shù)臉I(yè)務(wù)報(bào)文信息,根據(jù)本地參考時(shí)鐘和處理器的控制信號按比特逐位獲取,并以字節(jié)為單位存儲;
封裝模塊包括:分析單元,用于按字節(jié)分析幀頭,定義幀格式,獲取幀起始標(biāo)志位其后攜帶的數(shù)據(jù)字段;如圖1所示。
其中,分析單元包括:第一處理子單元,用于定義長度為7個(gè)字節(jié)、數(shù)值為0X55的前導(dǎo)碼,以及位于幀前導(dǎo)碼后接長度為1個(gè)字節(jié)、數(shù)值為0XD5的開始符,以7個(gè)0X55和1個(gè)0XD5的位置作為幀起始標(biāo)志位;
第二處理子單元,用于定義長度均為6個(gè)字節(jié)的目地址和源地址,分別表示各數(shù)據(jù)幀所到達(dá)的目的地址和源地址;
第三處理子單元,用于定義802.1q的字段長度為4個(gè)字節(jié),用于配置數(shù)據(jù)幀的安全優(yōu)先級和VLAN信息;
第四處理子單元,用于定義長度/類型字段長度為2個(gè)字節(jié),用于表示該數(shù)據(jù)幀的總長度或者業(yè)務(wù)報(bào)文類型;
第五處理子單元,用于定義數(shù)據(jù)負(fù)荷區(qū)的長度為46-1500個(gè)字節(jié),表示該數(shù)據(jù)幀攜帶的用戶信息。
類型識別單元,用于選擇指定位置的幀標(biāo)志,讀取其對應(yīng)的類型字段,通過與已知的數(shù)據(jù)類型進(jìn)行比較識別業(yè)務(wù)報(bào)文類型后,放入緩存區(qū)以待確認(rèn);其中,所述已知的數(shù)據(jù)類型包括MMS、SMV和GOOSE;
確認(rèn)單元,用于根據(jù)自定義的安全優(yōu)先級從緩沖區(qū)中選取待確認(rèn)幀,執(zhí)行CRC校驗(yàn),若校驗(yàn)結(jié)果發(fā)生CRC錯誤,則將當(dāng)前發(fā)生CRC錯誤的幀丟棄,通過并行總線發(fā)送信號告知處理器;否則,將CRC正確的幀封裝;
生成單元,用于將接收到的CRC正確的幀插入幀尾后四個(gè)字節(jié)進(jìn)行封裝,生成完整的數(shù)據(jù)幀,并遵循S3MII接口協(xié)議標(biāo)準(zhǔn)發(fā)送數(shù)據(jù)幀;
轉(zhuǎn)發(fā)單元,用于接收到數(shù)據(jù)幀后,根據(jù)預(yù)先的配置的目的地址將數(shù)據(jù)幀轉(zhuǎn)發(fā)到指定端口。
解析模塊包括:信息識別單元,用于將數(shù)據(jù)幀轉(zhuǎn)發(fā)到指定端口之后以業(yè)務(wù)報(bào)文類型為依據(jù),采用狀態(tài)機(jī)快速識別每一幀數(shù)據(jù)所攜帶的業(yè)務(wù)報(bào)文信息;
控制單元,用于結(jié)合現(xiàn)場實(shí)際工況按比例分配帶寬或者設(shè)置固定帶寬,實(shí)現(xiàn)流量控制,對于非法業(yè)務(wù)報(bào)文信息進(jìn)行攔截或丟棄處理,并將處理結(jié)果轉(zhuǎn)發(fā)到處理器,同步顯示于用戶端,提示用戶排查非法來源。
3、如圖2所示,本實(shí)施例中提供一種二層交換系統(tǒng),所述系統(tǒng)包括第一物理接口收發(fā)器、第二物理接口收發(fā)器、第一FPGA芯片、第二FPGA芯片、處理器模塊、核心交換模塊、本地時(shí)鐘模塊和供電模塊;所述第一FPGA芯片和第二FPGA芯片均包括上述的協(xié)議解析裝置;所述協(xié)議解析裝置通過并行總線與處理器模塊相連,以實(shí)現(xiàn)以太網(wǎng)數(shù)據(jù)幀的識別、解析和封裝;
其中,所述處理器模塊用于控制整個(gè)系統(tǒng),具備協(xié)議解析功能,以實(shí)現(xiàn)對所述系統(tǒng)中各部分的配置管理;所述供電模塊,用于為系統(tǒng)及系統(tǒng)下各部分提供不同等級的電壓電源;所述本地時(shí)鐘模塊分別與第一物理接口收發(fā)器、第二物理接口收發(fā)器、第一FPGA芯片、第二FPGA芯片、處理器模塊和核心交換模塊單向連接,為其提供本地參考時(shí)鐘;
設(shè)置于物理層與數(shù)據(jù)鏈路層之間的第一、第二物理接口收發(fā)器分別通過S3MII總線與設(shè)于數(shù)據(jù)鏈路層的第一、第二FPGA芯片雙向連接;所述第一FPGA芯片和第二FPGA芯片通過獨(dú)立的S3MII總線與核心交換模塊雙向連接,通過16位數(shù)據(jù)總線與處理器模塊雙向連接;所述核心交換模塊與處理器模塊之間通過PCIE總線雙向連接。
第一物理接口收發(fā)器和第二至物理接口收發(fā)器分別設(shè)有第一光/電端口單元和第二光/電端口單元;所述第一、第二光/電端口單元分別通過S3MII總線與其對應(yīng)的第一、第二FPGA芯片雙向連接,以實(shí)現(xiàn)物理層和數(shù)據(jù)鏈路層之間的數(shù)據(jù)交互。
第一光/電端口單元和第二光/電端口單元分別包含8組順次排列的光/電端口。
第一、第二物理接口收發(fā)器具備數(shù)據(jù)的串并聯(lián)轉(zhuǎn)換、編碼/解碼功能,用于接收/發(fā)送網(wǎng)絡(luò)中的光/電物理量或者電信號,完成電信號與光/電物理量之間的相互轉(zhuǎn)換,獲取電信號中的業(yè)務(wù)報(bào)文信息。
本地時(shí)鐘模塊,為第一、第二物理接口收發(fā)器提供125M時(shí)鐘;為第一、第二FPGA芯片提供125M時(shí)鐘;為處理器模塊提供50M時(shí)鐘;
所述供電模塊,為第一、第二物理接口收發(fā)器提供2.5V、1.2V電源;為一、第二FPGA芯片提供1.2V、2.5、3.3V電壓;為處理器模塊提供1V、2.5V、3.3V電壓;為本地時(shí)鐘模塊提供3.3V電壓;為核心交換模塊提供2.5V、3.3V電壓。
第一、第二FPGA芯片均包括與核心交換模塊雙向連接的協(xié)議解析裝置;所述協(xié)議解析裝置通過并行總線與處理器模塊相連,以實(shí)現(xiàn)以太網(wǎng)數(shù)據(jù)幀的識別、解析和封裝;其中,所述核心交換模塊,用于接收數(shù)據(jù)幀,根據(jù)預(yù)先的配置的目的地址將數(shù)據(jù)幀轉(zhuǎn)發(fā)到指定端口。
基于FPGA的二層交換系統(tǒng)的業(yè)務(wù)報(bào)文解析方法,具體在交換裝置的物理層和數(shù)據(jù)鏈路層之間加入FPGA(現(xiàn)場可編程陣列),以實(shí)現(xiàn)業(yè)務(wù)報(bào)文的傳輸和識別和網(wǎng)絡(luò)交換節(jié)點(diǎn)的智能化;如圖3所示,其方法包括:
(1)獲取經(jīng)S3MII總線傳輸?shù)臉I(yè)務(wù)報(bào)文信息;
經(jīng)S3MII總線傳輸?shù)臉I(yè)務(wù)報(bào)文信息的獲取方法包括,實(shí)時(shí)監(jiān)控經(jīng)S3MII總線傳輸?shù)臉I(yè)務(wù)報(bào)文信息,根據(jù)本地參考時(shí)鐘和處理器模塊的控制信號按比特逐位獲取,并以字節(jié)為單位存儲。
(2)封裝為數(shù)據(jù)幀,采用FPGA算法快速解析每一幀數(shù)據(jù)。具體包括:
按字節(jié)分析幀頭,定義幀格式,獲取幀起始標(biāo)志位其后攜帶的數(shù)據(jù)字段;
選擇指定位置的幀標(biāo)志,讀取其對應(yīng)的類型字段,通過與已知的數(shù)據(jù)類型進(jìn)行比較識別業(yè)務(wù)報(bào)文類型后,放入緩存區(qū)以待確認(rèn);其中,所述已知的數(shù)據(jù)類型包括MMS、SMV和GOOSE;
根據(jù)自定義的安全優(yōu)先級從緩沖區(qū)中選取待確認(rèn)幀,執(zhí)行CRC校驗(yàn),若校驗(yàn)結(jié)果發(fā)生CRC錯誤,則將當(dāng)前發(fā)生CRC錯誤的幀丟棄,通過并行總線發(fā)送信號告知處理器;否則,將CRC正確的幀封裝;
將接收到的CRC正確的幀插入幀尾后四個(gè)字節(jié)進(jìn)行封裝,生成完整的數(shù)據(jù)幀,并遵循S3MII接口協(xié)議標(biāo)準(zhǔn)發(fā)送數(shù)據(jù)幀;
接收到數(shù)據(jù)幀后,根據(jù)預(yù)先的配置的目的地址將數(shù)據(jù)幀轉(zhuǎn)發(fā)到指定端口。
將數(shù)據(jù)幀轉(zhuǎn)發(fā)到指定端口之后還包括:以業(yè)務(wù)報(bào)文類型為依據(jù),采用狀態(tài)機(jī)快速識別每一幀數(shù)據(jù)所攜帶的業(yè)務(wù)報(bào)文信息;
結(jié)合現(xiàn)場實(shí)際工況按比例分配帶寬或者設(shè)置固定帶寬,實(shí)現(xiàn)流量控制,對于非法業(yè)務(wù)報(bào)文信息進(jìn)行攔截或丟棄處理,并將處理結(jié)果轉(zhuǎn)發(fā)到處理器,同步顯示于用戶端,提示用戶排查非法來源。
最后應(yīng)當(dāng)說明的是:以上實(shí)施例僅用以說明本申請的技術(shù)方案而非對其保護(hù)范圍的限制,盡管參照上述實(shí)施例對本申請進(jìn)行了詳細(xì)的說明,所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:本領(lǐng)域技術(shù)人員閱讀本申請后依然可對申請的具體實(shí)施方式進(jìn)行種種變更、修改或者等同替換,這些變更、修改或者等同替換,其均在其申請待批的權(quán)利要求范圍之內(nèi)。