专利名称:基于arm处理器的空间防护装置及方法
基于ARM处理器的空间防护装置及方法
技术领域:
本发明涉及属于星船载计算机领域,特别涉及一种基于ARM处理器的空间防护装 置及方法。
背景技术:
在各类微处理器中,各种存储单元(数据存储器、程序存储器、寄存器、触发器)占 据了芯片面积的30 70%,是芯片中对瞬时干扰最敏感的部分。星载微处理器受空间辐 射的影响,存储单元会发生单粒子翻转(single effect Upset,简称SEU)问题,因而引起 程序出错,如果SEU问题不能及时得到解决,可能会引起微处理器工作异常。EDAC(Err0r Detection And Correction)技术能有效解决SEU问题,同时不依赖于工艺。随着电子技 术的不断发展,以及人们对SEU认识认识的不断深入,生产厂商已由生产专门的EDAC芯片 发展到带有EDAC功能的微处理芯片。国内外都有过对SEU现象的检测,检测结果表面,SEU 产生的时间与物理地址有很大的离散型,在考察整个存储器芯片的SEU情况时,对于较大 工艺尺寸的存储设备,在较短的时间内没有发现字节或字出现多比特翻转。因此,目前,在大多存储器编码纠检错技术中,多采用纠一检二的纠错方法,包括 两种类型一类是采用54LS630或者BM2805与若干逻辑门电路构建而成;另一类是采用 CPU自带的EDAC电路,如TSC695。对于前一类而言,其对16位数据进行纠一检二的操作, 对出错单元进行回写,但是,时序设计复杂,使用的元器件较多,且占用印制板的面积大,只 能用于5V的电路,功耗较大;对于后一类而言,其对32位数据进行纠一检二操作,虽然其集 成到了 CPU内部,节约了印制板的面积,但是,其不能对RAM中的出错单元进行自动回写,且 不属于通用电路,无法用于ARM处理器等低功耗的电路中。
发明内容本发明提供了一种基于ARM处理器的空间数据防护装置及方法,其时序设计简 单,且可以对RAM中的出错单元进行自动回写。本发明所采用的技术方案是一种基于ARM处理器的空间防护装置,包括ARM、 SRAM,以及连接在ARM和SRAM之间的EDAC电路,其中,EDAC电路包括两个基本的8位EDAC 功能模块,每一个EDAC功能模块分别包括写功能模块、读功能模块,以及回写功能模块。本发明还提供了一种基于ARM处理器的空间防护方法,包括以下步骤(I)ARM向SRAM写数据首先数据被写入到EDAC电路中,接着EDAC模块将写入的 数据生成相应的校验码,然后,EDAC模块根据SRAM的写时序要求生成SRAM控制信号,最后 EDAC电路将数据和校验码同时写入到SRAM ;(2) ARM从SRAM读数据首先SRAM中的数据和校验码被读入到EDAC电路的EDAC 模块中,由EDAC模块对数据进行校验,如果校验数据没有错误,则数据直接被输出给ARM ; 如果数据有单错发生,则EDAC模块对出错的位进行纠正,并将纠正后的数据输出给ARM,并 同时启动回写模块;如果数据有多位发生错误,则EDAC模块给出“双错”标志,不对数据做任何操作而将数据传输给ARM。作为本发明的优选实施例,步骤⑴中,数据在EDAC模块中,根据汉明码的规则生 成相应的校验码。本发明与现有技术比较,针对ARM处理器进行了时序设计,简化了应用接口设计。 对16位宽度的数据总线,即可单独对高8为数据进行纠一检二操作,也可单独对低8位数 据进行纠一检二操作。在检查到有单错的时候可以自动对出错的RAM单元进行回写。
图1是本发明16位EDAC电路图;图2是本发明8位EDAC电路图。
具体实施方式本发明基于ARM处理器的空间防护装置包括ARM、SRAM,以及连接在二者之间的 EDAC电路,其中EDAC电路由两个基本的8位EDAC功能模块拼接成16位数据宽度而成,从 而实现16位的EDAC功能。每一个8位EDAC功能模块包括三个子模块,分别是写功能模块、读功能模块,以及 回写功能模块。写功能模块,主要完成校验码的生成,并生成SRAM的写时序。当ARM向SRAM写数 据的时候,先将数据写入到EDAC电路中,接着,EDAC模块将写入的数据按照汉明码的规则 生成相应的校验码,然后,EDAC模块根据SRAM的写时序要求生成SRAM的控制信号,将数据 和校验码同时写入到SRAM中。读功能模块,主要完成数据的“纠一检二”。当ARM要从SRAM中读数据的时候,SRAM 中的数据和校验码首先被读入到EDAC模块中,接着,由EDAC模块对数据进行校验,如果校 验数据没有错误,数据将被直接输出给ARM ;如果数据有单错发生,则读功能模块将对出错 的位进行纠正,并将纠正后的数据输出给ARM,同时,启动回写模块;如果有多位发生错误, 则EDAC模块将给出“双错”标志,不对数据做任何操作而将数据输出给ARM。回写模块,根据ARM的时钟实现SRAM的写时序,完成数据的回写功能。当回写模 块被启动时,回写模块输出控制信号和纠正后的数据信号,并启动计数器,以对ARM的时钟 进行计数,当累积计数达到4个后,结束SRAM的控制信号和数据信号,完成纠错后的回写。下面,请参阅图1所示,具体介绍本发明的电路连接关系图EDAC电路由两个基 本的8位EDAC功能模块组成,即EDAC_8L功能模块和EDAC_8H功能模块。EDAC_8L功能模 块完成低8位数据位校验,EDAC_8H功能模块完成高8位数据位校验。数据总线,即信号 ⑶[15 0]从外部输入并分别连接到EDAC_8L功能模块的信号⑶[7 0]和EDAC_8H功能模块 的信号⑶[15:8] J^EDAC电路处理后,输出信号MD[15:0],同时,输出10为的校验码,即信 号 MC[9:0]。外部的低位写,即信号CWRL,连接到EDAC_8L功能模块,经EDAC_8L功能模块处 理后输出低位写,即信号MWRL ;外部的高位写,即信号CWRH,连接到EDAC_8H功能模块,经 EDAC_8H功能模块处理后输出高位写,即信号MWRH。外部的片选信号CCS和读信号CRD同时输入到EDAC_8L功能模块和EDAC_8H功能模块;EDAC_8L功能模块和EDAC_8H功能模块输出信号相或后产生读信号MRD、中断信号 INT和EDAC状态标识信号EDAC_STA ;EDAC_8L功能模块和EDAC_8H功能模块输出信号相与 后产生系统的等待信号WAIT ;EDAC_8L功能模块和EDAC_8H功能模块输出信号相与后再分 别与地址译码信号CA和CA取反后相或,从而产生后级的片选信号MCSO和MCSl。请参阅图2所示,EDAC_8L功能模块和EDAC_8H功能模块分别包括写功能模块、 读功能模块,以及回写功能模块。数据总线,即信号CD[7:0])从外部输入分别连接到写功 能模块和读功能模块。经过写功能模块、读功能模块,以及回写功能模块处理后输出信号 MD [7 0],同时输出5位的校验码,即信号MC [4 0]。外部的片选信号CCS输入给写功能模块 和读功能模块,同时输出作为后级的片选,即信号MCS。外部的写信号CWR输入给写功能模 块。外部的读信号CRD输入给读功能模块。写功能模块和回写功能模块输出信号相与后产 生整个EDAC电路的写信号MWR。以上所述仅为本发明的一种实施方式,不是全部或唯一的实施方式,本领域普通 技术人员通过阅读本发明说明书而对本发明技术方案采取的任何等效的变换,均为本发明 的权利要求所涵盖。
权利要求
一种基于ARM处理器的空间防护装置,其特征在于包括ARM、SRAM,以及连接在ARM和SRAM之间的EDAC电路,其中,EDAC电路包括两个基本的8位EDAC功能模块,每一个EDAC功能模块包括写功能模块、读功能模块,以及回写功能模块。
2.如权利要求1所述的基于ARM处理器的空间防护方法,其特征在于包括以下步骤(1)ARM向SRAM写数据首先数据被写入到EDAC电路中,接着EDAC模块将写入的数据 生成相应的校验码,然后,EDAC模块根据SRAM的写时序要求生成SRAM控制信号,最后EDAC 电路将数据和校验码同时写入到SRAM ;(2)ARM从SRAM读数据首先SRAM中的数据和校验码被读入到EDAC电路的EDAC模块 中,由EDAC模块对数据进行校验,如果校验数据没有错误,则数据直接被输出给ARM ;如果 数据有单错发生,则EDAC模块对出错的位进行纠正,并将纠正后的数据输出给ARM,并同时 启动回写模块;如果数据有多位发生错误,则EDAC模块给出“双错”标志,不对数据做任何 操作而将数据传输给ARM。
3.如权利要求2所述的方法,其特征在于步骤(1)中,数据在EDAC模块中,根据汉明 码的规则生成相应的校验码。
4.如权利要求2或3所述的方法,其特征在于所述回写模块被启动后,产生SRAM的 写时序,并与纠正后的数据一起输出给ARM。
全文摘要
本发明提供了一种基于ARM处理器的空间防护装置,包括ARM、SRAM,以及连接在ARM和SRAM之间的EDAC电路,所述EDAC电路包括两个8位EDAC功能模块,每一个EDAC功能模块包括写功能模块、读功能模块及回写功能模块。ARM向SRAM写数据时,首先数据被写入到EDAC电路中,EDAC模块将写入的数据生成相应的校验码;EDAC模块根据SRAM的写时序要求生成SRAM控制信号;EDAC电路将数据和校验码同时写入到SRAM;ARM从SRAM读数据时,SRAM中的数据和校验码被读入到EDAC模块中,EDAC模块对数据进行校验,如果校验数据没有错误,数据直接被输出给ARM;如果数据有单错发生,EDAC模块经纠正后将纠正后的数据输出给ARM,并启动回写模块;如果数据有多位发生错误,则EDAC模块给出“双错”标志,不对数据做任何操作而将数据传输给ARM。本发明时序设计简单,且可以对RAM中的出错单元进行自动回写。
文档编号G06F11/08GK101916213SQ20101024621
公开日2010年12月15日 申请日期2010年8月5日 优先权日2010年8月5日
发明者何小青, 刘曦, 同志宏, 张润宁, 张莹, 李献霞, 海涛, 谢胜民, 邱素蓉 申请人:中国航天科技集团公司第九研究院第七七一研究所