一种FPGA程序在线更新失败可恢复电路,使FPGA程序在线更新失败后,自动实现程序和状态恢复。电路包括主控FPGA、第一辅助电路、第二辅助电路、第三辅助电路,第一辅助电路、第二辅助电路、第三辅助电路分别连接到主控FPGA;第一辅助电路执行第一FLASH存储芯片、第二FLASH存储芯片接口与主控FPGA的加载配置引脚的连接和自动切换;第二辅助电路连接第一FLASH存储芯片、第二FLASH存储芯片,第二辅助电路执行主控FPGA自身的复位,及对复位信号进行延时保存;第三辅助电路通过外部通信接口与上位机连接。接。接。
【技术实现步骤摘要】
一种FPGA程序在线更新失败可恢复电路
[0001]本技术涉及可编程逻辑器件的
,尤其涉及一种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]图1示出了根据本技术的FPGA程序在线更新失败可恢复电路的原理框图。
[0012]图2示出了根据本技术的第一辅助电路的电路图。
[0013]图3示出了根据本技术的第二辅助电路的电路图。
具体实施方式
[0014]如图1所示,这种FPGA程序在线更新失败可恢复电路,其包括主控FPGA、第一辅助电路(辅助电路1)、第二辅助电路(辅助电路2)、第三辅助电路 (辅助电路3),第一辅助电路、第二辅助电路、第三辅助电路分别连接到主控FPGA;
[0015]第一辅助电路执行第一FLASH存储芯片(Flash1)、第二FLASH存储芯片(Flash2)接口与主控FPGA的加载配置引脚的连接和自动切换;
[0016]第二辅助电路连接第一FLASH存储芯片、第二FLASH存储芯片,第二辅助电路执行主控FPGA自身的复位,及对复位信号进行延时保存;
[0017]第三辅助电路通过外部通信接口与上位机连接。
[0018]本技术通过第二辅助电路连接第一FLASH存储芯片、第二FLASH存储芯片,第二辅助电路执行主控FPGA自身的复位,及对复位信号进行延时保存,第一辅助电路执行第一FLASH存储芯片、第二FLASH存储芯片接口与主控FPGA的加载配置引脚的连接和自动切换,第三辅助电路通过外部通信接口与上位机连接,即使Flash擦除和固化未能完成,也不会破坏Flash中原有程序,提升了FPGA及其所在设备的可靠性和适应性,因此使FPGA程序在线更新失败后,自动实现程序和状态恢复。
[0019]优选地,所述主控FPGA包括初始模块和更新模块,初始模块包括:在线更新单元、更新状态检测单元、Flash接口切换单元和自复位单元,更新模块包括在线更新单元;
[0020]在线更新单元执行:上位机通信、通信指令解析、数据协议转换、 Flash接口协议和数据烧写;
[0021]更新状态监测单元执行:Flash接口协议,数据读取和判断;
[0022]Flash接口切换单元将FPGA与Flash间的接口在第一FLASH存储芯片、第二FLASH存储芯片间切换,状态包括:初始阶段、状态监测阶段、监测完成阶段、在线更新阶段;
[0023]自复位单元根据更新状态监测单元输出结果,判断是否向第三辅助电路输出复位信号。
[0024]优选地,如图2所示,所述第一辅助电路包括延时电路和迟滞触发电路;延时电路包括第一电阻R1(300Ω)、第二电阻R2(10kΩ)、第一电容C1(47n),迟滞触发电路包括带施密特触发器的反相器S、第三电阻R3(10kΩ)、第四电阻R4(10kΩ);第二电阻何第一电容并联后一端接地且另一端连接在第一电阻和带施密特触发器的反相器之间,第三电阻接带施密特触发器的反相器的输入端,带施密特触发器的反相器的输出接FPGA的复位输入管脚,
第四电阻接带施密特触发器的反相器的输出;带施密特触发器的反相器为芯片 54LS132;
[0025]选择FPGA上任意IO3发出复位指令信号进入延时电路的第一电阻,延时电路使用两个电阻和一个电容实现复位指令高电平信号的快速建立和缓慢释放;再进入迟滞电路,迟滞电路使用带施密特触发器的反相器和两个电阻,利用自身的阈值回差实现电平保持;最后,延时和电平保持后的复位指令输出至FPGA的复位输入管脚。
[0026]所述第一辅助电路的目的是实现FPGA的自复位,FPGA复位过程中要求复位信号需保持一段时间稳定的低电平。而复位信号本身由FPGA管脚输出,复位过程中管脚电平会发生变化,因此电路需要有“记忆保持”功能。
[0027]优选地,如图3所示,所本文档来自技高网...
【技术保护点】
【技术特征摘要】
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的复位输入管脚,第四电阻接带...
【专利技术属性】
技术研发人员:韩健,韦援丰,
申请(专利权)人:中科亿海微电子科技苏州有限公司,
类型:新型
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。