基于FPGA的智能变电站网络风暴处理模块及解决方法技术

技术编号:10459096 阅读:244 留言:0更新日期:2014-09-24 14:44
本发明专利技术基于FPGA的智能变电站网络风暴处理模块及其解决方法,通过接收控制模块解析来自上层程序的配置信息,合理将解析的配置信息分配到其中的子模块,各个子模块通过配置信息快速判断接收到的报文是否和上层程序订阅的报文一致,然后将判断后的信息输出给接收控制模块进行汇总输出,最后由接收控制模块判断是否上送此帧接收报文,从而达到在任何网络情况下IED都能安全、快速、稳定运行。通过在物理层快速处理以太网报文可大大降低应用层的程序负担,通过对报文的快速判别解析,达到接收完一帧报文就能同时判别完一帧,可大大减少内部数据缓冲区的使用,以达到内部资源的合理利用,以满足在大量网络报文涌入下,IED能快速识别可靠动作。

【技术实现步骤摘要】
基于FPGA的智能变电站网络风暴处理模块及解决方法
本专利技术涉及智能变电站网络通信领域,具体为一种基于FPGA的智能变电站网络风暴处理模块及其解决方法。
技术介绍
智能变电站是智能电网建设的重要环节,而智能变电站最常见的网络结构是“三层两网”组网结构,三层包括站控层、间隔层和过程层;两网包括过程层网和站控层网。随着我国智能电网的发展,智能变电站全站信息数字化,通信平台网络化已成为我国建设智能化变电站新的要求,同时,越来越多的IED(IntelligentElectronicDevice)开始接入网络。其中通信平台网络化在给智能变电站带来数据的充分共享优点的同时,也对智能变电站的可靠运行带来很大影响,其中影响最大的就是网络风暴。根据《国家电网-合并单元智能终端装置集成测试方案》测试规范,对智能变电站中IED在网络压力检验方面提出了相应的要求,各个IED均必须在任何网络压力冲击下,IED均不应出现死机、重启和误动。当前,IED厂家针对网络风暴,采取的方式主要有:硬件过滤和增大网卡缓冲区及提高应用层处理速度;其中硬件过滤只能滤除背景流量为非订阅目的MAC地址的网络报文,对于订阅目的MAC地址但非订阅类型网络报文不能滤除;如2013年6月第3期的《现代电力》第30卷中的“智能变电站网络风暴测试研究”,提出的对网络风暴进行硬件过滤和风暴识别,由目的MAC地址判断网络报文是否存在风暴,如果连续出现风暴则一直停止接收报文,这样会造成IED丢失部分有效报文直接导致装置拒动。增大网卡缓冲区及提高应用层处理速度只能针对较小背景流量的网络报文,对于1%~100%递增的背景流量报文,装置可能出现死机、重启或者误动,从而危害整个智能变电站的安全稳定运行。因此现有的网络风暴解决方法无法满足国家电网提出的新要求。
技术实现思路
针对现有技术中存在的问题,本专利技术提供一种在物理层对接收到的以太网报文进行快速解析过滤,无需缓存,能够实时处理的基于FPGA的智能变电站网络风暴处理模块及其解决方法。本专利技术是通过以下技术方案来实现:本专利技术提供的基于FPGA的智能变电站网络风暴解决方法,将物理层芯片通过设置在FPGA中的接收控制模块与上层程序连接;接收控制模块包括接收控制状态机、订阅报文解析判断模块、接收字节计数模块和CRC校验模块;接收字节计数模块包括字节计数器和帧间隔计数器;所述网络风暴解决方法包括如下步骤,1)接收控制模块将从物理层芯片接收到的2位以太网数据帧和2位以太网数据帧有效信号分别分配给接收控制状态机和CRC校验模块,并接收从上层程序下配的配置信息分配到订阅报文解析判断模块;2)无2位以太网数据帧时,接收控制状态机停留在空闲状态;当接收控制状态机侦测到2位以太网数据帧中的前导码0x5d时,接收控制状态机将进入前导码识别,开始接收前序码后,接收控制状态机进入帧起始符状态,接收一个字节的帧起始定界符,之后根据帧间计数器的值进入不同状态;当帧间计数器所确定的时间大于或等于96个比特时间时,接收控制状态机将接收到的2位以太网数据帧组装为8位数据帧,并循环接收组装直到报文数据接收完毕后进入空闲状态;当帧间计数器所确定的时间小于96个比特时间时,接收控制状态机将进入丢弃状态,并一直维持该状态直到2位以太网数据帧有效信号结束,接收控制状态机再回到空闲等待接收新的以太网数据帧;3)接收控制状态机将在步骤2)中接收报文数据的状态信息和接收报文数据共享给接收字节计数模块;通过字节计数器计数接收报文数据的字节长度,并判断接收报文数据的长度是否满足在最小帧长度和最大帧长度之间,如果满足则置相应的判断信号为无效,保留该报文数据;如果不满足则置相应的判断信号为有效,丢弃该帧报文数据;同时将判断信号输出共享给接收控制模块和订阅报文解析判断模块;通过帧间隔计数器检测接收到的数据帧与前一帧数据之间的最小帧间隔,如果最小帧间隔时间小于96个比特时间,则置相应的判断信号为有效,丢弃该报文数据;如果不满足则置相应的判断信号为无效,保留该帧报文数据;同时将判断信号输出共享给接收控制模块和接收控制状态机;4)接收控制状态机将在步骤2)中接收报文数据的状态信息和接收报文数据共享给订阅报文解析判断模块;根据接收控制状态机共享的报文数据的状态信息、步骤3)中字节计数器共享的接收报文数据计数信息和步骤1)中分配到的配置信息,开始从报文头逐字节判断接收到的报文是否与配置信息相符合,如果有一个字节不符合,则将丢弃信号置为有效;如果全部符合,则将丢弃信号置为无效;将丢弃信号共享给接收控制模块,并输出供上层程序判断使用;5)CRC校验模块对并行输入的2位以太网数据帧通过CRC32加权式计算校验码,根据计算的CRC校验码检验步骤1)中分配到的2为以太网数据帧中的CRC校验数据,如果检验结果正确,则置相应的校验信号为无效,相反则置为有效;将校验信号共享到接收控制模块,并输出供上层程序判断使用;6)接收控制模块通过对步骤3)中共享的判断信号、步骤4)中共享的丢弃信号和步骤5)中共享的校验信号进行与逻辑判断得到解析信号,并上送给上层程序使用,当解析信号无效时,上层程序上传存储此帧报文数据;当解析信号有效时,上层程序丢弃此帧报文数据;7)重复步骤1)至步骤6),在接收到每一帧数据的同时进行解析判断并向上层程序输出每一帧对应的解析信号。优选的,步骤2)中,如果在接收前序码、帧起始符和报文数据期间,数据有效信号被清除,那么状态机将回到空闲状态。优选的,步骤2)中,如果帧间计数器所确定的时间大于或等于96个比特时间,接收控制状态机将依次进入数据2位第一接收状态以接收字节的低2位,数据2位第二接收状态以接收字节的第3和第4位,数据2位第三状态以接收字节的第5和第6位,数据2位第四状态以接收字节的高2位;之后又回到数据2位第一接收状态,重复接收并组装2位数据帧为8位数据帧;直到数据接收完毕后进入空闲状态,等待接收新的报文数据。优选的,步骤5)中,CRC32加权式为,g(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1,其中,g(x)代表由以太网数据帧所计数出的校验码,x为以太网数据帧序列。本专利技术提供的基于FPGA的智能变电站网络风暴处理模块,包括设置在FPGA中的接收控制模块和上层程序接口;接收控制模块包括接收控制状态机,以及分别与接收控制状态机连接的订阅报文解析判断模块、接收字节计数模块和CRC校验模块;接收控制状态机用于解析接收到的报文数据,并将其共享给接收控制模块中的其他模块;订阅报文解析判断模块用于判断接收到的报文信息是否是上层程序下配的配置信息所订阅的;接收字节计数模块包括用来计数接收报文的字节长度的字节计数器和用来检测接收到的数据帧与前一帧数据之间的最小帧间隔的帧间隔计数器;CRC校验模块用于对接收数据帧进行CRC校验;当接收控制状态机、订阅报文解析判断模块、接收字节计数模块和CRC校验模块均不丢弃报文数据时,接收控制模块通过上层程序接口向上层程序输出报文数据和包括字节长度、最小帧间隔和CRC校验结果的接收字节状态信息。优选的,接收控制模块符合IEEE802.3协议规定的标准。与现有技术相比,本专利技术具有以下有益的技术效果:本专利技术通过本文档来自技高网
...
基于FPGA的智能变电站网络风暴处理模块及解决方法

【技术保护点】
基于FPGA的智能变电站网络风暴解决方法,其特征在于,将物理层芯片通过设置在FPGA中的接收控制模块与上层程序连接;接收控制模块包括接收控制状态机、订阅报文解析判断模块、接收字节计数模块和CRC校验模块;接收字节计数模块包括字节计数器和帧间隔计数器;所述网络风暴解决方法包括如下步骤,1)接收控制模块将从物理层芯片接收到的2位以太网数据帧和2位以太网数据帧有效信号分别分配给接收控制状态机和CRC校验模块,并接收从上层程序下配的配置信息分配到订阅报文解析判断模块;2)无2位以太网数据帧时,接收控制状态机停留在空闲状态;当接收控制状态机侦测到2位以太网数据帧中的前导码0x5d时,接收控制状态机将进入前导码识别,开始接收前序码后,接收控制状态机进入帧起始符状态,接收一个字节的帧起始定界符,之后根据帧间计数器的值进入不同状态;当帧间计数器所确定的时间大于或等于96个比特时间时,接收控制状态机将接收到的2位以太网数据帧组装为8位数据帧,并循环接收组装直到报文数据接收完毕后进入空闲状态;当帧间计数器所确定的时间小于96个比特时间时,接收控制状态机将进入丢弃状态,并一直维持该状态直到2位以太网数据帧有效信号结束,接收控制状态机再回到空闲等待接收新的以太网数据帧;3)接收控制状态机将在步骤2)中接收报文数据的状态信息和接收报文数据共享给接收字节计数模块;通过字节计数器计数接收报文数据的字节长度,并判断接收报文数据的长度是否满足在最小帧长度和最大帧长度之间,如果满足则置相应的判断信号为无效,保留该报文数据;如果不满足则置相应的判断信号为有效,丢弃该帧报文数据;同时将判断信号输出共享给接收控制模块和订阅报文解析判断模块;通过帧间隔计数器检测接收到的数据帧与前一帧数据之间的最小帧间隔,如果最小帧间隔时间小于96个比特时间,则置相应的判断信号为有效,丢弃该报文数据;如果不满足则置相应的判断信号为无效,保留该帧报文数据;同时将判断信号输出共享给接收控制模块和接收控制状态机;4)接收控制状态机将在步骤2)中接收报文数据的状态信息和接收报文数据共享给订阅报文解析判断模块;根据接收控制状态机共享的报文数据的状态信息、步骤3)中字节计数器共享的接收报文数据计数信息和步骤1)中分配到的配置信息,开始从报文头逐字节判断接收到的报文是否与配置信息相符合,如果有一个字节不符合,则将丢弃信号置为有效;如果全部符合,则将丢弃信号置为无效;将丢弃信号共享给接收控制模块,并输出供上层程序判断使用;5)CRC校验模块对并行输入的2位以太网数据帧通过CRC32加权式计算校验码,根据计算的CRC校验码检验步骤1)中分配到的2为以太网数据帧中的CRC校验数据,如果检验结果正确,则置相应的校验信号为无效,相反则置为有效;将校验信号共享到接收控制模块,并输出供上层程序判断使用;6)接收控制模块通过对步骤3)中共享的判断信号、步骤4)中共享的丢弃信号和步骤5)中共享的校验信号进行与逻辑判断得到解析信号,并上送给上层程序使用,当解析信号无效时,上层程序上传存储此帧报文数据;当解析信号有效时,上层程序丢弃此帧报文数据;7)重复步骤1)至步骤6),在接收到每一帧数据的同时进行解析判断并向上层程序输出每一帧对应的解析信号。...

【技术特征摘要】
1.基于FPGA的智能变电站网络风暴解决方法,其特征在于,将物理层芯片通过设置在FPGA中的接收控制模块与上层程序连接;接收控制模块包括接收控制状态机、订阅报文解析判断模块、接收字节计数模块和CRC校验模块;接收字节计数模块包括字节计数器和帧间隔计数器;所述网络风暴解决方法包括如下步骤,1)接收控制模块将从物理层芯片接收到的2位以太网数据帧和2位以太网数据帧有效信号分别分配给接收控制状态机和CRC校验模块,并接收从上层程序下配的配置信息分配到订阅报文解析判断模块;2)无2位以太网数据帧时,接收控制状态机停留在空闲状态;当接收控制状态机侦测到2位以太网数据帧中的前导码0x5d时,接收控制状态机将进入前导码识别,开始接收前序码后,接收控制状态机进入帧起始符状态,接收一个字节的帧起始定界符,之后根据帧间计数器的值进入不同状态;当帧间计数器所确定的时间大于或等于96个比特时间时,接收控制状态机将接收到的2位以太网数据帧组装为8位数据帧,并循环接收组装直到报文数据接收完毕后进入空闲状态;当帧间计数器所确定的时间小于96个比特时间时,接收控制状态机将进入丢弃状态,并一直维持该状态直到2位以太网数据帧有效信号结束,接收控制状态机再回到空闲等待接收新的以太网数据帧;3)接收控制状态机将在步骤2)中接收报文数据的状态信息和接收报文数据共享给接收字节计数模块;通过字节计数器计数接收报文数据的字节长度,并判断接收报文数据的长度是否满足在最小帧长度和最大帧长度之间,如果满足则置相应的判断信号为无效,保留该报文数据;如果不满足则置相应的判断信号为有效,丢弃该帧报文数据;同时将判断信号输出共享给接收控制模块和订阅报文解析判断模块;通过帧间隔计数器检测接收到的数据帧与前一帧数据之间的最小帧间隔,如果最小帧间隔时间小于96个比特时间,则置相应的判断信号为有效,丢弃该报文数据;如果不满足则置相应的判断信号为无效,保留该帧报文数据;同时将判断信号输出共享给接收控制模块和接收控制状态机;4)接收控制状态机将在步骤2)中接收报文数据的状态信息和接收报文数据共享给订阅报文解析判断模块;根据接收控制状态机共享的报文数据的状态信息、步骤3)中字节计数器共享的接收报文数据计数信息和步骤1)中分配到的配置信息,开始从报文头逐字节判断接收到的报文是否与配置信息相符合,如果有一个字节不符合,则将丢弃信号置为有效;如果全部符合,则将丢弃信号置为无效;将丢弃信号共享给接收控制模块,并输出供上层程序判断使用;5)CRC校验模块对...

【专利技术属性】
技术研发人员:白世军金猛石楠陈凯
申请(专利权)人:中国西电电气股份有限公司
类型:发明
国别省市:陕西;61

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

1