一种FPGA程序在线更新失败可恢复电路及方法技术

技术编号:34777773 阅读:25 留言:0更新日期:2022-09-03 19:29
一种FPGA程序在线更新失败可恢复电路及方法,使FPGA程序在线更新失败后,自动实现程序和状态恢复。电路包括主控FPGA、第一辅助电路、第二辅助电路、第三辅助电路,第一辅助电路、第二辅助电路、第三辅助电路分别连接到主控FPGA;第一辅助电路执行第一FLASH存储芯片、第二FLASH存储芯片接口与主控FPGA的加载配置引脚的连接和自动切换;第二辅助电路连接第一FLASH存储芯片、第二FLASH存储芯片,第二辅助电路执行主控FPGA自身的复位,及对复位信号进行延时保存;第三辅助电路通过外部通信接口与上位机连接。上位机连接。上位机连接。

【技术实现步骤摘要】
一种FPGA程序在线更新失败可恢复电路及方法


[0001]本专利技术涉及可编程逻辑器件的
,尤其涉及一种FPGA程序在线更新失败可恢复电路,以及FPGA程序在线更新失败可恢复方法。

技术介绍

[0002]FPGA(Field-Programmable Gate Array,现场可编程门阵列)属于专用集成电路中的一种半定制电路,是可编程的逻辑列阵,能够有效的解决原有的器件门电路数较少的问题。FPGA的基本结构包括可编程输入输出单元,可配置逻辑块,数字时钟管理模块,嵌入式块RAM,布线资源,内嵌专用硬核,底层内嵌功能单元。由于FPGA具有布线资源丰富,可重复编程和集成度高,投资较低的特点,在数字电路设计领域得到了广泛的应用。FPGA的设计流程包括算法设计、代码仿真以及设计、板机调试,设计者以及实际需求建立算法架构,利用EDA建立设计方案或HD编写设计代码,通过代码仿真保证设计方案符合实际要求,最后进行板级调试,利用配置电路将相关文件下载至FPGA芯片中,验证实际运行效果。
[0003]在FPGA芯片应用领域,FPGA所在设备的程序在线更新是常用的重要功能和需求。常规程序更新方式需要打开设备或机箱外壳,再通过专用烧写器更新程序,在线更新无需打开设备或机箱外壳,可直接通过串口等常用外部接口更新程序,简化了烧写流程,提高了效率。
[0004]但在FPGA程序在线更新时,通常需要Flash中原有程序支持通过FPGA生成外部接口和通信协议,以实现对Flash程序进行擦除和固化。在此过程中,如出现掉电等原因,使Flash擦除和固化未能完成,则Flash中原有程序已被破坏,设备将失去所有功能,且无法再进行下一次在线更新。降低了FPGA及其所在设备的可靠性和适应性。因此,如何使FPGA程序在线更新失败后,自动实现程序和状态恢复是本领域技术人员目前需要解决的技术问题。

技术实现思路

[0005]为克服现有技术的缺陷,本专利技术要解决的技术问题是提供了一种FPGA程序在线更新失败可恢复电路,其使FPGA程序在线更新失败后,自动实现程序和状态恢复。
[0006]这种FPGA程序在线更新失败可恢复电路,其包括主控FPGA、第一辅助电路、第二辅助电路、第三辅助电路,第一辅助电路、第二辅助电路、第三辅助电路分别连接到主控FPGA;
[0007]第一辅助电路执行第一FLASH存储芯片、第二FLASH存储芯片接口与主控FPGA的加载配置引脚的连接和自动切换;
[0008]第二辅助电路连接第一FLASH存储芯片、第二FLASH存储芯片,第二辅助电路执行主控FPGA自身的复位,及对复位信号进行延时保存;
[0009]第三辅助电路通过外部通信接口与上位机连接。
[0010]本专利技术通过第二辅助电路连接第一FLASH存储芯片、第二FLASH存储芯片,第二辅助电路执行主控FPGA自身的复位,及对复位信号进行延时保存,第一辅助电路执行第一FLASH存储芯片、第二FLASH存储芯片接口与主控FPGA的加载配置引脚的连接和自动切换,
第三辅助电路通过外部通信接口与上位机连接,即使Flash擦除和固化未能完成,也不会破坏Flash中原有程序,提升了FPGA及其所在设备的可靠性和适应性,因此使FPGA程序在线更新失败后,自动实现程序和状态恢复。
[0011]还提供了一种FPGA程序在线更新失败可恢复方法,其包括以下步骤:
[0012](1)主控FPGA默认加载第一FLASH存储芯片中程序,并检测第二FLASH存储芯片中是否有程序,如果有程序,则执行步骤(2),否则执行步骤(3);
[0013](2)主控FPGA重新加载第二FLASH存储芯片中的程序,跳转至步骤(4);
[0014](3)主控FPGA继续运行第一FLASH存储芯片中程序;
[0015](4)结束。
[0016]还提供了另一种FPGA程序在线更新失败可恢复方法,其包括以下步骤:
[0017](a)上电时默认CS1信号有效,主控FPGA加载第一FLASH存储芯片中程序;
[0018](b)程序加载完成后配置CS2有效,并通过更新状态监测单元检测第二FLASH存储芯片中特定标志位状态;
[0019](c)若检测标志位有效则主控FPGA执行步骤(e),并反馈给上位机固化完成信号;若检测标志位无效,则执行步骤(d),并反馈给上位机固化失败信号;
[0020](d)表示第二FLASH存储芯片中无升级程序,或升级程序失败,则恢复到默认CS1有效状态,主控FPGA继续执行第一FLASH存储芯片中程序;
[0021](e)主控FPGA保持片选为CS2,CS2片选信号被第一辅助电路锁定;
[0022](f)主控FPGA发送复位指令,复位指令经第二辅助电路将主控FPGA重启;
[0023](g)FPGA加载第二FLASH存储芯片中码流,采用第二FLASH存储芯片中的程序。
附图说明
[0024]图1示出了根据本专利技术的FPGA程序在线更新失败可恢复电路的原理框图。
[0025]图2示出了根据本专利技术的第一辅助电路的电路图。
[0026]图3示出了根据本专利技术的第二辅助电路的电路图。
[0027]图4示出了根据本专利技术的一种FPGA程序在线更新失败可恢复方法的流程图。
[0028]图5为根据本专利技术的一种FPGA程序在线更新失败可恢复方法的第一FLASH存储芯片中程序的固化流程图。
[0029]图6为根据本专利技术的一种FPGA程序在线更新失败可恢复方法的第二FLASH存储芯片中程序的固化流程图。
具体实施方式
[0030]如图1所示,这种FPGA程序在线更新失败可恢复电路,其包括主控FPGA、第一辅助电路(辅助电路1)、第二辅助电路(辅助电路2)、第三辅助电路(辅助电路3),第一辅助电路、第二辅助电路、第三辅助电路分别连接到主控FPGA;
[0031]第一辅助电路执行第一FLASH存储芯片(Flash1)、第二FLASH存储芯片(Flash2)接口与主控FPGA的加载配置引脚的连接和自动切换;
[0032]第二辅助电路连接第一FLASH存储芯片、第二FLASH存储芯片,第二辅助电路执行主控FPGA自身的复位,及对复位信号进行延时保存;
[0033]第三辅助电路通过外部通信接口与上位机连接。
[0034]本专利技术通过第二辅助电路连接第一FLASH存储芯片、第二FLASH存储芯片,第二辅助电路执行主控FPGA自身的复位,及对复位信号进行延时保存,第一辅助电路执行第一FLASH存储芯片、第二FLASH存储芯片接口与主控FPGA的加载配置引脚的连接和自动切换,第三辅助电路通过外部通信接口与上位机连接,即使Flash擦除和固化未能完成,也不会破坏Flash中原有程序,提升了FPGA及其所在设备的可靠性和适应性,因此使FPGA程序在线更新失败后,自动实现程序和状态恢复。
[0035]优选地,所述主控F本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种FPGA程序在线更新失败可恢复电路,其特征在于:其包括主控FPGA、第一辅助电路、第二辅助电路、第三辅助电路,第一辅助电路、第二辅助电路、第三辅助电路分别连接到主控FPGA;第一辅助电路执行第一FLASH存储芯片、第二FLASH存储芯片接口与主控FPGA的加载配置引脚的连接和自动切换;第二辅助电路连接第一FLASH存储芯片、第二FLASH存储芯片,第二辅助电路执行主控FPGA自身的复位,及对复位信号进行延时保存;第三辅助电路通过外部通信接口与上位机连接。2.根据权利要求1所述的FPGA程序在线更新失败可恢复电路,其特征在于:所述主控FPGA包括初始模块和更新模块,初始模块包括:在线更新单元、更新状态检测单元、Flash接口切换单元和自复位单元,更新模块包括在线更新单元;在线更新单元执行:上位机通信、通信指令解析、数据协议转换、Flash接口协议和数据烧写;更新状态监测单元执行:Flash接口协议,数据读取和判断;Flash接口切换单元将FPGA与Flash间的接口在第一FLASH存储芯片、第二FLASH存储芯片间切换,状态包括:初始阶段、状态监测阶段、监测完成阶段、在线更新阶段;自复位单元根据更新状态监测单元输出结果,判断是否向第三辅助电路输出复位信号。3.根据权利要求2所述的FPGA程序在线更新失败可恢复电路,其特征在于:所述第一辅助电路包括延时电路和迟滞触发电路;延时电路包括第一电阻(R1)、第二电阻(R2)、第一电容(C1),迟滞触发电路包括带施密特触发器的反相器(S)、第三电阻(R3)、第四电阻(R4);第二电阻何第一电容并联后一端接地且另一端连接在第一电阻和带施密特触发器的反相器之间,第三电阻接带施密特触发器的反相器的输入端,带施密特触发器的反相器的输出接FPGA的复位输入管脚,第四电阻接带施密特触发器的反相器的输出;带施密特触发器的反相器为芯片54LS132选择FPGA上任意IO3发出复位指令信号进入延时电路的第一电阻,延时电路使用两个电阻和一个电容实现复位指令高电平信号的快速建立和缓慢释放;再进入迟滞电路,迟滞电路使用带施密特触发器的反相器和两个电阻,利用自身的阈值回差实现电平保持;最后,延时和电平保持后的复位指令输出至FPGA的复位输入管脚。4.根据权利要求3所述的FPGA程序在线更新失败可恢复电路,其特征在于:所述第二辅助电路包括两个芯片54LS279、三个芯片54LS132和三个电阻(R5,R6,R7);每个芯片54LS279的输入接FPGA两个任意引脚IO1、IO2且输出接一个芯片54LS132的输入,第五电阻、第七电阻分别接一个芯片54LS279对应的引脚IO1、另一个芯片54LS279对应的引脚IO2,第六电阻接第三个芯片54LS132的输入且第三个芯片54LS...

【专利技术属性】
技术研发人员:韩健韦援丰
申请(专利权)人:中科亿海微电子科技苏州有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1