工业以太网的通信网络的动态重构方法及系统的制作方法

文档序号:10660849阅读:220来源:国知局
工业以太网的通信网络的动态重构方法及系统的制作方法
【专利摘要】本发明提供的工业以太网的通信网络的动态重构方法,包括区域划分,将FPGA划分为静态区域和重构区域,其中,静态区域至少包括重构主机以及重构控制模块;重构辨识,辨识当前网络中的通信协议;重构规划,将辨识结果与协议类型进行映射,产生协议标志,若与设备当前协议不一致,启动重构,获取重构配置文件;重构配置,配置FPGA的模式,建立外部动态配置文件库;重构评估,主站设备以重构设备是否能建立与主站的通信,来对本次重构结果进行评估,判断重构结果是否满足系统需求;本发明根据当前网络中的通信的以太网帧能正确的区分出网络中的协议,从而触发对重构区域的重配置,缩短了单次重构时间,并且减少了在线资源的开销。
【专利说明】
工业以太网的通信网络的动态重构方法及系统
技术领域
[0001]本发明涉及通信领域,尤其涉及一种工业以太网的通信网络的动态重构方法及系统。
【背景技术】
[0002]现场总线技术一直都是工业控制技术的重要组成部分,随着现场通信的数据量急速增长,以及现场总线互联、互通与互操作性等问题难以解决,所以现场总线需要寻求新的决方案。以太网有着开放性好、应用广泛、价格低廉以及通信速率高等特点,但是其采用的CDMA/CD (Carrier Sense Multiple Access/Collis1n Detect1n,载波监听多路访问及冲突检测)机制带来了传输延迟的不确定性,不能满足工业网络的实时性要求,为了将其应用到工业领域,必须进行改造,各大商家纷纷提出了自己的工业以太网,给出了实时性的技术解决方案。
[0003]目前,基于实时以太网的高速现场总线标准主要有Powerlink、EtherCAT、SERCOS、EtherNet/IP、ModBusTCP、Prof inetSRT、MECHATROLINK 等,其中 Powerlink 以及 EtherCAT 就是主流工业以太网的代表,它们都对以太网协议层次进行简化,并且修改了以太网的数据链路层,避免了报文冲突,简化通信数据处理,达到了实时性的要求。Power I ink和EtherCAT具有相似性,也有不同的地方,对于物理层,它们可采用与普通以太网相同的收发器及其他的物理层器件,对于应用层,两者也没有什么差别,同样使用CANOPEN等应用层协议,两者主要的差别在于对数据链路层通信机制的修改。在实际的工业以太网系统中,可能存在不同的通信协议。利用Power I ink和EtherCAT的特点,可使单一设备同时支持这两种通信协议,增强其可复用性和互换能力,提升其使用便捷性。
[0004]为了达到上述目的,目前有两种解决方法:一种是通过硬件实现静态全局重构,另一种是通过软件冗余实现协议切换。静态全局重构将整体的工程文件烧写到外部存储器当中,每次需要重构时,都需要对器件的整体进行重构,造成了器件资源的浪费以及重构时间的增加,并且还需要一个外部的重构控制器,增加了电路设计复杂度。软件冗余的方式是将所有通信协议都放到一起,通过链路检测协议类型,实现协议切换。但随着协议数量的增多,硬件资源和软件资源也会成倍增加,所以这种方式造成了极大的资源浪费,因此,亟需一种新的工业以太网的通信网络的重构方法,在能够正确的识别当前网络中的协议并实现稳定的配置的基础上,提高重配置的速度,同时减少在线资源的浪费。

【发明内容】

[0005]有鉴于此,本发明提供一种工业以太网的通信网络的动态重构方法及系统,以解决上述问题。
[0006]本发明提供的工业以太网的通信网络的动态重构方法,包括
[0007]a.区域划分,将FPGA划分为静态区域和重构区域;
[0008]b.重构辨识,通过所述静态区域对当前网络中的通信协议进行检测识别;
[0009]c.重构配置,配置FPGA的模式,选择扩展的外部存储器,存放动态配置文件,建立动态配置文件资源库;进行重构时,静态区域通过存储器控制模块与扩展外部存储器进行数据交互,获得重构的动态配置文件;
[0010]d.重构规划,根据重构辨识结果,进行协议映射,产生协议标志,若该协议标志与设备中的协议不一致,则发起重构请求,同时发送重构时钟信号,重构主机确认重构控制模块准备完成后,开始从外部存储器中读取第一个数据,并在之后每个重构时钟周期下降沿到来之前,依次读取数据,重复上述步骤直至重构完成;
[0011 ] e.重构评估,根据主站设备是否能与重构设备建立通信,对本次重构结果进行评估,判断重构结果是否满足系统需求。
[0012]进一步,所述静态区域包括
[0013]检测模块,用于检测并识别当前网络中的通信协议;
[0014]重构控制模块,用于重构控制和CRC校检;
[0015]重构主机模块,用于与外部存储器通信、发起重构请求以及对重构区域的重新配置;
[0016]协议物理层驱动模块,对物理层接口的接口信号进行连接及处理;
[0017]协议应用层实现模块,用于实现CANOPEN通信协定。
[0018]进一步,步骤b具体包括
[0019]S1.从站设备通过物理层接口的接收数据有效信号上升沿,判断通信帧的开始,接收数据有效信号由低电平变为高电平时,激活计数器;
[0020]s2.建立数据缓存区,将物理层接口的连续两个四位接收数据拼接成一个字节数据,所述数据缓存区在每个系统时钟周期输出一个字节数据。
[0021]s3.通过激活的计数器对每个系统时钟周期进行累加计数,对输出端的字节值按规约的对应协议类型进行标识,然后对UDP端口号字段进行标识。
[0022]进一步,步骤c中,所述静态区域通过存储器控制模块与外部存储器之间进行数据通信,所述外部存储器存储有重构区域的配置文件,重构主机模块向外部存储器发送读取命令,同时将读取起始地址发送至存储器,所述外部存储器将数据按照重构时钟周期节拍传送至存储器控制块,然后通过重构主机模块存放至重构控制模块的数据总线。
[0023]进一步,步骤d中,通过重构完成信号判断重构过程是否完成,当重构完成信号由高电平变成低电平时,表示重构过程完成。
[0024]进一步,所述重构规划中,当通过重构控制模块发起重构请求时,冻结重构区域的局部输入信号,使重构区域的所有局部输入信号相同。
[0025]进一步,步骤d中,当重构过程发生错误时,所述重构控制模块向重构主机模块发送重构错误信号,重构主机模块解除重构请求信号,错误信号保持二十个重构时钟周期,当错误信号由高电平变成低电平,重新发起重构请求信号;
[0026]当重构请求信号解除后,所述重构控制模块向重构主机输出局部复位信号,将重构区域复位。
[0027]本发明还提供一种工业以太网的通信网络的动态重构系统,包括将FPGA划分为静态区域和重构区域,所述静态区域包括
[0028]检测模块,用于检测并识别当前网络中的通信协议;
[0029]重构控制模块,用于重构控制和CRC校检;
[0030]重构主机模块,用于与外部存储器通信、发起重构请求以及对重构区域的重新配置;
[0031]协议物理层驱动模块,用于对物理层接口的接口信号进行连接及处理;
[0032]协议应用层实现模块,用于实现CANOPEN通信协定;
[0033]所述重构区域包括重构模块,所述重构模块用于以EtherCAT和Powerl ink从站IP核构建数据链路层;
[0034]将FPGA划分为静态区域和重构区域;通过所述静态区域对当前网络中的通信协议进行检测识别;配置FPGA的模式,选择扩展的外部存储器,存放动态配置文件,建立动态配置文件资源库;进行重构时,静态区域通过存储器控制模块与扩展外部存储器进行数据交互,获得重构的动态配置文件;根据重构辨识结果,进行协议映射,产生协议标志,若该协议标志与设备中的协议不一致,则发起重构请求,同时发送重构时钟信号,重构主机确认重构控制模块准备完成后,开始从外部存储器中读取第一个数据,并在之后每个重构时钟周期下降沿到来之前,依次读取数据,重复上述步骤直至重构完成;根据主站设备是否能与重构设备建立通信,对本次重构结果进行评估,判断重构结果是否满足系统需求。
[0035]本发明的有益效果:本发明中的工业以太网的通信网络的动态重构方法,可以根据当前网络中的通信的以太网帧正确的区分出网络中的协议,从而触发对重构区域的重配置,并且将FPGA划分成静态区域与重构区域,进行重配置时,只需要配置重构区域的硬件逻辑,从而缩短了单次重构时间,提高重配置的速度,并且减少了在线资源的开销,避免了资源的浪费。
【附图说明】
[0036]下面结合附图和实施例对本发明作进一步描述:
[0037]图1是本发明的系统框架示意图。
[0038]图2是本发明的流程不意图。
[0039]图3是本发明的具体实施流程示意图。
[0040]图4是本发明的检测模块的工作流程示意图。
[0041 ]图5是本发明的EtherCAT和Powerlink协议结构示意图
【具体实施方式】
[0042]下面结合附图和实施例对本发明作进一步描述:图2是本发明的流程示意图。
[0043]如图1和2所示,在本实施例中,包括以下步骤:
[0044]步骤S1.对静态区域以及重构区域进行明确划分,将FPGA划分成静态区域和重构区域,静态区域包括检测模块、重构控制模块、重构主机模块、协议物理层驱动模块、协议应用层实现及应用模块,重构区域是EtherCAT和Powerl ink协议的数据链路层实现,本实施例中根据EtherCAT和Powerlink的协议特点,保证物理层和应用层的一致性,只对数据链路层进行重构;
[0045]步骤S2.重构辨识,通过静态区域中的检测模块对当前网络中的通信协议进行检测识别;
[0046]步骤S3.重构配置,配置FPGA的模式,本设计中FPGA的配置模式为FPPxl6,选择合适的外部存储器,静态区域通过通信模块与外部存储器通信,建立动态配置文件资源库。
[0047]步骤S4.重构规划,根据辨识结果,进行协议映射,产生协议标志,若该协议标志与设备中的协议不一致,则发起重构请求,同时发送重构时钟信号,重构主机确认重构控制模块准备完成后,从外部存储器中读取第一个数据,数据宽度由FPGA的配置模式决定,本设计中FPGA的配置模式为FPPxl6,所以数据宽度为16位,并在之后每个重构时钟周期下降沿到来之前,依次读取十六位数据,重复上述步骤直至重构完成。
[0048]步骤S5.重构评估,主站设备以重构设备是否能建立与主站的通信,来对本次重构结果进行评估,判断重构结果是否满足系统需求。
[0049]在本实施例中,通过检测模块检测网络中通信的以太网帧的帧类型以及UDP端口号,判断当前网络中的通信协议,如与当前重构模块中的通信协议不相同,检测模块就激活重构控制模块,重构控制模块包括Cy c I one V系列的FPGA自带的重构控制以及CRC校检,重构主机模块包括与外部存储器之间的通信、根据检测模块的结果与当前重构区域中的协议决定是否发起重构请求以及重构控制模块预留的交互接口,实现对重构区域的重新配置,协议物理层驱动模块就是对物理层的接口信号进行连接以及处理,协议应用层模块是一个基于niοs 11的片上系统实现的CANOPEN协议;重构模块是重构区域中的EtherCAT和Power I ink协议的数据链路层实现,以EtherCAT和Power I ink从站IP核构建数据链路层。[°°50] 在本实施例中,根据EtherCAT和Power I ink协议标准的规定:通讯由主站向从站发起,主站向从站发送特定类型的数据帧,可以直接将数据报文嵌入Ethernet帧,定义成EtherCAT帧,以及Power I ink帧,帧类型不同,普通Ethernet帧的帧类型是0x8000 ,EtherCAT帧的帧类型是0x88A4,Power I ink帧的帧类型是0x88AB;也可以利用UDP端口,如果将数据帧嵌入UDP报文,帧类型还是0x8000,但是对于EtherCAT规定了该UDP端口号为0x88A4,而Powerlink协议并未对此有明确规定,可以自己定义,所以这种情况不对Power I ink协议进行判别。本实施例中检测过程包括:
[0051]S1.从站设备通过物理层接口的接收数据有效信号的上升沿判断通信帧的开始,当接收数据有效信号由低电平变为高电平时,激活计数器;
[0052]82.将物理层接口的连续两个四位接收数据拼接成一个字节数据;
[0053]s3.计数器激活后,通过计数器对每个时钟周期进行累加计数,对输出端的字节值按预置的对应协议类型进行标识,然后对UDP端口号字段进行标识。
[0054]EtherCAT和Powerlink均包括物理层、数据链路层和应用层,但是其数据链路层有很大差异,其通信帧类型不相同,具体检测过程如图4所示:
[0055]步骤S201.从站设备通过物理层MII接口的接收数据有效信号的上升沿判断通信帧的开始,当接收数据有效信号由低电平变成高电平的时候,激活计数器功能。
[0056]步骤S202.为了消除跨物理层与链路层的时钟域的数据传输,建立一个异步FIFO模块,将物理层MII接口的连续2个四位接收数据拼接成一个字节数据。
[0057]步骤S203.计数器功能激活以后,每一个检测端时钟周期,计数器加一,当计数器值累加达到21的时候,对FIFO输出端的字节值进行判断,实际上也就是判断通信帧中第21个字节的数值。
[0058]步骤S204.因为帧类型属于特殊报文,所以不受高低字节传输顺序限制,所以0x88在前,也就是第22个字节的值,0xA4在后,也就是第23个字节的值,所以先是判断第22个字节的值是否为0x88,如果为0x88,则置标志I的值为I,如果为0x08,则置标志2的值为I。
[0059]步骤S205.当计数器值累加达到23的时候,并且标志I的值为I的时候,判断FIFO的输出端的字节值,如果为0xA4,则到步骤S206,如果为OxAB,则到步骤S207。
[0060]步骤S206.置EtherCAT协议标志为I,
[0061 ] 步骤S207.置Powerlink协议标志为I ;
[0062]步骤S208.如果计数器值累加达到23的时候,并且标志2的值为I的时候,判断FIFO的输出端字节值,如果为0x00,则置Ethernet协议标志为I。
[0063]步骤S209.接下来就是判断EtherCAT数据帧是否嵌入了UDP报文,当计数器累加达到45的时候,并且Ethernet协议标志为I的时候,判断FIFO的输出端字节值,如果为0x88,则置标志3的值为I。
[0064]步骤S210.当计数器值累加达到46,并且标志3的值为I时,判断FIFO的输出端字节值,如果为0xA4,则到步骤S206。
[0065]步骤S211.当物理层MII接口的接收数据有效信号从高电平到低电平的时候,清零并锁定计数器,等待下一次高电平到来。
[0066]通过上述步骤,可以完成对EtherCAT和Power I ink协议的识别,并且给出检测结果
[0067]在本实施例中,重构主机判断检测结果标志以及当前重构区域中协议标志是否一致,如果不一致,则对重构控制模块发起重构请求,即置重构请求信号为高电平,激活重构控制模块,同时向重构控制模块发送重构时钟,该时钟信号是重构主控模块工作的基准时钟,而且重构控制块在整个重构过程中都为重构主控模块提供该时钟信号,激活重构控制模块以后,重构区域的输入输出端口电平会发生非预期的变化,这可能会引起逻辑电路时序上的晶振和设备不可预料的误动作,为了防止这种情况发生,需要冻结重构区域的局部输入信号,使重构区域的所有局部输入信号置I。
[0068]在本实施例中,在重构配置中,检测识别之前对设备进行了完全重新配置,确定默认的协议类型,重构区域内只需要存储一种协议配置即可,本实施例中的静态区域中还包括与外部存储器之间的存储器控制模块,需要建立与外部存储器稳定的数据连接,存储器中存有重构区域的配置文件,配置文件的位置以及重构主机与外部存储器的通信方式由外部存储器的芯片类型决定,重构主机中的与存储器通信的模块向该存储器发送读取命令,同时将读取起始地址发送至存储器,然后该存储器将数据按照重构时钟周期节拍传送至存储器控制块,然后通过重构控制模块存放至重构主控模块的数据总线。当重构主机接收到重构控制模块的准备完成信号后,等待四个重构时钟周期,在第四个重构时钟周期结束前从外部存储器中读取第一个十六位数据,十六位数据中,然后在之后每个重构时钟周期下降沿到来之前,依次读取十六位数据。重构主机等待重构控制模块的重构完成信号置高电平,在重构完成信号置高电平之前,一直重复上述步骤,当重构完成信号置高电平,在八个重构时钟周期内,重构主机解除重构请求信号,即置重构请求信号为低电平,重构完成信号保持二十个重构时钟周期,当重构完成信号由高电平变成低电平的时候,表示重构过程已经完成。
[0069]在本实施例中,如果重构发生错误,重构控制模块向重构主机发送重构错误信号,错误信号置高电平,重构主机解除重构请求信号,错误信号至少保持并在二十个重构时钟周期,然后错误信号由高电平变成低电平,重构主机重新发起重构请求信号,执行重构步骤。当重构请求信号解除后,重构控制模块向重构主控模块输出局部复位信号,将重构区域复位,以保证所有的通信状态保持为初始值。
[0070]相应地,本实施例中还提供一种利用上述方法的系统,包括:
[0071]检测模块,用于检测并识别当前网络中的通信协议;
[0072]重构控制模块,用于重构控制和CRC校检;
[0073]重构主机模块,用于与外部存储器通信、发起重构请求以及对重构区域的重新配置;
[0074]协议物理层驱动模块,用于对物理层接口的接口信号进行连接及处理;
[0075]协议应用层实现模块,用于实现CANOPEN通信协定;
[0076]重构模块,用于EtherCAT和Power I ink协议的数据链路层实现。
[0077]在本实施例中,所使用的FPGA器件为具有局部重构功能CycloneV系列的器件,其他具有局部重构功能的器件还有Arria V或Stratix V等系列的FPGA,重构主机模块判断检测模块的检测结果标志与当前重构区域中协议标志是否一致,如果不一致,则对重构控制模块发起重构请求,将重构请求信号置为高电平,激活重构控制模块,同时向重构控制模块发送重构时钟信号。
[0078]最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
【主权项】
1.一种工业以太网的通信网络的动态重构方法,其特征在于:包括 a.区域划分,将FPGA划分为静态区域和重构区域; b.重构辨识,通过所述静态区域对当前网络中的通信协议进行检测识别; c.重构配置,配置FPGA的模式,选择扩展的外部存储器,存放动态配置文件,建立动态配置文件资源库;进行重构时,静态区域通过存储器控制模块与扩展外部存储器进行数据交互,获得重构的动态配置文件; d.重构规划,根据重构辨识结果,进行协议映射,产生协议标志,若该协议标志与设备中的协议不一致,则发起重构请求,同时发送重构时钟信号,重构主机确认重构控制模块准备完成后,开始从外部存储器中读取第一个数据,并在之后每个重构时钟周期下降沿到来之前,依次读取数据,重复上述步骤直至重构完成; e.重构评估,根据主站设备是否能与重构设备建立通信,对本次重构结果进行评估,判断重构结果是否满足系统需求。2.根据权利要求1所述的工业以太网的通信网络的动态重构方法,其特征在于:所述静态区域包括 检测模块,用于检测并识别当前网络中的通信协议; 重构控制模块,用于重构控制和CRC校检; 重构主机模块,用于与外部存储器通信、发起重构请求以及对重构区域的重新配置; 协议物理层驱动模块,对物理层接口的接口信号进行连接及处理; 协议应用层实现模块,用于实现CANOPEN通信协定。3.根据权利要求2所述的工业以太网的通信网络的动态重构方法,其特征在于:步骤b具体包括 S1.从站设备通过物理层接口的接收数据有效信号上升沿,判断通信帧的开始,接收数据有效信号由低电平变为高电平时,激活计数器; s2.建立数据缓存区,将物理层接口的连续两个四位接收数据拼接成一个字节数据,所述数据缓存区在每个系统时钟周期输出一个字节数据。 s3.通过激活的计数器对每个系统时钟周期进行累加计数,对输出端的字节值按规约的对应协议类型进行标识,然后对UDP端口号字段进行标识。4.根据权利要求2所述的工业以太网的通信网络的动态重构方法,其特征在于:步骤c中,所述静态区域通过存储器控制模块与外部存储器之间进行数据通信,所述外部存储器存储有重构区域的配置文件,重构主机模块向外部存储器发送读取命令,同时将读取起始地址发送至存储器,所述外部存储器将数据按照重构时钟周期节拍传送至存储器控制块,然后通过重构主机模块存放至重构控制模块的数据总线。5.根据权利要求2所述的工业以太网的通信网络的动态重构方法,其特征在于:步骤d中,通过重构完成信号判断重构过程是否完成,当重构完成信号由高电平变成低电平时,表示重构过程完成。6.根据权利要求4所述的工业以太网的通信网络的动态重构方法,其特征在于:所述重构规划中,当通过重构控制模块发起重构请求时,冻结重构区域的局部输入信号,使重构区域的所有局部输入信号相同。7.根据权利要求5所述的工业以太网的通信网络的动态重构方法,其特征在于:步骤d中,当重构过程发生错误时,所述重构控制模块向重构主机模块发送重构错误信号,重构主机模块解除重构请求信号,错误信号保持二十个重构时钟周期,当错误信号由高电平变成低电平,重新发起重构请求信号; 当重构请求信号解除后,所述重构控制模块向重构主机输出局部复位信号,将重构区域复位。8.一种工业以太网的通信网络的动态重构系统,其特征在于:包括将FPGA划分为静态区域和重构区域,所述静态区域包括 检测模块,用于检测并识别当前网络中的通信协议; 重构控制模块,用于重构控制和CRC校检; 重构主机模块,用于与外部存储器通信、发起重构请求以及对重构区域的重新配置; 协议物理层驱动模块,用于对物理层接口的接口信号进行连接及处理; 协议应用层实现模块,用于实现CANOPEN通信协定; 所述重构区域包括重构模块,所述重构模块用于以EtherCAT和Power I ink从站IP核构建数据链路层; 将FPGA划分为静态区域和重构区域;通过所述静态区域对当前网络中的通信协议进行检测识别;配置FPGA的模式,选择扩展的外部存储器,存放动态配置文件,建立动态配置文件资源库;进行重构时,静态区域通过存储器控制模块与扩展外部存储器进行数据交互,获得重构的动态配置文件;根据重构辨识结果,进行协议映射,产生协议标志,若该协议标志与设备中的协议不一致,则发起重构请求,同时发送重构时钟信号,重构主机模块确认重构控制模块准备完成后,开始从外部存储器中读取第一个数据,并在之后每个重构时钟周期下降沿到来之前,依次读取数据,重复上述步骤直至重构完成;根据主站设备是否能与重构设备建立通信,对本次重构结果进行评估,判断重构结果是否满足系统需求。
【文档编号】H04L29/06GK106027510SQ201610318548
【公开日】2016年10月12日
【申请日】2016年5月13日
【发明人】黄伟, 赵亦欣, 何飞, 夏吴斌
【申请人】西南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1