首页> 中国专利> 基于RAM自检的1553B总线远程终端故障检测及处理方法和系统

基于RAM自检的1553B总线远程终端故障检测及处理方法和系统

摘要

一种基于RAM自检的1553B总线远程终端故障检测及处理方法,包括步骤如下:步骤1、将待检RAM以数组形式配置为数组A;步骤2、配置备选RAM区数组为数组B;步骤3、对待检RAM区逐个进行RAM区自检:若全部都完成了待检RAM区自检,则方法结束,否则,转入步骤4;步骤4、对选定的RAM区进行自检;步骤5、若选定的RAM区自检结果是正常,则转入步骤3,否则转入步骤6,进行备选RAM区检测和替换操作;步骤6、对备选的RAM区从搜索起点开始进行自检;步骤7、若备选RAM区自检结果为正常,则将有故障的待检RAM区替换为该备选RAM区地址,同时将该备选块的后一个作为下次备选区搜索起点;若备选RAM区自检结果不是正常,则继续在备选区里搜索,寻找自检正常的区。

著录项

  • 公开/公告号CN112948192A

    专利类型发明专利

  • 公开/公告日2021-06-11

    原文格式PDF

  • 申请/专利权人 北京控制工程研究所;

    申请/专利号CN202110246887.2

  • 申请日2021-03-05

  • 分类号G06F11/22(20060101);

  • 代理机构11009 中国航天科技专利中心;

  • 代理人张欢

  • 地址 100080 北京市海淀区北京2729信箱

  • 入库时间 2023-06-19 11:22:42

说明书

技术领域

本发明涉及一种1553B总线远程终端故障检测及处理方法和系统,属于卫星数据传输网络领域。

背景技术

在当前的卫星总体设计中,1553B总线已经广泛应用于整星通讯网络和分系统内部通讯网络。借助于1553B总线,可实现整星中心控制单元与各个远程终端(分系统计算机)、分系统计算机与其各个远程终端(分系统的下位机)之间的数据、指令的接收与发送。

根据相关总线通讯协议,这些远程终端的发送、接收子地址数目普遍较多。这些子地址在经过总线芯片初始化的地址配置后,要持续存储待发送或接收的数据。若在卫星长期运行过程中,因为空间单粒子效应或其他原因,这些子地址对应的RAM(Random AccessMemory,随机存储内存)区若出现读、写错误,将会直接导致收发消息的处理错误,进而可能影响到整星的正常功能的运行。对于远程终端的RAM区故障,现有的方法大多是地面监控人员根据相关遥测量数据判断是否异常,然后通过上注遥控指令进行故障处理。这过程很依赖地面人员对数据监测的全面性和处理的及时性。为此,需要设计一种能满足用户需求的具有自主性的故障检测及处理方法。

发明内容

本发明要解决的技术问题是:克服现有技术的不足,本发明提供了一种基于RAM自检的1553B总线远程终端故障检测及处理方法和系统。该方法首先根据用户需求和系统资源,对远程终端进行待检RAM区和备选RAM区的配置,然后对待检RAM区进行读写自检,若检测出有故障,则用无故障的备选RAM区替换,以消除总线远程终端内存故障,提高系统1553B通讯的可靠性安全性。

本发明所采用的技术方案是:一种基于RAM自检的1553B总线远程终端故障检测及处理方法,包括步骤如下:

步骤1、将待检RAM以数组形式配置为数组A;

数组A中的数组元素是从所有使用的RAM区中,选出需要检测的各块RAM区首地址;

每块RAM区大小设置为32字;数组A的数组长度指需要检测的32字长度的RAM区总块数;

步骤2、配置备选RAM区数组为数组B;

数组B中的数组元素指还未使用可供替换的各块RAM区首地址,每块RAM区大小与待检RAM区的元素大小一致;数组B的数组长度代表未使用可供替换的32字长度的RAM区总块数;

步骤3、对待检RAM区逐个进行RAM区自检,若全部都完成了RAM区自检,则方法结束,否则,转入步骤4;

步骤4、对选定的RAM区进行自检,具体步骤如下:

按照如下自检方法对选定的RAM区的32个字进行遍历,若遍历完成,则置自检结果为正常,结束自检;

自检方法为:

以字为单位,先写入0xFFFF,然后进行读操作,判断读出值是否是0xFFFF,若读出值不是0xFFFF,则记为故障,结束自检;若读出值是0xFFFF,则再写入0x0000,然后进行读操作,判断读出值是否是0x0000,若读出值不是0x0000,则记为故障,结束自检;若读出值是0x0000,则继续对下一个字进行自检操作;

步骤5、若选定的RAM区自检结果是正常,则转入步骤3,继续对下一个RAM区进行检测判断,否则转入步骤6,进行备选RAM区检测和替换操作;

步骤6、对备选的RAM区从搜索起点开始进行自检,搜索起点初始值是数组B的第一个元素,具体步骤如下:

按照如下自检方法对备选的RAM区32个字进行遍历,若遍历完成,则置自检结果为正常,结束自检;

自检方法为:以字为单位,先写入0xFFFF,然后进行读操作,判断读出值是否是0xFFFF,若读出值不是0xFFFF,则记为故障,结束自检;若读出值是0xFFFF,则再写入0x0000,然后进行读操作,判断读出值是否是0x0000,若读出值不是0x0000,则记为故障,结束自检;若读出值是0x0000,则继续对下一个字进行自检操作;

步骤7、若备选RAM区自检结果为正常,则将有故障的待检RAM区替换为该备选RAM区地址,同时将该备选块的后一个作为下次备选区搜索起点;若备选RAM区自检结果不是正常,则继续在备选区里搜索,寻找自检正常的区。

一种基于RAM自检的1553B总线远程终端故障检测及处理系统,包括:

第一模块、用于将待检RAM以数组形式配置为数组A;数组A中的数组元素是从所有使用的RAM区中,选出需要检测的各块RAM区首地址;

第二模块、用于配置备选RAM区数组为数组B;数组B中的数组元素指还未使用可供替换的各块RAM区首地址,每块RAM区大小与待检RAM区的元素大小一致;

第三模块、用于对待检RAM区逐个进行RAM区自检:对选定的RAM区进行自检,若选定的RAM区自检结果是正常,则继续对下一个RAM区进行检测判断;否则,对备选的RAM区从搜索起点开始进行自检:若备选RAM区自检结果为正常,则将有故障的待检RAM区替换为该备选RAM区地址,同时将该备选块的后一个作为下次备选区搜索起点;若备选RAM区自检结果不是正常,则继续在备选区里搜索,寻找自检正常的区。

每块待检RAM区大小设置为32字;数组A的数组长度指需要检测的32字长度的RAM区总块数;数组B的数组长度代表未使用可供替换的32字长度的RAM区总块数。

第三模块中,对选定的RAM区进行自检的具体步骤如下:

按照如下自检方法对选定的RAM区的32个字进行遍历,若遍历完成,则置自检结果为正常,结束自检;

自检方法为:

以字为单位,先写入0xFFFF,然后进行读操作,判断读出值是否是0xFFFF,若读出值不是0xFFFF,则记为故障,结束自检;若读出值是0xFFFF,则再写入0x0000,然后进行读操作,判断读出值是否是0x0000,若读出值不是0x0000,则记为故障,结束自检;若读出值是0x0000,则继续对下一个字进行自检操作;

对备选的RAM区从搜索起点开始进行自检的具体步骤如下:

按照如下自检方法对备选的RAM区32个字进行遍历,若遍历完成,则置自检结果为正常,结束自检;

自检方法为:以字为单位,先写入0xFFFF,然后进行读操作,判断读出值是否是0xFFFF,若读出值不是0xFFFF,则记为故障,结束自检;若读出值是0xFFFF,则再写入0x0000,然后进行读操作,判断读出值是否是0x0000,若读出值不是0x0000,则记为故障,结束自检;若读出值是0x0000,则继续对下一个字进行自检操作。

本发明与现有技术相比的优点在于:

(1)本发明的方法适应性强,待检RAM及备选RAM是可配置的,数组的配置形式也有利于在轨长期工作期间,根据需要进行在轨修改,具备很好的可扩展性;

(2)本发明的方法对于待检RAM区和备选RAM区的自检都是自主进行的,相比于人工观察遥测量进行相关判断,可避免人工操作错误,提高了故障检测及处理的效率。

附图说明

图1为故障检测及处理主流程图;

图2为RAM区自检流程图。

具体实施方式

下面结合附图对本发明进行进一步说明。

该方法主要包括待检RAM及备选RAM配置、RAM自检、故障RAM替换三部分。

1、待检RAM及备选RAM配置

1)待检RAM是以数组形式配置,记为数组A。数组元素是从所有使用的RAM区中,依据用户需求选出需要检测的各块RAM区首地址。每块RAM区大小一般设计为32字。RAM区检测就是依次对以数组元素里的RAM区首地址开始的32字内存范围进行检测。数组A长度就是需要检测的32字长度的RAM区总块数。

2)备选RAM是以数组形式配置,记为数组B。数组元素是系统还未使用可供替换的各块RAM区首地址,每块RAM区大小应与待检RAM区的元素大小一致,一般也为32字。数组长度代表未使用可供替换的32字长度的RAM区总块数。

3)对于使用了循环缓冲机制的1553B消息来说,其对应的RAM大小为128字、256字、512字或者更大。对于这类RAM做为待检RAM时,可以根据系统空余RAM的大小设计1个或者多个备选RAM区,其大小与待检RAM区大小一致,其起始地址应符合循环缓冲区起始地址的一般规则,即确保起始地址可被缓冲区长度大小整除。

2、RAM自检:

RAM自检分为待检RAM区自检和备选RAM区自检。

待检RAM区自检是通过对RAM区读写比对判断这些使用的内存区域是否有内存读写故障,若无故障则无需后续操作,若有故障即可进行后续备选RAM区的自检及替换操作。

备选RAM自检是在待检RAM检出故障后,在准备对故障RAM替换前,需要确认下替换用的备选区域是否正常,若正常则执行替换,若不正常则对下一个备选区域进行判断,直到找到一个正常的区域或者搜索完所有区域。

具体自检方法是对每块RAM区以字为单位遍历,先写入0xFFFF,然后以字为单位进行读操作,判断读出值是否是0xFFFF,若不是,则记该块RAM为故障并终止遍历该块RAM,若是,则再以字为单位写入0x0000,然后以字为单位进行读操作,判断读出值是否是0x0000,若不是,则记该块RAM为故障并终止遍历该块RAM,若是则对下一个字进行如上判断,直至该块RAM检测完毕。

3、故障RAM替换

通过RAM自检,判断出数组A中某个待检RAM区有故障后,在数组B中从搜索起点开始判断备选RAM是否正常(搜索起点初始值是数组第一个元素),若正常则将数组B中该块备选RAM的地址替换数组A中故障RAM的地址,同时将数组B的该备选块的后一个元素做为下次备选区搜索起点;若当前备选RAM不正常,则对下一个备选RAM进行判断,直到找到一个自检正常的RAM或者搜索完所有备选区域。

一种基于RAM自检的1553B总线远程终端故障检测及处理系统,包括:

第一模块、用于将待检RAM以数组形式配置为数组A;数组A中的数组元素是从所有使用的RAM区中,选出需要检测的各块RAM区首地址;

第二模块、用于配置备选RAM区数组为数组B;数组B中的数组元素指还未使用可供替换的各块RAM区首地址,每块RAM区大小与待检RAM区的元素大小一致;

第三模块、用于对待检RAM区逐个进行RAM区自检:对选定的RAM区进行自检,若选定的RAM区自检结果是正常,则继续对下一个RAM区进行检测判断;否则,对备选的RAM区从搜索起点开始进行自检:若备选RAM区自检结果为正常,则将有故障的待检RAM区替换为该备选RAM区地址,同时将该备选块的后一个作为下次备选区搜索起点;若备选RAM区自检结果不是正常,则继续在备选区里搜索,寻找自检正常的区。

每块待检RAM区大小设置为32字;数组A的数组长度指需要检测的32字长度的RAM区总块数;数组B的数组长度代表未使用可供替换的32字长度的RAM区总块数。

第三模块中,对选定的RAM区进行自检的具体步骤如下:

按照如下自检方法对选定的RAM区的32个字进行遍历,若遍历完成,则置自检结果为正常,结束自检;

自检方法为:

以字为单位,先写入0xFFFF,然后进行读操作,判断读出值是否是0xFFFF,若读出值不是0xFFFF,则记为故障,结束自检;若读出值是0xFFFF,则再写入0x0000,然后进行读操作,判断读出值是否是0x0000,若读出值不是0x0000,则记为故障,结束自检;若读出值是0x0000,则继续对下一个字进行自检操作;

对备选的RAM区从搜索起点开始进行自检的具体步骤如下:

按照如下自检方法对备选的RAM区32个字进行遍历,若遍历完成,则置自检结果为正常,结束自检;

自检方法为:以字为单位,先写入0xFFFF,然后进行读操作,判断读出值是否是0xFFFF,若读出值不是0xFFFF,则记为故障,结束自检;若读出值是0xFFFF,则再写入0x0000,然后进行读操作,判断读出值是否是0x0000,若读出值不是0x0000,则记为故障,结束自检;若读出值是0x0000,则继续对下一个字进行自检操作。

实施例:

如图1,一种基于RAM自检的1553B总线远程终端故障检测及处理方法,包括步骤如下:

步骤1、待检RAM是以数组形式配置,记为数组A。数组元素是从所有使用的RAM区中,依据用户需求选出需要检测的各块RAM区首地址。每块RAM区大小一般设计为32字。RAM区检测就是依次对以数组元素里的RAM区首地址开始的32字内存范围进行检测。数组A长度就是需要检测的32字长度的RAM区总块数;

步骤2、根据系统资源,配置备选RAM区数组,记为数组B。数组元素是系统还未使用可供替换的各块RAM区首地址,每块RAM区大小应与待检RAM区的元素大小一致,一般也为32字。数组长度代表未使用可供替换的32字长度的RAM区总块数;

步骤3、对待检RAM区逐个进行RAM区自检,若全部都完成了自检,转步骤8,否则转步骤4;

步骤4、对选定的RAM区进行自检,具体步骤见图2:

按照如下自检方法,对RAM区32个字进行遍历,若遍历完成,则置自检结果为正常,结束自检;

自检方法为:以字为单位,先写入0xFFFF,然后进行读操作,判断读出值是否是0xFFFF,若不是,则记为故障,结束自检;若是,则再写入0x0000,然后进行读操作,判断读出值是否是0x0000,若不是,则记为故障,结束自检;若是,则继续对下一个字进行自检操作。

步骤5、若选定的RAM区自检结果是正常,则转步骤3,继续对下一个RAM区进行检测判断,否则转步骤6,进行备选RAM区检测和替换操作。

步骤6、对备选的RAM区从搜索起点(搜索起点初始值是数组第一个元素)开始进行自检,具体步骤见流程图2:

按照如下自检方法,对RAM区32个字进行遍历,,若遍历完成,则置自检结果为正常,结束自检;

自检方法为:以字为单位,先写入0xFFFF,然后进行读操作,判断读出值是否是0xFFFF,若不是,则记为故障,结束自检;若是,则再写入0x0000,然后进行读操作,判断读出值是否是0x0000,若不是,则记为故障,结束自检;若是,则继续对下一个字进行自检操作。

步骤7、若备选RAM区自检结果为正常,则将有故障的待检RAM区替换为该备选RAM区地址,同时将该备选块的后一个作为下次备选区搜索起点;若不是正常,则继续在备选区里搜索,寻找自检正常的区;

步骤8、方法结束。

本发明未详细说明部分属于本领域技术人员公知技术。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号