一种CPLD的升级装置、方法、设备及存储介质与流程

文档序号:15980736发布日期:2018-11-17 00:18阅读:175来源:国知局

本发明涉及系统处理领域,特别涉及一种cpld的升级装置、方法、设备及存储介质。

背景技术

近年来,cpld(complexprogrammablelogicdevice,复杂可编程逻辑器件)作为可编程逻辑器件,被大量运用于it行业,实现诸如上下电控制、看门狗、复位原因记录、低速协议转换、串口切换等功能。为了适应发展,在产品上市之后还需对cpld进行升级的操作。但是,cpld在升级的过程中,常常因为突然断电、干扰或者人为破坏等因素导致升级失败。而一旦cpld升级失败,该cpld将不能再被使用,从而导致整个产品的功能失效。

因此,如何提高cpld的可靠性是本领域技术人员目前需要解决的技术问题。



技术实现要素:

有鉴于此,本发明的目的在于提供一种cpld的升级装置,能够提高cpld的可靠性;本发明的另一目的是提供一种cpld的升级方法、装置、设备及计算机可读存储介质,具有上述有益效果。

为解决上述技术问题,本发明提供一种cpld的升级装置,包括:

cpu和cpld分别通过第一电源线和第二电源线与电源相连;所述第一电源线和所述第二电源线相互独立。

为解决上述技术问题,本发明还提供一种cpld的升级方法,应用于如上所述的cpld的升级装置,包括:

获取cpld的待更新版本信息;

在检测到处理指令后,根据所述处理指令并利用所述待更新版本信息对所述cpld进行更新。

优选地,所述处理指令的生成方法具体包括:

将第一数值写入第一寄存器,以便所述cpld将所述第一数值按照预设规则进行转换并写入第二寄存器,得到第二数值;

判断所述第二数值是否与标准值一致;

若否,则触发生成所述处理指令。

优选地,在所述判断所述第二数值是否与标准值一致之后,进一步包括:

若是,则进一步判断cpld的当前版本信息是否与所述待更新版本信息一致;

若不一致,则进入所述触发生成所述处理指令的步骤。

优选地,进一步包括:

统计预设时间内判断出所述第二数值与所述标准值不一致的次数;

判断所述次数是否大于次数阈值;

若是,则进入所述触发生成所述处理指令的步骤。

优选地,其特征在于,所述待更新版本信息具体为当前版本信息或升级版本信息。

为解决上述技术问题,本发明还提供一种cpld的升级装置,应用于如上所述的cpld的升级装置,包括:

获取模块,用于获取cpld的待更新版本信息;

处理模块,用于在检测到处理指令后,根据所述处理指令并利用所述待更新版本信息对所述cpld进行更新。

为解决上述技术问题,本发明还提供一种cpld的升级设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现上述任一种cpld的升级方法的步骤。

为解决上述技术问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种cpld的升级的步骤。

本发明提供的一种cpld的升级装置,包括:cpu和cpld分别通过第一电源线和第二电源线与电源相连;第一电源线和第二电源线相互独立。可见,由于cpu和cpld与电源的连接关系相互独立,因此cpu的通断电情况不会受到cpld的通断电情况的影响,在cpld发生异常时,cpu仍能够对cpld进行更新的操作,从而提高cpld的可靠性。

为解决上述技术问题,本发明还提供了一种cpld的升级方法、装置、设备和计算机可读存储介质,均具有上述有益效果。

附图说明

为了更清楚地说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种cpld的升级装置的结构图;

图2为本发明实施例提供的一种cpld的升级方法的流程图;

图3为本发明实施例提供的另一种cpld的升级方法的流程图;

图4为本发明实施例提供的另一种cpld的升级方法的流程图;

图5为本发明实施例提供的一种cpld的升级装置的结构图;

图6为本发明实施例提供的一种cpld的升级设备的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例的核心是提供一种cpld的升级装置,方法,能够提高cpld的可靠性;本发明的另一核心是提供一种cpld的升级方法、装置、设备及计算机可读存储介质,均具有上述有益效果。

为了使本领域技术人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

图1为本发明实施例提供的一种cpld的升级装置的结构图。如图1所示,cpld的升级装置具体包括cpu10和cpld20,cpu和cpld分别通过第一电源线11和第二电源线21与电源30相连;第一电源线11和第二电源线12相互独立。

需要说明的是,本实施例中,电源30的数量可以是一个,也可以是多个。也就是说,cpu10与cpld20可以是连接于同一个电源30,即第一电源线11与第二电源线21同时连接于相同的电源30;也可以是cpu10通过第一电源线11连接于第一电源,cpld20通过第二电源线21连接于第二电源,本实施例对此不做限定。第一电源线11与第二电源线21相互独立,从而电源30对cpu10的供电和对cpld20的供电相互不影响,也即cpu10的通断电情况不会受到cpld20的通断电情况的影响。

需要说明的是,cpu10的类型可以是bmc,也可以是x86或mips等,本实施例中对cpu的具体类型也不做限定。

一般的,cpu10和cpld20通过总线连接。需要说明的是,在本实施例中,cpu10与cpld20通过总线连接,从而cpu10与cpld20的通信情况更加便捷,并减少延时。作为优选的实施方式,总线具体为iic总线或spi总线或localbus总线或lpc总线。需要说明的是,总线的类型可以是iic(inter-integratedcircuit,集成电路总线)、spi(serialperipheralinterface,串行外设接口)、localbus(局部总线)或lpc(linearpredictivecoding,线性预测编码)等,本实施例中,对总线的类型不做限定。

本发明实施例提供的一种cpld的升级装置,包括:cpu和cpld分别通过第一电源线和第二电源线与电源相连;第一电源线和第二电源线相互独立。可见,由于cpu和cpld与电源的连接关系相互独立,因此cpu的通断电情况不会受到cpld的通断电情况的影响,在cpld发生异常时,cpu仍能够对cpld进行操作,从而提高cpld的可靠性。

图2为本发明实施例提供的一种cpld的升级方法的流程图。需要说明的是,在实际应用中,cpld通常要进行升级的操作,而在升级的过程中,又经常由于断电、干扰或人为破坏等因素从而导致升级失败。cpld升级失败后,cpld的功能将失效,不能正常运行。本发明通过提供一种cpld的升级装置,使得电源对cpu与cpld的供电情况相互独立,从而在cpld升级失败时,cpu仍能够对cpld进行操作。相应的,以下对cpld升级装置的使用方法做出具体的说明。如图2所示的cpld的升级方法,应用于如上述的cpld的升级装置,包括:

s10:获取cpld的待更新版本信息。

具体的,为了能够在cpld升级失败后能够对cpld进行重新设置,cpu需要预先获取cpld的待更新版本信息,也就是在cpld升级失败后,再进行更新时的版本信息。待更新版本信息可以是一个,也可以是多个,以供选择使用。

s20:在检测到处理指令后,根据处理指令并利用待更新版本信息对cpld进行更新。

具体的,处理指令可以是根据检测到cpld当前运行情况异常触发生成,也可以是人为输入的指令,本实施例对此不做限定。

需要说明的是,获取cpld的待更新版本信息,因此,在cpld更新失败后,cpld不能正常运行时,cpu保存有cpld的待更新版本信息,在检测到处理指令后,能够利用该待更新版本信息对cpld进行更新。

需要说明的是,由于对cpld进行更新的方法是本领域技术人员所公知的,此处不再赘述。

本发明实施例提供的cpld的升级方法,包括cpu获取cpld的待更新版本信息;在检测到处理指令后,独立于cpld供电的cpu根据利用待更新版本信息对cpld进行更新,由于cpu独立于cpld供电,因此在cpld升级失败后,cpu10仍可以根据利用待更新版本信息对cpld20进行更新,使得cpld20能够正常运行,从而提高cpld20的可靠性。

图3为本发明实施例提供的另一种cpld的升级方法的流程图。在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,处理指令的生成方法具体包括:

s21:将第一数值写入第一寄存器,以便cpld将第一数值按照预设规则进行转换并写入第二寄存器,得到第二数值。

具体的,cpu预先在cpld中定义第一寄存器和第二寄存器,并预先设置第一数值,然后将第一数值写入第一寄存器,cpld在检测到第一寄存器的中的第一数值时,将第一数值按照预设的规则进行转换,并将转换后的数值写入第二寄存器中,将写入第二寄存器中的数值设置为第二数值。

s22:判断第二数值是否与标准值一致。

在检测到第二寄存器中存在第二数值时,cpu将第二数值与标准值作比较,判断第二数值是否与标准值一致。需要说明的是,标准值指的是将第一数值利用相同的转换规则进行转换得到的数值。这样能够判断cpld处理数据过程是否有误,从而判断cpld是否发生故障,即是否处于升级失败的情况。

s23:若否,则触发生成处理指令。

也就是说,当第二数值与标准值不一致时,也即cpu判断出cpld发生了故障,cpld升级失败,因此,触发生成处理指令。

作为优选的实施方式,可以将第一数值的格式设置为16进制数,相应的标准值的设置方式为:将第一数值的16进制数转换为二进制数并按位取反,从而得到标准值。cpld按照相同的规则将第一数值进行转换,并写入第二寄存器,作为第二数值。

在本实施例中,设置第一数值为0x5a(二进制为01011010)并写入第一寄存器,对应的得出标准值为0xa5(二进制为10100101),cpu再判断cpld写入第二寄存器中的第二数值是否与标准值相同,从而判断是否需要触发生成处理指令。需要说明的是,由于第一数值为0x5a在转换为二进制时,“0”和“1”间隔出现,这样在将第一数值按位取反时能够及时发现数据差错。可以理解的是,将第一数值设置为0xa5同理。

需要说明的是,还可以设置两个以上的寄存器,通过写入数值及按照预设规则进行转换,再对数值进行比较判断,能够进一步提高判断的准确性。

作为优选的实施方式,在上述实施例的基础上,进一步包括:

统计预设时间内判断出第二数值与标准值不一致的次数;

判断次数是否大于次数阈值;

若是,则进入触发生成处理指令的步骤。

具体的,在设置第一寄存器和第第二寄存器后,设置计数器。在s23中判断出第二数值与标准值不一致时,将计数器的数值增加1,并返回s21的操作。当计数器的数值大于预先设置的次数阈值时,则表示cpld升级失败,从而进入触发生成处理指令的步骤。本实施例对次数阈值的取值不做限定,优选的设置为3。

可见,通过增加判断第二数值是否与标准值一致的次数,从而判断cpld是否升级失败,能够降低误判的可能性,从而避免不必要的处理操作,进一步提高cpld的可靠性。

在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,待更新版本信息具体为当前版本信息或升级版本信息。

需要说明的是,待更新版本信息为对cpld进行更新操作时用到的版本信息,具体为当前版本信息或升级版本信息,对应的s10中可以是获取当前版本信息和升级版本信息这两种信息。

具体的,在cpld升级失败后,cpu对cpld进行更新操作,可以是将cpld的版本设置为更新为升级之前的版本,即当前版本信息,也可以是将cpld继续更新为升级版本信息。也就是说,假设cpld的当前版本信息为a,需要将cpld升级为升级版本信息b,在cpld升级失败后,cpu可以将cpld的版本更新为当前版本信息a或者更新为升级版本信息b,这样都能保障cpld的正常运行。

需要说明的是,在进行版本更新以后,cpu将持续检测cpld是否存在异常,也即重复进行上述s21至s24的操作,以便实时检测cpld是否存在异常。更具体的,cpu可以是通过在cpld进行更新完成以后通过复位检测,cpu也可以是不进行复位而直接检测,这样均能实现在cpld更新完成以后对cpld进行持续检测,能够进一步提高cpld的可靠性。

图4为本发明实施例提供的另一种cpld的升级方法的流程图。在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,如图3所示,在判断第二数值是否与标准值一致之后,进一步包括:

s24:若是,则进一步判断cpld的当前版本信息是否与待更新版本信息一致;

若不一致,则进入触发生成处理指令的步骤。

具体的,在判断出第二数值与标准值一致之后,需要进一步判断cpld的当前版本信息是否与待更新版本信息一致。具体的,获取cpld的当前版本信息,并将cpld的当前版本信息与预先存储的待更新版本信息进行比较;或者利用处理指令中要求的版本信息与cpld的当前版本信息进行比较,以判断cpld的当前版本信息是否与待更新版本信息一致。

需要说明的是,比较的方式多种多样,可以是提取关键字进行比较,也可以是对所有信息进行比较,本实施例对此不做限定。

需要说明的是,若判断出cpld的当前版本信息与待更新版本信息一致,则表示当前cpld处于正常状态,因此不需要再做处理;若判断出cpld的当前版本信息与待更新版本信息不一致,则表示当前的版本不是预设的待更新版本,因此再次触发生成处理指令。

需要说明的是,在对版本进行检测时,也可以通过在预设时间内进行多次判断,若判断出版本信息不一致的次数大于不一致的阈值,则判定版本信息不一致,从而触发生成处理指令。这样也能够进一步提高cpld的可靠性。

上文对于本发明提供的一种cpld的升级装置和方法的实施例进行了详细的描述,本发明还提供了一种与该方法对应的cpld的升级装置、设备及计算机可读存储介质,由于装置、设备及计算机可读存储介质部分的实施例与方法部分的实施例相互照应,因此装置、设备及计算机可读存储介质部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

图5为本发明实施例提供的一种cpld的升级装置的结构图。如图5所示,cpld的升级装置,应用于如上述的cpld的升级装置,包括:

获取模块51,用于获取cpld的待更新版本信息;

处理模块52,用于在检测到处理指令后,根据所述处理指令并利用所述待更新版本信息对所述cpld进行更新。

本发明实施例提供的cpld的升级装置,具有上述cpld的升级方法的有益效果。

图6为本发明实施例提供的一种cpld的升级设备的结构图。如图6所示,cpld的升级设备包括:

存储器61,用于存储计算机程序;

处理器62,用于执行计算机程序时实现如上述cpld的升级方法的步骤。

本发明实施例提供的cpld的升级装置,具有上述cpld的升级方法的有益效果。

为解决上述技术问题,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述cpld的升级方法的步骤。

本发明实施例提供的计算机可读存储介质,具有上述cpld的升级方法的有益效果。

以上对本发明所提供的cpld的升级装置、方法、设备和计算机可读存储介质进行了详细介绍。本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1