Cpld的升级处理方法、装置和系统的制作方法

文档序号:9375270阅读:452来源:国知局
Cpld的升级处理方法、装置和系统的制作方法
【技术领域】
[0001]本发明涉及通信技术领域,尤其涉及一种复杂可编程逻辑器件(complexprogrammable logic device,简称:CPLD)的升级处理方法、装置和系统。
【背景技术】
[0002]CPLD是一种根据用户需求构造逻辑功能的数字集成电路,被广泛地应用于各种设备中,例如单板。随着对设备的可靠性、安全性要求越来越高,如果CPLD在运行时出现问题,或者用户需求变化,则需要升级CPLD的程序。但是,通常升级完CPLD的程序之后会释放CPLD的管脚,这样可能使得升级前后CPLD的管脚信号发生跳变,导致CPLD所在设备的前后状态不一,需要通过复位来保证升级前后状态的一致性,从而导致设备当前业务中断。如果发生跳变的信号是关键信号,例如设备的控制信号,用于控制设备上一些业务处理模块的功能,就有可能影响整个设备的业务。

【发明内容】

[0003]本发明实施例提供一种CPLD的升级处理方法、装置和系统,不需要中断当前系统的业务,就可以保证CPLD升级前与升级后设备状态的一致性。避免对业务产生冲击,提高了系统的可靠性。
[0004]本发明实施例提供一种复杂可编程逻辑器件CPLD的升级处理方法,包括:
[0005]备份所述CPLD的寄存器信息和管脚信号;
[0006]升级所述CPLD的程序,包括通过后台模式将所述CPLD的升级程序加载到CPLD的闪存中;锁定所述CPLD的管脚;将所述CPLD的闪存中的所述升级程序加载到所述CPLD的静态随机存储器SRAM中;
[0007]在完成升级所述CPLD的程序之后,根据备份的所述寄存器信息和管脚信号恢复所述CPLD的寄存器信息和管脚信号;
[0008]并在完成恢复所述CPLD的寄存器信息和管脚信号之后,释放所述CPLD的管脚。
[0009]进一步地,在所述升级所述CPLD的程序之前,所述方法还包括:
[0010]生成串行向量格式SVF文件,根据所述SVF文件生成VME总线文件;其中,SVF文件用于指示所述CPLD的升级处理过程;所述VME总线文件用于执行所述CPLD的升级处理。[0011 ] 所述根据所述SVF文件生成VME总线文件包括:
[0012]将所述SVF文件拆分成第一子SVF文件和第二子SVF文件,其中,所述第一子SVF文件用于指示所述CPLD的升级处理执行到完成升级所述CPLD的程序;所述第二子SVF文件用于指示在完成恢复所述CPLD的寄存器信息和管脚信号之后,释放所述CPLD的管脚;
[0013]根据所述第一子SVF文件生成第一子VME总线文件;所述第一子VME总线文件用于执行升级所述CPLD程序的操作;
[0014]根据所述第二子SVF文件生成第二子VME总线文件;所述第二子VME总线文件用于执行释放所述CPLD的管脚的操作。
[0015]本发明实施例提供一种复杂可编程逻辑器件CPLD的升级处理装置,包括:
[0016]备份模块,用于备份所述CPLD的寄存器信息和管脚信号;
[0017]升级模块,用于在所述备份模块完成所述CPLD的寄存器信息和管脚信号的备份之后,升级所述CPLD的程序,具体用于通过后台模式将所述CPLD的升级程序加载到CPLD的闪存中;锁定所述CPLD的管脚;将所述CPLD的闪存中的所述升级程序加载到所述CPLD的静态随机存储器SRAM中;
[0018]恢复模块,用于在所述升级模块完成升级所述CPLD的程序之后,根据备份的所述寄存器信息和管脚信号恢复所述CPLD的寄存器信息和管脚信号;
[0019]释放模块,用于在所述恢复模块完成恢复所述CPLD的寄存器信息和管脚信号之后,释放所述CPLD的管脚。
[0020]进一步的,所述装置还包括:
[0021]生成模块,用于在所述升级所述CPLD的程序之前,生成串行向量格式SVF文件,根据所述SVF文件生成VME总线文件;其中,SVF文件用于指示所述CPLD的升级处理过程;所述VME总线文件用于执行所述CPLD的升级处理。
[0022]所述生成模块具体用于将所述SVF文件拆分成第一子SVF文件和第二子SVF文件,其中,所述第一子SVF文件用于指示所述CPLD的升级处理执行到完成升级所述CPLD程序的操作;所述第二子SVF文件用于指示在完成恢复所述CPLD的寄存器信息和管脚信号之后,释放所述CPLD的管脚;
[0023]根据所述第一子SVF文件生成第一子VME总线文件;所述第一 VME总线文件用于执行升级所述CPLD程序的操作;
[0024]根据所述第二子SVF文件生成第二子VME总线文件;所述第二子VME总线文件用于执行释放所述CPLD的管脚的操作。
[0025]本发明实施例提供一种复杂可编程逻辑器件CPLD的升级处理装置,包括:一个或多个处理器、存储器以及一个或多个程序,所述一个或多个程序存储在所述存储器中,并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括:
[0026]备份所述CPLD的寄存器信息和管脚信号的指令;
[0027]升级所述CPLD的程序的指令,包括通过后台模式将所述CPLD的升级程序加载到CPLD的闪存中的指令;锁定所述CPLD的管脚的指令;将所述CPLD的闪存中的所述升级程序加载到所述CPLD的静态随机存储器SRAM中的指令;
[0028]在完成升级所述CPLD的程序之后,根据备份的所述寄存器信息和管脚信号恢复所述CPLD的寄存器信息和管脚信号的指令;
[0029]并在完成恢复所述CPLD的寄存器信息和管脚信号之后,释放所述CPLD的管脚的指令。
[0030]进一步的,在所述升级所述CPLD的程序的指令之前还包括:
[0031]生成串行向量格式SVF文件,根据所述SVF文件生成VME总线文件的指令;其中,SVF文件用于指示所述CPLD的升级处理过程;所述VME总线文件用于执行所述CPLD的升级处理。
[0032]所述根据所述SVF文件生成VME总线文件的指令包括:
[0033]将所述SVF文件拆分成第一子SVF文件和第二子SVF文件的指令,其中,所述第一子SVF文件用于指示所述CPLD的升级处理执行到完成升级所述CPLD的程序的指令;所述第二子SVF文件用于指示在完成恢复所述CPLD的寄存器信息和管脚信号之后,释放所述CPLD的管脚的指令;
[0034]根据所述第一子SVF文件生成第一子VME总线文件的指令;所述第一子VME总线文件用于执行升级所述CPLD程序的操作的指令;
[0035]根据所述第二子SVF文件生成第二子VME总线文件的指令;所述第二子VME总线文件用于执行释放所述CPLD的管脚的操作的指令。
[0036]本发明实施例提供一种复杂可编程逻辑器件CPLD的升级处理系统,包括:CPLD和CPLD的升级处理装置,其中,CPLD的升级处理装置采用上述的CPLD的升级处理装置。
[0037]本发明实施例中,升级处理装置在执行CPLD升级任务之前,备份CPLD当前状态的寄存器信息和管脚信号,然后执行CPLD的升级,后台加载CPLD的升级程序到CPLD的Flash中,锁定CPLD当前的管脚,接着,将升级程序从CPLD的Flash中加载到CPLD的SRAM中运行,并不立即释放CPLD当前的管脚,而是在释放CPLD当前的管脚之前,将上述备份的CPLD的内部信息恢复到当前CPLD中,使升级前的CPLD的寄存器信息和管脚信号与升级后当前的CPLD的寄存器信息和CPLD的管脚信号匹配,最后释放CPLD当前的输出管脚,可以实现设备在线状态下升级CPLD的操作。不需要中断当前系统的业务,就可以保证CPLD升级前与升级后设备状态的一致性。避免对业务产生冲击,提高了系统的可靠性。
【附图说明】
[0038]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0039]图1为本发明实施例提供的CPLD的升级处理方法的流程图;
[0040]图2为本发明实施例提供的CPLD的升级处理方法中升级所述CPLD的程序的具体流程图;
[0041]图3为本发明实施例提供的一种CPLD的升级处理装置的结构示意图;
[0042]图4为本发明实施例提供的另一种CPLD的升级处理装置的结构示意图;
[0043]图5为本发明实施例提供的CPLD的升级处理系统的结构示意图。
【具体实施方式】
[0044]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1