论文部分内容阅读
随着深空探测技术的快速发展,人们期望实现的系统功能日益复杂。处理数据量的增加、运算复杂度的提高和可靠性要求的扩大制约着器件在航天领域的应用程度。作为一款可编辑逻辑器件,FPGA拥有集成度高、可重复编程、适用性广等特点,并在航空、军事、民用电子产品等领域得到了广泛的应用。但在空间应用中,由于基于SRAM型的FPGA容易受到各种宇宙辐射的影响而产生单粒子翻转(SEU),其累积效应令系统必然走向崩溃。这种产生错误的现象使得可靠性问题成为FPGA在空间应用领域的一个发展瓶颈。本文以Xilinx公司XC2V3000为例,针对FPGA的可靠性问题提出一个解决方案——定时刷新技术。作为动态部分重配置中的一种,定时刷新技术利用FPGA可重复编程的特点,在不打断系统工作状态的前提下,对FPGA的部分资源进行重新配置以纠正单粒子翻转引起的错误,从而满足在空间应用中的可靠性要求。本文主要是在对FPGA的研究基础上,包括其基本架构、各类资源和初始化配置流程,给出了以下两种实现定时刷新技术的研究成果:1.采用掩码方式产生用于定时刷新的部分比特文件。在Xilinx公司ISE10.1软件的指令输入窗口输入指令,挑选出FPGA三类资源中需要用于刷新的某些类,生成对应的部分比特文件,并和原始比特文件共同组成新的全比特文件存储在PROM中。当进行到定时刷新步骤时,只需要读取部分比特文件对FPGA重新配置就可以纠正单粒子翻转产生的错误;2.采用比特重构方式产生用于定时刷新的部分比特文件。在深入研究比特文件组成、指令含义和配置数据的基础上,通过修改比特文件中设置配置属性的指令以及配置帧的起始地址、数目和内容,达到对原始比特文件进行重构的目的。这种方式只需要读取存储于PROM中的原始比特文件,进行重构后再对FPGA进行刷新操作。根据以上两种研究成果,本文分别给出了对应的系统结构框图和由状态转移图实现的时序图,并完成了系统仿真验证结果。同时,分析了两种研究成果的各自优缺点及其适用的条件。最后,又针对定时刷新技术能否真正实现纠正单粒子翻转产生的错误,提出了一种简单易行的验证方法,即以修改量少且功能互异为原则,通过ISE10.1软件中FPGA Editor工具修改FPGA查找表的F或者G函数表达式,生成和修改前功能互异的比特文件,以此来模拟发生单粒子翻转。当采用本文提出的定时刷新技术后,可以使系统在两种功能之间实现来回切换,即可验证单粒子翻转可以被成功纠正。