著录项信息
专利名称 | 一种GOOSE报文的订阅识别方法 |
申请号 | CN201610126083.8 | 申请日期 | 2016-03-01 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2016-07-06 | 公开/公告号 | CN105743702A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L12/24 | IPC分类号 | H;0;4;L;1;2;/;2;4;;;H;0;4;L;2;9;/;0;8查看分类表>
|
申请人 | 许继集团有限公司;许继电气股份有限公司;许昌许继软件技术有限公司;国家电网公司 | 申请人地址 | 河南省许昌市许继大道1298号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 许继集团有限公司,许继电气股份有限公司,许昌许继软件技术有限公司,国家电网公司 | 当前权利人 | 许继集团有限公司,许继电气股份有限公司,许昌许继软件技术有限公司,国家电网公司 |
发明人 | 郑拓夫;赵应兵;樊占峰;李超;袁涛;杨超 |
代理机构 | 郑州睿信知识产权代理有限公司 | 代理人 | 崔旭东 |
摘要
本发明涉及一种GOOSE报文的订阅识别方法,采用FPGA+PHY的硬件架构实现订阅GOOSE报文的识别,包括如下步骤:步骤1:将GOOSE报文的相关配置下载到FPGA中;步骤2:将接受到的报文的类型码和MAC地址特征,与已经下载到FPGA中的配置相比较,识别出GOOSE报文;步骤3:对步骤2中识别出来的GOOSE报文进一步做校验处理,以检出已识别GOOSE报文中的非订阅报文,并对其做丢弃处理。本发明提供的GOOSE报文订阅识别的硬件实现方法,完全靠硬件电路的重构来执行所需功能,并行分析处理数据,实现MAC功能,在MAC层将GOOSE报文过滤出来;进一步的采用CRC特征字的方法,将这些字符串转化成为单字节,不但节省了储存空间,优化了逻辑时序,提高了实时性,而且使GOOSE报文的识别效率也得到提升。
1.一种GOOSE报文的订阅识别方法,其特征在于,采用FPGA+PHY的硬件架构实现订阅GOOSE报文的识别,具体包括如下步骤:
步骤1:将GOOSE报文的相关配置下载到FPGA中;
步骤2:将接收到的报文的类型码和MAC地址特征,与已经下载到FPGA中的配置相比较,识别出GOOSE报文;
步骤3:对步骤2中识别出来的GOOSE报文进一步做校验处理,以检出已识别GOOSE报文中的非订阅报文,并对其做丢弃处理;
所述步骤3中的校验处理是指CRC循环冗余校验。
2.根据权利要求1所述的一种GOOSE报文的订阅识别方法,其特征在于,所述步骤1中报文的相关配置是指GOOSE报文结构中的类型码、目标MAC、APPID、GocbRef、DataSet和GOID。
3.根据权利要求1所述的一种GOOSE报文的订阅识别方法,其特征在于,所述步骤2中的GOOSE报文是指MAC地址范围为01-0C-CD-01-00-00至01-0C-CD-01-01-FF并且类型码为
0x88B8的报文。
4.根据权利要求1所述的一种GOOSE报文的订阅识别方法,其特征在于,所述CRC循环冗余校验其校验码采用的是CRC-8码标准。
5.根据权利要求1所述的一种GOOSE报文的订阅识别方法,其特征在于,所述步骤3中的非订阅报文,是指GocbRef、DataSet与GOID参数的CRC校验字中至少有一项与已经下载到FPGA中的GOOSE报文的相关配置不一致的报文。
一种GOOSE报文的订阅识别方法\n技术领域\n[0001] 本发明涉及智能变电站领域,具体涉及一种GOOSE报文订阅识别的硬件实现方法。\n背景技术\n[0002] 随着智能变电站的发展,以及以太网技术在工业领域应用的日益广泛,网络数据通信成为工业数据交互的主要方式。GOOSE通信服务基于以太网,应用于智能变电站中间隔层装置与过程层装置之间,主要负责两者之间传输控制命令和状态信息;GOOSE报文格式采用ASN.1/BER编码,不经TCP/IP协议,直接映射到以太网链路层,保证报文传输、处理的快速性。\n[0003] 基于以上GOOSE通讯服务的特点,以及它在整个智能变电站的关键作用,GOOSE通讯网口的可靠性和实时性就显得的极为重要。\n[0004] 在交换机组网模式下,无论是在正常工况下,还是网络风暴的恶劣状况下,GOOSE通讯口都必须能够在各种背景和非背景流量报文中识别出订阅的GOOSE报文,快速作出响应,以保证装置乃至整个变电站的安全稳定运行。\n[0005] 现有的主流以太网芯片虽可协助数据通信,但无法过滤业务数据,也就无法定性处理GOOSE报文,当交换机网络出现网络风暴,所有网络报文都会涌入处理器芯片,造成处理器芯片的过负荷而无法正常处理订阅的GOOSE报文,因此需要在MAC层将GOOSE报文过滤出来。\n发明内容\n[0006] 本发明的目的是提供一种GOOSE报文订阅识别的硬件实现方法,用以解决现有以太网芯片无法过滤业务数据从而定性处理GOOSE报文的问题。\n[0007] 为实现上述目的,本发明的方案包括:\n[0008] 一种GOOSE报文的订阅识别方法,采用FPGA+PHY的硬件架构实现订阅GOOSE报文的识别,具体包括如下步骤:\n[0009] 步骤1:将GOOSE报文的相关配置下载到FPGA中;\n[0010] 步骤2:将接收到的报文的类型码和MAC地址特征,与已经下载到FPGA中的配置相比较,识别出GOOSE报文;\n[0011] 步骤3:对步骤2中识别出来的GOOSE报文进一步做校验处理,以检出已识别GOOSE报文中的非订阅报文,并对其做丢弃处理。\n[0012] 进一步的,步骤1中报文的相关配置是指GOOSE报文结构中的类型码、目标MAC、APPID、GocbRef、DataSet和GOID。\n[0013] 进一步的,步骤2中的GOOSE报文是指MAC地址范围为01-0C-CD-01-00-00至01-0C-CD-01-01-FF并且类型码为0x88B8的报文。\n[0014] 进一步的,步骤3中的校验处理是指CRC循环冗余校验,其校验码采用的是CRC-8码标准。\n[0015] 进一步的,步骤3中的非订阅报文,是指GocbRef、DataSet与GOID参数的CRC校验字中至少有一项与已经下载到FPGA中的GOOSE报文的相关配置不一致的报文。\n[0016] 本发明提供的GOOSE报文订阅识别的硬件实现方法,完全靠硬件电路的重构来执行所需功能,并行分析处理数据,实现MAC功能,在MAC层将GOOSE报文过滤出来;进一步的采用CRC特征字的方法,将这些字符串转化成为单字节,不但节省了储存空间,优化了逻辑时序,提高了实时性,而且使GOOSE报文的识别效率也得到提升。\n附图说明\n[0017] 图1是以太网接收逻辑流程图;\n[0018] 图2是订阅GOOSE的判断逻辑图。\n具体实施方式\n[0019] 下面结合附图对本发明做进一步详细的说明。\n[0020] 本发明提供的一种GOOSE报文的订阅识别方法,采用FPGA+PHY的硬件架构实现订阅GOOSE报文的识别,利用FPGA的可重构和高实时性,在FPGA内部实现对GOOSE报文的接收和解析。所谓FPGA+PHY的硬件架构是指,利用FPGA接收GOOSE报文,然后通过PHY芯片实现光以太网传输。利用FPGA可并行处理数据的优势,从PHY接收以太网报文的同时,对该报文进行解析,若为GOOSE报文,则对解析得到的GocbRef、DataSet、GOID参数进行CRC查表法校验,并根据实时校验得到的特征字与配置相校对,检验是否为订阅GOOSE报文。具体包括如下步骤:\n[0021] 步骤1:将GOOSE报文的相关配置下载到FPGA中;\n[0022] 步骤2:将接收到的报文的类型码和MAC地址特征,与已经下载到FPGA中的配置相比较,识别出GOOSE报文;\n[0023] 步骤3:对步骤2中识别出来的GOOSE报文进一步做校验处理,以检出已识别GOOSE报文中的非订阅报文,并对其做丢弃处理。\n[0024] 下面对上述步骤做出详细解释与说明:首先是在接收开始时对变量进行初始化设置,即将GOOSE报文的相关配置下载到FPGA中,这些相关配置包括GOOSE报文结构中的类型码、目标MAC、APPID、GocbRef、DataSet、GOID,用以在接收到报文后将接收到的报文与这些相关配置相匹配,从而初步检索出订阅报文。\n[0025] 当有数据(报文帧)发送过来时,启动GOOSE判别进程:检测接收到报文的目的MAC地址,看其前四个字节是否为01-0C-CD-01,如果不是则将订阅GOOSE标志位置0并且判别进程结束;如果是则做出进一步检测看该帧数据的以太网类型码是否是0x88b8,以此来进一步判别该帧是否是GOOSE报文格式帧,如果两个条件都满足则将该报文格式帧判别为GOOSE报文,并对其进一步的进行CRC特征字的方法进行校验,以提高GOOSE报文的识别效率,否则即将该报文格式帧的订阅标志位置0并丢弃。\n[0026] GOOSE的APDU结构里的成员包括GocbRef、DataSet、GOID等,他们每一个参数结构都采用ASN.1编码规范,即在TAG后,会紧跟着一个Length表示随后的Value的长度,具体的如表1所示。\n[0027] 表1\n[0028]\n[0029] 在判断到每个参数的TAG后,通过Length获得后续报文中需要带入CRC校验计算的字节范围。最后,根据计算得到的CRC特征字,与预先的配置相校对,如果二者全部一致则该帧报文为订阅GOOSE报文,如有任意一项不匹配则该帧报文为非订阅报文。具体的,判别流程如下:\n[0030] 对接收到的GOOSE报文进行初步处理,获得GocbRef的参数位置,并计算GocbRef的CRC特征字,将计算好的特征字与已下载的相关配置相比较,看是否完全一致,如果一致则进行下一步的校验检测,不一致则直接将订阅标志位置0并将该帧报文丢弃;如此依次计算出参数DataSet、GOID的CRC特征字并将他们与已下载的相关配置相比对,看是否完全一致,如果三个参数均完全一致,则该帧为符合要求的GOOSE报文帧,将订阅GOOSE标志位置1;如果有一项不符合,则将该报文帧的订阅GOOSE标志位置0,并将该报文帧丢弃。直到将所采集的报文帧全部校验完毕。\n[0031] 如此,则可快速有效的将GOOSE报文帧识别出来,完成对GOOSE报文的识别订阅。\n[0032] 以上给出了本发明具体的实施方式,但本发明不局限于所描述的实施方式。在本发明给出的思路下,采用对本领域技术人员而言容易想到的方式对上述实施例中的技术手段进行变换、替换、修改,并且起到的作用与本发明中的相应技术手段基本相同、实现的发明目的也基本相同,这样形成的技术方案是对上述实施例进行微调形成的,这种技术方案仍落入本发明的保护范围内。
法律信息
- 2019-04-12
- 2016-08-03
实质审查的生效
IPC(主分类): H04L 12/24
专利申请号: 201610126083.8
申请日: 2016.03.01
- 2016-07-06
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2012-03-14
|
2011-10-25
| | |
2
| |
2015-01-14
|
2014-09-26
| | |
3
| |
2016-04-27
|
2015-12-04
| | |
4
| |
2016-06-08
|
2015-12-22
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |