System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种实现FPGA程序定期自检和自修复的方法技术_技高网

一种实现FPGA程序定期自检和自修复的方法技术

技术编号:43348167 阅读:2 留言:0更新日期:2024-11-15 20:47
本发明专利技术涉及一种实现FPGA程序定期自检和自修复的方法,属于航空、航天及核电领域中的FPGA高可靠性设计技术领域。本发明专利技术在FPGA、MCU和FPGA外部程序存储器之间增加半导体总线切换开关,默认由MCU控制半导体总线切换开关的切换选通使能;将FPGA外部程序存储器按地址分为上下两个区,分别存储同样的FPGA程序;每次设备加电启动时默认FPGA外部程序存储器与FPGA联通,用于加载FPGA程序;定期自检时,由MCU切换FPGA外部程序存储器控制权,通过MCU直接访问FPGA外部程序存储器进行自检。本发明专利技术能通过定期自检提前发现SEU问题,并及时进行自动修复,提高了FPGA外部存储器利用率和FPGA程序定期自检的效率和可靠性。

【技术实现步骤摘要】

本专利技术属于航空、航天及核电领域中的fpga高可靠性设计,具体涉及一种实现fpga程序定期自检和自修复的方法。


技术介绍

1、随着信息技术的发展,fpga能够实现的功能日益丰富,应用场景也越来越复杂多样。在一些特殊的应用环境如辐射源附近、宇宙空间中,需要定期对fpga程序进行自检和自动纠错,以确保系统鲁棒性和功能正确性。

2、常规的自检方式是将fpga外部程序存储器中的数据全部读取出来,通过crc等方法与校验码对比校验。优点是占用的存储空间小;缺点是一旦发现问题只能上报,无法实现自修复。


技术实现思路

1、(一)要解决的技术问题

2、本专利技术要解决的技术问题是如何提供一种实现fpga程序定期自检和自修复的方法,以解决高辐照环境下fpga器件长期可靠运行及自检和自动纠错问题。

3、(二)技术方案

4、为了解决上述技术问题,本专利技术提出一种实现fpga程序定期自检和自修复的方法,该方法包括:

5、设置切换开关:在fpga、mcu和fpga外部程序存储器之间增加半导体总线切换开关;通过mcu控制半导体总线切换开关,用于切换对fpga外部程序存储器的控制权,当mcu选通控制引脚输入为“1”时,fpga外部程序存储器与mcu直连;当mcu选通控制引脚输入为“0”时,fpga外部程序存储器与fpga直连;

6、存储器分区:将fpga外部程序存储器按地址分为上下两个区,分别存储同样的fpga程序;

7、加电启动:每次设备加电启动时默认fpga外部程序存储器与fpga联通,用于加载fpga程序,加载完成后正常运行预定功能;

8、定期自检:定期自检时,由mcu切换fpga外部程序存储器控制权;通过mcu直接访问fpga外部程序存储器,对其上下两个半区的数据进行逐字读取和比对,若一致,则自检通过,上报日志,并回到正常运行模式;若不一致,则上报故障日志,通过两个半区内存储的相应校验码进行进一步故障定位,确认故障半区后,通过无故障半区内存储的fpga程序对故障半区进行覆盖,再次进行校验,无误后上报处理结果,回到正常运行模式。

9、(三)有益效果

10、本专利技术提出一种实现fpga程序定期自检和自修复的方法,本专利技术通过mcu在定期自检期间直接访问fpga外部程序存储器,对其上下两个半区的数据进行逐字读取和比对,在尽量少占用mcu资源的情况下实现最高的自检效率。并且,一旦发现fpga程序中出现单粒子翻转,可通过无故障分区对对故障分区进行修复。

11、本专利技术为高辐照环境下fpga器件长期可靠运行(主要是抵御单粒子翻转seu)提供一种新的解决问题思路和方法。意在通过定期自检提前发现seu问题,并及时进行自动修复。

12、本专利技术提高fpga外部存储器利用率和fpga程序定期自检的效率和可靠性。

本文档来自技高网...

【技术保护点】

1.一种实现FPGA程序定期自检和自修复的方法,其特征在于,该方法包括:

2.如权利要求1所述的实现FPGA程序定期自检和自修复的方法,其特征在于,所述半导体总线切换开关为单刀双掷模拟开关。

3.如权利要求1所述的实现FPGA程序定期自检和自修复的方法,其特征在于,所述半导体总线切换开关为CD4052、BCT4157或HS102。

4.如权利要求1所述的实现FPGA程序定期自检和自修复的方法,其特征在于,在MCU与总线切换开关之间增加硬件拨码开关,当硬件拨码开关高位设置为0时,由硬件拨码开关控制;当硬件拨码开关高位设置为1时,由MCU控制。

5.如权利要求4所述的实现FPGA程序定期自检和自修复的方法,其特征在于,若由硬件控制,MCU选通控制引脚设置无效;当硬件拨码开关低位设置为0时,控制半导体总线切换开关将FPGA与FPGA外部存储器直连,此时,FPGA实现日常的程序加载和逻辑功能;当硬件拨码开关低位设置为1时,控制半导体总线切换开关将MCU与FPGA外部存储器直连,此时,通过MCU读写FPGA外部存储器,实现FPGA程序的升级、修复,实现对FPGA外部存储器空闲区域的读写,使其作为MCU外部非易失存储器存储空间的补充。

6.如权利要求4所述的实现FPGA程序定期自检和自修复的方法,其特征在于,若由MCU控制,硬件拨码开关低位设置无效;当MCU选通控制引脚设置为0时,控制半导体总线切换开关将FPGA与FPGA外部存储器直连,此时,FPGA实现日常的程序加载和逻辑功能;当MCU选通控制引脚设置为1时,控制半导体总线切换开关将MCU与FPGA外部存储器直连,此时,通过MCU读写FPGA外部存储器,实现FPGA程序的升级、修复,实现对FPGA外部存储器空闲区域的读写,使其作为MCU外部非易失存储器存储空间的补充。

7.如权利要求1所述的实现FPGA程序定期自检和自修复的方法,其特征在于,FPGA外部程序存储器内部按地址分为同样大小的两个分区,一个作为主分区,用于启动时为FPGA加载程序;一个作为备用分区,与主分区互为备份,用于其中一个分区出现SEU故障时通过另一分区进行修复。

8.如权利要求7所述的实现FPGA程序定期自检和自修复的方法,其特征在于,除存储FPGA程序外,还在各自分区分别存储相应的校验码,用于在出现SEU故障时确认故障所在分区。

9.如权利要求1所述的实现FPGA程序定期自检和自修复的方法,其特征在于,无论拨码开关硬件还是MCU软件取得对FPGA外部程序存储器切换的控制权,在设备加电或重新启动时均默认将FPGA与FPGA外部程序存储器相连,使上电或程序加载过程中,FPGA直接从FPGA外部程序存储器的主分区中读取程序并正常运行。

10.如权利要求1-9任一项所述的实现FPGA程序定期自检和自修复的方法,其特征在于,MCU接收自检指令后切换FPGA外部程序存储器控制权;通过MCU直接访问FPGA外部程序存储器,对其上下两个半区的数据进行逐字读取和比对,若一致,则自检通过,上报日志,并回到正常运行模式;若不一致,则上报故障日志,通过两个半区内存储的相应校验码进行进一步故障定位,确认故障半区后,通过无故障半区内存储的FPGA程序对故障半区进行覆盖,再次进行校验,无误后上报处理结果,回到正常运行模式;若尝试三次以上无法自修复,则上报严重故障,由现场运维人员通过硬件拨码开关手动处理,并进行全面检修。

...

【技术特征摘要】

1.一种实现fpga程序定期自检和自修复的方法,其特征在于,该方法包括:

2.如权利要求1所述的实现fpga程序定期自检和自修复的方法,其特征在于,所述半导体总线切换开关为单刀双掷模拟开关。

3.如权利要求1所述的实现fpga程序定期自检和自修复的方法,其特征在于,所述半导体总线切换开关为cd4052、bct4157或hs102。

4.如权利要求1所述的实现fpga程序定期自检和自修复的方法,其特征在于,在mcu与总线切换开关之间增加硬件拨码开关,当硬件拨码开关高位设置为0时,由硬件拨码开关控制;当硬件拨码开关高位设置为1时,由mcu控制。

5.如权利要求4所述的实现fpga程序定期自检和自修复的方法,其特征在于,若由硬件控制,mcu选通控制引脚设置无效;当硬件拨码开关低位设置为0时,控制半导体总线切换开关将fpga与fpga外部存储器直连,此时,fpga实现日常的程序加载和逻辑功能;当硬件拨码开关低位设置为1时,控制半导体总线切换开关将mcu与fpga外部存储器直连,此时,通过mcu读写fpga外部存储器,实现fpga程序的升级、修复,实现对fpga外部存储器空闲区域的读写,使其作为mcu外部非易失存储器存储空间的补充。

6.如权利要求4所述的实现fpga程序定期自检和自修复的方法,其特征在于,若由mcu控制,硬件拨码开关低位设置无效;当mcu选通控制引脚设置为0时,控制半导体总线切换开关将fpga与fpga外部存储器直连,此时,fpga实现日常的程序加载和逻辑功能;当mcu选通控制引脚设置为1时,控制半导体总线切换开关将mcu与fpga外部存储器直连,此时,通过mcu读写fpga外部存储器,实...

【专利技术属性】
技术研发人员:吴飞宋科李校南高连跃张兴凯吴志轩任凯琦贾俊峰张明明赵博文王法秀
申请(专利权)人:北京计算机技术及应用研究所
类型:发明
国别省市:

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

1