一种基于非对称多处理模式的网卡映射方法及设备技术

技术编号:34941371 阅读:26 留言:0更新日期:2022-09-17 12:15
本发明专利技术公开了一种基于非对称多处理模式的网卡映射方法及设备,所述方法包括:将多核处理器划分为通信核和多个功能核,按照AMP模式进行加载,初始化;通信核和功能核分别创建物理网卡和虚拟网卡;物理网卡创建DMA映射的发送接收描述符表,功能核分别在共享内存区将输入输出映射至收发缓存;FPGA创建以太网通信模块、数据收发模块和PHY接口驱动模块;通信核创建CPU映射关系和FPGA映射关系,将CPU映射关系通过共享内存发送至各功能核,并配置到所有的虚拟网卡参数中,将FPGA映射关系发送至FPGA;以太网通信模块解析出FPGA映射关系,配置到数据发送模块,完成网卡映射。本发明专利技术提高了多核处理器通信的实时性。了多核处理器通信的实时性。了多核处理器通信的实时性。

【技术实现步骤摘要】
一种基于非对称多处理模式的网卡映射方法及设备


[0001]本专利技术涉及通信控制
,具体涉及一种基于非对称多处理模式的网卡映射方法及设备。

技术介绍

[0002]在使用多核处理器的继电保护设备中,系统一般采用AMP(Asymmetric Multi

processing)模式运行方式,多个核心按功能一般划分为管理核、保护核、测量核等。在AMP模式下,多个核心相对独立地运行各自的操作系统或裸机程序,以最大限度确保各核心的功能产生异常时不会对其他核造成直接影响,防止多核之间的相互干扰,增强系统的可靠性。另外,在AMP模式下,各个核心拥有自己的专属内存,同时各个核心可以共享一段特定的内存空间来传递数据和状态,用于实现各个核心之间的功能和数据通信。
[0003]继电保护设备在运行过程中需要通过网络与外界交互大量的GOOSE(Generic Object Oriented Substation Event,通用的变电站面向对象事件)数据、SV(Sampled Value,采样值)和TCP/IP(Transmission Control Protocol/Internet Protocol)帧。然而现有的多核处理器芯片缺少并行总线,无法灵活的扩展接口,低速率的串行总线无法支持大数据量的交互,仅有一路千兆以太网控制器可以进行大量的以太网数据包的交互。在AMP模式下,各核对外部以太网控制器的异步访问过程中容易造成访问冲突而无法正常收发数据,所以需要将以太网控制器分配给其中一个核心控制。通常由于管理核交互的以太网数据比较多,将以太网控制器分配给该核心,所有的网络数据都需要通过该核对数据进行解析和处理,然后将解析后的数据通过共享内存传递给其他各处理核,即:保护核通过共享内存获取解析后的GOOSE数据、测量核通过共享内存获取SV数据。这种运行方式存在以下弊端:
[0004]所有的对外数据都集中在唯一的网口上,需要借助外部交换机将GOOSE网络、SV网络和TCP/IP的网络数据汇集在一起。各类数据对实时性的要求不同,大量数据都通过唯一的以太网控制器接口传输,容易造成网络拥堵,导致高实时性的数据因为数据排队造成一定延时,降低了数据传输的实时性和可靠性;
[0005]所有的网络通信功能(包括与维护软件通信、客户端通信、GOOSE通信、SV通信、差动通信等)都需要管理核进行处理,影响系统运行效率和模块划分,并且管理核的功能比较复杂,往往容易因为管理核的异常影响网络通信,造成对保护功能和测量功能的影响,打破了各核独立的设计初衷,降低了系统的可靠性;
[0006]系统开发过程中的仿真调试需要依托网络来实现,而在AMP模式下,只有管理核能通过以太网连接IDE来进行代码仿真调试,其他核只能通过串口打印输出来调试,不利于问题的排查,降低了开发效率。

技术实现思路

[0007]本专利技术提出了一种基于非对称多处理模式的网卡映射方法及设备,其目的是:克
服现有技术的缺陷,提高多核处理器对外通信的实时性、可靠性和灵活性。
[0008]本专利技术技术方案如下:
[0009]一种基于非对称多处理模式的网卡映射方法,包括如下步骤:
[0010]S1:将多核处理器划分为通信核和多个功能核,设备按照AMP模式进行加载,系统初始化;
[0011]S2:通信核创建物理网卡,各功能核分别创建虚拟网卡,为所述物理网卡和虚拟网卡分配IP地址;
[0012]S3:通信核的物理网卡创建以太网控制器的DMA映射的发送和接收描述符表,并分配对应的发送循环缓存和接收循环缓存,各功能核分别在共享内存区域为对应的虚拟网卡创建接收循环缓存和发送循环缓存,将虚拟网卡的输入和输出映射到对应的接收循环缓存和发送循环缓存空间中;
[0013]S4:FPGA创建以太网通信模块、数据接收模块、数据发送模块和PHY接口驱动模块,所述以太网通信模块用于与以太网控制器进行数据通信并缓存从多核处理器接收到的以太网数据帧,所述数据接收模块和数据发送模块用于根据数据映射关系调度FPGA各缓存中的数据帧,所述PHY接口驱动模块用于与外围物理网口通信,并负责缓存从PHY接口接收到的数据帧;
[0014]S5:通信核创建CPU映射关系和FPGA映射关系,将所述CPU映射关系通过共享内存发送至各功能核,并配置到所有的虚拟网卡参数中,将所述FPGA映射关系发送至FPGA,所述CPU映射关系包括网卡名称、MAC地址、帧类型和IP地址白名单,所述FPGA映射关系包括MAC地址和PHY接口名称;
[0015]S6:FPGA的以太网通信模块解析出FPGA映射关系,配置到所述数据发送模块,完成从物理网卡和虚拟网卡到PHY接口的网卡映射。
[0016]进一步地,所述网卡映射方法还包括在通信核上设置物理网卡的CPU发送优先级关系和FPGA接收优先级关系,通信核将所述FPGA接收优先级关系发送至FPGA,以太网通信模块将所述FPGA接收优先级关系配置到所述数据接收模块中。
[0017]进一步地,PHY接口收到外部数据帧时,首先缓存到各自接口的循环缓存中,FPGA按照所述FPGA接收优先级关系遍历各缓存是否存在接收到的完整以太网数据帧,如果存在则将该数据通过所述以太网通信模块发送至多核处理器;
[0018]以太网通信模块从多核处理器接收到数据时,先将数据缓存到以太网通信模块的循环缓存中,并对数据进行解析,将MAC地址与映射关系进行对比,找到该数据对应的PHY接口,将数据从对应的PHY接口发送出去。
[0019]进一步地,所述物理网卡和虚拟网卡通过共享内存和核间中断进行数据传输;所述物理网卡接收到以太网数据帧时,通过DMA的方式写到网卡描述符表的接收循环缓存中,通信核接收到缓存中的数据后开始解析数据,进行数据帧与映射关系的对比识别,然后将数据分发至各个虚拟网卡的接收循环缓存中,并发送一个核间中断通知相应的虚拟网卡;
[0020]虚拟网卡发送数据时,首先将发送数据写入到对应的发送循环缓存中,并发送一个核间中断通知通信核,通信核接收到中断后按照所述CPU发送优先级关系循序依次检测各虚拟网卡的发送循环缓存,如果有数据则将数据取出,汇集到物理网卡的描述符表发送循环缓存中,并启动DMA传输。
[0021]进一步地,通信核按照MAC地址、帧类型、IP地址的顺序循序对接收到的外部以太网数据帧进行数据帧与映射关系的对比识别:如果数据帧类型为TCP/IP帧,需满足MAC地址、帧类型和IP地址三个识别条件,如果数据帧类型为GOOSE或SV帧,满足MAC地址和帧类型两个识别条件即可。
[0022]进一步地,所述步骤S5中采用以太网协议中的空置字段进行FPGA映射关系的参数配置。
[0023]进一步地,所述CPU映射关系、FPGA映射关系、CPU发送优先级关系和FPGA接收优先级关系以文件形式存储在EMMC中,更改网卡配置时,外部计算机通过ftp连接所述通信核,将新的配置信息文件传递至EMMC中,系统复位后重置本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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所述的基于非对称多处理模式的网卡映射方法,其特征在于:所述物理网...

【专利技术属性】
技术研发人员:于海宁陈宏福秦妙华徐宏聂德顺杨鹏吴秀林贾晓臻刘嘉慧周南刘迎超王心羽
申请(专利权)人:东方电子股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1