基于COTS器件的异构星载容错计算机
技术领域
本发明涉及一种基于COTS器件的异构星载容错计算机,适用于空间容错计算机技术领域。
背景技术
随着航天技术的快速发展,微小卫星技术逐渐成熟并应用到通讯、对地成像、空间探测等航天任务。基于COTS(Commercial Off The Shelf)器件为主的低成本微小卫星技术也成为国内外研究机构尤其是高校的热门研究领域。对商用器件采取特殊的防护和加固技术,可以大大降低了空间应用的成本和研制周期。与传统的大、中型卫星不同,微小卫星平台功能和结构简单,具有小体积、低功耗和低成本等特点,并要求星载计算机具有较高的数据处理性能、容错纠错能力、抗辐照性能、可靠性和实时性。应用嵌入式技术进行星上软、硬件的一体化设计,可以将星务管理和数据处理功能集成在高性能星载计算机上,从而大大简化星载电子系统的复杂性。
以ARM为内核的32位RSIC处理器以其良好的性能广泛地应用于汽车电子、移动通讯等民用商业领域。ARM嵌入式处理器具有丰富的片上资源和灵活的总线接口,能够很好地满足微小卫星对星载计算机高性能和低功耗的要求。但考虑到航天器飞行任务高投入、高风险以及不可维护性,要求星载电子系统能够在任务寿命期间内稳定、可靠地工作,在故障情况下应能够自动恢复或降级运行。因此,星载计算机必须考虑故障容错设计。
发明内容
本发明的目的在于提供一种基于COTS器件的异构星载容错计算机,解决星上基本的数据采集、处理和传输功能,用双机冷备份的方法提高系统的可靠性,以满足星载计算机高性能、低成本和低功耗的要求。
本发明是一种应用于微小卫星的基于COTS器件的异构星载容错计算机,至少包括双备份星务单机模块、仲裁电路模块和监控计算机模块三部分;其中,双备份星务单机模块是由两个硬件完全相同的星务单机组成,星务单机包括核心处理器LPC2294和外部接口电路;仲裁电路模块包括片外看门狗和三极管控制电路;监控计算机模块包括核心处理器ATMeg128和外部接口电路;两个星务单机和监控计算机都有接口连接到外部设备;在正常情况下,只有一个星务单机模块上电工作,接收外部设备输入信号并进行处理,由仲裁电路自主选择星务单机工作;如果两个星务单机全部失效,则由监控计算机接替工作。
所述的基于COTS器件的异构星载容错计算机,其特征在于:所述的双备份星务单机模块,作为整个系统的核心,均由LPC2294处理器和外部接口电路组成:具体如下:
利用三个外部存储器接口扩展了片外SRAM、FLASH及EEPROM,为方便调试,各组外部存储器地址可通过跳线选择;
片上的2路UART扩展为4路UART和一路RS422接口,UART分别与磁强计、GPS接收机和PC机通讯,一路RS422与测控应答机通过其自带的RS422接口通讯;
由MAX1031外扩的32路10位ADC和LPC2294片上2路10位的ADC,使星上具备34路AD采集通道;
利用片上的CAN1、CAN2接口作为主、备份CAN控制器分别与监控计算机模块、有效载荷和测控应答机各自所带的两路CAN总线组成多节点CAN网络;其中监控计算机通过两路CAN总线分别与上述CAN总线网络相连,有效载荷由带有两路CAN接口的基于FPGA的图像处理板和相机构成,用来完成空间成像任务,同样分别连接到CAN总线网络上;测控应答机除可以通过RS422接口通讯外,同时带有两路CAN总线接口分别连接在上述CAN总线网络上;
利用片上RTC时钟模块,提供星上时间、时间增量中断和报警中断,能够通过GPS信号或遥控指令进行校时;
通过GPIO扩展了16路IO输入通道和22路OC输出通道,分别用来检测设备的电源开关状态和连接到用于控制设备电源的磁保持继电器;
利用片上的看门狗模块,使星务单机具有看门狗复位功能;
利用片上的功率控制器,使星务单机能够实现最低功耗。
其中,所述的仲裁电路模块由片外看门狗和三极管控制电路构成,双备份星务单机通过特定的IO输出分别对各自的片外看门狗执行喂狗操作,三极管控制电路则根据双机对应的片外看门狗溢出状况判断并选定双机的当班权,通过操纵用于控制双机电源的磁保持继电器来完成双机切换工作;
其中,监控计算机模块以ATmeg128处理器为核心,具有部分通讯和控制功能;监控计算机通过IO口连接到仲裁电路的看门狗输出,通过读取其电平状态可以监测仲裁电路的工作状态,通过CAN总线可以监测测控应答机与星务单机之间的数据通信;当监控计算机检测到CAN总线网络上的测控应答机与星务单机之间超时无数据通信时,则判定星务单机已失效;监控计算机将替代星务单机通过CAN总线与测控应答机进行通讯,能够接收部分上行遥控指令,对星上的设备进行强制性的电源管理操作。
其中,为防止系统短路导致整星设备失效,在各个设备的电源入口出都采用MAX471芯片进行电流测量和MAX890芯片进行限流保护,以实现故障的检测和隔离。MAX471将入口电流数值换为电压数值,可供星务单机进行AD采集。星务单机对该采集的数据进行判断,如果数据异常,则关闭该设备的电源。设备的入口电流流经MAX890芯片,一旦电流超过阈值,MAX890芯片将自动关闭电源。两种保护措施将较好地实现故障检测和故障隔离的功能。
本发明是一种基于COTS器件的异构高性能星载容错计算机系统,其优点及功效在于:利用商用高性能嵌入式处理器LPC2294,具有较快的数据处理能力和较低的成本;充分利用嵌入式处理器的片上资源,使单机模块外围器件少、功耗低、结构简单;采用双机冗余和故障检测分析技术,提高了星载计算机系统的可靠性和工作寿命。
附图说明
图1异构星载容错计算机系统结构图
图2双冗余星务单机模块的功能框图
图3双机冗余冷备份工作状态图
图4入口电流测量和过流保护电路原理图
图5在轨程序注入原理框图
图6监控电路硬件原理框图
图7仲裁电路中A机片外看门狗硬件原理图
图8仲裁电路中B机片外看门狗硬件原理图
图9仲裁电路中三极管控制电路硬件原理图
具体实施方式
下面结合附图,对本发明的技术方案做进一步的说明。
本发明一种基于COTS器件的异构星载容错计算机,用双备份星务单机模块、仲裁电路模块和监控计算机模块构成了高性能的双机冗余热备份星载计算机系统,实现了星上设备的自主管理、通讯、故障检测和处功能。下面参照附图进行具体说明:
参见图1,本发明是一种基于COTS器件的异构星载容错计算机,包括双备份星务单机模块、仲裁电路模块和监控计算机模块等三部分;其中,双备份星务单机模块是由两个硬件完全相同的星务单机组成,星务单机由核心处理器LPC2294和外部接口电路构成;仲裁电路模块由片外看门狗和三极管控制电路构成;系统上电后两个星务单机会同时打开,其中一个星务单机会通过输出电源控制信号将另一个星务机关掉,这样只有一个星务单机正常工作,如果其出错之后,看门狗喂狗信号会失效,仲裁电路便会将另一个星务单机打开,自动完成双备份星务单机的切换。
参见图2,所述的主星务单机及备份星务单机,作为整个系统的核心,均由LPC2294处理器和接口电路组成:具体如下:利用三个外部存储器接口(EMC)扩展了4MB片外SRAM,8MB FLASH,256KB EEPROM。各组外部存储器地址可通过跳线选择;利用片上的UART1扩展了4路RS232接口分别与磁强计、GPS接收机和PC机通讯,UART0转换为1路RS422与测控应答机通讯;通过SPI0和Max1031芯片扩展了32路10位片外ADC采集通道,并利用片上2路10位ADC通道,使星上具备34路AD采集通道;
利用片上的CAN1、CAN2接口作为主、备份CAN控制器分别与监控计算机模块、有效载荷和测控应答机各自所带的两路CAN总线组成多节点CAN网络;其中监控计算机通过两路CAN总线分别与上述CAN总线网络相连,有效载荷由带有两路CAN接口的基于FPGA的图像处理板和相机构成,用来完成空间成像任务,同样分别连接到CAN总线网络上;测控应答机除可以通过RS422接口通讯外,同时带有两路CAN总线接口分别连接在上述CAN总线网络上。利用片上RTC时钟模块,提供星上时间、时间增量中断和报警中断,能够通过GPS信号或遥控指令进行校时;通过GPIO扩展了16路IO输入通道和22路OC输出通道,分别用来检测设备的电源开关状态和连接到用于控制设备电源的磁保持继电器;利用片上的看门狗模块,使星务单机具有看门狗复位功能;利用片上的功率控制器使星务单机能够实现最低功耗。
本发明具体工作过程如下:
1、正常工作时,双机向仲裁电路的看门狗电路发送喂狗脉冲信号,仲裁电路能根据看门狗是否溢出判断双机的工作状况。系统默认主机为有效输出,如果主机失效,仲裁电路选择备机作为系统的输出对设备进行控制。
2、主、备机可以通过CAN总线向监控计算机发送工作状态信息(以下简称心跳信号)。如果监控计算机超时没有接收到当班机的心跳信号,并检测到双机切换10次以上,则判定双机已经失效,将其电源关闭并接管星上工作。
参见图3,根据两台星载计算机的工作状态,系统可以分为主机当班、备机当班和监控计算机当班三个状态,图3中描述了其工作状态切换的过程和条件。其中系统上电后主机与备机均为打开状态,然后主机尝试关掉备机,如果失败,则备机尝试关掉主机,之后便进入单机工作状态,其中一台作为冗余冷备份。如果当班单机失效,则仲裁电路检测出看门狗失败后会自动切换到另一台单机,仲裁失效则切换工作由监控计算机完成。如果双机全部失效,则在切换若干次之后监控计算机便会关闭双机,系统进入降级状态,由监控计算机接管星上工作。在降级状态下可以通过监控计算机和地面遥控指令重新打开失效计算机的电源,检测其是否为不可恢复的故障。如果失效机能通过重起恢复正常工作,则系统恢复为星务单机工作状态。若双备份星务单机和监控计算机均失效,则判定系统失效。
参见图4,为防止星上设备短路导致整星设备失效,在各个设备的电源入口处都采用MAX471芯片进行电流测量监视和MAX890芯片进行限流保护,实现故障隔离。MAX471将入口电流参数转换为电压数值,可供星务单机进行AD采集,一旦星务单机检测到电流发生异常,将关闭该设备的电源。设备的入口电流流经MAX890,一旦电流超过阈值,MAX890亦将自动关闭电源。两种限流保护措施将较好地实现故障检测和故障隔离的功能。
参见图5,利用片外的RAM、FLASH、EEPROM存储器和遥测遥控接口,可以实现星载计算机的在轨程序注入。实现过程如下:
1.首先通过遥控指令置位软件注入标志位,将系统置位安全状态,然后通过遥控指令复位主机;
2.主机复位重新起动后将检测软件注入标志位,如果无软件注入置位标志,则正常启运行EEPROM中的程序;如果有软件注入置位标志,则运行引导程序,进入接收注入程序代码的状态;
3.通过遥控通道向星上注入代码,并保存在RAM区中,代码注入完成后完成自测试过程。如果新注入代码测试不成功,则清除注入状态标志位,复位星务主机使之运行原EEPROM代码;
4.如果新注入代码测试成功,则将RAM区中的代码保存到EEPROM中,清除注入状态标志位并置位备机注入新程序的标志位。
5.重启主机,运行EEPROM中的程序,强制打开备份机电源并将主机中新的程序代码注入到备份机的RAM中。
6.备份机运行RAM中的新程序并进行自测过程,自测完成后如果成功则将程序拷贝到EERPROM中并通知主机,失败则不进行程序拷贝,直接通知主机。
7.主机接收到备份机自测状态通知后关闭备份机电源,并将结果通过遥测指令发回地面。
参见图6,监控计算机模块以ATmeg128处理器为核心,具有部分通讯和控制功能;监控计算机通过数字IO口连接到仲裁电路,IO口可以监测仲裁电路的工作状态,通过CAN总线可以监测测控应答机与星务单机之间的数据通信;当监控计算机检测到CAN总线网络上的测控应答机与星务单机之间超时无数据通信时,则判定星务单机已失效;监控计算机将替代星务单机通过CAN总线连接测控应答机与地面进行通讯,能够接收部分遥控指令,对星上的设备进行强制性的电源管理操作。监控计算机结构简单、可靠性高,能够保证星载计算机与地面最低要求的通讯功能。
参阅图7、8、9,仲裁电路模块由片外看门狗和三极管控制电路构成。图7为星务机A的片外看门狗原理图,图8为星务机B的片外看门狗原理图,图9为三极管控制电路原理图。其中Max706看门狗芯片溢出时间为1.6S,长于星务单机起动时间,如果星务单机能够自复位起动成功,则不会导致该看门狗溢出。正常喂狗时WDO端输出高电平,溢出时输出低电平。Sn54121检测到WDO出现一个下降沿之后,在Q输出端会输出一个正脉冲。在星务单机正常喂狗的情况下,三极管处于截至状态,磁保持继电器不动作。如果星务单机失效,看门狗均超时溢出,CAOB信号或者CBOA信号会产生一个正脉冲将三极管导通,从而将另一星务单机的电源强制打开,直到其中一台恢复正常喂狗。