CN115022424B - 水电lcu控制器网卡虚拟控制方法、系统、设备及其介质 - Google Patents
水电lcu控制器网卡虚拟控制方法、系统、设备及其介质 Download PDFInfo
- Publication number
- CN115022424B CN115022424B CN202210736356.6A CN202210736356A CN115022424B CN 115022424 B CN115022424 B CN 115022424B CN 202210736356 A CN202210736356 A CN 202210736356A CN 115022424 B CN115022424 B CN 115022424B
- Authority
- CN
- China
- Prior art keywords
- network
- controller
- virtual
- data
- physical layer
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000005540 biological transmission Effects 0.000 claims description 41
- 101000641224 Homo sapiens Vimentin-type intermediate filament-associated coiled-coil protein Proteins 0.000 claims description 36
- 102100034331 Vimentin-type intermediate filament-associated coiled-coil protein Human genes 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 24
- 238000004891 communication Methods 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 15
- 210000001503 joint Anatomy 0.000 claims description 12
- 230000001960 triggered effect Effects 0.000 claims description 5
- 101100283411 Arabidopsis thaliana GMII gene Proteins 0.000 claims description 2
- 235000000421 Lepidium meyenii Nutrition 0.000 claims description 2
- 108700026140 MAC combination Proteins 0.000 claims description 2
- 235000012902 lepidium meyenii Nutrition 0.000 claims description 2
- 238000013461 design Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 8
- 239000000306 component Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000012827 research and development Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010248 power generation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Abstract
本发明涉及控制器数据虚拟处理技术领域,具体为一种水电LCU控制器网卡虚拟控制方法、系统、设备及其介质,在网络协议栈与物理层的网卡控制器MAC之间的驱动层中虚拟配置虚拟网卡控制器VMAC,增加了网络驱动控制,并结合硬件的设计,能够满足水电LCU控制器的通信链路需求,能节约控制器的设计成本,采用通用的处理器平台就可以实现系统需求,同时,该方法基于通用处理平台及TCP/IP标准协议栈进行设计实现,兼容原有的驱动架构,具有较强的通用性、可移植性。
Description
技术领域
本发明涉及控制器数据虚拟处理技术领域,具体为一种水电LCU控制器网卡虚拟控制方法、系统、设备及其介质。
背景技术
在发电行业的水电LCU系统中,控制器作为整个系统的核心组件,向上同后台数据库、操作员站、工程师站等上位机进行实时通信,向下需要同本地IO子卡、本域其他控制器、本域远程IO节点等组件进行通信。为了提升系统的可靠性,控制器需要实现多块物理网卡提供不同层级的通信功能(6路及以上的物理网卡),在常规的控制器处理器平台上,网卡控制器的数量在1~2路,无法满足水电LCU系统的需求,故在硬件设计中采用FPGA等手段将处理器平台的网卡控制器扩展出多路网卡控制器对接多路PHY芯片,已达到系统的通信链路需求。在此背景下,网络的驱动设计已无法按照常规的实现方式进行实现,需要契合硬件的设计架构完成多路扩展网卡控制器的驱动设计。
发明内容
针对现有技术中存在的问题,本发明提供一种水电LCU控制器网卡虚拟控制方法、系统、设备及其介质,该方法结合硬件的设计,满足水电LCU系统的通信链路需求,节约了控制器的设计成本。
本发明是通过以下技术方案来实现:
一种水电LCU控制器网卡虚拟控制方法,包括如下步骤:
在网络协议栈与物理层的网卡控制器MAC之间的驱动层中虚拟配置虚拟网卡控制器VMAC,在虚拟网卡控制器VMAC中向上路虚拟出多路slave设备用于对接网络协议栈,向下路虚拟出虚拟网络控制器master对接物理层的网卡控制器MAC;
在虚拟网卡控制器VMAC中虚拟创建多路网络接口,多路网络接口分别对接多路虚拟网络设备slave,并将多路虚拟网络设备slave的信息数据注册至网络协议栈中;
在虚拟网卡控制器VMAC中将多路网络接口注册至虚拟网络控制器master中,并将虚拟网络控制器master注册在物理层的网卡控制器MAC结构的hook中;
在物理层的网卡控制器MAC中通过DMA缓冲区后经现场可编程门阵列FPGA与多个网络物理层接口PHY通信连接,进行数据接收或数据发送工作。
优选的,多路虚拟网络设备slave的信息数据包括ip地址、子网掩码、网络设备名、master信息和相应的操作接口,接口类型有数据发送vTransmit、数据接收vRecieve、设备使能vEnable、设备禁止vShutdown和vIoctl。
优选的,虚拟网卡控制器VMAC中的多网络接口与多个网络物理层接口PHY的数量一一对应,并按需进行接口配置,其中master的信息包括物理网卡控制器MAC的信息、slave设备信息和slave设备的数目。
优选的,数据接收工作的具体步骤如下:
多个网络物理层接口PHY接收数据,数据经过现场可编程门阵列FPGA进行添加对应报头文后到达物理层的网卡控制器MAC的DMA缓冲区,触发DMA中断;在中断处理中,从DMA缓冲区中取出报文数据,并通过驱动Receive接口处理判断物理层的网卡控制器MAC的hook内是否有虚拟网络控制器master,若没有虚拟网络控制器master,数据走正常的处理流程到达网络协议栈;若有虚拟网络控制器master,通过报文头识别到虚拟网络控制器master,虚拟网络控制器master对报文进行处理,识别报文头找出对应的虚拟网络设备slave,在对应的虚拟网络设备slave上对报文进行处理,并将最终的用户报文内容上传至网络协议栈。
优选的,数据发送工作的具体步骤如下:
网络协议栈接收用户数据后并打包成网络报文,通过多路虚拟网络设备slave分别对应经多路网络接口发送报文;
从多路虚拟网络设备slave发送报文触发多路虚拟网络设备slave的驱动发送接口vTransmit,在驱动发送接口vTransmit中添加slave私有的报文头,通过虚拟网络控制器master调用至物理层的网卡控制器MAC的发送接口transmit,物理层的网卡控制器MAC的发送接口transmit完成所有报文发送后,通过经现场可编程门阵列FPGA,在现场可编程门阵列FPGA中删除报文中的私有报文头,并根据私有报文头类型将报文对应发送至多个网络物理层接口PHY中,完成报文数据发送。
进一步的,发送接口vTransmit在待发送的报文上添加报头文数据,其中包括tag信息,该报文头在现场可编程门阵列FPGA中用于进行PHY接口识别,并在识别完成后在FPGA中删除该报文头。
优选的,物理层的网卡控制器MAC与多个网络物理层接口PHY之间通过MII/GMII协议进行数据交换;
在发送数据时,物理层的网卡控制器MAC协议判断是否可以发送数据,如果可以发送,将给数据以及控制信息发送到多个网络物理层接口PHY;反之则中断发送,并回复错误信息;
在接收数据时,物理层的网卡控制器MACMAC协议判断输入的信息是否发生传输错误,若没有错误,则去掉控制信息发送至内存,由CPU进行数据读取,反之则终止接收,并回复错误信息。
一种水电LCU控制器网卡虚拟控制系统,包括:
配置模块,用于在网络协议栈与物理层的网卡控制器MAC之间的驱动层中虚拟配置虚拟网卡控制器VMAC;
网络接口创建模块,用于在虚拟网卡控制器VMAC中虚拟创建多路网络接口,多路网络接口分别对接多路虚拟网络设备slave,并将多路虚拟网络设备slave的信息数据注册至网络协议栈中;
数据注册模块,用于在虚拟网卡控制器VMAC中将多路网络接口注册至虚拟网络控制器master中,并将虚拟网络控制器master注册在物理层的网卡控制器MAC的hook中;
数据通信模块,用于在物理层的网卡控制器MAC中通过DMA缓冲区后经现场可编程门阵列FPGA与多个网络物理层接口PHY通信连接,进行数据接收或数据发送工作。
一种水电LCU控制器网卡虚拟控制设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述所述一种水电LCU控制器网卡虚拟控制方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述一种水电LCU控制器网卡虚拟控制方法的步骤。
与现有技术相比,本发明具有以下有益的技术效果:
本发明提供了一种水电LCU控制器网卡虚拟控制方法,在网络协议栈与物理层的网卡控制器MAC之间的驱动层中虚拟配置虚拟网卡控制器VMAC,增加了网络驱动控制,并结合硬件的设计,能够满足水电LCU系统的通信链路需求,能节约控制器的设计成本,采用通用的处理器平台就可以实现系统需求,同时,该方法基于通用处理平台及TCP/IP标准协议栈进行设计实现,兼容原有的驱动架构,具有较强的通用性、可移植性。
进一步的,在数据接收过程中,在软件层面对物理网卡控制器进行虚拟化,通过在底层驱动实现注册回调机制,同时结合定制的报文头,并将网络上接收的数据统一转发给虚拟网卡控制器,该虚拟网卡控制器完成对定制报文头的解析,根据报文头查找到绑定到该虚拟网卡控制器上对应的虚拟网络设备,该虚拟网络设备负责同上层TCP/IP协议栈进行对接,进而由该虚拟网络设备上传报文数据至网络协议栈,最后到用户程序,进行报文的处理,有效的提高了对数据的接收效率,在满足网络带宽需求的前提下极大提升了系统网络设计的灵活性,满足了水电LCU控制器控制器等网络枢纽节点对网络接口数量的需求,大大降低了研发成本。
进一步的,在数据发送过程中,TCP/IP协议栈依据对应的虚拟网络设备对用户数据进行封装,并把数据传递到虚拟网卡控制器,虚拟网卡控制器根据对应的虚拟网络设备进行定制报文头的封装,将封装完成的报文通过物理网卡控制器的发送接口传递到发送缓冲,由物理网卡控制器发送到FPGA,FPGA对定制报文头进行核验,核验通过后依据报文头与PHY的对应关系,将报文发送到对应的PHY芯片,最终经PHY发送到网络上,提高了数据发送效率,在满足网络带宽需求的前提下极大提升了系统网络设计的灵活性,满足了水电LCU控制器控制器等网络枢纽节点对网络接口数量的需求,大大降低了研发成本。。
附图说明
图1为本发明中水电LCU控制器网卡虚拟控制方法的流程图;
图2为本发明中水电LCU控制器网卡虚拟控制系统的原理结构图;
图3为本发明中水电LCU控制器网卡虚拟控制设备结构图。
图4为本发明中数据发送流程图;
图5为本发明中数据接收流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面结合附图对本发明做进一步详细描述:
参见图1,本发明一个实施例中,提供了一种水电LCU控制器网卡虚拟控制方法,该方法结合硬件的设计,满足水电LCU系统的通信链路需求,节约了控制器的设计成本。
具体的,该水电LCU控制器网卡虚拟控制方法,包括如下步骤:
步骤1,在网络协议栈与物理层的网卡控制器MAC之间的驱动层中虚拟配置虚拟网卡控制器VMAC;
步骤2,在虚拟网卡控制器VMAC中虚拟创建多路网络接口,多路网络接口分别对接多路虚拟网络设备slave,并将多路虚拟网络设备slave的信息数据注册至网络协议栈中;
其中,多路虚拟网络设备slave的信息数据包括ip地址、子网掩码、网络设备名、master信息和相应的操作接口,接口类型有数据发送vTransmit、数据接收vRecieve、设备使能vEnable、设备禁止vShutdown和vIoctl。
步骤3,在虚拟网卡控制器VMAC中将多路网络接口注册至虚拟网络控制器master中,并将虚拟网络控制器master注册在物理层的网卡控制器MAC的hook中;
步骤4,在物理层的网卡控制器MAC中通过DMA缓冲区后经现场可编程门阵列FPGA与多个网络物理层接口PHY通信连接,进行数据接收或数据发送工作;
其中,虚拟网卡控制器VMAC中的多网络接口与多个网络物理层接口PHY的数量一一对应,并按需进行接口配置,其中master的信息包括物理网卡控制器MAC的信息、slave设备信息和slave设备的数目。
本发明在数据接收工作的具体步骤如下:
多个网络物理层接口PHY接收数据,数据经过现场可编程门阵列FPGA进行添加对应报头文后到达物理层的网卡控制器MAC的DMA缓冲区,触发DMA中断;在中断处理中,从DMA缓冲区中取出报文数据,并通过驱动Receive接口处理判断物理层的网卡控制器MAC的hook内是否有虚拟网络控制器master,若没有虚拟网络控制器master,数据走正常的处理流程到达网络协议栈;若有虚拟网络控制器master,通过报文头识别到虚拟网络控制器master,虚拟网络控制器master对报文进行处理,识别报文头找出对应的虚拟网络设备slave,在对应的虚拟网络设备slave上对报文进行处理,并将最终的用户报文内容上传至网络协议栈。
本发明在数据发送工作的具体步骤如下:
网络协议栈接收用户数据后并打包成网络报文,通过多路虚拟网络设备slave分别对应经多路网络接口发送报文;
从多路虚拟网络设备slave发送报文触发多路虚拟网络设备slave的驱动发送接口vTransmit,在驱动发送接口vTransmit中添加slave私有的报文头,通过虚拟网络控制器master调用至物理层的网卡控制器MAC的发送接口transmit,物理层的网卡控制器MAC的发送接口transmit完成所有报文发送后,通过经现场可编程门阵列FPGA,在现场可编程门阵列FPGA中删除报文中的私有报文头,并根据私有报文头类型将报文对应发送至多个网络物理层接口PHY中,完成报文数据发送。
其中,发送接口vTransmit在待发送的报文上添加报头文数据,其中包括tag信息,该报文头在现场可编程门阵列FPGA中用于进行PHY接口识别,并在识别完成后在FPGA中删除该报文头。
本发明在协议栈与网卡控制器之间虚拟出一层虚拟网卡控制器VMAC。虚拟网卡控制器VMAC向上对TCP/IP协议虚拟出多路网络接口,该接口用以对网络协议栈进行适配,向下通过物理层的网卡控制器MAC以及FPGA虚拟出多个网卡设备,并通过MAC以及FPGA完成对多路PHY的设置,以完成多个虚拟网卡设备的驱动注册。
根据图3所示,系统中有6路网络物理层接口PHY,本发明在驱动层将6路网络物理层接口PHY通过物理网卡控制器桥接与虚拟网络控制器master进行绑定,并在虚拟网络控制器master之上虚拟出6路网络设备与6路网络物理层接口PHY进行一一映射,6路虚拟网络设备被分配不同的IP地址属性与上层的TCP/IP协议对接。
实施例
本实施例提供一种水电LCU控制器网卡虚拟控制方法,包括如下步骤:
1)初始化时,依据配置依次为6路虚拟网络设备(slave)分配ip地址、子网掩码、网络设备名等信息,并将其添加到TCP/IP协议的设备列表中;
2)初始化虚拟网络控制器master,设置6路slave的驱动接口,并将6路slave注册在master中,master将其自身注册在在物理网络控制器的hook上;
3)初始化物理网络控制器,为其分配中断、DMA缓冲等资源,通过hook回调master,进而调用slave的驱动接口,完成对PHY的初始化。
根据图5所示,数据接收流程
1)PHY芯片接收数据,数据经FPGA进行报文头校验后到达处理器MAC的DMA缓冲区,触发DMA中断;
2)在中断处理中,从DMA缓冲中取出报文数据,并调用驱动的Receive接口向协议栈缓冲区存放报文数据;
3)驱动Receive处理中判断物理网络控制器的hook是否非空,若非空,则表明该物理网卡上有扩展虚拟网卡,通过hook找到虚拟网络控制器master,并通过报文头找到master对应的虚拟网络设备slave,在对应的slave上对报文进行处理,并将最终的用户报文内容上传协议栈进行进一步的处理。
根据图4所示,数据发送流程
1)上层应用通过socket接口发送用户数据,网络协议栈将用户数据打包成网络报文后,通过对应的slave网络接口发送报文;
2)从slave发送报文触发slave的驱动发送接口vTransmit,该接口首先在待发送的报文上添加报文头,包含tag信息,随后通过master调用底层物理网络控制器的发送接口transmit;
3)物理mac的驱动发送接口transmit完成所有的报文发送,通过FPGA最终将报文送至PHY芯片,完成报文的发送。
综上所述,本发明提供了一种水电LCU控制器网卡虚拟控制方法,在网络协议栈与物理层的网卡控制器MAC之间的驱动层中虚拟配置虚拟网卡控制器VMAC,增加了网络驱动控制,并结合硬件的设计,能够满足水电LCU系统的通信链路需求,能节约控制器的设计成本,采用通用的处理器平台就可以实现系统需求,同时,该方法基于通用处理平台及TCP/IP标准协议栈进行设计实现,兼容原有的驱动架构,具有较强的通用性、可移植性。
如图2所示,本发明还提供了一种水电LCU控制器网卡虚拟控制系统,包括配置模块、网络接口创建模块、数据注册模块和数据通信模块;
配置模块,用于在网络协议栈与物理层的网卡控制器MAC之间的驱动层中虚拟配置虚拟网卡控制器VMAC;
网络接口创建模块,用于在虚拟网卡控制器VMAC中虚拟创建多路网络接口,多路网络接口分别对接多路虚拟网络设备slave,并将多路虚拟网络设备slave的信息数据注册至网络协议栈中;
数据注册模块,用于在虚拟网卡控制器VMAC中将多路网络接口注册至虚拟网络控制器master中,并将虚拟网络控制器master注册在物理层的网卡控制器MAC的hook中;
数据通信模块,用于在物理层的网卡控制器MAC中通过DMA缓冲区后经现场可编程门阵列FPGA与多个网络物理层接口PHY通信连接,进行数据接收或数据发送工作。
如附图3所示,本发明还提供了一种水电LCU控制器网卡虚拟控制设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如水电LCU控制器网卡虚拟控制程序。
所述处理器执行所述计算机程序时实现上述水电LCU控制器网卡虚拟控制方法的步骤,例如:在网络协议栈与物理层的网卡控制器MAC之间的驱动层中虚拟配置虚拟网卡控制器VMAC;
在虚拟网卡控制器VMAC中虚拟创建多路网络接口,多路网络接口分别对接多路虚拟网络设备slave,并将多路虚拟网络设备slave的信息数据注册至网络协议栈中;
在虚拟网卡控制器VMAC中将多路网络接口注册至虚拟网络控制器master中,并将虚拟网络控制器master注册在物理层的网卡控制器MAC的hook中;
在物理层的网卡控制器MAC中通过DMA缓冲区后经现场可编程门阵列FPGA与多个网络物理层接口PHY通信连接,进行数据接收或数据发送工作。
或者,所述处理器执行所述计算机程序时实现上述系统中各模块的功能,例如:配置模块,用于在网络协议栈与物理层的网卡控制器MAC之间的驱动层中虚拟配置虚拟网卡控制器VMAC;
网络接口创建模块,用于在虚拟网卡控制器VMAC中虚拟创建多路网络接口,多路网络接口分别对接多路虚拟网络设备slave,并将多路虚拟网络设备slave的信息数据注册至网络协议栈中;
数据注册模块,用于在虚拟网卡控制器VMAC中将多路网络接口注册至虚拟网络控制器master中,并将虚拟网络控制器master注册在物理层的网卡控制器MAC的hook中;
数据通信模块,用于在物理层的网卡控制器MAC中通过DMA缓冲区后经现场可编程门阵列FPGA与多个网络物理层接口PHY通信连接,进行数据接收或数据发送工作。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述水电LCU控制器网卡虚拟控制设备中的执行过程。例如,所述计算机程序可以被分割成配置模块、网络接口创建模块、数据注册模块和数据通信模块,各模块具体功能如下:配置模块,用于在网络协议栈与物理层的网卡控制器MAC之间的驱动层中虚拟配置虚拟网卡控制器VMAC;
网络接口创建模块,用于在虚拟网卡控制器VMAC中虚拟创建多路网络接口,多路网络接口分别对接多路虚拟网络设备slave,并将多路虚拟网络设备slave的信息数据注册至网络协议栈中;
数据注册模块,用于在虚拟网卡控制器VMAC中将多路网络接口注册至虚拟网络控制器master中,并将虚拟网络控制器master注册在物理层的网卡控制器MAC的hook中;
数据通信模块,用于在物理层的网卡控制器MAC中通过DMA缓冲区后经现场可编程门阵列FPGA与多个网络物理层接口PHY通信连接,进行数据接收或数据发送工作。
所述水电LCU控制器网卡虚拟控制设备,可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述水电LCU控制器网卡虚拟控制设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述附图3的示意图仅仅是水电LCU控制器网卡虚拟控制设备的示例,并不构成对水电LCU控制器网卡虚拟控制设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
所称处理器可以是中央处理单元(CentralProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Field-ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述水电LCU控制器网卡虚拟控制设备的控制中心,利用各种接口和线路连接整个水电LCU控制器网卡虚拟控制设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述水电LCU控制器网卡虚拟控制设备的各种功能。
所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(SmartMediaCard,SMC),安全数字(SecureDigital,SD)卡,闪存卡(FlashCard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述一种水电LCU控制器网卡虚拟控制方法的步骤。
所述水电LCU控制器网卡虚拟控制设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
基于这样的理解,本发明实现上述方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述水电LCU控制器变量实时监控方法的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。
所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、电载波信号、电信信号以及软件分发介质等。
需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (8)
1.一种水电LCU控制器网卡虚拟控制方法,其特征在于,包括如下步骤:
在网络协议栈与物理层的网卡控制器MAC之间的驱动层中虚拟配置虚拟网卡控制器VMAC,在虚拟网卡控制器VMAC中向上路虚拟出多路slave设备用于对接网络协议栈,向下路虚拟出虚拟网络控制器master对接物理层的网卡控制器MAC;
在虚拟网卡控制器VMAC中虚拟创建多路网络接口,多路网络接口分别对接多路虚拟网络设备slave,并将多路虚拟网络设备slave的信息数据注册至网络协议栈中;
在虚拟网卡控制器VMAC中将多路网络接口注册至虚拟网络控制器master中,并将虚拟网络控制器master注册在物理层的网卡控制器MAC结构的hook中;
在物理层的网卡控制器MAC中通过DMA缓冲区后经现场可编程门阵列FPGA与多个网络物理层接口PHY通信连接,进行数据接收或数据发送工作;
数据接收工作的具体步骤如下:
多个网络物理层接口PHY接收数据,数据经过现场可编程门阵列FPGA进行添加对应报头文后到达物理层的网卡控制器MAC的DMA缓冲区,触发DMA中断;在中断处理中,从DMA缓冲区中取出报文数据,并通过驱动Receive接口处理判断物理层的网卡控制器MAC的hook内是否有虚拟网络控制器master,若没有虚拟网络控制器master,数据走正常的处理流程到达网络协议栈;若有虚拟网络控制器master,通过报文头识别到虚拟网络控制器master,虚拟网络控制器master对报文进行处理,识别报文头找出对应的虚拟网络设备slave,在对应的虚拟网络设备slave上对报文进行处理,并将最终的用户报文内容上传至网络协议栈;
数据发送工作的具体步骤如下:
网络协议栈接收用户数据后并打包成网络报文,通过多路虚拟网络设备slave分别对应经多路网络接口发送报文;
从多路虚拟网络设备slave发送报文触发多路虚拟网络设备slave的驱动发送接口vTransmit,在驱动发送接口vTransmit中添加slave私有的报文头,通过虚拟网络控制器master调用至物理层的网卡控制器MAC的发送接口transmit,物理层的网卡控制器MAC的发送接口transmit完成所有报文发送后,通过经现场可编程门阵列FPGA,在现场可编程门阵列FPGA中删除报文中的私有报文头,并根据私有报文头类型将报文对应发送至多个网络物理层接口PHY中,完成报文数据发送。
2.根据权利要求1所述的一种水电LCU控制器网卡虚拟控制方法,其特征在于,多路虚拟网络设备slave的信息数据包括ip地址、子网掩码、网络设备名、master信息和相应的操作接口,接口类型有数据发送vTransmit、数据接收vRecieve、设备使能vEnable、设备禁止vShutdown和vIoctl。
3.根据权利要求1所述的一种水电LCU控制器网卡虚拟控制方法,其特征在于,虚拟网卡控制器VMAC中的多网络接口与多个网络物理层接口PHY的数量一一对应,并按需进行接口配置,其中master的信息包括物理网卡控制器MAC的信息、slave设备信息和slave设备的数目。
4.根据权利要求1所述的一种水电LCU控制器网卡虚拟控制方法,其特征在于,发送接口vTransmit在待发送的报文上添加报头文数据,其中包括tag信息,该报文头在现场可编程门阵列FPGA中用于进行PHY接口识别,并在识别完成后在FPGA中删除该报文头。
5.根据权利要求1所述的一种水电LCU控制器网卡虚拟控制方法,其特征在于,物理层的网卡控制器MAC与多个网络物理层接口PHY之间通过MII/GMII协议进行数据交换;
在发送数据时,物理层的网卡控制器MAC协议判断是否可以发送数据,如果可以发送,将给数据以及控制信息发送到多个网络物理层接口PHY;反之则中断发送,并回复错误信息;
在接收数据时,物理层的网卡控制器MACMAC协议判断输入的信息是否发生传输错误,若没有错误,则去掉控制信息发送至内存,由CPU进行数据读取,反之则终止接收,并回复错误信息。
6.一种水电LCU控制器网卡虚拟控制系统,其特征在于,包括:
配置模块,用于在网络协议栈与物理层的网卡控制器MAC之间的驱动层中虚拟配置虚拟网卡控制器VMAC;
网络接口创建模块,用于在虚拟网卡控制器VMAC中虚拟创建多路网络接口,多路网络接口分别对接多路虚拟网络设备slave,并将多路虚拟网络设备slave的信息数据注册至网络协议栈中;
数据注册模块,用于在虚拟网卡控制器VMAC中将多路网络接口注册至虚拟网络控制器master中,并将虚拟网络控制器master注册在物理层的网卡控制器MAC的hook中;
数据通信模块,用于在物理层的网卡控制器MAC中通过DMA缓冲区后经现场可编程门阵列FPGA与多个网络物理层接口PHY通信连接,进行数据接收或数据发送工作;
数据接收工作的具体步骤如下:
多个网络物理层接口PHY接收数据,数据经过现场可编程门阵列FPGA进行添加对应报头文后到达物理层的网卡控制器MAC的DMA缓冲区,触发DMA中断;在中断处理中,从DMA缓冲区中取出报文数据,并通过驱动Receive接口处理判断物理层的网卡控制器MAC的hook内是否有虚拟网络控制器master,若没有虚拟网络控制器master,数据走正常的处理流程到达网络协议栈;若有虚拟网络控制器master,通过报文头识别到虚拟网络控制器master,虚拟网络控制器master对报文进行处理,识别报文头找出对应的虚拟网络设备slave,在对应的虚拟网络设备slave上对报文进行处理,并将最终的用户报文内容上传至网络协议栈;
数据发送工作的具体步骤如下:
网络协议栈接收用户数据后并打包成网络报文,通过多路虚拟网络设备slave分别对应经多路网络接口发送报文;
从多路虚拟网络设备slave发送报文触发多路虚拟网络设备slave的驱动发送接口vTransmit,在驱动发送接口vTransmit中添加slave私有的报文头,通过虚拟网络控制器master调用至物理层的网卡控制器MAC的发送接口transmit,物理层的网卡控制器MAC的发送接口transmit完成所有报文发送后,通过经现场可编程门阵列FPGA,在现场可编程门阵列FPGA中删除报文中的私有报文头,并根据私有报文头类型将报文对应发送至多个网络物理层接口PHY中,完成报文数据发送。
7.一种水电LCU控制器网卡虚拟控制设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述一种水电LCU控制器网卡虚拟控制方法的步骤。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5任一项所述一种水电LCU控制器网卡虚拟控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210736356.6A CN115022424B (zh) | 2022-06-27 | 2022-06-27 | 水电lcu控制器网卡虚拟控制方法、系统、设备及其介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210736356.6A CN115022424B (zh) | 2022-06-27 | 2022-06-27 | 水电lcu控制器网卡虚拟控制方法、系统、设备及其介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115022424A CN115022424A (zh) | 2022-09-06 |
CN115022424B true CN115022424B (zh) | 2024-01-09 |
Family
ID=83077919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210736356.6A Active CN115022424B (zh) | 2022-06-27 | 2022-06-27 | 水电lcu控制器网卡虚拟控制方法、系统、设备及其介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115022424B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117453299B (zh) * | 2023-12-25 | 2024-03-01 | 南京沁恒微电子股份有限公司 | 一种应用态网卡驱动方法及其装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1441578A (zh) * | 2003-04-15 | 2003-09-10 | 北京四方继保自动化有限公司 | 一种基于现场可编程门阵列实现的本地网通信的方法 |
CN104267911A (zh) * | 2014-09-18 | 2015-01-07 | 湖南喜玛拉云技术有限公司 | 数据存储控制器及其数据处理方法 |
CN105430110A (zh) * | 2015-10-30 | 2016-03-23 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟网络系统的容器配置方法及网络传输装置 |
CN106411740A (zh) * | 2016-08-31 | 2017-02-15 | 南京磐能电力科技股份有限公司 | 基于以太网控制器的网络端口扩展方法 |
CN107332834A (zh) * | 2017-06-26 | 2017-11-07 | 南京南瑞继保电气有限公司 | 一种Windows系统下PRP网络连接方法 |
WO2020010071A1 (en) * | 2018-07-03 | 2020-01-09 | Schneider Electric It Corporation | Systems and methods for providing network connection resiliency in power supply devices |
CN111273588A (zh) * | 2020-03-10 | 2020-06-12 | 哈工大机器人(岳阳)军民融合研究院 | 地面控制模拟仿真卫星系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10621127B2 (en) * | 2017-03-31 | 2020-04-14 | International Business Machines Corporation | Communication channel for reconfigurable devices |
-
2022
- 2022-06-27 CN CN202210736356.6A patent/CN115022424B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1441578A (zh) * | 2003-04-15 | 2003-09-10 | 北京四方继保自动化有限公司 | 一种基于现场可编程门阵列实现的本地网通信的方法 |
CN104267911A (zh) * | 2014-09-18 | 2015-01-07 | 湖南喜玛拉云技术有限公司 | 数据存储控制器及其数据处理方法 |
CN105430110A (zh) * | 2015-10-30 | 2016-03-23 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟网络系统的容器配置方法及网络传输装置 |
CN106411740A (zh) * | 2016-08-31 | 2017-02-15 | 南京磐能电力科技股份有限公司 | 基于以太网控制器的网络端口扩展方法 |
CN107332834A (zh) * | 2017-06-26 | 2017-11-07 | 南京南瑞继保电气有限公司 | 一种Windows系统下PRP网络连接方法 |
WO2020010071A1 (en) * | 2018-07-03 | 2020-01-09 | Schneider Electric It Corporation | Systems and methods for providing network connection resiliency in power supply devices |
CN111273588A (zh) * | 2020-03-10 | 2020-06-12 | 哈工大机器人(岳阳)军民融合研究院 | 地面控制模拟仿真卫星系统 |
Non-Patent Citations (1)
Title |
---|
具有网络功能的工业多路控制器的实现;邹峰等;《电子世界》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115022424A (zh) | 2022-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10411971B2 (en) | Method for unified communication of server, baseboard management controller, and server | |
US6799220B1 (en) | Tunneling management messages over a channel architecture network | |
US20180210752A1 (en) | Accelerator virtualization method and apparatus, and centralized resource manager | |
CN111656336B (zh) | 一种pcie发送、接收方法及装置、设备和系统 | |
CN101957808B (zh) | 多cpu间的通信方法、系统及cpu | |
CN107133109B (zh) | 一种模块间通信的方法、装置及计算设备 | |
US20070288938A1 (en) | Sharing data between partitions in a partitionable system | |
JP2010272971A (ja) | 制御システム及び制御プログラム書換方法 | |
CN114253740A (zh) | 基于Linux内核的协议栈数据传输方法及装置 | |
CN108228309B (zh) | 基于虚拟机的数据包发送和接收方法及装置 | |
CN115022424B (zh) | 水电lcu控制器网卡虚拟控制方法、系统、设备及其介质 | |
CN113472624A (zh) | 一种基于vDPA实现虚拟网络数据包转发的方法及应用 | |
CN105389120A (zh) | 支持通过活动消息的rma api | |
CN105553889A (zh) | 一种内核网桥下物理网卡和虚拟网卡快速收发包传递方法 | |
CN106534178A (zh) | RapidIO网络通用套接字的实现系统及方法 | |
CN113347017B (zh) | 一种网络通信的方法、装置、网络节点设备及混合网络 | |
CN104184729A (zh) | 一种报文处理方法和装置 | |
CN109150724B (zh) | 一种通信方法和网卡 | |
CN114430392A (zh) | 一种Intel网卡连接Switch拓展网口的方法与终端 | |
CN111240867B (zh) | 一种信息通讯系统及方法 | |
US8402475B2 (en) | SCA-based system and method of connecting components to each other | |
CN101312412A (zh) | 一种基于嵌入式的以太网传输系统 | |
CN113132168B (zh) | 一种基于PCIe的网络传输配置方法和装置 | |
CN117041147B (zh) | 智能网卡设备、主机设备和方法及系统 | |
CN115037795B (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 |