一种fpga逻辑代码可迭代升级的方法及电路的制作方法

文档序号:8905122阅读:334来源:国知局
一种fpga逻辑代码可迭代升级的方法及电路的制作方法
【技术领域】
[0001]本发明涉及一种升级的方法及电路,更具体地说,尤其涉及一种FPGA逻辑代码可迭代升级的方法及电路。
【背景技术】
[0002]现有的FPGA逻辑代码的在线升级方法存在:错误逻辑代码文件升级有效,错误逻辑代码文件升级后,系统会瘫痪;所谓的错误文件是指代码功能不正常,错误逻辑代码文件会导致系统不可启动,系统启动后不可再升级等现象,导致在线升级功能失效,板卡功能失效。产品瘫痪,会使采用FPGA芯片的功能模块无法工作;特别在用户现场,需要工程人员拆卸板卡通过专用下载器,重新升级固件,费时费劲。对于互联型,采用多块FPGA芯片的产品所组成的系统,在用户现场,存在有意或无意的误操作,导致成百上千的FPGA板卡,在错误逻辑代码文件升级有效的情况下,导致大系统瘫痪的可能,及风险。

【发明内容】

[0003]本发明的目的在于针对上述现有技术的不足,提供一种使用方便、效果良好的FPGA逻辑代码可迭代升级的方法及电路。
[0004]本发明的技术方案是这样实现的:一种FPGA逻辑代码可迭代升级的方法,其中包括下述步骤:
[0005](I)系统上电,状态监测电路工作在默认状态“0000”模式,选通模拟开关的第一数据通道,选通分区切换开关的启动分区通道,FPGA芯片从启动分区中加载初始化配置数据,启动系统;
[0006](2)系统接收到升级命令,状态监测电路进入状态“0001”模式,选通模拟开关的第二数据通道连通,选通分区切换开关的校验缓存分区通道;FPGA芯片接收到系统配置文件并保存到校验缓存分区;若不能在约定的时间内切换状态,系统将因超时而返回默认状态,并提示升级失败;
[0007](3)系统成功保存配置文件后,状态监测电路进入状态“0010”模式;选通模拟开关的第一数据通道,选通分区切换开关切换至校验缓存分区通道,从状态监测电路中输出信号至FPGA芯片;FPGA芯片从校验缓存分区中加载配置文件,启动系统;若不能在约定的时间内切换状态,系统将因超时而返回默认状态,并提示升级失败;
[0008](4)FPGA芯片监测到系统处于升级校验状态,状态监测电路进入状态“0011”模式,选通模拟开关的第一数据通道,选通分区切换开关的校验缓存分区通道,从状态监测电路中输出信号至FPGA芯片;FPGA芯片二次接收升级配置文件,并将所接收的升级文件缓存至内存,同时从校验缓存分区中读取配置文件至内存;对比两次接收的升级配置文件是否一致,若不一致,系统将因超时而返回默认状态,并提示升级失败;
[0009](5)若两次接收的升级配置文件一致,状态监测电路进入状态“0100”模式,选通模拟开关的第二数据通道,选通分区切换开关的启动分区通道,从状态监测电路中输出信号至FPGA芯片;FPGA芯片将系统配置文件写入启动分区,状态监测电路进入“0000”模式,升级成功,提示状态。
[0010]上述的一种FPGA逻辑代码可迭代升级的方法中,步骤(I)中选通模拟开关的第一数据通道,选通分区切换开关的启动分区通道具体为:模拟开关的使能控制端和开关选择端设置为低电平,分区切换开关的使能控制端和开关选择端设置为低电平。
[0011]上述的一种FPGA逻辑代码可迭代升级的方法中,步骤(2)中系统接收到升级命令,状态监测电路进入状态“0001”模式具体为:FPGA芯片从CONF_W管脚输出一个脉冲至状态监测电路使状态监测电路进入状态“0001”模式;选通模拟开关的第二数据通道连通,选通分区切换开关的校验缓存分区通道具体为:模拟开关的开关选择端和使能控制端设置为低电平,分区切换开关的开关选择端设置为高电平,分区切换开关的使能控制端设置为低电平。
[0012]上述的一种FPGA逻辑代码可迭代升级的方法中,步骤(3)中系统成功保存配置文件后,状态监测电路进入状态“0010”模式具体为:FPGA芯片从CONF_W管脚输出一个脉冲至状态监测电路使状态监测电路进入状态“0010”模式;选通模拟开关的第一数据通道,选通分区切换开关切换至校验缓存分区通道具体为:模拟开关的开关选择端和使能控制端设置为低电平,分区切换开关的开关选择端设置为高电平,分区切换开关的使能控制端设置为低电平;从状态监测电路中输出信号至FPGA芯片具体为:从状态监测电路中F端口输出高电平至FPGA芯片。
[0013]上述的一种FPGA逻辑代码可迭代升级的方法中,步骤(4)中FPGA芯片监测到系统处于升级校验状态,状态监测电路进入状态“0011”模式具体为:FPGA芯片从CONFJV管脚输出一个脉冲至状态监测电路使状态监测电路进入状态“0011”模式;选通模拟开关的第一数据通道,选通分区切换开关的校验缓存分区通道具体为:模拟开关的开关选择端和分区切换开关的开关选择端设置为高电平,模拟开关的使能控制端和分区切换开关的使能控制端设置为低电平;从状态监测电路中输出信号至FPGA芯片具体为:从状态监测电路中F端口输出高电平至FPGA芯片。
[0014]上述的一种FPGA逻辑代码可迭代升级的方法中,步骤(5)中若两次接收的升级配置文件一致,状态监测电路进入状态“0100”模式具体为:FPGA芯片从CONF_W管脚输出一个脉冲至状态监测电路使状态监测电路进入状态“0100”模式;选通模拟开关的第二数据通道,选通分区切换开关的启动分区通道具体为:模拟开关的使能控制端和开关选择端设置为低电平,分区切换开关的使能控制端和开关选择端设置为低电平;从状态监测电路中输出信号至FPGA芯片具体为:从状态监测电路中F端口输出高电平至FPGA芯片;FPGA芯片将系统配置文件写入启动分区,状态监测电路进入“0000”模式具体为:FPGA芯片从CONF_W管脚输出一个脉冲至状态监测电路,状态监测电路进入状态“0000”模式。
[0015]—种FPGA逻辑代码可迭代升级方法专用的电路,包括FPGA芯片,其中所述FPGA芯片连接有状态监测电路,状态监测电路分别与模拟开关和分区切换开关连接,模拟开关与分区切换开关连接;在模拟开关上设有第一数据通道和第二数据通道;在分区切换开关上设有启动分区通道和校验缓存分区通道;FPGA芯片的配置管脚与模拟开关的第一数据通道连接;分区切换开关的启动分区通道与启动分区连接;所述FPGA芯片的通用管脚与模拟开关的第二数据通道连接,分区切换开关的校验缓存分区通道与校验缓存分区连接。
[0016]上述的一种FPGA逻辑代码可迭代升级方法专用的电路中,FPGA芯片上的CONFJV引脚与状态监测电路的输入端连接;状态监测电路的F端口与FPGA芯片的FLAG_R引脚连接,状态监测电路的RL#与FPGA芯片的PR0GR0M_B引脚连接;状态监测电路的QS2与模拟开关的开关选择端连接,状态监测电路的QE2与模拟开关的使能控制端连接,状态监测电路的QSl与分区切换开关的开关选择端连接,状态监测电路的QEl与分区切换开关的使能控制端连接。
[0017]本发明采用上述结构后,利用启动分区和校验缓存分区使系统在升级时,启动分区是用于存储程序正常加载的启动配置代码的外部存储器,校验缓存分区是用于存放程序在在线升级过程中,缓存所接收的升级文件的外部存储器;通过启动分区、校验缓存分区和FPGA芯片配合能够对接收的升级文件进行识别,系统将阻止错误代码升级,并将FPGA芯片覆盖上原有的正常代码,保证系统升级的健壮性,避免错误文件被加载到FPGA芯片内,造成系统瘫痪、芯片损坏等重大问题。
【附图说明】
[0018]下面结合附图中的实施例对本发明作进一步的详细说明,但并不构成对本发明的任何限制。
[0019]图1是本发明的电路结构示意图;
[0020]图2是本发明的内部状态逻辑表;
[0021]图3是本发明的升级状态图。
[0022]图中:FPGA芯片1、状态监测电路2、模拟开关3、分区切换开关4、启动分区5、校验缓存分区6。
【具体实施方式】
[0023]参阅图1至图3所示,本发明的一种FPGA逻辑代码可迭代升级的方法,其中包括下述步骤:
[00
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1