CN115061973A - 一种基于非对称多处理模式的网卡映射方法及设备 - Google Patents
一种基于非对称多处理模式的网卡映射方法及设备 Download PDFInfo
- Publication number
- CN115061973A CN115061973A CN202210388325.6A CN202210388325A CN115061973A CN 115061973 A CN115061973 A CN 115061973A CN 202210388325 A CN202210388325 A CN 202210388325A CN 115061973 A CN115061973 A CN 115061973A
- Authority
- CN
- China
- Prior art keywords
- network card
- data
- core
- fpga
- communication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000013507 mapping Methods 0.000 title claims abstract description 106
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000004891 communication Methods 0.000 claims abstract description 109
- 239000000872 buffer Substances 0.000 claims description 12
- 230000005540 biological transmission Effects 0.000 claims description 11
- 230000002093 peripheral effect Effects 0.000 claims description 7
- 238000004088 simulation Methods 0.000 claims description 6
- 238000013506 data mapping Methods 0.000 claims description 3
- 241000272814 Anser sp. Species 0.000 claims 1
- 230000006870 function Effects 0.000 abstract description 12
- 238000007726 management method Methods 0.000 description 14
- 101100059544 Arabidopsis thaliana CDC5 gene Proteins 0.000 description 6
- 101150115300 MAC1 gene Proteins 0.000 description 6
- 238000005259 measurement Methods 0.000 description 6
- 101100244969 Arabidopsis thaliana PRL1 gene Proteins 0.000 description 3
- 102100039558 Galectin-3 Human genes 0.000 description 3
- 101100454448 Homo sapiens LGALS3 gene Proteins 0.000 description 3
- 101150051246 MAC2 gene Proteins 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000013480 data collection Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17331—Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于非对称多处理模式的网卡映射方法及设备,所述方法包括:将多核处理器划分为通信核和多个功能核,按照AMP模式进行加载,初始化;通信核和功能核分别创建物理网卡和虚拟网卡;物理网卡创建DMA映射的发送接收描述符表,功能核分别在共享内存区将输入输出映射至收发缓存;FPGA创建以太网通信模块、数据收发模块和PHY接口驱动模块;通信核创建CPU映射关系和FPGA映射关系,将CPU映射关系通过共享内存发送至各功能核,并配置到所有的虚拟网卡参数中,将FPGA映射关系发送至FPGA;以太网通信模块解析出FPGA映射关系,配置到数据发送模块,完成网卡映射。本发明提高了多核处理器通信的实时性。
Description
技术领域
本发明涉及通信控制技术领域,具体涉及一种基于非对称多处理模式的网卡映射方法及设备。
背景技术
在使用多核处理器的继电保护设备中,***一般采用AMP(Asymmetric Multi-processing)模式运行方式,多个核心按功能一般划分为管理核、保护核、测量核等。在AMP模式下,多个核心相对独立地运行各自的操作***或裸机程序,以最大限度确保各核心的功能产生异常时不会对其他核造成直接影响,防止多核之间的相互干扰,增强***的可靠性。另外,在AMP模式下,各个核心拥有自己的专属内存,同时各个核心可以共享一段特定的内存空间来传递数据和状态,用于实现各个核心之间的功能和数据通信。
继电保护设备在运行过程中需要通过网络与外界交互大量的GOOSE(GenericObject Oriented Substation Event,通用的变电站面向对象事件)数据、SV(SampledValue,采样值)和TCP/IP(Transmission Control Protocol/Internet Protocol)帧。然而现有的多核处理器芯片缺少并行总线,无法灵活的扩展接口,低速率的串行总线无法支持大数据量的交互,仅有一路千兆以太网控制器可以进行大量的以太网数据包的交互。在AMP模式下,各核对外部以太网控制器的异步访问过程中容易造成访问冲突而无法正常收发数据,所以需要将以太网控制器分配给其中一个核心控制。通常由于管理核交互的以太网数据比较多,将以太网控制器分配给该核心,所有的网络数据都需要通过该核对数据进行解析和处理,然后将解析后的数据通过共享内存传递给其他各处理核,即:保护核通过共享内存获取解析后的GOOSE数据、测量核通过共享内存获取SV数据。这种运行方式存在以下弊端:
所有的对外数据都集中在唯一的网口上,需要借助外部交换机将GOOSE网络、SV网络和TCP/IP的网络数据汇集在一起。各类数据对实时性的要求不同,大量数据都通过唯一的以太网控制器接口传输,容易造成网络拥堵,导致高实时性的数据因为数据排队造成一定延时,降低了数据传输的实时性和可靠性;
所有的网络通信功能(包括与维护软件通信、客户端通信、GOOSE通信、SV通信、差动通信等)都需要管理核进行处理,影响***运行效率和模块划分,并且管理核的功能比较复杂,往往容易因为管理核的异常影响网络通信,造成对保护功能和测量功能的影响,打破了各核独立的设计初衷,降低了***的可靠性;
***开发过程中的仿真调试需要依托网络来实现,而在AMP模式下,只有管理核能通过以太网连接IDE来进行代码仿真调试,其他核只能通过串口打印输出来调试,不利于问题的排查,降低了开发效率。
发明内容
本发明提出了一种基于非对称多处理模式的网卡映射方法及设备,其目的是:克服现有技术的缺陷,提高多核处理器对外通信的实时性、可靠性和灵活性。
本发明技术方案如下:
一种基于非对称多处理模式的网卡映射方法,包括如下步骤:
S1:将多核处理器划分为通信核和多个功能核,设备按照AMP模式进行加载,***初始化;
S2:通信核创建物理网卡,各功能核分别创建虚拟网卡,为所述物理网卡和虚拟网卡分配IP地址;
S3:通信核的物理网卡创建以太网控制器的DMA映射的发送和接收描述符表,并分配对应的发送循环缓存和接收循环缓存,各功能核分别在共享内存区域为对应的虚拟网卡创建接收循环缓存和发送循环缓存,将虚拟网卡的输入和输出映射到对应的接收循环缓存和发送循环缓存空间中;
S4:FPGA创建以太网通信模块、数据接收模块、数据发送模块和PHY接口驱动模块,所述以太网通信模块用于与以太网控制器进行数据通信并缓存从多核处理器接收到的以太网数据帧,所述数据接收模块和数据发送模块用于根据数据映射关系调度FPGA各缓存中的数据帧,所述PHY接口驱动模块用于与***物理网口通信,并负责缓存从PHY接口接收到的数据帧;
S5:通信核创建CPU映射关系和FPGA映射关系,将所述CPU映射关系通过共享内存发送至各功能核,并配置到所有的虚拟网卡参数中,将所述FPGA映射关系发送至FPGA,所述CPU映射关系包括网卡名称、MAC地址、帧类型和IP地址白名单,所述FPGA映射关系包括MAC地址和PHY接口名称;
S6:FPGA的以太网通信模块解析出FPGA映射关系,配置到所述数据发送模块,完成从物理网卡和虚拟网卡到PHY接口的网卡映射。
进一步地,所述网卡映射方法还包括在通信核上设置物理网卡的CPU发送优先级关系和FPGA接收优先级关系,通信核将所述FPGA接收优先级关系发送至FPGA,以太网通信模块将所述FPGA接收优先级关系配置到所述数据接收模块中。
进一步地,PHY接口收到外部数据帧时,首先缓存到各自接口的循环缓存中,FPGA按照所述FPGA接收优先级关系遍历各缓存是否存在接收到的完整以太网数据帧,如果存在则将该数据通过所述以太网通信模块发送至多核处理器;
以太网通信模块从多核处理器接收到数据时,先将数据缓存到以太网通信模块的循环缓存中,并对数据进行解析,将MAC地址与映射关系进行对比,找到该数据对应的PHY接口,将数据从对应的PHY接口发送出去。
进一步地,所述物理网卡和虚拟网卡通过共享内存和核间中断进行数据传输;所述物理网卡接收到以太网数据帧时,通过DMA的方式写到网卡描述符表的接收循环缓存中,通信核接收到缓存中的数据后开始解析数据,进行数据帧与映射关系的对比识别,然后将数据分发至各个虚拟网卡的接收循环缓存中,并发送一个核间中断通知相应的虚拟网卡;
虚拟网卡发送数据时,首先将发送数据写入到对应的发送循环缓存中,并发送一个核间中断通知通信核,通信核接收到中断后按照所述CPU发送优先级关系循序依次检测各虚拟网卡的发送循环缓存,如果有数据则将数据取出,汇集到物理网卡的描述符表发送循环缓存中,并启动DMA传输。
进一步地,通信核按照MAC地址、帧类型、IP地址的顺序循序对接收到的外部以太网数据帧进行数据帧与映射关系的对比识别:如果数据帧类型为TCP/IP帧,需满足MAC地址、帧类型和IP地址三个识别条件,如果数据帧类型为GOOSE或SV帧,满足MAC地址和帧类型两个识别条件即可。
进一步地,所述步骤S5中采用以太网协议中的空置字段进行FPGA映射关系的参数配置。
进一步地,所述CPU映射关系、FPGA映射关系、CPU发送优先级关系和FPGA接收优先级关系以文件形式存储在EMMC中,更改网卡配置时,外部计算机通过ftp连接所述通信核,将新的配置信息文件传递至EMMC中,***复位后重置网卡配置。
进一步地,所述物理网口连接至外部调试端或通信端,为外部调试端或通信端设置与所述物理网卡和虚拟网卡相对应的IP地址,直接与所述物理网卡和虚拟网卡建立以太网连接,进行仿真调试、TELNET或FTP通信。
进一步地,各虚拟网卡的循环缓存区域相互独立。
一种用于实现所述基于非对称多处理模式的网卡映射方法的设备,包括多核处理器、EMMC、网卡控制器、FPGA、多个PHY芯片和网口,所述EMMC用于存储多核处理器的映射关系文件和优先级关系文件,所述多核处理器通过网卡控制器与FPGA相连接,所述FPGA还与多个PHY芯片相连接,所述PHY芯片与所述网口一一对应连接。
相对于现有技术,本发明具有以下有益效果:
(1)将多核处理器划分为通信核和多个功能核,通信核管理以太网控制器,创建物理网卡,各功能核分别创建虚拟网卡,通过通信核和以太网控制器建立各功能核间接的对外通信方式,相互之间影响甚微;通过虚拟网卡与以太网控制器的映射、FPGA中以太网控制器模块与PHY接口的映射,建立出虚拟网卡与PHY接口的映射关系,各功能核的虚拟网卡各自映射到一路PHY接口上,实现了各核与PHY接口的一对一映射关系,确保各子网的报文独立,没有交叉数据,降低了网络数据包之间的相互干扰,提高了***通信的可靠性;
(2)通信核在搬移各核共享内存数据到以太网控制器的DMA内存描述符表的过程中,建立发送数据的优先级管理,降低了数据发送过程中高实时性需求数据的通信延时;以太网控制器通过FPGA芯片间接连接多个PHY芯片,FPGA创建以太网控制模块与PHY接口模块之间的映射关系,同时在数据汇集的过程中建立接收数据的优先级管理,降低了数据接收过程中高实时性数据的通信延时,提高了数据传输的实时性;
(3)各虚拟网卡与PHY接口之间的映射关系和收发数据的优先级管理关系以文件的形式存储在EMMC中,通过修改映射关系文件,可以直接修改虚拟网卡与PHY之间的对应关系,除了可以建立一对一的映射关系外,还可以建立多对多的映射关系,提高了***通信的灵活性;
(4)CPU采用保留类型的特殊以太网帧对FPGA进行映射参数的配置,将通信与配置复用,节省了CPU***接口资源和FPGA逻辑资源。
附图说明
图1为本发明的结构示意图。
具体实施方式
下面结合附图详细说明本发明的技术方案:
如图1,一种基于非对称多处理模式的网卡映射设备,包括多核处理器(以下简称CPU)、EMMC(Embedded Multi Media Card,内嵌式存储器)、千兆网卡控制器、FPGA(FieldProgrammable Gate Array,可编程逻辑器件)、多个PHY(Physical,物理端口)芯片和网口,所述EMMC用于存储多核处理器的映射关系文件和优先级关系文件,所述多核处理器通过网卡控制器与FPGA相连接,所述FPGA还与多个PHY芯片相连接,所述PHY芯片与所述网口一一对应连接。
一种基于上述设备实现的非对称多处理模式的网卡映射方法,包括如下步骤:
S1:将多核处理器划分为通信核和多个功能核,其中核0为通信核,核1为管理核,核2为保护核,核3为测量核。
设备按照AMP模式进行加载,***初始化。具体地,核0初始化EMMC控制器驱动和以太网控制器驱动,FPGA初始化以太网控制器接口驱动和PHY接口驱动。
S2:通信核创建物理网卡,各功能核分别创建虚拟网卡,为所述物理网卡和虚拟网卡分配IP地址,如下所示:
物理网卡:192.168.1.1
虚拟网卡1:192.168.2.1
虚拟网卡2:192.168.3.1
虚拟网卡3:192.168.3.2
虚拟网卡4:192.168.4.1
虚拟网卡5:192.168.4.2
S3:通信核管理以太网控制器,通过DMA(Direct Memory Access)与以太网控制器交互:通信核的物理网卡创建以太网控制器的DMA映射的发送和接收描述符表,并分配对应的发送循环缓存和接收循环缓存,物理网卡负责与FPGA直接进行通信。各功能核分别在共享内存区域为对应的虚拟网卡创建接收循环缓存和发送循环缓存,每个虚拟网卡的循环缓存区域相互独立,将虚拟网卡的输入和输出映射到对应的接收循环缓存和发送循环缓存空间中,以保证每次接收循环缓存中收到数据时,会被自动传输到对应的虚拟网卡中,虚拟网卡发送数据时也会自动写入对应的发送循环缓存中。
继电保护设备数据收发过程中,通信核负责将以太网控制器DMA映射内存描述符表中接收的数据分发搬移到各个功能核的输入共享内存上,并且将各个功能核的输出共享内存数据搬移到以太网控制器DMA映射内存描述符表的发送区域中。因此管理核、保护核、测量核的虚拟网卡通过通信核建立了间接的对外通信方式,且相互之间影响甚微。
专门划分一个通信核来进行网络数据的分发,既可以保证网络数据不受该核其他复杂功能的影响而降低通信效率,其他每个核只需要处理本核所需要的以太网数据,可以减少其他核的通信数据带来的负载压力,能更大程度的保证各核功能的独立,将网络的相互影响降到最低。
S4:FPGA创建以太网通信模块、数据接收模块、数据发送模块和PHY接口驱动模块,所述以太网通信模块用于与CPU的以太网控制器进行数据通信并缓存从CPU接收到的以太网数据帧,所述数据接收模块和数据发送模块用于根据数据映射关系调度FPGA各缓存中的数据帧,所述PHY接口驱动模块用于与***物理网口通信,并负责缓存从PHY接口接收到的数据帧。
S5:通信核创建CPU映射关系和FPGA映射关系,如表1和表2所示,所述CPU映射关系包括网卡名称、MAC地址、帧类型和IP地址白名单,所述FPGA映射关系包括MAC地址和PHY接口名称。
表1CPU映射关系
网卡名 | MAC地址 | 帧类型 | IP地址白名单 |
物理网卡 | MAC1:01-0c-cd-01-01-b1 | TCP/IP | 192.168.1.1~192.168.1.255 |
虚拟网卡1 | MAC1:01-0c-cd-01-01-b1 | TCP/Ip | 192.168.2.1~192.168.2.255 |
虚拟网卡2 | MAC1:01-0c-cd-01-01-b1 | TCP/IP | 192.168.3.1~192.168.3.255 |
虚拟网卡3 | MAC2:01-0c-cd-01-01-b2 | GOOSE | |
虚拟网卡4 | MAC1:01-0c-cd-01-01-b1 | TCP/IP | 192.168.4.1~192.168.4.255 |
虚拟网卡5 | MAC3:01-0c-cd-01-01-b3 | SV |
表2FPGA映射关系
mac地址 | MAC地址 |
MAC1:01-0c-cd-01-01-b1 | PHY接口1 |
MAC2:01-0c-cd-01-01-b2 | PHY接口2 |
MAC3:01-0c-cd-01-01-b3 | PHY接口3 |
将所述CPU映射关系通过共享内存发送至各功能核,并配置到所有的虚拟网卡参数中,将所述FPGA映射关系发送至FPGA。
S6:FPGA的以太网通信模块解析出FPGA映射关系,配置到所述数据发送模块,完成从物理网卡和虚拟网卡到PHY接口的网卡映射。
具体地,如FPGA映射关系所定义,每个PHY接口绑定唯一的接口MAC地址,PHY接口1绑定MAC1、PHY接口2绑定MAC2、PHY接口3绑定MAC3。PHY接口1对应传输TCP/IP帧,PHY接口2对应传输GOOSE帧,PHY接口3对应传输SV帧。
进一步,如CPU映射关系所定义,通过MAC地址、帧类型和IP地址白名单建立了物理网卡和各个虚拟网卡与PHY接口之间的映射关系:
物理网卡1绑定PHY接口1,传输TCP/IP帧,IP地址范围是192.168.1.1~192.168.1.255;
虚拟网卡1绑定PHY接口1,传输TCP/IP帧,IP地址范围是192.168.2.1~192.168.2.255;
虚拟网卡2绑定PHY接口1,传输TCP/IP帧,且IP地址范围是192.168.3.1~192.168.3.255;
虚拟网卡3绑定PHY接口2,传输GOOSE帧;
虚拟网卡4绑定PHY接口1,传输TCP/IP帧,IP地址范围是192.168.4.1~192.168.4.255;
虚拟网卡5绑定PHY接口3,传输SV帧。
通过处理器中的虚拟网卡与以太网控制器的映射、FPGA中以太网控制器模块与PHY接口的映射,建立出虚拟网卡与PHY接口的映射关系。管理核的虚拟网卡、保护核的虚拟网卡和测量核的虚拟网卡都各自映射到一路PHY接口上,可以实现各核与各PHY接口的一对一映射关系,确保各子网的报文独立,没有交叉数据,降低网络数据包之间的相互干扰。
本发明的另一实施例中,在通信核上设置物理网卡的CPU发送优先级关系和FPGA接收优先级关系,如表3和表4所示,通信核将所述FPGA接收优先级关系发送至FPGA,以太网通信模块将所述FPGA接收优先级关系配置到所述数据接收模块中。
表3CPU发送优先级关系
优先级 | 网卡名 |
0 | 虚拟网卡5 |
1 | 虚拟网卡3 |
2 | 主网卡 |
2 | 虚拟网卡1 |
2 | 虚拟网卡2 |
2 | 虚拟网卡4 |
表4FPGA接收优先级关系
优先级 | 网卡名 |
0 | 虚拟网卡5 |
1 | 虚拟网卡3 |
2 | 主网卡 |
2 | 虚拟网卡1 |
2 | 虚拟网卡2 |
2 | 虚拟网卡4 |
通信核在搬移各核共享内存数据到以太网控制器的DMA内存描述符表的过程中,建立发送数据的优先级管理,将优先级高的数据优先发送,优先级低的数据在各核心的循环缓存中排队,可以降低数据发送过程中高实时性需求数据的通信延时。
PHY接口收到外部数据帧时,首先缓存到各自接口的循环缓存中,FPGA按照所述FPGA接收优先级关系遍历各缓存是否存在接收到的完整以太网数据帧,如果存在则将该数据通过所述以太网通信模块发送至CPU。
以太网通信模块从CPU接收到数据时,先将数据缓存到以太网通信模块的循环缓存中,并对数据进行解析,将MAC地址与映射关系进行对比,找到该数据对应的PHY接口,将数据从对应的PHY接口发送出去。
以太网控制器不直接连接PHY芯片,而是通过FPGA芯片间接连接多个PHY芯片。FPGA创建以太网通信模块与以太网控制器进行通信,创建PHY通信模块与PHY接口进行通信,FPGA创建以太网控制模块与PHY接口模块之间的映射关系,根据映射关系将从以太网控制器接收到的数据帧分发至各个PHY接口,将PHY接口接收到的数据汇集到以太网控制器模块中;同时在数据汇集的过程中,建立接收数据的优先级管理,将高优先级的数据优先传输到以太网控制器模块,低优先级的数据在各接口的循环缓存中排队,可以降低数据接收过程中高实时性数据的通信延时。
本发明的另一实施例中,所述物理网卡和虚拟网卡通过共享内存和核间中断进行数据传输,通信核负责调度物理网卡映射的收发缓存数据与各虚拟网卡共享缓存中的数据。
所述物理网卡接收到以太网数据帧时,通过DMA的方式写到网卡描述符表的接收循环缓存中,通信核接收到缓存中的数据后开始解析数据,按照MAC地址、帧类型、IP地址的顺序循序对接收到的外部以太网数据帧进行数据帧与映射关系的对比识别。具体地,如果数据帧类型为TCP/IP帧,需满足MAC地址、帧类型和IP地址三个识别条件,如果数据帧类型为GOOSE或SV帧,满足MAC地址和帧类型两个识别条件即可。完成对比识别后,将数据分发至各个虚拟网卡的接收循环缓存中,并发送一个核间中断通知相应的虚拟网卡。
虚拟网卡发送数据时,首先将发送数据写入到对应的发送循环缓存中,并发送一个核间中断通知通信核,通信核接收到中断后按照所述CPU发送优先级关系循序依次检测各虚拟网卡的发送循环缓存,如果有数据则将数据取出,汇集到物理网卡的描述符表发送循环缓存中,并启动DMA传输。
本发明的另一施例中,所述CPU映射关系、FPGA映射关系、CPU发送优先级关系和FPGA接收优先级关系以文件形式存储在EMMC中,***初始化的过程中,将处理器部分映射关系和优先级关系配置到各个核中,将FPGA部分的映射关系和优先级关系通过以太网控制器配置到FPGA中。通过修改映射关系文件,可以直接修改虚拟网卡与PHY之间的对应关系,除了可以建立一对一的映射关系外,可以建立多对多的映射关系。
更改网卡配置时,外部计算机通过ftp连接所述通信核,将新的配置信息文件传递至EMMC中,将***复位,即可实现重置网卡配置。
多核处理器每个核心可以根据自身应用需求,通过配置虚拟网卡的映射关系,灵活调整的各核心的以太网功能和外部网口之间的对应关系,实现每个虚拟网卡与***任意接口的通信连接,多对多的任意组合。
本发明的另一施例中,所述物理网口连接至外部调试端或通信端,为外部调试端或通信端设置与所述物理网卡和虚拟网卡相对应的4个IP地址:192.168.1.10,192.168.2.10,192.168.3.10,192.168.4.10,可以直接与所述物理网卡和虚拟网卡建立以太网连接,进行仿真调试、TELNET或FTP通信,即多核处理器的4个核心独立建立了与外部的以太网通信关系,可以对各个核进行以太网仿真调试。另外,GOOSE和SV通过两个独立的外部PHY接口可以连接两个独立的子网,确保采样数据和IEC61850数据独立,不相互干扰。
多核处理器的每个核心在AMP模式下都能以虚拟网卡的形式与外部进行独立通信,便于各核APP的独立仿真开发调试,且支持各核的同时仿真,对于核间交互的调试也具有优势。
本发明的另一实施例中,CPU采用以太网协议中的空置字段进行FPGA映射关系的参数配置,将所述FPGA映射关系通过EtherType(以太网类型字段,用来指明应用于帧数据字段的协议)为0xFFFF的特殊以太网帧发送至FPGA。由于0xFFFF是保留类型,通常的以太网协议中不会出现,CPU采用该类型进行映射参数的配置,FPGA可以将其识别为配置参数,而其他帧类型为通信数据。将通信与配置复用,可以节省CPU***接口资源和FPGA逻辑资源,不浪费其他***接口,且配置更加灵活。
Claims (10)
1.一种基于非对称多处理模式的网卡映射方法,其特征在于,包括如下步骤:
S1:将多核处理器划分为通信核和多个功能核,设备按照AMP模式进行加载,***初始化;
S2:通信核创建物理网卡,各功能核分别创建虚拟网卡,为所述物理网卡和虚拟网卡分配IP地址;
S3:通信核的物理网卡创建以太网控制器的DMA映射的发送和接收描述符表,并分配对应的发送循环缓存和接收循环缓存,各功能核分别在共享内存区域为对应的虚拟网卡创建接收循环缓存和发送循环缓存,将虚拟网卡的输入和输出映射到对应的接收循环缓存和发送循环缓存空间中;
S4:FPGA创建以太网通信模块、数据接收模块、数据发送模块和PHY接口驱动模块,所述以太网通信模块用于与以太网控制器进行数据通信并缓存从多核处理器接收到的以太网数据帧,所述数据接收模块和数据发送模块用于根据数据映射关系调度FPGA各缓存中的数据帧,所述PHY接口驱动模块用于与***物理网口通信,并负责缓存从PHY接口接收到的数据帧;
S5:通信核创建CPU映射关系和FPGA映射关系,将所述CPU映射关系通过共享内存发送至各功能核,并配置到所有的虚拟网卡参数中,将所述FPGA映射关系发送至FPGA,所述CPU映射关系包括网卡名称、MAC地址、帧类型和IP地址白名单,所述FPGA映射关系包括MAC地址和PHY接口名称;
S6:FPGA的以太网通信模块解析出FPGA映射关系,配置到所述数据发送模块,完成从物理网卡和虚拟网卡到PHY接口的网卡映射。
2.如权利要求1所述的基于非对称多处理模式的网卡映射方法,其特征在于:还包括在通信核上设置物理网卡的CPU发送优先级关系和FPGA接收优先级关系,通信核将所述FPGA接收优先级关系发送至FPGA,以太网通信模块将所述FPGA接收优先级关系配置到所述数据接收模块中。
3.如权利要求2所述的基于非对称多处理模式的网卡映射方法,其特征在于:PHY接口收到外部数据帧时,首先缓存到各自接口的循环缓存中,FPGA按照所述FPGA接收优先级关系遍历各缓存是否存在接收到的完整以太网数据帧,如果存在则将该数据通过所述以太网通信模块发送至多核处理器;
以太网通信模块从多核处理器接收到数据时,先将数据缓存到以太网通信模块的循环缓存中,并对数据进行解析,将MAC地址与映射关系进行对比,找到该数据对应的PHY接口,将数据从对应的PHY接口发送出去。
4.如权利要求2所述的基于非对称多处理模式的网卡映射方法,其特征在于:所述物理网卡和虚拟网卡通过共享内存和核间中断进行数据传输;
所述物理网卡接收到以太网数据帧时,通过DMA的方式写到网卡描述符表的接收循环缓存中,通信核接收到缓存中的数据后开始解析数据,进行数据帧与映射关系的对比识别,然后将数据分发至各个虚拟网卡的接收循环缓存中,并发送一个核间中断通知相应的虚拟网卡;
虚拟网卡发送数据时,首先将发送数据写入到对应的发送循环缓存中,并发送一个核间中断通知通信核,通信核接收到中断后按照所述CPU发送优先级关系循序依次检测各虚拟网卡的发送循环缓存,如果有数据则将数据取出,汇集到物理网卡的描述符表发送循环缓存中,并启动DMA传输。
5.如权利要求4所述的基于非对称多处理模式的网卡映射方法,其特征在于:通信核按照MAC地址、帧类型、IP地址的顺序循序对接收到的外部以太网数据帧进行数据帧与映射关系的对比识别:如果数据帧类型为TCP/IP帧,需满足MAC地址、帧类型和IP地址三个识别条件,如果数据帧类型为GOOSE或SV帧,满足MAC地址和帧类型两个识别条件即可。
6.如权利要求1所述的基于非对称多处理模式的网卡映射方法,其特征在于:所述步骤S5中采用以太网协议中的空置字段进行FPGA映射关系的参数配置。
7.如权利要求2所述的基于非对称多处理模式的网卡映射方法,其特征在于:所述CPU映射关系、FPGA映射关系、CPU发送优先级关系和FPGA接收优先级关系以文件形式存储在EMMC中,更改网卡配置时,外部计算机通过ftp连接所述通信核,将新的配置信息文件传递至EMMC中,***复位后重置网卡配置。
8.如权利要求1所述的基于非对称多处理模式的网卡映射方法,其特征在于:所述物理网口连接至外部调试端或通信端,为外部调试端或通信端设置与所述物理网卡和虚拟网卡相对应的IP地址,直接与所述物理网卡和虚拟网卡建立以太网连接,进行仿真调试、TELNET或FTP通信。
9.如权利要求1所述的基于非对称多处理模式的网卡映射方法,其特征在于:各虚拟网卡的循环缓存区域相互独立。
10.一种用于实现如权利要求1至9任一所述的基于非对称多处理模式的网卡映射方法的设备,其特征在于:包括多核处理器、EMMC、网卡控制器、FPGA、多个PHY芯片和网口,所述EMMC用于存储多核处理器的映射关系文件和优先级关系文件,所述多核处理器通过网卡控制器与FPGA相连接,所述FPGA还与多个PHY芯片相连接,所述PHY芯片与所述网口一一对应连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210388325.6A CN115061973B (zh) | 2022-04-14 | 2022-04-14 | 一种基于非对称多处理模式的网卡映射方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210388325.6A CN115061973B (zh) | 2022-04-14 | 2022-04-14 | 一种基于非对称多处理模式的网卡映射方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115061973A true CN115061973A (zh) | 2022-09-16 |
CN115061973B CN115061973B (zh) | 2024-06-14 |
Family
ID=83196378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210388325.6A Active CN115061973B (zh) | 2022-04-14 | 2022-04-14 | 一种基于非对称多处理模式的网卡映射方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115061973B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115665026A (zh) * | 2022-09-26 | 2023-01-31 | 京东科技信息技术有限公司 | 一种集群组网的方法和装置 |
CN116963094A (zh) * | 2023-09-20 | 2023-10-27 | 深圳市佳贤通信科技股份有限公司 | 一种5g基站前传后传通信装置及其工作方法 |
CN117111539A (zh) * | 2023-10-24 | 2023-11-24 | 杭州康吉森自动化科技有限公司 | 以太网物理层芯片的控制方法及装置 |
CN117472845A (zh) * | 2023-12-27 | 2024-01-30 | 南京翼辉信息技术有限公司 | 一种多核网络共享***及其控制方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060067098A (ko) * | 2004-12-14 | 2006-06-19 | 한국전자통신연구원 | 가상 인터페이스 기반의 2계층 스위칭 및 3계층 라우팅동시 제공 시스템 및 그 방법 |
CN106301859A (zh) * | 2015-06-09 | 2017-01-04 | 华为技术有限公司 | 一种管理网卡的方法、装置及*** |
US20170063566A1 (en) * | 2011-10-04 | 2017-03-02 | Electro Industries/Gauge Tech | Internet of things (iot) intelligent electronic devices, systems and methods |
CN107196870A (zh) * | 2017-07-20 | 2017-09-22 | 哈尔滨工业大学 | 一种基于dpdk的流量动态负载均衡方法 |
CN113424144A (zh) * | 2019-03-12 | 2021-09-21 | 英特尔公司 | 计算数据存储*** |
-
2022
- 2022-04-14 CN CN202210388325.6A patent/CN115061973B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060067098A (ko) * | 2004-12-14 | 2006-06-19 | 한국전자통신연구원 | 가상 인터페이스 기반의 2계층 스위칭 및 3계층 라우팅동시 제공 시스템 및 그 방법 |
US20170063566A1 (en) * | 2011-10-04 | 2017-03-02 | Electro Industries/Gauge Tech | Internet of things (iot) intelligent electronic devices, systems and methods |
CN106301859A (zh) * | 2015-06-09 | 2017-01-04 | 华为技术有限公司 | 一种管理网卡的方法、装置及*** |
CN107196870A (zh) * | 2017-07-20 | 2017-09-22 | 哈尔滨工业大学 | 一种基于dpdk的流量动态负载均衡方法 |
CN113424144A (zh) * | 2019-03-12 | 2021-09-21 | 英特尔公司 | 计算数据存储*** |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115665026A (zh) * | 2022-09-26 | 2023-01-31 | 京东科技信息技术有限公司 | 一种集群组网的方法和装置 |
CN116963094A (zh) * | 2023-09-20 | 2023-10-27 | 深圳市佳贤通信科技股份有限公司 | 一种5g基站前传后传通信装置及其工作方法 |
CN117111539A (zh) * | 2023-10-24 | 2023-11-24 | 杭州康吉森自动化科技有限公司 | 以太网物理层芯片的控制方法及装置 |
CN117111539B (zh) * | 2023-10-24 | 2024-02-02 | 杭州康吉森自动化科技有限公司 | 以太网物理层芯片的控制方法及装置 |
CN117472845A (zh) * | 2023-12-27 | 2024-01-30 | 南京翼辉信息技术有限公司 | 一种多核网络共享***及其控制方法 |
CN117472845B (zh) * | 2023-12-27 | 2024-03-19 | 南京翼辉信息技术有限公司 | 一种多核网络共享***及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115061973B (zh) | 2024-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115061973B (zh) | 一种基于非对称多处理模式的网卡映射方法及设备 | |
US11507426B2 (en) | Resource pool management method and apparatus, resource pool control unit, and communications device | |
US8677023B2 (en) | High availability and I/O aggregation for server environments | |
US9100349B2 (en) | User selectable multiple protocol network interface device | |
WO2022095348A1 (zh) | 一种计算资源的远程映射方法、装置、设备及存储介质 | |
CN101957808B (zh) | 多cpu间的通信方法、***及cpu | |
EP3461086B1 (en) | Communication apparatus, communication method and computer-readable medium | |
US20150113114A1 (en) | Network interface adapter registration method, driver, and server | |
CN108243185A (zh) | 基于ax88180的科学级ccd千兆以太网通信***及方法 | |
CN113852656B (zh) | 一种数据传输方法、处理器***及内存访问*** | |
US12034604B2 (en) | MQTT protocol simulation method and simulation device | |
CN112347015B (zh) | 芯片片上***异构多处理器间的通信装置及方法 | |
US20190220296A1 (en) | Method and apparatus for transmitting data packet based on virtual machine | |
US11403250B2 (en) | Operation accelerator, switch, task scheduling method, and processing system | |
US9590920B2 (en) | Multi-host Ethernet controller | |
US8832332B2 (en) | Packet processing apparatus | |
US11784929B2 (en) | Heterogeneous link data translation and distribution method, system and device, and storage medium | |
US8891405B2 (en) | Integrated device management over Ethernet network | |
CN114726883B (zh) | 一种嵌入式rdma*** | |
CN113794713B (zh) | Fc-ae-1553协议桥接mil-std-1553和uart的通讯处理方法 | |
CN209787189U (zh) | 一种嵌入式的以太网通讯装置 | |
CN108521416A (zh) | 一种ecn板卡 | |
CN116954874A (zh) | 资源分配方法、装置、设备及存储介质 | |
CN114124594A (zh) | 数据传输方法和***、芯片 | |
TWI843351B (zh) | 多處理器裝置、資料處理系統與周邊控制器共用方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |