一种基于ERC32处理器的星载软件系统,其包括异常陷阱入口、保存故障信息模块、置故障启动标识模块、故障类型判断处理模块、软复位模块、中断返回模块,当异常陷阱中断进入异常陷阱入口,调用置故障启动标志模块将故障启动标志设置成固定值,调用故障类型判断处理模块判读ERC32处理器的故障陷阱类型;如果属于不可恢复错误,则执行软复位指令重启;如果属于可恢复错误,则中断返回;软复位指令重启后跳转到主程序开始,调用读故障启动标志模块读取故障启动标志,然后调用判断故障启动标志模块对故障启动标识进行判断。本发明专利技术解决了星载软件异常发生后系统数据的保存问题,取得了提高星载软件容错能力,并能及时纠正在轨故障。
【技术实现步骤摘要】
【专利摘要】一种基于ERC32处理器的星载软件系统,其包括异常陷阱入口、保存故障信息模块、置故障启动标识模块、故障类型判断处理模块、软复位模块、中断返回模块,当异常陷阱中断进入异常陷阱入口,调用置故障启动标志模块将故障启动标志设置成固定值,调用故障类型判断处理模块判读ERC32处理器的故障陷阱类型;如果属于不可恢复错误,则执行软复位指令重启;如果属于可恢复错误,则中断返回;软复位指令重启后跳转到主程序开始,调用读故障启动标志模块读取故障启动标志,然后调用判断故障启动标志模块对故障启动标识进行判断。本专利技术解决了星载软件异常发生后系统数据的保存问题,取得了提高星载软件容错能力,并能及时纠正在轨故障。【专利说明】—种基于ERC32处理器的星载软件系统及其重入方法
本专利技术涉及星载软件系统,特别是一种基于ERC32处理器的星载软件系统及其重入方法。
技术介绍
星载软件在空间环境中在轨运行时,由于存在高能粒子辐射、真空、原子氧以及大温差等因素,可能导致处理器出现各类异常,在这种情况下,应用ERC32处理器的星载软件对于这些异常要采取分类的适当处理,使系统恢复正常运行。ERC32处理器包括一个整数单元(IU)、浮点单元(FPU)、一个存储控制器和一个DMA控制器,对实时应用来说,TSC695提供一个高安全性的看门狗计时器、2个定时器和一个中断控制器、并行/串行通讯接口,可以选用内部/外部总线的奇偶校验和EDAC校验的措施进行检错、纠错。ERC32处理器有丰富的异常陷阱处理机制,最多可支持256个同步陷阱及异步中断,软件可通过内部寄存器TBR读取tt字段获取故障类型,根据处理器的技术特点,对于这些故障的处理可以分为两大类: (1)可恢复错误,采取中断返回重入系统; (2)不可恢复错误,需要采取重新启动才可以重入系统。这样就涉及软件在启动代码段需要判断软件复位的原因,以判断复位是由于星箭分离或冷机转热机引起的上电复位,还是由于故障引起的软件复位,由于姿轨控应用软件需要保持故障前姿态控制状态,大部分变量,如时钟、姿态角度、角速度都不能清零,而应根据判断结果采取相应处理,上电初始化时必须全部清零,但在故障情况下,这类变量的值需要保留,不作初始化清零,而执行三取二恢复操作。目前在轨运行及在研的基于ERC32处理器的星载软件主要采取直接复位重入系统的方法,但这样不能区分上电初始化和故障初始化,由于所有的变量被清零,姿态控制软件需要从初态对日定向或者全姿态捕获的方式重新建立控制状态,造成姿态控制的不连续性,带来系统的不稳定的安全隐患。
技术实现思路
本专利技术提供了一种基于ERC32处理器的星载软件系统,其特征在于,包括顺序连接的异常陷阱入口、保存故障信息模块、置故障启动标识模块、故障类型判断处理模块、软复位模块、中断返回模块、读取故障启动标识模块、判断故障启动标识模块, 所述异常陷阱入口为异常陷阱中断提供进入ERC32处理器中的入口,所述保存故障信息模块用于将ERC32处理器故障前中断现场保存到指定内存单元,所述置故障启动标志模块用于将故障启动标志设置成固定值,所述故障类型判断处理模块用于判断ERC32处理器的故障陷阱类型,如果所述故障陷阱类型属于不可恢复错误,则所述软复位模块执行软复位指令重启;如果属于可恢复错误,则终端返回模块执行中断返回; 所述软复位模块执行软复位指令后跳转到主程序开始,其中所述读故障启动标志模块用于读取故障启动标志,所述判断故障启动标志模块用于对故障启动标识进行判断,如果故障启动标志指示是上电硬复位,则调用上电初始化模块对所有RAM和IO进行初始化,否则调用故障初始化,仅对少数关键数据进行三取二维护操作。较佳地,所述异常陷阱中断包括ERC32定义的可屏蔽硬件错误、堆栈溢出、内存访问保护、总线错误、浮点单元错误、非法请求错误和应用程序异常。较佳地,所述故障启动标识为内存单元或硬件提供的寄存器,其上电时由硬件初始化为零。较佳地,故障启动标志至少需要三模冗余存储,读取故障启动标志时需要作三取二多数表决。较佳地,故障启动标志表不故障状态的固定值的选取必须含有超过3位的I。较佳地,故障类型判断模块判断的故障类型取自ERC32处理器内部的TBR寄存器中陷阱类型字段。较佳地,可恢复故障类型包括陷阱类型为0x61的可重启精确错误和陷阱类型为0x63的可重启延迟错误以及陷阱类型为8,浮点陷阱类型为6的浮点可恢复错误,其类型全为不可恢复故障类型。较佳地,所述可重启精确错误作直接中断返回处理,所述可重启延迟错误将nPC设置为PC,PC减4,然后再作中断返回处理,所述浮点可恢复错误清除浮点队列寄存器FQ后作中断返回处理。本专利技术还提供了一种基于ERC32处理器的星载软件系统重入方法,其 提供异常陷阱入口、保存故障信息模块、置故障启动标识模块、故障类型判断处理模块、软复位模块、终端返回模块、读取故障启动标识模块、判断故障启动标识模块; 当计算机故障触发异常陷阱中断进入异常陷阱入口,调用故障信息模块,将ERC32处理器故障前中断现场保存到指定内存单元,调用置故障启动标志模块将故障启动标志设置成固定值,调用故障类型判断处理模块判读ERC32处理器的故障陷阱类型;如果属于不可恢复错误,则执行软复位指令重启;如果属于可恢复错误,则中断返回; 软复位指令重启后跳转到主程序开始,调用读故障启动标志模块读取故障启动标志,然后调用判断故障启动标志模块对故障启动标识进行判断,如果是故障启动标志指示是上电硬复位,则调用上电初始化模块对所有RAM和IO进行初始化,否则调用故障初始化,仅对少数关键数据进行三取二维护操作。本专利技术解决了星载软件异常发生后系统数据的保存问题,取得了提高星载软件容错能力,及时纠正在轨故障等有益效果。当然,实施本专利技术的任一产品并不一定需要同时达到以上所述的所有优点。【专利附图】【附图说明】图1为本专利技术实施例提供的星载软件系统重入方法流程图; 图2是本专利技术实施例中实现异常陷阱中断处理的流程图; 图3是本专利技术实施例中实现主程序故障状态判断和初始化重入的流程图。具体实施例本实施例提供了一种基于ERC32处理器的星载软件系统,其包括顺序连接的异常陷阱入口、保存故障信息模块、置故障启动标识模块、故障类型判断处理模块、软复位模块、中断返回模块、读取故障启动标识模块、判断故障启动标识模块, 所述异常陷阱入口为异常陷阱中断提供进入ERC32处理器中的入口,所述保存故障信息模块用于将ERC32处理器故障前中断现场保存到指定内存单元,所述置故障启动标志模块用于将故障启动标志设置成固定值,所述故障类型判断处理模块用于判断ERC32处理器的故障陷阱类型,如果所述故障陷阱类型属于不可恢复错误,则所述软复位模块执行软复位指令重启;如果属于可恢复错误,则终端返回模块执行中断返回; 所述软复位模块执行软复位指令后跳转到主程序开始,其中所述读故障启动标志模块用于读取故障启动标志,所述判断故障启动标志模块用于对故障启动标识进行判断,如果故障启动标志指示是上电硬复位,则调用上电初始化模块对所有RAM和IO进行初始化,否则调用故障初始化,仅对少数关键数据进行三取二维护操作。其中所述异常陷阱中断包括ERC32定义的可屏蔽硬件错误、堆栈本文档来自技高网...
【技术保护点】
一种基于ERC32处理器的星载软件系统,其特征在于,包括顺序连接的异常陷阱入口、保存故障信息模块、置故障启动标识模块、故障类型判断处理模块、软复位模块、中断返回模块、读取故障启动标识模块、判断故障启动标识模块;所述异常陷阱入口为异常陷阱中断提供进入ERC32处理器中的入口,所述保存故障信息模块用于将ERC32处理器故障前中断现场保存到指定内存单元,所述置故障启动标志模块用于将故障启动标志设置成固定值,所述故障类型判断处理模块用于判断ERC32处理器的故障陷阱类型,如果所述故障陷阱类型属于不可恢复错误,则所述软复位模块执行软复位指令重启,如果属于可恢复错误,则终端返回模块执行中断返回;所述软复位模块执行软复位指令后跳转到主程序开始,所述读故障启动标志模块用于读取故障启动标志,所述判断故障启动标志模块用于对故障启动标识进行判断,如果故障启动标志指示是上电硬复位,则调用上电初始化模块对所有RAM和IO进行初始化,否则调用故障初始化,仅对少数关键数据进行三取二维护操作。
【技术特征摘要】
【专利技术属性】
技术研发人员:朱琦,
申请(专利权)人:上海航天测控通信研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。