微小卫星星载计算机数据存储用的差错检测和纠错系统的制作方法

文档序号:6464107阅读:222来源:国知局
专利名称:微小卫星星载计算机数据存储用的差错检测和纠错系统的制作方法
技术领域
本发明针对外层空间产生的单粒子效应实现了一种可用于微小卫星星载计算机的数据存 储系统检纠错技术,属于微小卫星(Micro Satellite)和航天电子技术(Space Avionics) 领域。
背景技术
辐射是空间飞行器在太空环境中面临的主要问题之一。太空中的各种高能粒子(包括高 能质子、中子、a粒子、重离子等)具有很髙的动能,通过时可能会影响半导体电路的逻辑 状态,甚至对半导体材料造成永久损害。单个高能粒子对电子器件功能产生的影响称之为单 粒子效应。其中,需要特别关注导致存储内容在'0' ,' 1'之间发生变化的单粒子翻转(SEU) 问题。
微小卫星的研发思路是短周期、低成本、采用新技术,因此大量采用市场上容易取得的 商业级电子器件。这些器件具有高密度、低功耗、低成本、扩展性强等特点,但通常并没有 经过严格的抗辐射测试,也没有采用完善的抗辐射工艺。解决微小卫星的抗辐射问题需要采 取综合的措施,包括整体防护、设计冗余等等,而具体对于数据存储器则通常采用编码、备 份等方法利用信息冗余来应对SEU现象。与物理存储器件相配合,实现上述检错/纠错功能的 电路就是微小卫星星载计算机系统的数据差错检测和纠正模块(Error Detection And Correction, EDAC)。星载数据存储系统的纠检错方案是针对外层空间产生的单粒子效应,达 到检测并纠正CPU和内存之间的数据存储随机错误的目的,是星上数据处理的重要一环。
在2002年08期的《电子技术应用〉〉中,文章《利用FPGA实现模式可变的卫星数据存储器 纠错系统》中,曾提出了协调内存配置以实现多模式的检纠错方案,结构如图l所示。该文章 只在构思阶段,并没有具体的操作手段,本发明旨在将该论文转化成果。
在该文章中提到兼容三倍冗余判决电路和汉明编码及纠错电路对内存的配置如图2所示, 是由3个位于同一条地址总线上的16 bit内存模块组成。每个内存模块还可以单独片选其高字
节或低字节,用控制总线来控制EDAC模块的纠检错模式。每个内存模块通过片选信号 ah,al,bh,bl,ch,cl的控制,实际上就有6个宽度为8 bit的内存模块就可以单独访问。48bit (3xl6bit)的数据线全部接入EDAC控制模块。
当系统工作在模式0时,ah,al,bh,bl,ch,cl被相同的片选信号驱动。这样就需要 一个3xl6 bit冗余内存空间。当系统工作在模式l时,ah,al,bh—组,bl,ch,cl—组,分 别被相同的片选信号驱动,构成了两个独立的16+8 bit存储空间。对于(22, 16)汉明码, 每一个空间实际使用16+6 bit。在这种配置下,地址空间比模式O下增加一倍。系统工作在 模式2下时,ah,al—组,bh,bl—组,ch,cl一组,分别被相同的片选信号驱动,构成了三 个独立的16bit存储空间。这种配置下的内存地址空间比TMR模式下增加两倍。
本发明所述配置模式中,达到了之前该文章所提到的,片选的地址译码都在EDAC 控制模块中完成,且对软件完全透明。

发明内容
本发明提供了一种微小卫星星载计算机数据存储检纠错系统,硬件组成包括1片承载主 要检纠错功能的现场可编程器件,12片在宇宙空间环境中常用静态内存存储器,以及标准接 插接口,达到即插即用的目的,从而满足不同飞行任务的小卫星对可靠性的要求。
本发明的特征在于,含有现场可编程器件和静态内存存储器组件,其中
静态内存存储器组件,由12片静态内存存储器组成,共分成三组,每片均由4片静态内 存存储器组成,各组编号分别为A, B和C,所述12片静态内存存储器设有双向48位内存 数据接口,低位地址输入接口,有A0 A17共18个地址输入端与外部中央处理器的低位地址 输出接口相连,片选信号输入接口,含有12个片选信号输入端CE0 CE3,每片l个片选信 号输入端,以及读使能和写使能输入接口;
现场可编程器件,含有汉明纠错电路、三模冗余判决电路TMR、第一双向三态选通器、 第二双向三态选通器、模式控制电路、以及地址逻辑电路,其中
汉明纠错电路,采用汉明码纠错模式,用16位数据添加6位冗余码,共22位数据实现, 占用22根数据线,冗余备份成两份,其形式为22+0000+22,所述汉明纠错电路设有第一 双向16位数据输入输出接口、片选信号输入接口以及第二双向16位数据输入输出接口,在 写入数据时,数据的冗余码共同写入内存地址空间,在读取数据时解码并实现检错和纠错,
三模冗余判决电路TMR,采用多数表决的硬件冗余方法实现检错和纠错,该TMR电路设 有第一双向16位数据输入输出接口、片选信号输入接口以及第二双向16位数据输入输出 接口,
第一双向三态选通器,设有与外部中央处理器中16位数据输入输出接口互连的双向 16位数据输入输出接口,两个分别与所述汉明纠错电路、三模冗余判决电路各自的某一双向 16位数据输入输出接口互连的双向16位数据输入输出接口,以及-个读写操作信号输入接 口,所述第一双向三态选通器根据输入的读写操作指令把由所述汉明纠错电路或者所述三模 冗余判决电路在各自片选信号控制下读出的16位数据送入所述外部中央处理器,或者在所述 片选信号控制下,把所述外部中央处理器输入的16位数据写入所述汉明纠错电路或者所述三 模冗余判决电路,
第二双向三态选通器,设有两个第二双向16位数据输入输出接口,分别连接到所述汉 明纠错电路和三模冗余判决电路各自的第二双向16位数据输入输出接口,还设有双向48 位数据输入输出接口,以及读些控制信号输入接口,连接到所述静态内存存储器组件的双向 48位数据输入输出接口,以便把从所属汉明纠错电路或者所述三模冗余判决电路输入的16 位数据备份成3份后再写控制信号控制下输入到所述静态内存存储器组件,或在读控制信号 控制下从所述静态内存存储器组件中读出,
地址逻辑电路,设有地址信号输入接口,所述中央处理器的地址线A18 A22与所述地 址信号输入接口相连,还设有读使能信号nWE、写使能信号nOE两个读写使能控制信号输 出端,又设有内存片选信号输出接口,与所述静态内存存储器组件相连,用12根线控制每片 12片静态存储器的片选,用6根线控制每片静态内存存储器的高8位和低8位,所述外部中 央处理器通过现场可编程器件内部的地址逻辑电路实现在不同模式下配置存储器地址的功 能,所述模式共有以下三种模式0为三模冗余判决模式,模式l为汉明纠错模式,模式2 为无差错控制模式,对于模式0,所述外部中央处理器通过地址线A18和A19通过该地址逻 辑电路把所述静态内存存储器分为3组,每组4X16位,对于模式l,用地址线A20通过该 地址逻辑电路把所述静态内存存储器分为两组,每组4X22位,在所述=种不同的模式下, 都使用同样的读写使能信号驱动,
模式控制电路,设有模式选择信号输入接口 ,所述外部中央处理器通过地址线A23和A24 连接到该模式选择信号输入接口,地址线A23和A24为"00"是对应模式O, "01"对应模式
1, "10"对应模式2,还设有片选信号输出端口,分别通过片选控制线连接到所述汉明纠 错电路和三模冗余判决电路的片选信号输入端,还设有用于控制所属地址逻辑电路的模式 选择控制信号输出端,以及两个分别用于控制第一、第二双向三态选通器的模式选择信号输 出端,所述模式控制电路根据地址线A23和A24的内容,控制地址逻辑电路使其据此配置内 存空间,同时,选通对各模式的汉明纠错电路或者三模冗余判决电路的片选,再分别打开两 个双向三态选通器进行读写操作。
本系统的工作流程如图4所示,实现了基于现场可编程器件的检错/纠错方式可变的数据 存储系统,根据模式的选择分配的内存单元使用方式,使得该系统能够根据对数据可靠性的 不同要求变换检错/纠错方案,充分利用了内存空间,大大提高了数据存储系统的灵活性,并 实现了对软件透明且模式可控制。


图l为可变内存配置示意图所述现场可编程器件使用芯片XCV200,所述静态内存存储 器使用芯片cy62146v。
图2为可变纠错方案的系统结构图。 图3为物理存储单元硬件结构图。 图4为检纠错EDAC系统工作流程图。 图5为三模冗余判决电路工作流程。 图6为三模冗余判决电路软件实现。 图7为汉明码纠错电路工作流程。 图8为汉明码纠错电路软件实现。
具体实施例方式
本系统需配合具体星载计算机的中央处理器协同工作,其接口需要引出该处理器的 数据总线线,地址总线,和控制总线。为具备通用性,本系统需引出外部处理器的16 根数据总线,25根地址总线,3根控制总线,其中控制线连接现场可编程器件的读写状 态指示、读使能和写使能,模式选择控制线以高位地址线的方式给出。
在本系统内部,从外部处理器引出的连线中,低位地址线A0至A17连接在本系统
中的静态存储器上,其他连线全部连接在本系统中的现场可编程器件上。16位数据线 Dinout (0 15)经由现场可编程器件扩展成为Dinouta (0~15) , Dinoutb (0 15), Dinoutc (0 15) 48位,连接在静态存储器组件上,这里12片静态内存存储编号分别 为A (0 3) 、 B (0 3) 、 C (0~3)。
本系统内部电路功能结构组成如图l所示,主要包含汉明纠错电路和三倍冗余判决 电路,模式控制电路,地址逻辑电路。前两个电路分别是两种不同模式下的纠错电路, 模式控制电路用于控制不同模式的选择及切换,地址逻辑电路用于配置内存存储器的地 址逻辑。
这样, 一方面,本系统可在三种模式下工作,分别为模式0,三倍冗余判决模式, 采用多数表决的方法纠错;模式l,汉明纠错模式,采用现有的汉明码技术纠错;模式 2,无差错控制模式,无检错和纠错的功能。另一方面,内存地址空根据模式的选择来 配置,从而满足不同飞行任务对内存空间的要求。
本系统内部功能电路介绍如下
(1) 汉明纠错电路该电路应用汉明码算法写入数据时进行编码操作,读取数据时 进行解码操作,从而实现检错并纠错。该电路的片选连接在模式控制电路上,由处理器 引出的16位数据总线通过第一双向三态选通器连接到汉明纠错电路上,在该电路内部,为 16位数据添加6位冗余码,占用22根数据线。冗余备份成2份,以"22+0000+22"的形式, 再次通过第二双向三态选通器,经由48位数据线连接到静态内存存储器上。写入数据时,数 据和冗余码一同写入内存地址空间;读取数据时,解码并实现检错和纠错,具体过程在软件 实现流程中介绍。
(2) 三倍冗余判决电路该电路应用多数表决的硬件冗余方法实现纠错,数据写入时, 同时写入静态内存存储器A、 B、 C,读取数据时,将三份数据对比,若全部一致,则读 出结果,若不一致,取多数即取三个数据中相同的两个作为最后的输出结果。该电路的 片选连接在模式控制电路上,由处理器引出的16位数据总线通过第--双向三态选通器连接 到三倍冗余判决电路上,在该电路内部将16位数据冗余备份成3份即48位数据,通过第二 双向三态选通器之后,经由48位数据线连接到静态内存存储器组件上。写入数据时,同一份 数据冗余地写入到3组静态内存存储器中;读取数据时,实现多数判决的结果,具体过程在 软件实现流程中介绍。
(3) 模式控制电路两根模式控制线由处理器的高位两位地址线A23和A24给出, 输出分别连接地址逻辑电路,模式0及模式1的片选,以及这两种模式读写过程中用到 的第一第二双向三态选通器。高两位地址A23和A24的内容分别是"00"对应模式0, 三倍冗余判决模式;"01"对应模式1,汉明纠错模式;"10"对应模式2,无差错控 制模式。
模式控制电路在写入数据时根据这两根地址线的内容, 一方面将模式信号传送给地 址逻辑电路,使其根据该模式信号配置内存空间,同时另一方面,选通对应模式的电路 的片选,并打开该电路两端的第一第二双向三态选通器进行写操作。读取数据时,模式 信号由地址线A23和A24给出,模式控制电路一方面将此信号传给地址逻辑电路,寻址 到相应的地址空间,同时另一方面,选通对应模式的电路的片选,并打开该电路两端的 第一第二双向三态选通器进行读操作。
(4) 地址逻辑电路A23和A24用于(3)模式控制电路。A18至A22连接在本系统 上,通过内部的地址逻辑电路实现配置存储器地址的功能。其中,模式0用到A18和 A19协调3组静态内存存储器,模式1用到A20作为内存空间扩大后的第21根地址线, 模式2除上述地址线还用到A21和A22,作为内存空间扩大后的第22和23根地址线。
地址逻辑电路输出连接静态内存存储器的下端包括2根线nWE和nOE控制存储器的读 使能和写使能,12根线CE0 (0 3)、 CE1 (0~3)、 CE2 (0 3)和CE3 (0 3)控制12片静 态内存存储器的片选,6根线BHE(a-c)和BLE(a-c)控制每片静态内存存储器的高8位和低8 位。
模式0,地址逻辑电路将静态内存存储器分成3组,每组4X16bit,由同样的使能信号 驱动,内存地址空间达到1M;模式l,地址逻辑电路将静态内存存储器分成2组,每组4X 24bit,由同样的使能信号驱动,内存地址空间达到1. 5M;模式2,地址逻辑电路将静态内存 存储器统一编成l组,每组12X16bit,由同样的使能信号驱动,内存地址空间达到3M。
(5) 内存存储器连线如图3所示。 下面结合附图来具体说明本发明的具体软件实现流程,本系统在用的是VHDL语言以自顶
向下的模块化思想来设计的
当处理器写入数据时,数据首先进本系统中的现场可编程器件,根据地址线A23和A24 的内容进入对应模式
模式o,三倍冗余判决模式。在模式控制电路选通此模式之后,地址逻辑电路将静态内 存存储器分成三组,每组用相同的使能信号驱动,读写数据时流程如阁5所示,现场可编程 器件内部用两个模块3bitcom和tmr来实现此部分的功能,如图6所示,数据进入模块tmr 后,16个单位数据分别进入16个模块3bitcom,写入时,对每一位数据Dinout冗余的写入 三次给Dinouta、 Dinoutb和Dinoutc;读取时,将这三个单位数据两两相与的三个结果再取 或,实现(Dinouta and Dinoutb) or (Dinoutb and Dinoutc)or(Dinouta and Dinoutc),其最 终结果达到了对每位数据多数表决的结果,这样,配合冗余备份的静态内存存ffr器就实现了 三模冗余判决电路。
模式l,汉明纠错模式。在模式控制电路选通此模式之后,地址逻辑电路将静态内存存 储器分成2组,每组用相同的使能信号驱动,流程如图7所示,现场可编程器件内部用两个 模块hamming和harameminf来实现此部分的功能,如图8所示数据进入hammeminf后,冗余 的备份两份, 一份存储在静态内存存储器A和静态内存存储器B的高6位中,另-份存储在 到静态内存存储器C和静态内存存储器B的低6位中,静态内存存储器B的中间四位以"0000" 补齐。hamming模块针对汉明算法编写,以图8种上方haMiiing模块为例,写入时, 一方面 将16位数据存入静态内存存储器A中的寻址单元, 一方面将输入数据按位间隔取异或,得到 纠错校验的监督码,将该码也存入静态内存存储器B的高6位冗余单元中;读取数据时,伺 时取出数据的和监督码,此时监督码与其写入时生成的校验码矩阵相乘得到校验子,再用数 据分别与校验子相异或得到正确16位数据输出。
模式2,无差错控制模式。无检错和纠错的功能,通过地址逻辑电路对所有内存统一编 址,正常读写。
在调试过程中,本发明在RTL综合过程中生成的电路图上注意到,在使用VHDL描述双向 三态门时必须保证所有条件下都指出明确的状态,否则在RTL综合后的逻辑电路不能实现双 向三态的功能。
权利要求
1.微小卫星星载计算机数据存储用的差错检测和纠错系统,其特征在于,含有现场可编程器件和静态内存存储器组件,其中静态内存存储器组件,由12片静态内存存储器组成,共分成三组,每片均由4片静态内存存储器组成,各组编号分别为A,B和C,所述12片静态内存存储器设有双向48位内存数据接口,低位地址输入接口,有A0~A17共18个地址输入端与外部中央处理器的低位地址输出接口相连,片选信号输入接口,含有12个片选信号输入端CE0~CE3,每片1个片选信号输入端,以及读使能和写使能输入接口;现场可编程器件,含有汉明纠错电路、三模冗余判决电路TMR、第一双向三态选通器、第二双向三态选通器、模式控制电路、以及地址逻辑电路,其中汉明纠错电路,采用汉明码纠错模式,用16位数据添加6位冗余码,共22位数据实现,占用22根数据线,冗余备份成两份,其形式为22+0000+22,所述汉明纠错电路设有第一双向16位数据输入输出接口、片选信号输入接口以及第二双向16位数据输入输出接口,在写入数据时,数据的冗余码共同写入内存地址空间,在读取数据时解码并实现检错和纠错,三模冗余判决电路TMR,采用多数表决的硬件冗余方法实现检错和纠错,该TMR电路设有第一双向16位数据输入输出接口、片选信号输入接口以及第二双向16位数据输入输出接口,第一双向三态选通器,设有与外部中央处理器中16位数据输入输出接口互连的双向16位数据输入输出接口,两个分别与所述汉明纠错电路、三模冗余判决电路各自的某一双向16位数据输入输出接口互连的双向16位数据输入输出接口,以及一个读写操作信号输入接口,所述第一双向三态选通器根据输入的读写操作指令把由所述汉明纠错电路或者所述三模冗余判决电路在各自片选信号控制下读出的16位数据送入所述外部中央处理器,或者在所述片选信号控制下,把所述外部中央处理器输入的16位数据写入所述汉明纠错电路或者所述三模冗余判决电路,第二双向三态选通器,设有两个第二双向16位数据输入输出接口,分别连接到所述汉明纠错电路和三模冗余判决电路各自的第二双向16位数据输入输出接口,还设有双向48位数据输入输出接口,以及读些控制信号输入接口,连接到所述静态内存存储器组件的双向48位数据输入输出接口,以便把从所属汉明纠错电路或者所述三模冗余判决电路输入的16位数据备份成3份后再写控制信号控制下输入到所述静态内存存储器组件,或在读控制信号控制下从所述静态内存存储器组件中读出,地址逻辑电路,设有地址信号输入接口,所述中央处理器的地址线A18~A22与所述地址信号输入接口相连,还设有读使能信号nWE、写使能信号nOE两个读写使能控制信号输出端,又设有内存片选信号输出接口,与所述静态内存存储器组件相连,用12根线控制每片12片静态存储器的片选,用6根线控制每片静态内存存储器的高8位和低8位,所述外部中央处理器通过现场可编程器件内部的地址逻辑电路实现在不同模式下配置存储器地址的功能,所述模式共有以下三种模式0为三模冗余判决模式,模式1为汉明纠错模式,模式2为无差错控制模式,对于模式0,所述外部中央处理器通过地址线A18和A19通过该地址逻辑电路把所述静态内存存储器分为3组,每组4×16位,对于模式1,用地址线A20通过该地址逻辑电路把所述静态内存存储器分为两组,每组4×22位,在所述三种不同的模式下,都使用同样的读写使能信号驱动,模式控制电路,设有模式选择信号输入接口,所述外部中央处理器通过地址线A23和A24连接到该模式选择信号输入接口,地址线A23和A24为“00”是对应模式0,“01”对应模式1,“10”对应模式2,还设有片选信号输出端口,分别通过片选控制线连接到所述汉明纠错电路和三模冗余判决电路的片选信号输入端,还设有用于控制所属地址逻辑电路的模式选择控制信号输出端,以及两个分别用于控制第一、第二双向三态选通器的模式选择信号输出端,所述模式控制电路根据地址线A23和A24的内容,控制地址逻辑电路使其据此配置内存空间,同时,选通对各模式的汉明纠错电路或者三模冗余判决电路的片选,再分别打开两个双向三态选通器进行读写操作。
全文摘要
微小卫星星载计算机数据存储用的差错检测和纠错系统属于航天技术中微小卫星中计算机存储技术领域,其特征在于,含有静态内存存储器组件和现场可编程器件FPGA,该FPGA含有汉明纠错电路、三模冗余判决电路、两个双向三态选通器、地址逻辑电路以及模式控制电路,根据外部中央处理器的地址内容,模式控制电路选择汉明纠错、三模冗余判决和无差错控制三种模式中的任何一种,并通过两个双向三态选通器对中央处理器输入的数据信号,根据受模式控制电路控制的地址逻辑电路所配置的存储空间,由12片静态内存存储器组成的存储组件进行读写操作。由于本发明按三种模式分别对内存存储器组件的内存空间作了灵活且可调整的分组,因而可根据纠错模式进行灵活分配,充分利用了内存。
文档编号G06F11/10GK101354666SQ20081011227
公开日2009年1月28日 申请日期2008年5月22日 优先权日2008年5月22日
发明者于世洁, 丹 宋, 政 尤, 滨 李, 田贺祥 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1