1.一种具有BRAM的卫星载荷FPGA,其特征在于,所述卫星载荷FPGA,包括内部算法模块、三模表决模块、BRAM及自刷新模块,其中:所述内部算法模块,其输入为通过三模表决模块后正确的输出数据,即通过对BRAM中存储的数据进行读写操作,获取经过三模冗余表决后的BRAM数据,用于对所述卫星载荷FPGA配置项进行处理及运算;所述三模表决模块,获取三模BRAM输出的相同内容的数据,然后通过一个多数判决器对其进行表决,只要在三个BRAM模块的同一位置上不同时出现两个相同的错误,就能屏蔽掉故障模块的错误,保证正确的输出;所述BRAM及自刷新模块,用于存储在轨参数及控制所述在轨参数的自刷新;所述BRAM及自刷新模块包括算法监控模块、自刷新控制模块、BRAM存储模块以及时分复用模块;所述算法监控模块用于监控访问BRAM的卫星载荷FPGA功能算法,识别BRAM访问的空闲状态;所述自刷新控制模块用于实现BRAM在自刷新操作和内部算法访问之间的状态切换,并控制整个BRAM的遍历自刷新;所述BRAM存储模块用于存储在轨参数及读写访问;所述时分复用模块,用于根据所述算法监控模块的监控结果,实现BRAM在自刷新操作和内部算法访问这两个分支上的时分复用控制,当内部算法访问BRAM,即所述内部算法模块处于忙状态时,通过内部算法访问支路实现BRAM的读写访问;当内部算法模块处于空闲状态时,通过自刷新控制支路实现BRAM的自刷新,以消除在轨单粒子翻转累积;所述自刷新控制模块进行自刷新的方法为:步骤S301:自刷新及其控制系统复位;步骤S302:监听所述算法监控模块的监控结果,若BRAM存储模块处于内部算法访问忙状态,则间隔一预置时间,进入步骤S302;若所述BRAM存储模块处于内部算法访问空闲状态,进入步骤S303;步骤S303:读取BRAM存储模块中的数据,所述自刷新控制模块从0地址开始,依次产生数据读取地址,并读取相应地址中的BRAM数据;步骤S304:将三个BRAM的读取数据通过所述三模表决模块进行表决,修正单粒子翻转累积错误;步骤S305:所述自刷新控制模块将表决后通过的数据回写到其对应的BRAM模块中,消除BRAM存储的单粒子累积错误;步骤S306:所述自刷新控制模块对刷新地址进行累加,若地址达到BRAM地址空间最大值,则地址清零,进入步骤S302;否则,完成BRAM单地址数据自刷新,方法结束。
2.如权利要求1所述的具有BRAM的卫星载荷FPGA,其特征在于,所述内部算法模块,对BRAM中存储的数据进行读写操作,包括:当进行BRAM写操作时,生成BRAM写地址、数据控制信号;当进行BRAM读操作时,生成BRAM读地址控制信号,并获取经过三模表决后的BRAM数据,用于运算。
3.如权利要求2所述的具有BRAM的卫星载荷FPGA,其特征在于,所述三模表决模块,获取三模BRAM的输出数据作为所述三模表决模块的输入,以多数相同的输出作为所述三模表决模块的正确输出。
4.如权利要求3所述的具有BRAM的卫星载荷FPGA,其特征在于,所述BRAM存储模块在时钟上升沿到来,且其使能端为高电平时,在读写控制信号作用下,实现对BRAM存储模块中存储的数据的读取或写入。
5.如权利要求4所述的具有BRAM的卫星载荷FPGA,其特征在于,所述自刷新控制模块通过有限状态机实现状态切换,所述有限状态机具有S0、S1、S2、S3四个状态,各个状态为:S0:BRAM存储模块复位或访问忙时,则一直处于S0状态,当BRAM存储模块空闲时,则进入S1状态;S1:BRAM存储模块处于数据读取状态时,BRAM存储模块处于S1状态,当BRAM存储模块数据读取完成后,进入S2状态;S2:BRAM存储模块处于数据写入状态时,BRAM存储模块处于S2状态,将经过三模表决后的数据进行回写,消除BRAM中的累积错误,写入完成后进入S3状态;S3:BRAM存储模块处于单次刷新完成状态时,BRAM存储模块处于S3状态,进入该状态说明完成了BRAM单地址数据刷新,并控制刷新地址累加,并返回S0状态,继续下一地址刷新。
6.一种具有如权利要求1-5中任一项所述的具有BRAM的卫星载荷FPGA的使用方法,包括以下步骤:步骤S401:所述内部算法模块配置所述卫星载荷FPGA的配置项;步骤S402:所述内部算法模块产生读取BRAM的控制信号,将三个BRAM的读取数据通过所述三模表决模块进行表决,修正单粒子翻转累积错误;步骤S403:所述BRAM及自刷新模块将表决通过后的数据进行回写,消除BRAM存储模块中存储的单粒子累积错误。