本發(fā)明涉及電力系統(tǒng)通信,并且更具體地,涉及一種基于可編程邏輯陣列及pcie控制器的網絡傳輸模塊。
背景技術:
1、隨著電力系統(tǒng)的不斷發(fā)展,電力設備外部網絡環(huán)境正變得越發(fā)復雜,對電力設備外部網絡的通信需求及可靠性要求也越來越高。而傳統(tǒng)cpu一般僅提供少量網絡接口,無法滿足網絡通信的需求,因此需要擴展網絡模塊。常見方案為在一個網絡接口上外接交換芯片或fpga,通過標準網絡接口擴展多網口,這種方案的缺點是無法做到擴展出的各網口硬件解耦,單點故障(例如交換芯片異常、cpu網卡控制器異常等)將會擴大故障范圍,降低裝置網絡傳輸的可靠性,并且交換芯片的網口與系統(tǒng)軟件角度的網口也無法做到一一對應,不滿足設備邏輯網卡獨立的需求。
2、現有技術提出了一種增加pcie接口實現獨立網卡的方案,通過外部硬件增加網卡模塊,該網卡模塊具備單獨處理器且支持pcie接口及對外光口\網口,與外部網絡通信時,該獨立網卡模塊負責將接收到的報文通過pcie接口交換至cpu驅動模塊。例如中國專利cn115733549a公開了一種pcie網卡,其包括以太網光口和主處理器,所述以太網光口和所述主處理器連接。
3、但是,上述方案需要增加外部獨立網卡模塊,會增加裝置硬件成本。并且pcie是點對點擴展,一個控制器只能擴展一個網卡,擴展性低,靈活性低,目前可采用芯片的pcie數量無法滿足電力系統(tǒng)保護測控裝置要求。因此,目前亟需設計出一種低硬件成本、靈活、擴展性強的網絡傳輸模塊。
技術實現思路
1、針對現有技術的不足,本發(fā)明提供一種基于可編程邏輯陣列及pcie控制器的網絡傳輸模塊。
2、本發(fā)明提供的基于可編程邏輯陣列及pcie控制器的網絡傳輸模塊,包括:
3、cpu模塊、fpga網絡模塊、交換芯片網絡模塊、n個普通網口以及n個冗余網口;其中
4、cpu模塊通過pcie接口與fpga網絡模塊互聯,構成冗余網絡;
5、cpu模塊通過gmac接口與交換芯片網絡模塊互聯,構成異構網絡;
6、fpga網絡模塊通過n個冗余網口接收外部發(fā)送的網絡報文,并通過pcie總線將網絡報文傳輸至cpu模塊;
7、交換芯片網絡模塊通過n-1個普通網口接收外部發(fā)送的網絡報文,通過第n個普通網口與cpu模塊通信連接,并通過gmac總線將網絡報文傳輸至cpu模塊;
8、在cpu模塊需要通過冗余網絡對外發(fā)送數據時,通過pcie總線將待發(fā)送數據傳輸給fpga網絡模塊,并由fpga網絡模塊完成對外網絡報文的發(fā)送;
9、在cpu模塊需要通過異構網絡對外發(fā)送數據時,通過gmac總線將待發(fā)送數據傳輸給交換芯片網絡模塊,并由交換芯片網絡模塊完成對外網絡報文的發(fā)送。
10、可選地,所述cpu模塊包括gmac控制器、pcie控制器的rc端、通用輸入/輸出口、cpu驅動模塊以及網絡協議棧;其中
11、cpu模塊通過gmac控制器與交換芯片網絡模塊發(fā)起數據傳輸,通過pcie控制器的rc端向fpga網絡模塊發(fā)起數據傳輸,通過通用輸入/輸出口的中斷功能通知cpu驅動模塊處理網絡報文,通過網絡協議棧存儲經過cpu驅動模塊處理后的網絡報文。
12、可選地,所述fpga網絡模塊包括pcie控制器的ep端、i/o資源子模塊、邏輯處理子模塊以及網絡收發(fā)子模塊;其中pcie控制器的ep端負責同cpu模塊進行pcie總線的交互傳輸;i/o資源子模塊負責觸發(fā)通用輸入/輸出口的中斷功能;邏輯處理子模塊負責多網口協議的處理及解析工作;
13、在通過冗余網絡對外發(fā)送數據階段,cpu模塊通過pcie總線將待發(fā)送數據傳輸給fpga網絡模塊的pcie控制器的ep端,pcie控制器的ep端將待發(fā)送數據傳輸給邏輯處理子模塊,fpga網絡模塊在邏輯處理子模塊中根據多網口協議對待發(fā)送數據解析處理,再通過網絡收發(fā)子模塊將報文推送至對外的n個冗余網口;
14、在通過冗余網絡對外接收數據階段,fpga網絡模塊通過網絡收發(fā)子模塊接收n個冗余網口傳輸的網絡報文,在經過邏輯處理子模塊處理后,通過pcie總線將網絡報文放置至cpu模塊的指定內存位置,待傳輸完成后通過i/o資源子模塊觸發(fā)通用輸入/輸出口的中斷功能,以通知cpu模塊處理網絡報文。
15、可選地,對于冗余網絡,cpu模塊與fpga網絡模塊之間的網絡報文新增網絡標簽字段,網絡標簽字段用于區(qū)分fpga網絡模塊對外的n個冗余網口,實現多網口邏輯獨立。
16、可選地,在網絡報文發(fā)送過程中,cpu模塊將網卡信息字段插入待發(fā)送的網絡報文,fpga網絡模塊負責解析網卡信息字段并恢復網絡報文,之后將網絡報文傳遞至對應的冗余網口;
17、在網絡報文接收過程中,fpga網絡模塊將接收的網口信息字段插入至網絡報文,cpu模塊解析網口信息字段后恢復網絡報文,并將對應的網絡報文推送至網絡協議棧。
18、可選地,對于冗余網絡,在通用輸入/輸出口中斷觸發(fā)cpu模塊處理網絡報文后,cpu模塊關閉通用輸入/輸出口的中斷功能,將網絡報文的接收切換至輪詢模式,并持續(xù)接收后續(xù)的數據包;待網絡報文接收完畢并送入對應網絡協議棧后,cpu模塊重新開啟通用輸入/輸出口的中斷功能。
19、可選地,對于異構網絡,cpu模塊采用標準gmac網絡收發(fā)流程與外部網絡通信。
20、本發(fā)明利用既有的可編程邏輯陣列(fpga網絡模塊)以及pcie總線,將可編程邏輯陣列和pcie控制器的技術優(yōu)勢結合,設計出一種高效、靈活的網絡傳輸模塊,不占用原有網卡控制器,利用cpu模塊已有的pcie接口和gmac接口分別與fpga網絡模塊和交換芯片網絡模塊互聯,通過pcie控制器擴展得到冗余網絡,通過gmac控制器擴展得到異構網絡,靈活性和擴展性強。并且,本發(fā)明利用cpu模塊已有的接口分別與fpga網絡模塊和交換芯片網絡模塊互聯,降低了cpu模塊、fpga網絡模塊和交換芯片網絡模塊在接口方面的選型門檻,減少了硬件成本。解決了現有的網絡傳輸模塊硬件成本高、靈活差、擴展性差的技術問題。
1.一種基于可編程邏輯陣列及pcie控制器的網絡傳輸模塊,其特征在于,包括:cpu模塊、fpga網絡模塊、交換芯片網絡模塊、n個普通網口以及n個冗余網口;其中
2.根據權利要求1所述的網絡傳輸模塊,其特征在于,所述cpu模塊包括gmac控制器、pcie控制器的rc端、通用輸入/輸出口、cpu驅動模塊以及網絡協議棧;其中
3.根據權利要求2所述的網絡傳輸模塊,其特征在于,所述fpga網絡模塊包括pcie控制器的ep端、i/o資源子模塊、邏輯處理子模塊以及網絡收發(fā)子模塊;其中pcie控制器的ep端負責同cpu模塊進行pcie總線的交互傳輸;i/o資源子模塊負責觸發(fā)通用輸入/輸出口的中斷功能;邏輯處理子模塊負責多網口協議的處理及解析工作;
4.根據權利要求3所述的網絡傳輸模塊,其特征在于,對于冗余網絡,cpu模塊與fpga網絡模塊之間的網絡報文新增網絡標簽字段,網絡標簽字段用于區(qū)分fpga網絡模塊對外的n個冗余網口,實現多網口邏輯獨立。
5.根據權利要求3所述的網絡傳輸模塊,其特征在于,在網絡報文發(fā)送過程中,cpu模塊將網卡信息字段插入待發(fā)送的網絡報文,fpga網絡模塊負責解析網卡信息字段并恢復網絡報文,之后將網絡報文傳遞至對應的冗余網口;
6.根據權利要求3所述的網絡傳輸模塊,其特征在于,對于冗余網絡,在通用輸入/輸出口中斷觸發(fā)cpu模塊處理網絡報文后,cpu模塊關閉通用輸入/輸出口的中斷功能,將網絡報文的接收切換至輪詢模式,并持續(xù)接收后續(xù)的數據包;待網絡報文接收完畢并送入對應網絡協議棧后,cpu模塊重新開啟通用輸入/輸出口的中斷功能。
7.根據權利要求3所述的網絡傳輸模塊,其特征在于,對于異構網絡,cpu模塊采用標準gmac網絡收發(fā)流程與外部網絡通信。