皮卫星中央处理器的代码、数据实时纠检错方法及装置.pdf

上传人:r7 文档编号:4575009 上传时间:2018-10-21 格式:PDF 页数:10 大小:425.95KB
返回 下载 相关 举报
摘要
申请专利号:

CN201010264090.7

申请日:

2010.08.27

公开号:

CN101937375A

公开日:

2011.01.05

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 11/10申请日:20100827|||公开

IPC分类号:

G06F11/10

主分类号:

G06F11/10

申请人:

浙江大学

发明人:

张钰; 郑阳明

地址:

310027 浙江省杭州市西湖区浙大路38号

优先权:

专利代理机构:

杭州天勤知识产权代理有限公司 33224

代理人:

胡红娟

PDF下载: PDF下载
内容摘要

本发明公开了一种皮卫星中央处理器的代码、数据实时纠检错方法,通过中央处理器向FPGA发送要求获取一定长度代码或数据的信号,FPGA响应该信号,从代码和数据存储器中取出信息并通过纠错检错方法处理取得的数据之后存入到临时静态存储器中;FPGA向中央处理器发出中断,使中央处理器执行该存储器中代码或处理数据,并将要存放的数据传递给FPGA进行更新。本发明还公开了实施上述方法的装置。本发明方法可以对中央处理器执行的代码和数据实时进行纠检错,大大提高了对程序代码和数据纠检错的覆盖率,降低了代码编写的难度,同时很好的适应了其重量轻、体积小、成本低、研制周期短的重要特性。

权利要求书

1: 一种皮卫星中央处理器的代码、 数据实时纠检错方法, 包括中央处理器与 FPGA 之间 的信号交互以及 FPGA 对静态存储器的数据读、 写操作, 其特征在于 : (1) 中央处理器向 FPGA 要求获取一定长度的代码和数据时, 通过向 FPGA 发送上升沿触 发信号, 以触发 FPGA 纠检错功能模块 ; (2)FPGA 在响应中央处理器的要求, 向静态存储器进行读操作时 : 将同一静态存储器 中不同扇区的数据读出, 按位做 “三取二” 的比较操作, 得到读出的数据、 冗余数据 k, 并将读 出的数据、 冗余数据 k 传送至对应的汉明编解码模块 ; 汉明编解码模块分别对数据及该数 据对应的冗余数据进行比较并将错误信息反馈给 FPGA, 利用冗余数据校正对应的数据得到 校正后的数据通过总线输出到临时静态存储器 ; (3)FPGA 在完成数据读取并存储到临时静态存储器后, 向中央处理器发出中断信号, 触 发中央处理器的中断处理函数 ; (4) 中央处理器响应中断信号, 并将临时静态存储器中的内容进行处理或者执行, 当有 数据需要更新, 中央处理器向 FPGA 传递, FPGA 对存储器进行写操作时 : 数据总线根据需要 写入的数据位数, 将数据传送到汉明编解码模块 ; 汉明编解码模块对数据处理对应生成汉 明纠错码所需的冗余数据 k, 将数据和冗余数据 k 分别存入静态存储器 SRAM1 中的不同扇 区; (5) 当处理器完成临时静态存储器中代码执行和数据处理后, 向 FPGA 发出下一个取代 码和数据信号。
2: 根据权利要求 1 所述的皮卫星中央处理器的代码、 数据实时纠检错方法, 其特征在 于: 所述的用于代码和数据的静态存储器与用于存储临时信息的存储器是各自独立的两个 静态存储器。
3: 根据权利要求 1 所述的皮卫星中央处理器的代码、 数据实时纠检错方法, 其特征在 于: 所述的临时静态存储器实现对纠错检错后的信息进行临时存储, 采取三模冗余方法存 储。
4: 根据权利要求 1 所述的实施皮卫星中央处理器的代码、 数据实时纠检错方法的装 置, 包括 : 中央处理器、 FPGA 和静态存储器, 其特征在于 : 所述的中央处理器, 用于向 FPGA 要求获取一定长度的代码和数据、 响应 FPGA 的中断信 号, 并将临时静态存储器中的内容进行处理或者执行 ; 当处理器完成临时静态存储器中代 码执行和数据处理后, 向 FPGA 发出下一个取代码和数据信号 ; 所述的 FPGA 中包括三模存储及三模表决模块、 汉明编解码器和中断产生模块, 所述的 三模存储及三模表决模块用于将 SRAM1 中不同扇区分别存储三份的代码或数据读出, 按位 做 “三取二” 的比较操作, 得到读出的数据、 冗余数据 k, 并将读出的数据、 冗余数据 k 传送至 对应的汉明编解码模块 ; 所述的汉明编解码器用于在读数据时, 对数据及该数据对应的冗余数据进行比较并将 错误信息反馈给 FPGA, 利用冗余数据校正对应的数据得到校正后的数据通过总线输出到临 时静态存储器 ; 在写数据时, 对数据处理对应生成汉明纠错码所需的冗余数据 k, 将数据和 冗余数据 k 分别存入静态存储器 SRAM1 中的不同扇区 ; 所述的中断产生模块是在纠检错编码处理结束后对中央处理器产生中断, 令其将纠检 错的代码或数据段读回 ; 2 所述的静态存储器包括静态存储器 SRAM1 和临时静态存储器 SRAM2, 所述的静态存储 器 SRAM1 用于将中央处理器运行过程中产生的代码或数据分别在不同的三个扇区中各存 储一份 ; 所述的静态存储器 SRAM2 用于 FPGA 纠检错模块恢复后的临时数据存储在其中, 当中断 模块给中央处理器中断时再将临时数据发送给中央处理器。

说明书


皮卫星中央处理器的代码、 数据实时纠检错方法及装置

    技术领域 本发明涉及皮卫星星载计算机技术领域, 尤其涉及皮卫星星载计算机的代码和数 据可靠性改进。
     背景技术 空间单粒子效应对星载计算机系统的影响是不可忽视的, 即使一个微小的逻辑错 误都有可能使星载计算机瘫痪并造成卫星失控。 一般情况下可以通过避错设计和容错设计 提高计算机系统的可靠性。 对于公斤级的皮卫星来说, 其特点是重量轻、 体积小、 成本低、 研 制周期短。 而且航天级电子器件的需求量相对较小, 使抗辐射器件的成本很高, 价格非常昂 贵, 在实际开发过程中大量采用市场上容易取得的商业级电子器件。这些器件通常没有经 过严格的抗辐射测试, 也没有采用完善的抗辐射工艺。因而对于星载计算机可靠性设计主 要是通过容错设计实现的。容错设计是利用外加资源的冗余技术屏蔽故障的影响, 使局部 的故障不会扩散到全局。
     现有技术在对程序的实时保护上存在较大的困难。因此, 在程序执行过程中出现 代码 “翻转” 的错误是致命的, 将引起程序出现跑飞、 异常等情况。另一方面, 在程序设计上 采用各种可靠性方法, 如程序路径、 关键数据和变量冗余备份等方法仅能对程序少部分的 代码和数据进行可靠性处理。因此, 如何采用较为简捷方便的方法对代码进行实时的监控 和降低程序编写得难度是一个较为迫切的问题。
     本发明人的申请号为 200910101155.3, 名称为 “皮卫星基于 FPGA 的存储模块的容 错方法” 的专利申请公开了一种皮卫星基于 FPGA 的存储模块的容错方法, 数据总线将需要 写入的数据分为高位数据和低位数据两部分, 分别传送到两个完全相同的汉明编码模块对 高位数据和低位数据处理对应生成冗余数据 ; 将数据和对应的冗余数据分别存入静态存储 器中的三个扇区, 读数据时将同一静态存储器中不同扇区的数据读出, 按位做 “三取二” 的 比较操作, 得到读出数据传送至对应的汉明编码模块 ; 两个汉明编码模块分别对数据进行 比较和校正后总线输出到中央处理器。 该发明方法可以使存储模块做到 “纠 1 检 2” , 并保证 校验码的正确存储, 同时很好的适应了其重量轻、 体积小、 成本低、 研制周期短的重要特性, 但依然没有解决程序数据实时纠检错的目标。
     发明内容
     本发明提供一种中央处理器代码纠检错、 动态外部程序相结合的方法, 对于皮卫 星这种超微小型卫星的星载计算机的代码和数据进行了可靠性方面的实时纠检错设计。
     一种皮卫星中央处理器的代码、 数据实时纠检错方法, 包括中央处理器与现场可 编程门阵列 (FPGA) 之间的信号交互以及 FPGA 对静态存储器的数据读、 写操作, 所述的静态 存储器包括静态存储器 SRAM1 和临时静态存储器 SRAM2 ;
     (1) 中央处理器向 FPGA 要求获取一定长度的代码和数据时, 通过向 FPGA 发送上升 沿触发信号, 以触发 FPGA 纠检错功能模块 ;(2)FPGA 在响应中央处理器的要求, 向静态存储器 SRAM1 进行读操作时 : 将同一静 态存储器中不同扇区的数据读出, 按位做 “三取二” 的比较操作, 得到读出的数据、 冗余数据 k, 并将读出的数据、 冗余数据 k 传送至对应的汉明编解码模块 ; 汉明编解码模块分别对数 据及该数据对应的冗余数据进行比较并将错误信息反馈给 FPGA, 利用冗余数据校正对应的 数据得到校正后的数据通过总线输出到临时静态存储器 SRAM2 ;
     (3)FPGA 在完成数据读取并存储到临时静态存储器后, 向中央处理器发出中断信 号, 触发中央处理器的中断处理函数 ;
     (4) 中央处理器响应中断信号, 并将临时静态存储器中的内容进行处理或者执行, 当有数据需要更新, 中央处理器向 FPGA 传递, FPGA 对存储器进行写操作时 : 数据总线根据 需要写入的数据位数, 将数据传送到汉明编解码模块 ; 汉明编解码模块对数据处理对应生 成汉明纠错码所需的冗余数据 k, 将数据和冗余数据 k 分别存入静态存储器 SRAM1 中的不同 扇区 ;
     (5) 当处理器完成临时静态存储器中代码执行和数据处理后, 向 FPGA 发出下一个 取代码和数据信号。
     所述的用于代码和数据的静态存储器 SRAM1 与用于存储临时信息的存储器 SRAM2 是各自独立的两个静态存储器。
     临时静态存储器 SRAM2 实现对纠错检错后的信息进行临时存储, 可采取三模冗余 方法也可以直接存储, 这根据 FPGA 资源多少进行合理设计。
     本发明还提供了实施上述实时纠检错方法的装置, 包括 : 中央处理器、 FPGA 和静 态存储器 ;
     所述的中央处理器, 用于向 FPGA 要求获取一定长度的代码和数据、 响应 FPGA 的中 断信号, 并将临时静态存储器中的内容进行处理或者执行 ; 当处理器完成临时静态存储器 中代码执行和数据处理后, 向 FPGA 发出下一个取代码和数据信号。
     FPGA 中包括三模存储及三模表决模块、 汉明编解码器和中断产生模块, 所述的三 模存储及三模表决模块用于将 SRAM1 中不同扇区分别存储三份的代码或数据读出, 按位做 “三取二” 的比较操作, 得到读出的数据、 冗余数据 k, 并将读出的数据、 冗余数据 k 传送至对 应的汉明编解码模块。
     所述的汉明编解码器用于在读数据时, 对数据及该数据对应的冗余数据进行比较 并将错误信息反馈给 FPGA, 利用冗余数据校正对应的数据得到校正后的数据通过总线输出 到临时静态存储器 ; 在写数据时, 对数据处理对应生成汉明纠错码所需的冗余数据 k, 将数 据和冗余数据 k 分别存入静态存储器 SRAM1 中的不同扇区。
     所述的中断产生模块是在纠检错编码处理结束后对中央处理器产生中断, 令其将 纠检错的代码或数据段读回。
     静态存储器包括静态存储器 SRAM1 和临时静态存储器 SRAM2, 所述的静态存储器 SRAM1 用于将中央处理器运行过程中产生的代码或数据分别在不同的三个扇区中各存储一 份。
     所述的静态存储器 SRAM2 用于 FPGA 纠检错模块恢复后的临时数据存储在其中, 当 中断模块给中央处理器中断时再将临时数据发送给中央处理器。
     本发明方法可以做到对代码进行实时纠错检错, 并能大大降低代码设计难度, 同时很好的适应了其重量轻、 体积小、 成本低、 研制周期短的重要特性。
     本发明方法针对空间环境中高能粒子对星载计算机存储模块造成的单粒子翻转 影响, 并充分考虑皮卫星对重量、 体积、 功耗等因素的限制, 通过 FPGA 完成对代码和数据的 实时纠错检错, 其优势在于对代码和数据全面的纠错检错, 兼容性强, 代码设计难度低, 同 时很好的适应了其重量轻、 体积小、 成本低、 研制周期短的重要特性, 并且使星载计算机的 可靠性得到显著提升。 附图说明
     图 1 为实现本发明实时纠检错方法的结构功能示意图。 图 2 为本发明实时纠检错实施的逻辑流程示意图。具体实施方式
     在中央处理器中需要编写对 FPGA 发送取信息的触发信号以及中断处理程序。在 该中断处理函数中将临时静态存储器 SRAM2 种的内容导入到中央处理器内存中进行执行 或处理, 完成后发送下一组取信息的起始地址及长度。 在 FPGA 设计和汉明编解码实现过程中, 汉明纠错码码字长度的选择需要考虑几 个方面的因素, 满足 FPGA 对存储器访问速度的要求与满足存储器编码效率的要求之间是 矛盾的。码字长度较短时, 纠错速度快但是需要较多的冗余存储空间 ; 码字较长时, 可以降 低冗余存储空间的使用, 但是检错纠错速度会降低。由于皮卫星所需处理的事务相对于传 统卫星较少, 对内存的访问速度没有非常严格的要求 ; 从冗余度、 编解码速度及汉明编解码 模块兼容性几个方面考虑, (22、 6) 汉明纠错码方案是一个较为合适的选择。
     本发明纠检错方法的结构功能示意图如图 1 所示, 本发明的纠检错处理功能块包 括: 中央处理器、 FPGA 和静态存储器 ; FPGA 中包括三模存储及三模表决模块、 汉明编解码 器、 还包括将代码和数据作为指令返回的中断产生模块。 静态存储器包括静态存储器 SRAM1 和临时静态存储器 SRAM2。
     中央处理器, 用于向 FPGA 要求获取一定长度的代码和数据、 响应 FPGA 的中断信 号, 并将临时静态存储器中的内容进行处理或者执行 ; 当处理器完成临时静态存储器中代 码执行和数据处理后, 向 FPGA 发出下一个取代码和数据信号。
     FPGA 中包括三模存储及三模表决模块、 汉明编解码器和将代码和数据作为指令返 回的中断产生模块, 所述的三模存储及三模表决模块用于将 SRAM1 中不同扇区分别存储三 份的代码或数据读出, 按位做 “三取二” 的比较操作, 得到读出的数据、 冗余数据 k, 并将读出 的数据、 冗余数据 k 传送至对应的汉明编解码模块。
     汉明编解码器用于在读数据时, 对数据及该数据对应的冗余数据进行比较并将错 误信息反馈给 FPGA, 利用冗余数据校正对应的数据得到校正后的数据通过总线输出到临时 静态存储器 ; 在写数据时, 对数据处理对应生成汉明纠错码所需的冗余数据 k, 将数据和冗 余数据 k 分别存入静态存储器 SRAM1 中的不同扇区。
     将代码和数据作为指令返回的中断产生模块是在纠检错编码处理结束后对中央 处理器产生中断, 令其将纠检错的代码或数据段读回。
     静态存储器包括静态存储器 SRAM1 和临时静态存储器 SRAM2, 所述的静态存储器
     SRAM1 用于将中央处理器运行过程中产生的代码或数据分别在不同的三个扇区中各存储一 份。
     静态存储器 SRAM2 用于 FPGA 纠检错模块恢复后的临时数据存储在其中, 当中断模 块给中央处理器中断时再将临时数据发送给中央处理器。
     在图 2 中描述了完成本发明纠检错实施的逻辑流程示意图。详细描述该纠检错方 法实施过程如下 :
     (1) 中央处理器向 FPGA 要求获取一定长度的代码和数据时, 通过向 FPGA 发送上升 沿触发信号, 以触发 FPGA 纠检错功能模块 ;
     (2)FPGA 在响应中央处理器的要求, 向静态存储器进行读操作。FPGA 向静态存储 器进行读数据操作时 :
     三模存储及三模表决模块将静态存储器中不同扇区的数据读出, 按位做 “三取二” 的比较操作 ( 由于同一数据分别在同一静态存储器的三个扇区存储三遍, 那么如果其中有 一个扇区上的数据的某一位发生了改变, 而另两个扇区上的数据的没有变化, 那么这两个 数据的没有变化的扇区会将那个数据改变的扇区上的数据掩蔽, 只读取表达正确的数据 ), 得到读出的数据、 冗余数据 ; 汉明编解码模块中的译码器对读出的数据、 冗余数据 k 进行比较并将错误信息反 馈给 FPGA。
     FPGA 根据得到的错误信息, 通过汉明编解码模块中的校正器利用冗余数据 k 校正 数据, 得到正确的数据并将数据输出到数据总线上。
     (3)FPGA 在完成数据读取并存储到临时静态存储器后, 向中央处理器发出中断信 号;
     (4) 中央处理器响应中断信号, 并将临时静态存储器中的内容进行处理或者执行。 当有数据需要更新时, 中央处理器向 FPGA 传递, FPGA 对存储器进行写操作。FPGA 利用三模 存储及三模表决模块, 将数据和冗余数据 k 存入静态存储器中的三个扇区。
     (5) 当处理器完成临时静态存储器中代码执行和数据处理后, 向 FPGA 发出下一个 取代码和数据信号。
     递归测试
     测试小组使用模拟地面站和综合测试软件接收星载计算机在下发的星上数据, 并 且在测试过程中将星载计算机置于不同的外部环境中长时间运行, 仍然能够保证正常工 作。
     在此测试过程中, 人为制造如下故障对星载计算机的容错能力进行测试 : (1) 在遥控指令测试环节中将错误指令进行上传, 星载计算机能够正确识别问题指令, 在 接收后不作执行, 这些执行状态可以从实时下发的引导帧中读出 ; (2) 进行误码率测试
     其中 N 为欲测波道数, M 为测量的总帧数。实时遥测格式下 N = 70, M = 5000。星上遥测为实时遥测下传格式, 同时加调遥控负载波, 重复以上步骤 3 次为一组, 测得平均误码率为 8.92*10-6。
     经过多次递归测试, 星载计算机连续运行 1104 小时无故障, 累计无故障运行时间 超过 4320 小时。环境试验
     为了进一步验证星载计算机的可靠性, 系统被放置于辐照剂量 2rad/s, 总剂量达 到 10Krad(si) 的钴 60 辐照环境中, 星载计算机维持正常工作。
     在真空度低于 10-3Pa、 背景温度低于 96K、 温度范围从 -20℃至 50℃之间, 连续运 行 16 个以上循环, 星载计算机正常工作。
     通过递归测试和各项环境试验表明, 星载计算机的各项可靠性措施是切实有效 的, 既保证可靠性, 也满足星上系统的实时性要求。 目前, 应用该创新技术的某型号皮卫星, 已通过验收, 预计于 2010 年搭载发射。该卫星, 将成为我国目前重量最小的在轨运行卫星。

皮卫星中央处理器的代码、数据实时纠检错方法及装置.pdf_第1页
第1页 / 共10页
皮卫星中央处理器的代码、数据实时纠检错方法及装置.pdf_第2页
第2页 / 共10页
皮卫星中央处理器的代码、数据实时纠检错方法及装置.pdf_第3页
第3页 / 共10页
点击查看更多>>
资源描述

《皮卫星中央处理器的代码、数据实时纠检错方法及装置.pdf》由会员分享,可在线阅读,更多相关《皮卫星中央处理器的代码、数据实时纠检错方法及装置.pdf(10页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 101937375 A (43)申请公布日 2011.01.05 CN 101937375 A *CN101937375A* (21)申请号 201010264090.7 (22)申请日 2010.08.27 G06F 11/10(2006.01) (71)申请人 浙江大学 地址 310027 浙江省杭州市西湖区浙大路 38 号 (72)发明人 张钰 郑阳明 (74)专利代理机构 杭州天勤知识产权代理有限 公司 33224 代理人 胡红娟 (54) 发明名称 皮卫星中央处理器的代码、 数据实时纠检错 方法及装置 (57) 摘要 本发明公开了一种皮卫星中央处理器的代 码。

2、、 数据实时纠检错方法, 通过中央处理器向 FPGA 发送要求获取一定长度代码或数据的信号, FPGA 响应该信号, 从代码和数据存储器中取出信 息并通过纠错检错方法处理取得的数据之后存入 到临时静态存储器中 ; FPGA 向中央处理器发出中 断, 使中央处理器执行该存储器中代码或处理数 据, 并将要存放的数据传递给 FPGA 进行更新。本 发明还公开了实施上述方法的装置。本发明方法 可以对中央处理器执行的代码和数据实时进行纠 检错, 大大提高了对程序代码和数据纠检错的覆 盖率, 降低了代码编写的难度, 同时很好的适应了 其重量轻、 体积小、 成本低、 研制周期短的重要特 性。 (51)Int。

3、.Cl. (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 5 页 附图 2 页 CN 101937376 A1/2 页 2 1. 一种皮卫星中央处理器的代码、 数据实时纠检错方法, 包括中央处理器与 FPGA 之间 的信号交互以及 FPGA 对静态存储器的数据读、 写操作, 其特征在于 : (1)中央处理器向FPGA要求获取一定长度的代码和数据时, 通过向FPGA发送上升沿触 发信号, 以触发 FPGA 纠检错功能模块 ; (2)FPGA 在响应中央处理器的要求, 向静态存储器进行读操作时 : 将同一静态存储器 中不同扇区的数据读出, 按位做 “三取二”。

4、 的比较操作, 得到读出的数据、 冗余数据 k, 并将读 出的数据、 冗余数据 k 传送至对应的汉明编解码模块 ; 汉明编解码模块分别对数据及该数 据对应的冗余数据进行比较并将错误信息反馈给 FPGA, 利用冗余数据校正对应的数据得到 校正后的数据通过总线输出到临时静态存储器 ; (3)FPGA 在完成数据读取并存储到临时静态存储器后, 向中央处理器发出中断信号, 触 发中央处理器的中断处理函数 ; (4) 中央处理器响应中断信号, 并将临时静态存储器中的内容进行处理或者执行, 当有 数据需要更新, 中央处理器向 FPGA 传递, FPGA 对存储器进行写操作时 : 数据总线根据需要 写入的数。

5、据位数, 将数据传送到汉明编解码模块 ; 汉明编解码模块对数据处理对应生成汉 明纠错码所需的冗余数据 k, 将数据和冗余数据 k 分别存入静态存储器 SRAM1 中的不同扇 区 ; (5) 当处理器完成临时静态存储器中代码执行和数据处理后, 向 FPGA 发出下一个取代 码和数据信号。 2. 根据权利要求 1 所述的皮卫星中央处理器的代码、 数据实时纠检错方法, 其特征在 于 : 所述的用于代码和数据的静态存储器与用于存储临时信息的存储器是各自独立的两个 静态存储器。 3. 根据权利要求 1 所述的皮卫星中央处理器的代码、 数据实时纠检错方法, 其特征在 于 : 所述的临时静态存储器实现对纠错。

6、检错后的信息进行临时存储, 采取三模冗余方法存 储。 4. 根据权利要求 1 所述的实施皮卫星中央处理器的代码、 数据实时纠检错方法的装 置, 包括 : 中央处理器、 FPGA 和静态存储器, 其特征在于 : 所述的中央处理器, 用于向FPGA要求获取一定长度的代码和数据、 响应FPGA的中断信 号, 并将临时静态存储器中的内容进行处理或者执行 ; 当处理器完成临时静态存储器中代 码执行和数据处理后, 向 FPGA 发出下一个取代码和数据信号 ; 所述的 FPGA 中包括三模存储及三模表决模块、 汉明编解码器和中断产生模块, 所述的 三模存储及三模表决模块用于将 SRAM1 中不同扇区分别存储。

7、三份的代码或数据读出, 按位 做 “三取二” 的比较操作, 得到读出的数据、 冗余数据 k, 并将读出的数据、 冗余数据 k 传送至 对应的汉明编解码模块 ; 所述的汉明编解码器用于在读数据时, 对数据及该数据对应的冗余数据进行比较并将 错误信息反馈给 FPGA, 利用冗余数据校正对应的数据得到校正后的数据通过总线输出到临 时静态存储器 ; 在写数据时, 对数据处理对应生成汉明纠错码所需的冗余数据 k, 将数据和 冗余数据 k 分别存入静态存储器 SRAM1 中的不同扇区 ; 所述的中断产生模块是在纠检错编码处理结束后对中央处理器产生中断, 令其将纠检 错的代码或数据段读回 ; 权 利 要 求。

8、 书 CN 101937375 A CN 101937376 A2/2 页 3 所述的静态存储器包括静态存储器 SRAM1 和临时静态存储器 SRAM2, 所述的静态存储 器 SRAM1 用于将中央处理器运行过程中产生的代码或数据分别在不同的三个扇区中各存 储一份 ; 所述的静态存储器SRAM2用于FPGA纠检错模块恢复后的临时数据存储在其中, 当中断 模块给中央处理器中断时再将临时数据发送给中央处理器。 权 利 要 求 书 CN 101937375 A CN 101937376 A1/5 页 4 皮卫星中央处理器的代码、 数据实时纠检错方法及装置 技术领域 0001 本发明涉及皮卫星星载计算。

9、机技术领域, 尤其涉及皮卫星星载计算机的代码和数 据可靠性改进。 背景技术 0002 空间单粒子效应对星载计算机系统的影响是不可忽视的, 即使一个微小的逻辑错 误都有可能使星载计算机瘫痪并造成卫星失控。 一般情况下可以通过避错设计和容错设计 提高计算机系统的可靠性。 对于公斤级的皮卫星来说, 其特点是重量轻、 体积小、 成本低、 研 制周期短。 而且航天级电子器件的需求量相对较小, 使抗辐射器件的成本很高, 价格非常昂 贵, 在实际开发过程中大量采用市场上容易取得的商业级电子器件。这些器件通常没有经 过严格的抗辐射测试, 也没有采用完善的抗辐射工艺。因而对于星载计算机可靠性设计主 要是通过容错。

10、设计实现的。容错设计是利用外加资源的冗余技术屏蔽故障的影响, 使局部 的故障不会扩散到全局。 0003 现有技术在对程序的实时保护上存在较大的困难。因此, 在程序执行过程中出现 代码 “翻转” 的错误是致命的, 将引起程序出现跑飞、 异常等情况。另一方面, 在程序设计上 采用各种可靠性方法, 如程序路径、 关键数据和变量冗余备份等方法仅能对程序少部分的 代码和数据进行可靠性处理。因此, 如何采用较为简捷方便的方法对代码进行实时的监控 和降低程序编写得难度是一个较为迫切的问题。 0004 本发明人的申请号为 200910101155.3, 名称为 “皮卫星基于 FPGA 的存储模块的容 错方法”。

11、 的专利申请公开了一种皮卫星基于 FPGA 的存储模块的容错方法, 数据总线将需要 写入的数据分为高位数据和低位数据两部分, 分别传送到两个完全相同的汉明编码模块对 高位数据和低位数据处理对应生成冗余数据 ; 将数据和对应的冗余数据分别存入静态存储 器中的三个扇区, 读数据时将同一静态存储器中不同扇区的数据读出, 按位做 “三取二” 的 比较操作, 得到读出数据传送至对应的汉明编码模块 ; 两个汉明编码模块分别对数据进行 比较和校正后总线输出到中央处理器。 该发明方法可以使存储模块做到 “纠1检2” , 并保证 校验码的正确存储, 同时很好的适应了其重量轻、 体积小、 成本低、 研制周期短的重。

12、要特性, 但依然没有解决程序数据实时纠检错的目标。 发明内容 0005 本发明提供一种中央处理器代码纠检错、 动态外部程序相结合的方法, 对于皮卫 星这种超微小型卫星的星载计算机的代码和数据进行了可靠性方面的实时纠检错设计。 0006 一种皮卫星中央处理器的代码、 数据实时纠检错方法, 包括中央处理器与现场可 编程门阵列(FPGA)之间的信号交互以及FPGA对静态存储器的数据读、 写操作, 所述的静态 存储器包括静态存储器 SRAM1 和临时静态存储器 SRAM2 ; 0007 (1)中央处理器向FPGA要求获取一定长度的代码和数据时, 通过向FPGA发送上升 沿触发信号, 以触发 FPGA 。

13、纠检错功能模块 ; 说 明 书 CN 101937375 A CN 101937376 A2/5 页 5 0008 (2)FPGA 在响应中央处理器的要求, 向静态存储器 SRAM1 进行读操作时 : 将同一静 态存储器中不同扇区的数据读出, 按位做 “三取二” 的比较操作, 得到读出的数据、 冗余数据 k, 并将读出的数据、 冗余数据 k 传送至对应的汉明编解码模块 ; 汉明编解码模块分别对数 据及该数据对应的冗余数据进行比较并将错误信息反馈给 FPGA, 利用冗余数据校正对应的 数据得到校正后的数据通过总线输出到临时静态存储器 SRAM2 ; 0009 (3)FPGA 在完成数据读取并存储。

14、到临时静态存储器后, 向中央处理器发出中断信 号, 触发中央处理器的中断处理函数 ; 0010 (4) 中央处理器响应中断信号, 并将临时静态存储器中的内容进行处理或者执行, 当有数据需要更新, 中央处理器向 FPGA 传递, FPGA 对存储器进行写操作时 : 数据总线根据 需要写入的数据位数, 将数据传送到汉明编解码模块 ; 汉明编解码模块对数据处理对应生 成汉明纠错码所需的冗余数据k, 将数据和冗余数据k分别存入静态存储器SRAM1中的不同 扇区 ; 0011 (5) 当处理器完成临时静态存储器中代码执行和数据处理后, 向 FPGA 发出下一个 取代码和数据信号。 0012 所述的用于代。

15、码和数据的静态存储器 SRAM1 与用于存储临时信息的存储器 SRAM2 是各自独立的两个静态存储器。 0013 临时静态存储器 SRAM2 实现对纠错检错后的信息进行临时存储, 可采取三模冗余 方法也可以直接存储, 这根据 FPGA 资源多少进行合理设计。 0014 本发明还提供了实施上述实时纠检错方法的装置, 包括 : 中央处理器、 FPGA 和静 态存储器 ; 0015 所述的中央处理器, 用于向FPGA要求获取一定长度的代码和数据、 响应FPGA的中 断信号, 并将临时静态存储器中的内容进行处理或者执行 ; 当处理器完成临时静态存储器 中代码执行和数据处理后, 向 FPGA 发出下一个。

16、取代码和数据信号。 0016 FPGA 中包括三模存储及三模表决模块、 汉明编解码器和中断产生模块, 所述的三 模存储及三模表决模块用于将 SRAM1 中不同扇区分别存储三份的代码或数据读出, 按位做 “三取二” 的比较操作, 得到读出的数据、 冗余数据 k, 并将读出的数据、 冗余数据 k 传送至对 应的汉明编解码模块。 0017 所述的汉明编解码器用于在读数据时, 对数据及该数据对应的冗余数据进行比较 并将错误信息反馈给 FPGA, 利用冗余数据校正对应的数据得到校正后的数据通过总线输出 到临时静态存储器 ; 在写数据时, 对数据处理对应生成汉明纠错码所需的冗余数据 k, 将数 据和冗余数。

17、据 k 分别存入静态存储器 SRAM1 中的不同扇区。 0018 所述的中断产生模块是在纠检错编码处理结束后对中央处理器产生中断, 令其将 纠检错的代码或数据段读回。 0019 静态存储器包括静态存储器 SRAM1 和临时静态存储器 SRAM2, 所述的静态存储器 SRAM1 用于将中央处理器运行过程中产生的代码或数据分别在不同的三个扇区中各存储一 份。 0020 所述的静态存储器SRAM2用于FPGA纠检错模块恢复后的临时数据存储在其中, 当 中断模块给中央处理器中断时再将临时数据发送给中央处理器。 0021 本发明方法可以做到对代码进行实时纠错检错, 并能大大降低代码设计难度, 同 说 明。

18、 书 CN 101937375 A CN 101937376 A3/5 页 6 时很好的适应了其重量轻、 体积小、 成本低、 研制周期短的重要特性。 0022 本发明方法针对空间环境中高能粒子对星载计算机存储模块造成的单粒子翻转 影响, 并充分考虑皮卫星对重量、 体积、 功耗等因素的限制, 通过 FPGA 完成对代码和数据的 实时纠错检错, 其优势在于对代码和数据全面的纠错检错, 兼容性强, 代码设计难度低, 同 时很好的适应了其重量轻、 体积小、 成本低、 研制周期短的重要特性, 并且使星载计算机的 可靠性得到显著提升。 附图说明 0023 图 1 为实现本发明实时纠检错方法的结构功能示意图。

19、。 0024 图 2 为本发明实时纠检错实施的逻辑流程示意图。 具体实施方式 0025 在中央处理器中需要编写对 FPGA 发送取信息的触发信号以及中断处理程序。在 该中断处理函数中将临时静态存储器 SRAM2 种的内容导入到中央处理器内存中进行执行 或处理, 完成后发送下一组取信息的起始地址及长度。 0026 在 FPGA 设计和汉明编解码实现过程中, 汉明纠错码码字长度的选择需要考虑几 个方面的因素, 满足 FPGA 对存储器访问速度的要求与满足存储器编码效率的要求之间是 矛盾的。码字长度较短时, 纠错速度快但是需要较多的冗余存储空间 ; 码字较长时, 可以降 低冗余存储空间的使用, 但是。

20、检错纠错速度会降低。由于皮卫星所需处理的事务相对于传 统卫星较少, 对内存的访问速度没有非常严格的要求 ; 从冗余度、 编解码速度及汉明编解码 模块兼容性几个方面考虑, (22、 6) 汉明纠错码方案是一个较为合适的选择。 0027 本发明纠检错方法的结构功能示意图如图 1 所示, 本发明的纠检错处理功能块包 括 : 中央处理器、 FPGA 和静态存储器 ; FPGA 中包括三模存储及三模表决模块、 汉明编解码 器、 还包括将代码和数据作为指令返回的中断产生模块。 静态存储器包括静态存储器SRAM1 和临时静态存储器 SRAM2。 0028 中央处理器, 用于向 FPGA 要求获取一定长度的代。

21、码和数据、 响应 FPGA 的中断信 号, 并将临时静态存储器中的内容进行处理或者执行 ; 当处理器完成临时静态存储器中代 码执行和数据处理后, 向 FPGA 发出下一个取代码和数据信号。 0029 FPGA 中包括三模存储及三模表决模块、 汉明编解码器和将代码和数据作为指令返 回的中断产生模块, 所述的三模存储及三模表决模块用于将 SRAM1 中不同扇区分别存储三 份的代码或数据读出, 按位做 “三取二” 的比较操作, 得到读出的数据、 冗余数据 k, 并将读出 的数据、 冗余数据 k 传送至对应的汉明编解码模块。 0030 汉明编解码器用于在读数据时, 对数据及该数据对应的冗余数据进行比较。

22、并将错 误信息反馈给 FPGA, 利用冗余数据校正对应的数据得到校正后的数据通过总线输出到临时 静态存储器 ; 在写数据时, 对数据处理对应生成汉明纠错码所需的冗余数据 k, 将数据和冗 余数据 k 分别存入静态存储器 SRAM1 中的不同扇区。 0031 将代码和数据作为指令返回的中断产生模块是在纠检错编码处理结束后对中央 处理器产生中断, 令其将纠检错的代码或数据段读回。 0032 静态存储器包括静态存储器 SRAM1 和临时静态存储器 SRAM2, 所述的静态存储器 说 明 书 CN 101937375 A CN 101937376 A4/5 页 7 SRAM1 用于将中央处理器运行过程。

23、中产生的代码或数据分别在不同的三个扇区中各存储一 份。 0033 静态存储器SRAM2用于FPGA纠检错模块恢复后的临时数据存储在其中, 当中断模 块给中央处理器中断时再将临时数据发送给中央处理器。 0034 在图 2 中描述了完成本发明纠检错实施的逻辑流程示意图。详细描述该纠检错方 法实施过程如下 : 0035 (1)中央处理器向FPGA要求获取一定长度的代码和数据时, 通过向FPGA发送上升 沿触发信号, 以触发 FPGA 纠检错功能模块 ; 0036 (2)FPGA 在响应中央处理器的要求, 向静态存储器进行读操作。FPGA 向静态存储 器进行读数据操作时 : 0037 三模存储及三模表。

24、决模块将静态存储器中不同扇区的数据读出, 按位做 “三取二” 的比较操作 ( 由于同一数据分别在同一静态存储器的三个扇区存储三遍, 那么如果其中有 一个扇区上的数据的某一位发生了改变, 而另两个扇区上的数据的没有变化, 那么这两个 数据的没有变化的扇区会将那个数据改变的扇区上的数据掩蔽, 只读取表达正确的数据 ), 得到读出的数据、 冗余数据 ; 0038 汉明编解码模块中的译码器对读出的数据、 冗余数据 k 进行比较并将错误信息反 馈给 FPGA。 0039 FPGA 根据得到的错误信息, 通过汉明编解码模块中的校正器利用冗余数据 k 校正 数据, 得到正确的数据并将数据输出到数据总线上。 。

25、0040 (3)FPGA 在完成数据读取并存储到临时静态存储器后, 向中央处理器发出中断信 号 ; 0041 (4) 中央处理器响应中断信号, 并将临时静态存储器中的内容进行处理或者执行。 当有数据需要更新时, 中央处理器向 FPGA 传递, FPGA 对存储器进行写操作。FPGA 利用三模 存储及三模表决模块, 将数据和冗余数据 k 存入静态存储器中的三个扇区。 0042 (5) 当处理器完成临时静态存储器中代码执行和数据处理后, 向 FPGA 发出下一个 取代码和数据信号。 0043 递归测试 0044 测试小组使用模拟地面站和综合测试软件接收星载计算机在下发的星上数据, 并 且在测试过程。

26、中将星载计算机置于不同的外部环境中长时间运行, 仍然能够保证正常工 作。 0045 在此测试过程中, 人为制造如下故障对星载计算机的容错能力进行测试 : (1) 在遥控指令测试环节中将错误指令进行上传, 星载计算机能够正确识别问题指令, 在 接收后不作执行, 这些执行状态可以从实时下发的引导帧中读出 ; (2) 进行误码率测试 其中 N 为欲测波道数, M 为测量的总帧数。实时遥测格式下 N 70, M 5000。星上遥测为实时遥测下传格式, 同时加调遥控负载波, 重复以上步骤 3 次为一组, 测得平均误码率为 8.92*10-6。 0046 经过多次递归测试, 星载计算机连续运行 1104 。

27、小时无故障, 累计无故障运行时间 超过 4320 小时。 说 明 书 CN 101937375 A CN 101937376 A5/5 页 8 0047 环境试验 0048 为了进一步验证星载计算机的可靠性, 系统被放置于辐照剂量 2rad/s, 总剂量达 到 10Krad(si) 的钴 60 辐照环境中, 星载计算机维持正常工作。 0049 在真空度低于 10-3Pa、 背景温度低于 96K、 温度范围从 -20至 50之间, 连续运 行 16 个以上循环, 星载计算机正常工作。 0050 通过递归测试和各项环境试验表明, 星载计算机的各项可靠性措施是切实有效 的, 既保证可靠性, 也满足星上系统的实时性要求。 目前, 应用该创新技术的某型号皮卫星, 已通过验收, 预计于 2010 年搭载发射。该卫星, 将成为我国目前重量最小的在轨运行卫星。 说 明 书 CN 101937375 A CN 101937376 A1/2 页 9 图 1 说 明 书 附 图 CN 101937375 A CN 101937376 A2/2 页 10 图 2 说 明 书 附 图 CN 101937375 A 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1