一种就地化继电保护装置远程软件升级的方法
技术领域
本发明属于电力系统技术领域,适用于数字化继电保护的远程升级实现方法。
背景技术
相对于常规继电保装置,智能化、数字化继电保护装置目前在电力系统得到推广应用,相应的智能化、数字化技术日益成熟,应用也越来越广泛。
随着继电保护装置往小型化、就地化、一二次设备融合的方向发展,就地化后继电保护装置的安装环境由原来室内装置组屏的方式转变为就地化安装方式,人员的现场装置设备的维护条件也日益恶劣,因此针对就地化后的继电保护装置的远程软件升级的需求也日益迫切。
目前市面上支持智能化、数字化继电保护装置产品都是多芯片架构实现:需要支持SV/GOOSE数据处理的处理器芯片,需要支持数字化接口的以太网功能芯片,需要支持保护逻辑计算判断的处理器芯片,需要实现装置通信管理功能的处理器芯片,需要支持各功能芯片内部数据共享的装置内部总线架构,而远程升级的方法也是基于上述硬件结构上做的实现方案。而随着基于SOC的数字化就地化继电保护装置的出现与应用,基于SOC的继电保护远程升级的需求也越来越高,并且需要其具有不影响正常使用、方便、可靠和可维护等特点。
发明内容
本发明的目的是为了改进上述方法存在的不足,提供一种就地化继电保护装置远程软件升级的方法。
本发明技术方案如下所述:
一种就地化继电保护装置远程软件升级的方法,其特征在于,包括以下步骤:
(1)标记FPGA+双核ARM架构的SOC芯片中的两个ARM分别为CPU0和CPU1,且CPU0连接有外部的以太网接口和RAM以及FLASH,远程终端通过以太网读取SOC芯片内ARM和FPGA程序的版本信息,操作者可以根据版本信息或者升级需要来决定是否进行远程升级;
(2)如果需要进行软件升级,则操作者依靠远程终端将需要升级的程序、命令通过以太网传输给SOC芯片中的CPU0;
(3)CPU0接收到远程传输来的软件升级命令和程序后,将其存放于RAM中缓存,并校验升级程序、命令的有效性;
(4)CPU0将检验通过的升级软件写入到FLASH内的升级区域,并更新BOOT内的跳转地址表;
(5)CPU0收到远程的重启命令后,重新启动软件,并加载升级后的程序给整个SOC芯片。
所述步骤(1)中,远程终端通过读取版本命令,可以将两个ARM和FPGA的版本信息读取出来,并通过以太网传输给后台显示,以方便软件的版本管理,若操作者认为当前版本是不是所需要的版本,则需要进行软件的远程升级操作。
所述步骤(2)中,当需要进行软件的远程升级操作时,远程终端通过以太网将相关的命令以及程序传输给就地化继电保护装置中SOC芯片中的CPU0,进行相关操作,包括远程升级预备命令、程序开始传输命令、软件升级报文、程序校验命令、程序固化命令和装置重启命令,此时远程终端与就地化保障装置为全双工通信模式,就地化保护装置需要实时的将自身的状态信息上送,远程终端通过状态来决定程序升级的流程。
所述步骤(3)中,为了提高系统的可靠性,防止在程序传输过程中出现的异常情况导致系统不能正常工作,CPU0接收到远程传输来的软件升级命令和程序后,将需要升级的软件报文内容存放于RAM中缓存,当程序传输完毕后,根据本身自有的校验信息进行报文内容的校验,从而验证整篇程序的有效性,当校验时发现程序有错误,则将错误信息反馈给远程终端,帮助操作员进行状态判断以及重新进行升级,同时如果程序升级过程中出现链路断开等异常,远程终端和就地化继电保护装置则通过通信异常来判断,并自行中断升级流程;
所述步骤(4)中,当存放于RAM中的程序通过校验后,CPU0将在远程终端的命令下,将升级程序写入到FLASH内的升级区域,并更新BOOT内的跳转地址表,使程序加载区和程序升级区调换,使下次启动时,加载升级后的程序。
所述步骤(5)中,CPU0收到远程的重启命令后,重新启动软件,并加载程序加载区内最新的程序给整个SOC芯片,当加载过程出现异常,则加载升级区域内上一版本的程序,做到不影响正常使用的目的,并方便操作者再次进行升级。
本发明与现有技术相比,其有益效果为,本发明基于FPGA+双核ARM架构的高性能SOC芯片架构可以在远程实现芯片化数字化继电保护装置中程序的版本识别、程序擦除、校验、烧写、升级、启动等操作,使程序管理更加具有可操作性,并提高了远程升级的可靠性、稳定性以及程序版本的可维护性。满足了就地化继电保护装置远程在线升级系统的要求,并且大大提高了程序版本维护的便捷性。
附图说明
图1是本发明功能框图;
图2是本发明SOC芯片FLASH内的程序存放结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
图1为本发明的一种就地化继电保护装置远程软件升级的方法框图,是以FPGA+双核ARM架构的高性能SOC芯片为基础,利用SOC芯片的灵活的程序改写与引导方式,实现ARM和FPGA的版本控制与升级的功能。SOC芯片中的两个ARM分别为CPU0和CPU1,其中CPU0是远程升级操作的核心,其连接有外部的以太网接口和RAM以及FLASH。
以太网接口是进行远程程序升级的通信通道,所有的升级程序、命令、状态都是通过以太网与远程终端进行通信实现。升级命令由远程终端的操作者发出,就地化继电保护装置为执行者,具体到器件则是SOC芯片内的CPU0为执行者。其根据命令把自身的状态信息发送给远程终端供其分析。
RAM是为了增强就地化继电保护装置远程升级可靠性配置的芯片。远程终端通过以太网传输来的升级程序不会直接将原来的程序进行覆盖操作,而是先将程序缓存到RAM中,当程序传输完毕后,CPU0会对程序的有效性做判断,当程序有效后,再把程序写入到FLASH内的升级区域。这样防止了升级程序通道出现异常后,就地化继电保护装置无法正常工作的情况。
如图2所示,FLASH是整个SOC芯片的固化程序,包括了BOOT区、程序升级区、程序加载区。
首先CPU0从FLASH的BOOT区加载boot程序,并根据BOOT内的跳转地址表,加载CPU0、CPU1和FPGA的应用程序。BOOT内的跳转地址表指向为程序加载区的地址,每次启动后,SOC都加载程序加载区内的应用程序,如果加载期间有异常,则加载程序升级区内的程序。每次程序远程升级完毕后,程序升级区与程序加载区进行调换,用以保证每次启动都是加载的升级后的程序。此种乒乓程序备份的方式,有效的防止了程序从RAM写入到FLASH期间发生掉电等异常情况后,装置不能正常工作的情况。程序加载内存放的是最新的应用程序,而程序升级区内存放的是前一个版本的程序,每次升级不直接覆盖最新的程序,而是覆盖前一个版本的程序。同样,如果最新的程序加载失败,在继续加载前一个版本的程序,使装置能够正常运行,方便进行下一次升级。
该方法的具体流程为:
首先,远程终端通过读取版本命令,可以将两个ARM和FPGA的版本信息读取出来,并通过以太网传输给后台显示,以方便软件的版本管理;操作者可以根据版本信息或者升级需要来决定是否进行远程升级,若操作者认为当前版本是不是所需要的版本,则需要进行软件的远程升级操作。
其次,如果需要进行软件的远程升级操作时,远程终端通过以太网将相关的命令以及程序传输给就地化继电保护装置中SOC芯片中的CPU0,进行相关操作,包括远程升级预备命令、程序开始传输命令、软件升级报文、程序校验命令、程序固化命令和装置重启命令,此时远程终端与就地化保障装置为全双工通信模式,就地化保护装置需要实时的将自身的状态信息上送,远程终端通过状态来决定程序升级的流程。
然后,为了提高系统的可靠性,防止在程序传输过程中出现的异常情况导致系统不能正常工作,CPU0接收到远程传输来的软件升级命令和程序后,将需要升级的软件报文内容存放于RAM中缓存,当程序传输完毕后,根据本身自有的校验信息进行报文内容的校验,从而验证整篇程序的有效性,当校验时发现程序有错误,则将错误信息反馈给远程终端,帮助操作员进行状态判断以及重新进行升级,同时如果程序升级过程中出现链路断开等异常,远程终端和就地化继电保护装置则通过通信异常来判断,并自行中断升级流程;
接下来,存放于RAM中的程序通过校验后,CPU0将在远程终端的命令下,将升级程序写入到FLASH内的升级区域,并更新BOOT内的跳转地址表,使程序加载区和程序升级区调换,使下次启动时,加载升级后的程序。
最后,CPU0收到远程的重启命令后,重新启动软件,并加载程序加载区内最新的程序给整个SOC芯片,当加载过程出现异常,则加载升级区域内上一版本的程序,做到不影响正常使用的目的,并方便操作者再次进行升级。
本发明可以在远程实现芯片化数字化继电保护装置中程序的版本识别、程序擦除、校验、烧写、升级、启动等操作,使程序管理更加具有可操作性,并提高了远程升级的可靠性、稳定性以及程序版本的可维护性。这样的设计充分满足了就地化继电保护装置远程在线升级系统的要求,并且大大提高了程序版本维护的便捷性。
最后应当说明的是:以上具体实施方式仅用于以上实施例,仅用以说明本发明的技术方案而非对其进行限制,尽管参照上述实施方式对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。