使用FPGA实现数字化变电站三网合一的系统及方法
技术领域
本发明涉及数字化变电站技术领域,特别涉及一种使用可编程逻辑阵列(FPGA,Field-Programmable Gate Array)来实现数字化变电站三网合一的方法。
背景技术
数字化变电站是以变电站一、二次设备为数字化对象,以高速网络通信平台为基础,通过对数字化信息进行标准化,实现信息共享和互操作,并以网络数据为基础,实现继电保护、数据管理等功能的新一代变电站。依据IEC 61850,数字化变电站的结构可分为三个层次,分别为过程层 、间隔层和站控层,其中过程层是一次设备和二次设备的结合面,其主要用于实现数字采样和开关刀闸等信号的采集;间隔层主要实现作用于该间隔一次设备的功能,与各种远方输入/输出、传感器和控制器通信;站控层主要完成对间隔层、过程层设备的监视和控制。上述数字化变电站中具有三种较为重要的数据:
SV(Sample Value),是数字化变电站过程层传输的数字化采样数据的简称。基于以太网IEEE802.3的SV以太网数据,传输采样频率等于或大于4000Hz/s,其特点是:数据量特别大,有周期性,对数据的实时性、稳定性、可靠性要严格要求,要求接收方有较强的数据处理能力。
GOOSE(Generic Object Oriented Substation Event),是数字化变电站过程层传输的面向通用对象的变电站事件的简称。它以高速的点对点通信为基础,替代传统智能电子设备(IED)间硬接线的通信方式,任一IED与其它IED通过以太网互联,可以作为订阅方接收数据,也可以作为发布方向其它IED提供数据,主要传送间隔闭锁信号和实时跳闸信号,为逻辑节点间的通信提供了快速且高效可靠的方法。其特点是:网络数据流量小,为突发性传输模式。
MMS(Manufacturing Message Specification),是制造报文规范的简称,为网络上的实时处理和监控系统的信息交换的国际标准,被广泛应用于制造、石化、电力和太空探索等多个行业。也是变电站自动化系统通信国际标准IEC61850标准中特定通信服务映射SCSM的核心通信协议栈。
目前,在数字化变电站的典型应用中,过程层设备与间隔层设备之间的连接有两种情况,一种是,SV数据的传输采用直连的点对点模式,GOOSE数据的传输采用组网模式,但SV和GOOSE数据是分开的;另外一种情况是,过程层数据为SV+GOOSE合一传输。间隔层设备与站控层设备的连接,是单独的站控层网络,主要传输MMS报文。其特点是:过程层网络和站控层网络完全分开。
上述应用中,网络结构复杂,接入设备都需要配置多个相应的光口以接收不同网络的数据,发热功耗较大。因此,在采购成本和运维难度方面都存在一些问题。
发明内容
为了克服上述现有技术的不足,本发明提供了一种使用FPGA实现数字化变电站三网合一的方法,其能降低采购成本及运维难度。
第一方面,本发明提供了一种使用FPGA实现数字化变电站三网合一的系统,用于传输数字化变电站的报文,包括:可编程逻辑阵列、网络适配卡及配置处理器,其中所述可编程逻辑阵列与网络适配卡及配置处理器均通信连接,所述可编程逻辑阵列通过网络适配卡及交换机接收来自数字化变电站的所有以太网报文;
所述配置处理器用于对可编程逻辑阵列的寄存器进行设置,以设置所述可编程逻辑阵列所需要识别的报文特征,包括报文的以太网类型、应用标识以及将要分发的目标处理器,其中所述目标处理器包括采样数据处理器、变电站事件处理器及制造报文规范处理器;
所述可编程逻辑阵列用于对经过校验后以太网报文进行识别,以判断该以太网报文属于何种数据,并将其发送至对应的目标处理器进行处理;所述可编程逻辑阵列还用于接收经过目标处理器处理之后的报文并对其中的变电站事件报文及制造报文规范报文进行优先级排序,以确保变电站事件报文优先于制造报文规范报文通过网络适配卡被发送至交换机。
进一步的,为监控传输的报文的流量,所述配置处理器还用于设置可编程逻辑阵列的流量控制的参数,所述可编程逻辑阵列还用于对判别的制造报文规范报文进行流量控制,并将经过流量控制之后的报文发送至制造报文规范报文处理器进行处理。
其中,所述可编程逻辑阵列通过判断以太网报文的以太网类型码是否为0x88BA来判断该以太网报文是否为采样数据报文,当判断以太网类型码为0x88BA则判断为采样数据报文;所述可编程逻辑阵列通过判断以太网报文的以太网类型码是否为0x88B8来判断该以太网报文是否为变电站事件报文,当判断以太网类型码为0x88B8则判断为变电站事件报文;所述可编程逻辑阵列通过判断以太网报文的以太网类型码是否既不为0x88BA也不为0x88B8来判断该以太网报文是否为制造报文规范报文,当判断以太网类型码既不为0x88BA也不为0x88B8时则判断为制造报文规范报文。
进一步的,为了增加整个系统的可靠性,所述可编程逻辑阵列还用于对所接收的以太网报文进行校验,并在判断该帧以太网报文错误时直接抛弃该帧报文。
其中,所述可编程逻辑阵列重新计算以太网报文的CRC值,并将其与该帧以太网报文的CRC值比较,如果不相等,则认为该帧的以太网报文错误。
第二方面,本发明还提供了一种使用FPGA实现数字化变电站三网合一的方法,包括:
通过配置处理器初始配置可编程逻辑阵列;
所述可编程逻辑阵列接收所有的以太网报文;
所述可编程逻辑阵列对接收的以太网报文进行识别,以判断该以太网报文是否属于数据采样数据报文;
如果判断该以太网报文属于采样数据报文,则所述可编程逻辑阵列根据报文中的应用标识将数据采样报文传送至对应的数据采样处理器进行处理;
如果判断该以太网报文不属于采样数据报文,则所述可编程逻辑阵列继续判断该以太网报文是否属于变电站事件报文;
如果判断该以太网报文属于变电站事件报文,则所述可编程逻辑阵列根据报文中的应用标识将变电站事件报文传送至对应的变电站事件处理器进行处理;
如果判断该以太网报文不属于变电站事件报文,则所述可编程逻辑阵列将其发送至制造报文规范报文处理器进行处理;以及
所述可编程逻辑阵列接收经过处理的报文,并对其进行优先级排序,以确保变电站事件报文优先于制造报文规范报文通过网络适配卡被发送至交换机。
进一步的,为监控传输的报文的流量,当判断该以太网报文不属于变电站事件报文之后,所述可编程逻辑阵列还对判别的制造报文规范报文进行流量控制,之后所述可编程逻辑阵列将其发送至制造报文规范报文处理器进行处理。
其中,所述可编程逻辑阵列通过判断以太网报文的以太网类型码是否为0x88BA来判断该以太网报文是否为采样数据报文,当判断以太网类型码为0x88BA则判断为采样数据报文;所述可编程逻辑阵列通过判断以太网报文的以太网类型码是否为0x88B8来判断该以太网报文是否为变电站事件报文,当判断以太网类型码为0x88B8则判断为变电站事件报文;所述可编程逻辑阵列通过判断以太网报文的以太网类型码是否既不为0x88BA也不为0x88B8来判断该以太网报文是否为制造报文规范报文,当判断以太网类型码既不为0x88BA也不为0x88B8时则判断为制造报文规范报文。
进一步的,为了增加整个系统的可靠性,所述可编程逻辑阵列在对接收的以太网报文进行识别之前还包括:对所接收的以太网报文进行校验,并在判断该帧以太网报文错误时直接抛弃该帧报文。
其中,所述可编程逻辑阵列对以太网报文进行校验包括:所述可编程逻辑阵列重新计算以太网报文的CRC值,并将其与该帧以太网报文的CRC值比较,如果不相等,则认为该帧的以太网报文错误。
本发明具有以下有益技术效果:
通过可编程逻辑阵列,接收三网合一的报文,并按预置方案分发到对应的功能处理器,只需要一根光纤就可以接入所有数据,减少了光纤和光口的数量,降低了发热功耗,减少了工业交换机的数量,简化了网络结构,显著降低了数字化变电站的建设成本和运行维护的复杂度。同时,由于可编程逻辑阵列具有数据并行处理的特点,显著提高了报文的处理能力,还能在前端完成报文校验、流量控制等功能,减少了功能处理器的部分工作,提高了效率。
附图说明
图1为本发明使用FPGA实现数字化变电站三网合一的系统的较佳实施方式的总体框图。
图2为数字化变电站的系统拓扑图。
图3为本发明使用FPGA实现数字化变电站三网合一的方法的较佳实施方式的流程图。
图4为图3中对处理后的报文进行优先级排序的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先,在对实施例进行描述之前,有必要对本文中出现的一些术语进行解释。例如:
本文中若出现使用“第一”、“第二”等术语来描述各种元件,但是这些元件不应当由这些术语所限制。这些术语仅用来区分一个元件和另一个元件。因此,“第一”元件也可以被称为“第二”元件而不偏离本发明的教导。
另外,应当理解的是,当提及一元件“连接”或者“联接”到另一元件时,其可以直接地连接或直接地联接到另一元件或者也可以存在中间元件。相反地,当提及一元件“直接地连接”或“直接地联接”到另一元件时,则不存在中间元件。
在本文中出现的各种术语仅仅用于描述具体的实施方式的目的而无意作为对本发明的限定。除非上下文另外清楚地指出,则单数形式意图也包括复数形式。
当在本说明书中使用术语“包括”和 / 或“包括有”时,这些术语指明了所述特征、整体、步骤、操作、元件和 / 或部件的存在,但是也不排除一个以上其他特征、整体、步骤、操作、元件、部件和 / 或其群组的存在和 / 或附加。
如图1所示,本发明使用FPGA实现数字化变电站三网合一的系统的较佳实施方式包括可编程逻辑阵列(FPGA)1、网络适配卡2及配置处理器(CPU)3,其中所述可编程逻辑阵列1与网络适配卡2及配置处理器3均通信连接。本发明中,所述网络适配卡2通过交换机与数字化变电站的其他设备进行通信,所述可编程逻辑阵列1通过网络适配卡2接收来自数字化变电站的所有以太网报文。所述可编程逻辑阵列1还与数字化变电站的采样数据(SV)处理器5、变电站事件(GOOSE)处理器6及制造报文规范(MMS)处理器8通信连接。
本实施方式中,所述可编程逻辑阵列1通过介质访问控制网络适配卡2的MAC地址,从网络适配卡2的以太网物理层PHY芯片读取所有以太网报文。
所述配置处理器3用于对可编程逻辑阵列1的寄存器进行设置,具体设置方面包括:(1)设置所述可编程逻辑阵列1所需要识别的报文特征,包括报文的以太网类型(Ethertype)、应用标识(APPID)以及将要分发的目标处理器(即指采样数据处理器5、变电站事件处理器6及制造报文规范处理器8);(2)设置所述可编程逻辑阵列1的流量控制的参数。
所述可编程逻辑阵列1用于对所接收的以太网报文进行校验,具体来讲,所述可编程逻辑阵列1重新计算以太网报文的CRC值,并将其与该帧以太网报文的CRC值比较,如果不相等,则认为该帧的以太网报文错误,即直接抛弃该帧报文。
所述可编程逻辑阵列1还用于对经过校验后以太网报文进行识别,以判断该以太网报文属于何种数据。具体到本实施例来讲,由于IEEE著作权登记机构注册了一个基于ISO/IEC 8802-3 MAC子层以太网类型码,其中采样数据报文的以太网类型码为0x88BA,变电站事件报文的以太网类型码为0x88B8。如此,所述可编程逻辑阵列1即可通过判断此以太网类型码来筛选出不同的报文,并根据报文中的应用标识APPID,分发给相应的功能处理器。更为具体的,所述可编程逻辑阵列1判断所接收的所有以太网报文,并筛选出以太网类型码为0x88BA的所有报文(即该类报文为采样数据报文),并将其发送至对应的采样数据处理器5进行处理;所述可编程逻辑阵列1筛选出以太网类型码为0x88B8的所有报文(即该类报文为变电站事件报文),并将其转发至对应的变电站事件处理器6进行处理。至于以太网类型码既不为0x88BA也不为0x88B8的其他报文则认为是制造报文规范报文,本实施方式中,所述制造报文规范报文包括单播报文及组播报文。
所述可编程逻辑阵列1还用于对判别的制造报文规范报文进行流量控制,并将经过流量控制之后的报文发送至制造报文规范报文处理器8进行处理。
所述可编程逻辑阵列1还用于接收经过采样数据处理器5、变电站事件处理器6及制造报文规范处理器8处理之后的报文。一般来讲,需要对外发送的报文主要是变电站事件报文及制造报文规范报文。所述可编程逻辑阵列1同时还对所接收的来自对应功能CPU的变电站事件报文及制造报文规范报文进行优先级排序,以确保变电站事件报文优先于制造报文规范报文通过网络适配卡2被发送至交换机,之后再通过交换机发送至其他设备。
请继续参考图2所示,为整个数字化变电站的示意图,其中,图1中的使用FPGA实现数字化变电站三网合一的系统通过其网络适配卡2与三网合一交换机通信连接。其中,数字化变电站的设备基本分为站控层设备、间隔层设备和过程层设备。站控层设备与间隔层设备之间、间隔层设备与过程层设备之间通过合一的物理网络连接。间隔层设备通过一个网口和一根光纤接入三网合一交换机,并进而通过可编程逻辑阵列1接收所有的以太网报文,根据预先定义的设置和报文的特征,将报文分发到不同的功能处理器,功能处理器处理之后的变电站事件报文及制造报文规范报文也通过可编程逻辑阵列1发送到三网合一交换机,完成间隔层设备应有的功能。
请参考图3所示,本发明使用FPGA实现数字化变电站三网合一的方法的较佳实施方式包括以下步骤:
步骤S1:初始配置可编程逻辑阵列1。具体来说,用户可通过配置处理器3对可编程逻辑阵列1的寄存器进行设置,具体设置方面包括:(1)设置所述可编程逻辑阵列1所需要识别的报文特征,包括报文的以太网类型、应用标识以及将要分发的目标处理器(即指采样数据处理器5、变电站事件处理器6及制造报文规范处理器8);(2)设置所述可编程逻辑阵列1的流量控制的参数。
步骤S2:所述可编程逻辑阵列1接收所有的以太网报文。
步骤S3:所述可编程逻辑阵列1对接收的以太网报文进行校验,具体来讲,所述可编程逻辑阵列1重新计算以太网报文的CRC值,并将其与该帧以太网报文的CRC值比较,如果不相等,则认为该帧的以太网报文错误,即直接抛弃该帧报文。
步骤S4:所述可编程逻辑阵列1对经过校验之后的以太网报文进行识别,以判断该以太网报文是否属于数据采样数据报文。如果判断该以太网报文属于采样数据报文则执行步骤S5,如果判断该以太网报文不属于采样数据报文则执行步骤S6。具体来说,所述可编程逻辑阵列1通过判断以太网报文的以太网类型码是否为0x88BA来判断该以太网报文是否为采样数据报文。
步骤S5:所述可编程逻辑阵列1根据报文中的应用标识将数据采样报文传送至对应的数据采样处理器5进行处理。
步骤S6:所述可编程逻辑阵列1判断该以太网报文是否属于变电站事件报文。如果判断该以太网报文属于变电站事件报文,则执行步骤S7,否则执行步骤S8。具体来说,所述可编程逻辑阵列1通过判断以太网报文的以太网类型码是否为0x88B8来判断该以太网报文是否为变电站事件报文。
步骤S7:所述可编程逻辑阵列1根据报文中的应用标识将变电站事件报文传送至对应的变电站事件处理器6进行处理。
步骤S8:所述可编程逻辑阵列1判断既不属于采样数据报文又不属于变电站事件报文(即制造报文规范报文)是否超过预设流量。如果判断没超过预设流量,则执行步骤S9。如果判断已超过预设流量,则返回至步骤S2。
步骤S9:所述可编程逻辑阵列1将经过流量控制之后的报文发送至制造报文规范报文处理器8进行处理。
步骤S10:所述可编程逻辑阵列1接收经过处理的报文,并对其进行优先级排序,以确保变电站事件报文优先于制造报文规范报文通过网络适配卡2被发送至交换机。具体的,所述可编程逻辑阵列1通过如图4所示的方法进行优先级排序:
步骤S101:所述可编程逻辑阵列1判断即将发送的报文是否为变电站事件报文。若判断为变电站事件报文,则执行步骤S102,否则执行步骤S103。
步骤S102:所述可编程逻辑阵列1将其标记为最高优先级。
步骤S103:所述可编程逻辑阵列1将其标记为普通优先级。
步骤S104:所述可编程逻辑阵列1将所有经过标记后的报文存入发送队列。
步骤S105:所述可编程逻辑阵列1将存入发送队列中的报文按其优先级别对外发送。
步骤S11:所述可编程逻辑阵列1通过交换机将接收的报文传送至其他设备。
上述使用FPGA实现数字化变电站三网合一的系统级方法通过可编程逻辑阵列1来接收三网合一的报文,并按预置方案分发到对应的功能处理器,只需要一根光纤就可以接入所有数据,减少了光纤和光口的数量,降低了发热功耗,减少了工业交换机的数量,简化了网络结构,显著降低了数字化变电站的建设成本和运行维护的复杂度。同时,由于可编程逻辑阵列1具有数据并行处理的特点,显著提高了报文的处理能力,还能在前端完成报文校验、流量控制等功能,减少了功能处理器的部分工作,提高了效率。
以上仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。