专利名称:一种解决sram模块闩锁问题与增强sram模块可靠性的方法
技术领域:
本发明涉及一种航天星载计算机SRAM模块的解决方法,特别涉及一种 解决星载计算机SRAM模块闩锁问题以及增强SRAM模块可靠性的方法。
背景技术:
目前,在星载计算机中CPU所使用的内部存储器SRAM(以下简称SRAM 模块)的校验方法大部分都是采用了汉明编码来进行EDAC (错误检测与纠 正),例如8086是采用了 16位的汉明码,ERC32是采用了 32位汉明码,但是 这样只能解决SRAM模块单个位翻转的情况,如果当SRAM模块发生闩锁, 那么整个CPU控制系统就要断电,并采用切换电路使用备份系统。
然而,由于等级的SRAM模块极易发生闩锁事件,对于SRAM模块器件 的采用多年来一直严格控制器件等级,即使是这样也不能保证SRAM模块不 发生单粒子效应。
基于上述原因,特别需要解决SRAM模块闩锁问题,使得SRAM模块发 生了闩锁后系统依然能正常工作。
发明内容
本发明的目的在于提供一种解决SRAM模块闩锁问题以及增强SRAM模 块可靠性的方法,克服现有技术的不足,使得SRAM模块发生了闩锁后系统 依然能正常工作。
本发明所解决的技术问题可以采用以下技术方案来实现
一种解决SRAM模块闩锁问题以及增强SRAM模块可靠性的方法,其特 征在于,每个所述SRAM模块单独连接有一个电源模块,所述电源模块对所 述SRAM模块的电压进行监控并独立控制,所述星载计算机中的CPU控制模 块通过FPGA控制器对所述SRAM模块进行译码与编解码操作。
在本发明的一个实施例中,所述FPGA控制器通过RS编解码电路对所述
4SRAM模块进行译码与编解码操作,有效防止了 CPU控制模块的损坏对系统 的影响。
在本发明的一个实施例中,所述FPGA控制器采用单片反熔丝FPGA或 FLASH型FPGA。
在本发明的一个实施例中,所述FPGA控制器还包括一自刷新模块,当 CPU控制模块失效重置后,在很短时间内即可对所述SRAM模块进行刷新。
在本发明的一个实施例中,所述FPGA控制器采用了读一>双错一>重试的 操作方式,有效防止了电路干扰。
在本发明的一个实施例中,所述电源模块包含一电源芯片,所述电源芯片 的VCC端连接电源输入,所述电源芯片的VCC—MEN端直接向所述SRAM模 块供电,所述电源芯片的VCC—MEN端通过一分压电路后反馈输入所述电源 芯片的MEN—SENSE端,所述电源芯片的MEN一LU端接入所述FPGA控制器, 用于监控所述SRAM模块的供电情况,所述FPGA控制器通过所述电源芯片 的MEN—OFF端控制关断所述电源模块,所述FPGA控制器通过所述电源芯片 的MEN—SET端控制所述电源模块的电压输出。
进一步,为了方便检测所述电源模块,在所述电源芯片的VCC一MEM端 添加了一个发光二级管和一个短路跳线用来模拟单粒子闩锁产生的大电流。
在本发明的一个实施例中,所述FPGA控制器包含CPU接口电路、自刷 新电路、编码电路、解码电路、SRAM控制电路、UART数据传输电路、定时 电路、SRAM电压监控电路、单、双错计数电路和SEL计数电路;所述FPGA 控制器通过所述CPU接口电路与所述CPU控制模块连接,所述CPU接口电 路分别与所述编码电路、解码电路、UART数据传输电路、定时电路、单、双 错计数电路和SEL计数电路连接,所述自刷新电路分别与所述编码电路和解 码电路连接,所述SEL计数电路通过所述SRAM电压监控电路与所述SRAM 控制电路连接,所述SRAM控制电路与所述编码电路连接,所述单、双错计 数电路与所述解码电路连接。
本发明的一种解决SRAM模块闩锁问题以及增强SRAM模块可靠性的方 法,与现有方案相比,可以解决单片SRAM模块闩锁对系统的影响而不用进 行双机切换,实际情况下两片或大于两片SRAM模块同时发生闩锁事件的概率基本为零,最大可以纠错为8位(一个符号),能检测16位错误(两个符号 错),比现有采用汉明码的方案有所提高,同时内置了自刷新电路,在不影响
CPU的效率情况下即可快速完成对SRAM模块的刷新,当一个芯片损坏的情 况下,系统依然可以工作,增加了FPGA的成本,但降低了对SRAM模块器 件等级的要求,降低了总的成本,实现本发明的目的。
图l为本发明的设计结构图2为本发明的电源模块的示意图3为本发明的FPGA控制器的结构示意图4为本发明的RS编解码器的实现示意图。
具体实施例方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解, 下面结合具体图示,进一步阐述本发明。
如图1所示,为本发明的设计结构图,采用了 CPU+FPGA+SRAM模块 +LDO的结构对CPU的程序存储区与重要数据存储区的SRAM模块的保护, 本发明的解决SRAM模块闩锁问题以及增强SRAM模块可靠性的方法,每个 SRAM模块30单独连接有一个电源模块40,采用单独供电方式,使得SRAM 模块发生闩锁时整机电源电压不受影响,防止由于闩锁事件使系统供电短路的 情况,电源模块43对SRAM模块30的电压进行监控并独立控制;所述星载 计算机中的CPU控制模块10通过FPGA控制器20对SRAM模块30进行译 码与编解码操作,在本发明中,FPGA控制器20采用Antifbse器件,其主要的 原因是它对SEL与SEU是免疫的,在FPGA控制器20中主要实现SRAM模 块器件的EDAC (错误检测与纠正),其中16位用来作为校验位,32位或64 位用来作为正常的数据存储位,同时FPGA控制器20还实现了对SEL检测与 恢复控制、对CPU控制模块10实现地址译码等工作。
在本发明中,SRAM模块30采用了 HM628512的SRAM模块器件作为存 储器件,在实际中可以选择其它的通用8位存储器;CPU控制模块10采用了
68086作为主控制器,实际设计中可以选择任意一个32位或16位的CPU做主 控制器,为了方便RS232 口调试,时钟采用了 14.745Mh经过82C84分频后进 入CPU控制模块10与FPGA控制器20;系统的PROM采用了 28C64作为存 储PROM,与8086体系结构一样采用了两片, 一片为奇地址,别一片是偶地 址。
如图2所示,电源模块40包含一电源芯片41,在本发明中,电源芯片41 采用LDO MAX883芯片,电源芯片41的VCC端连接电源输入,电源输入为 5.5V,经过电源芯片41的VCC—MEN端直接向SRAM模块30供电,正常供 电电压为5V,电源芯片41的VCC—MEN端通过一分压电路后反馈输入所述电 源芯片的MEN—SENSE端;当SRAM模块30发生闩锁事件时,会产生很大的 闩锁电流,从而拉低电源芯片41的VCC—MEN端的电压,使之低于5V;电源 芯片41内部提供了一个低电压比较器,当电源芯片41的MEM—SENSE端电 压低于L2V时,电源芯片41的MEM—LU端会输出一个低电平,否则为高电 平,电源芯片41的MEN一LU端接入FPGA控制器20,用于监控SRAM模块 30的供电情况,当SRAM模块30供电电压正常时,电源芯片41的MEM—LU 为高电平;在SRAM模块30供电电压VCC—MEM为5V的情况下,分压后电 压为1.3V,当VCC—MEM低于4.6V时,分压后电压即MEM—SENSE的电压 低于1.2V, MEM一LU出现低电平。
电源芯片41提供了两个管脚用来关断和设置其电压输出,FPGA控制器 20通过电源芯片41的MEN_OFF端控制关断所述电源模块,FPGA控制器 20通过电源芯片41的MEN_SET端控制电源模块40的电压输出;当电源芯片 41的MEM—LU端出现低电平时,FPGA控制器20可以通过电源芯片41的 MEM—OFF端关断发生闩锁的SRAM模块30的电源,使其不影响其它SRAM 模块30的正常工作,过一段时间后,再将其电源通过电源芯片41的MEM—SET 端打开,再进行刷新等其它操作。
为了方便检测电源模块40,在电源芯片41的VCC_MEM端添加了一个发 光二级管和一个短路跳线用来模拟单粒子闩锁产生的大电流。
如图3所示,FPGA控制器20包含CPU接口电路201、自刷新电路202、 编码电路203、解码电路204、 SRAM控制电路205、 UART数据传输电路206、
7定时电路207、 SRAM电压监控电路208、单、双错计数电路209和SEL计数 电路210;在本发明中,FPGA控制器20采用了RS编解码电路,编码电路203 为RS编码电路、解码电路204为RS解码电路,有效防止了单芯片损坏对系 统的影响;FPGA控制器20通过CPU接口电路201与CPU控制模块10连接, CPU接口电路201分别与编码电路203、解码电路204、 UART数据传输电路 206、定时电路207、单、双错计数电路209和SEL计数电路210连接,自刷 新电路202分别与编码电路203和解码电路204连接,具有自刷新功能,当单 芯片失效重置后有在很短时间内即可刷新整个SRAM模块30; SEL计数电路 210通过SRAM电压监控电路208与SRAM控制电路205连接,SRAM控制 电路205与编码电路203连接,单、双错计数电路209与解码电路204连接。
在本发明中,FPGA控制器20采用单片反熔丝FPGA或FLASH型FPGA 对系统进行译码与编解码操作。
在本发明中,FPGA控制器20采用了读一〉双错一〉重试的操作方式,有 效防止了电路干扰;由于FPGA控制器20采取的编码方案只能纠正单个字节 的错误,若发生单字节错误则直接纠错,若错误数目为双字节,则不纠错而直 接报告给控制逻辑以进行重试操作。
如图4所示,编码电路203和解码电路204采用了 32位或64位有效数据 位、16位校验位的编码机制,在写入过程中对32位或64位有效数据位进行运 算生成16位的校验位。在读取过程中利用16位校验数据进行校验解码,若发 生单符号错误则进行修复,若是双符号错则不进行纠错直接报告给控制逻辑单 元。
在本发明中,CPU控制模块10采用8086芯片,由于8086芯片是16位的 处理器并且有时会读取一个字节进行操作,而设计采用的是32位的存储器, 所以需要对此进行读写控制,由于8086芯片对外部读写有Tl、 T2、 T3、 T4 四个状态,其中Tl状态是地址输出阶段,在读操作时是在T4状态进行读回数 据,在写操作时是从T2至T4状态一直进行写操作,由此可以分析8086芯片 的T2到T3状态是空闲的,这也为我们提供了一个从SRAM模块30中取数的 机会。在每一次操作的T2、 T3状态我们从SRAM模块30中读取数据,在T4 状态下,若是读取数据则输出有效数据,若是写数据则与对原来读回的数据进
8行部分替换再次生成校验位并写入FPGA控制器20。自刷新电路202的自刷新操作是在CPU控制模块10不读写SRAM模块 30的情况下进行的。由于自刷新操作同样需要读出和写回时序,而在CPU控 制模块10访问外设时会占用四个周期,因此我们利用CPU控制模块10访问 外设时对SRAM模块30进行刷新操作,这与CPU控制模块10读写SRAM模 块30类似,此处不再赘述。每执行一次读写IO的操作,就同时会刷新一个 32位地址空间,大大提高了SRAM模块的刷新效率。以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业 的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中 描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明 还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内,本 发明要求保护范围由所附的权利要求书及其等效物界定。
权利要求
1、一种解决SRAM模块闩锁问题以及增强SRAM模块可靠性的方法,其特征在于,每个所述SRAM模块单独连接有一个电源模块,所述电源模块对所述SRAM模块的电压进行监控并独立控制,所述星载计算机中的CPU控制模块通过FPGA控制器对所述SRAM模块进行译码与编解码操作。
2、 如权利要求1所述的方法,其特征在于,所述FPGA控制器通过RS 编解码电路对所述SRAM模块进行译码与编解码操作,有效防止了 CPU控制 模块的损坏对系统的影响。
3、 如权利要求2所述的方法,其特征在于,所述FPGA控制器采用单片 反熔丝FPGA或FLASH型FPGA。
4、 如权利要求l所述的方法,其特征在于,所述FPGA控制器还包括一 自刷新模块,当CPU控制模块失效重置后,在很短时间内即可对所述SRAM 模块进行刷新。
5、 如权利要求l所述的方法,其特征在于,所述FPGA控制器采用了读 一>双错一>重试的操作方式,有效防止了电路干扰。
6、 如权利要求1所述的方法,其特征在于,所述电源模块包含一电源芯 片,所述电源芯片的VCC端连接电源输入,所述电源芯片的VCC^MEN端直 接向所述SRAM模块供电,所述电源芯片的VCC_MEN端通过一分压电路后 反馈输入所述电源芯片的MEN—SENSE端,所述电源芯片的MEN—LU端接入 所述FPGA控制器,用于监控所述SRAM模块的供电情况,所述FPGA控制 器通过所述电源芯片的MEN—OFF端控制关断所述电源模块,所述FPGA控制 器通过所述电源芯片的MEN—SET端控制所述电源模块的电压输出。
7、 如权利要求6所述的方法,其特征在于,为了方便检测所述电源模块, 在所述电源芯片的VCC一MEM端添加了一个发光二级管和一个短路跳线用来 模拟单粒子闩锁产生的大电流。
8、 如权利要求l所述的方法,其特征在于,所述FPGA控制器包含CPU 接口电路、自刷新电路、编码电路、解码电路、SRAM控制电路、UART数据 传输电路、定时电路、SRAM电压监控电路、单、双错计数电路和SEL计数 电路;所述FPGA控制器通过所述CPU接口电路与所述CPU控制模块连接,所述CPU接口电路分别与所述编码电路、解码电路、UART数据传输电路、 定时电路、单、双错计数电路和SEL计数电路连接,所述自刷新电路分别与 所述编码电路和解码电路连接,所述SEL计数电路通过所述SRAM电压监控 电路与所述SRAM控制电路连接,所述SRAM控制电路与所述编码电路连接, 所述单、双错计数电路与所述解码电路连接。
全文摘要
本发明提供一种解决SRAM模块闩锁问题以及增强SRAM模块可靠性的方法,与现有方案相比,可以解决单片SRAM模块闩锁对系统的影响而不用进行双机切换,实际情况下两片或大于两片SRAM模块同时发生闩锁事件的概率基本为零,最大可以纠错为8位(一个符号),能检测16位错误(两个符号错),比现有采用汉明码的方案有所提高,同时内置了自刷新电路,在不影响CPU的效率情况下即可快速完成对SRAM模块的刷新,当一个芯片损坏的情况下,系统依然可以工作,增加了FPGA的成本,但降低了对SRAM模块器件等级的要求,降低了总的成本,实现本发明的目的。
文档编号G11C29/00GK101582294SQ20091005346
公开日2009年11月18日 申请日期2009年6月19日 优先权日2009年6月19日
发明者亮 常, 张宇宁, 李华旺 申请人:上海微小卫星工程中心