本发明专利技术涉及一种基于MRAM实现的低成本高可靠的软硬件冗余安全启动与维护方法,结合“三取二比对+CRC”纠检错技术,采取芯片级三模比对方式,MRAM芯片个体数据异常,不影响系统运行;对低成本卫星星载计算机的启动过程进行了设计。本发明专利技术的有益效果是实现对多位错误、芯片故障等情况实现可靠纠正与隔离,大大降低成本,支持在轨更新,维护便捷。
A safe start-up and maintenance method of software and hardware redundancy based on MRAM
【技术实现步骤摘要】
一种基于MRAM实现的软硬件冗余安全启动与维护方法
本专利技术属于星载计算机启动与维护
,尤其涉及一种基于MRAM实现的软硬件冗余安全启动与维护方法。
技术介绍
对于星载计算机系统来说,启动引导过程至关重要。卫星在运行过程中,受空间单粒子效应影响,即使引导程序的某个bit位发生逻辑错误,有可能使星载计算机在任务需求或故障导致重加载时无法正常运行,从而造成卫星单机失效。目前,传统做法是使用抗空间环境能力较强的反熔丝PROM芯片,如UT28F256、HS1-6664RH-Q或者对应的国产反熔丝工艺芯片,作为启动程序的载体。此类芯片虽然抗空间环境能力较强、可靠性高,但进口型号普遍存在供货周期长、成本过高(动辄过万)、流程复杂(需有落焊环节)等因素影响,并且只能烧写一次,无法重复更新使用,这些因素长期以来制约着宇航计算机的研制和生产。尤其对于低成本卫星来说,采用昂贵的反熔丝型芯片带来成本上的沉重负担,往往型号上级单位不能承受。现有的做法,多采用多个样本在Flash、EEPROM等芯片中进行备份,采用串联启动的方式逐份启动,直至引导成功;并且软件上采用纠错检错编码,如edac(纠一检二)、CRC等策略,增强空间防护能力。但是,低成本Flash、EEPROM等芯片自身设计工艺局限其对空间环境较为敏感,此种策略仍不能对多位错误、芯片故障等情况实现可靠纠正与隔离。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种基于MRAM实现的软硬件冗余安全启动与维护方法,目的是实现对多位错误、芯片故障等情况实现可靠纠正与隔离;在大大降低成本的情况下,提供一种低成本高可靠的软硬件安全冗余启动与维护方法。本专利技术的技术方案为:一种基于MRAM实现的软硬件冗余安全启动与维护方法,主要包括样本存储区、Boot控制器、看门狗电路;样本存储区,包括3片独立的、存储内容一致的MRAM芯片;每个MRAM芯片均包括启动程序样本、样本校验码、启动暂存区、信息记录区四个分区;Boot控制器,采用FPGA,主要包括看门狗管理单元、样本管理单元;看门狗电路,在系统不能正常喂狗的情况下,输出周期脉冲提供给Boot控制器的看门狗管理单元,提供信号触发源;启动与维护方法包括以下步骤,步骤一、系统加电后,Boot控制器启动看门狗管理单元,进行喂狗操作,CPU系统处于复位状态;步骤二、Boot控制器从样本存储区的三个MRAM芯片中读取启动程序样本Ni,三取二对比后,记录结果并填写错误信息,进行CRC校验计算;若校验正确,执行步骤三;若校验错误,读取启动程序样本Ni+1,重复本步骤;步骤三、Boot控制器将CPU系统的启动首地址映射到第1片MRAM的启动暂存区中,释放CPU系统的复位信号,CPU接管喂狗权,执行引导程序;若引导成功,执行步骤四;若引导不成功,启动首地址映射到下一片MRAM的启动暂存区,若启动首地址映射到所有MRAM仍不成功,则跳至步骤二中“读取启动程序样本Ni+1”;步骤四、CPU系统正常运行后,Boot控制器对MRAM中的错误信息再次读取,三取二比对后,与记录内容进行比对,若一致,则对MRAM芯片该错误信息进行回写纠正,实现启动程序可维护;步骤五、存储的启动程序样本均执行后无法正常启动,Boot控制器启动狗咬切机策略,启用备份机工作。和现有技术相比,本方案采用3片独立的MRAM芯片构建,3片MRAM中存储的内容完全一致;结合“三取二比对+CRC”纠检错技术,对低成本卫星星载计算机的启动过程进行了设计提升;采取芯片级三模比对方式,MRAM芯片个体数据异常,不影响系统运行;基于上述方案,本专利技术还做出了如下改进:进一步地,步骤二中,Boot控制器读取样本Ni后,按bit三模对比,将结果分别填写在3片MRAM中的启动暂存区中;若发现有存储bit错误,将错误信息记录至相应MRAM的信息记录区中。进一步地,步骤三中,当引导不成功时,看门口电路产生脉冲信号,触发Boot控制器中的看门狗管理单元逻辑,从而将CPU系统的启动首地址映射到下一片MRAM的启动暂存区中,释放CPU系统的复位信号,释放看门狗的喂狗权给CPU,开始执行引导程序。进一步地,所述Boot控制器采用Flash型或熔丝型FPGA。本技术方案的有益效果是1)消除对宇航用反熔丝PROM存储器芯片的依赖;实现成本低廉,可靠度高;2)采取芯片级三模比对方式,MRAM芯片个体数据异常,不影响系统运行;3)消除宇航用反熔丝PROM芯片后期落焊及再试验等环节;4)消除宇航用反熔丝PROM芯片只能烧写一次问题,支持在轨更新,维护便捷。5)后续可对多片MRAM芯片进行封装设计,制作专用启动维护芯片,实现固化设计。附图说明图1是本专利技术的启动与维护系统示意图;图2是本专利技术的启动与维护流程图;图3是本专利技术的样本存储区分布区。具体实施方式下面结合某低成本卫星综合电箱具体实施例对本专利技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本专利技术。如图1所示,根据本专利技术提供的一种基于MRAM的引导与维护系统简图,系统配置简述如下:CPU采用SparcV8处理器,BM3803;样本存储区采用3片MRAM商用芯片——MR0A08B,单片容量128K*8bit;Boot控制器采用Flash型FPGA——A3PE3000L;看门狗电路采用MAX706构建,具体控制等操作归由FPGA管理。本实施例选取的系统配置如上,但不局限于上述型号。由图1和图2,本专利技术的具体启动过程步骤如下:步骤一,系统加电后,MAX706输出上电复位信号给FPGA(A3PE3000L),FPGA正常启动后,首先默认将CPU拉低保持在复位状态,此时CPU系统处于等待中;FPGA启动内部看门狗管理单元,由FPGA对MAX706进行喂狗操作,目的是使看门狗电路(MAX706)不输出脉冲触发FPGA中看门狗管理单元的相关下序逻辑。从上电开始,一直到FPGA主动释放对CPU复位信号的整个过程中,CPU系统都需要处于复位状态。步骤二,由图3,FPGA控制从3片MRAM芯片中,读取其各自存储的启动程序样本1(同样的程序,不同载体各存储一份,容量小于32KB),即从第1片MRAM中读取样本1-a、从第2片MRAM中读取样本1-b、从第3片MRAM中读取样本1-c;按bit三模比对后,将结果分别填写到3片MRAM芯片各自的启动暂存区a、启动暂存区b、启动暂存区c中。若过程中发现有存储bit错误,则将错误的地址与内容记录到信息记录区;三模比对后写入启动暂存区的过程中,需要进行CRC校验计算,与之前预置到样本校验区的3份CRC校验码的三取二比对结果进行比对。若检验和不正确,直接跳转执行:“FPGA控制从3片MRAM芯片中读取其各自存储的启动程序样本2”,重复上述过程;若校验和正确,则继续后序步骤三。<本文档来自技高网...
【技术保护点】
1.一种基于MRAM实现的软硬件冗余安全启动与维护方法,其特征在于:主要包括样本存储区、Boot控制器、看门狗电路;样本存储区,包括3片独立的、存储内容一致的MRAM芯片;每个MRAM芯片均包括启动程序样本、样本校验码、启动暂存区、信息记录区四个分区;Boot控制器,采用FPGA,主要包括看门狗管理单元、样本管理单元;看门狗电路,在系统不能正常喂狗的情况下,输出周期脉冲提供给Boot控制器的看门狗管理单元,提供信号触发源;/n启动与维护方法包括以下步骤,/n步骤一、系统加电后,Boot控制器启动看门狗管理单元,进行喂狗操作,CPU系统处于复位状态;/n步骤二、Boot控制器从样本存储区的三个MRAM芯片中读取启动程序样本N
【技术特征摘要】
1.一种基于MRAM实现的软硬件冗余安全启动与维护方法,其特征在于:主要包括样本存储区、Boot控制器、看门狗电路;样本存储区,包括3片独立的、存储内容一致的MRAM芯片;每个MRAM芯片均包括启动程序样本、样本校验码、启动暂存区、信息记录区四个分区;Boot控制器,采用FPGA,主要包括看门狗管理单元、样本管理单元;看门狗电路,在系统不能正常喂狗的情况下,输出周期脉冲提供给Boot控制器的看门狗管理单元,提供信号触发源;
启动与维护方法包括以下步骤,
步骤一、系统加电后,Boot控制器启动看门狗管理单元,进行喂狗操作,CPU系统处于复位状态;
步骤二、Boot控制器从样本存储区的三个MRAM芯片中读取启动程序样本Ni,三取二对比后,记录结果并填写错误信息,进行CRC校验计算;若校验正确,执行步骤三;若校验错误,读取启动程序样本Ni+1,重复本步骤;
步骤三、Boot控制器将CPU系统的启动首地址映射到第1片MRAM的启动暂存区中,释放CPU系统的复位信号,CPU接管喂狗权,执行引导程序;若引导成功,执行步骤四;若引导不成功,启动首地址映射到下一片MRAM的启动暂存区,若启动首地址映射到所有MRAM仍不成功,则跳...
【专利技术属性】
技术研发人员:于俊杰,栾晓娜,刘梅,焦胜利,吕岩,韩德崇,张鹏,许大伟,
申请(专利权)人:山东航天电子技术研究所,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。