, ,
(1.上海交通大学 电子与通信工程学院,上海 200240; 2.上海卫星工程研究所,上海 200240)
随着近年来航天产业的不断发展,商业卫星发射的爆发式的增长,按照传统3~5年的大卫星的研发周期不能满足商业航天的业务需求。宇航级的器件受到禁运、供货周期长,并且价格昂贵等特点限制,是影响商业航天公司对卫星成本和风险控制的主要因素,因此采用商业现货(COTS)器件替代宇航级器件成为了商业航天公司发展的一个主要方向。但是COTS器件通常不能直接在空间应用上直接使用,需要利用三模冗余(TMR)技术或者其他冗余措施来避免空间效应引起的故障,而通常该类冗余措施使系统设计复杂化,增加了额外的开发成本,引入了新的技术风险。
本文综合对比了国内外一般COTS器件的星载计算机设计模式。考虑到商业卫星在空间实际工作环境,如大部分商业卫星为低轨观测或通讯卫星,设计寿命较短,以及星载业务处理能力的需求不断提高,提出了一种基于COTS器件的高费效比商业卫星计算机。该计算机平台根据商业卫星运行环境的特点,合理的选用冗余加固措施,在保证星载计算机平台运行安全可靠的同时,不复杂化系统设计,提高了卫星的星载业务处理能力,满足商业卫星空间工作安全性、可靠性和星载业务扩展的需求。
目前商业卫星公司对卫星产品的设计模式还是在摸索阶段,发射的卫星大多为工作在100~1 000 km 的低轨地球观察卫星或者商业通讯卫星。一般空间辐射环境中会引发器件产生故障的主要有辐射累积的总剂量效应(TID)和单粒子事件(SEE)。在这个轨道上辐射总剂量引起的故障不严重,约为1~2 rad(Si)/天,一般器件耐辐射剂量在5 krad(Si)以上[4],考虑到贴铅皮和卫星结构等屏蔽措施,总剂量指标满足大部分商业卫星的寿命要求,所以对于低轨卫星来说引发故障的主要原因是由高能带电粒子造成的单粒子翻转。受单粒子翻转影响最大的是大规模逻辑处理芯片和存储器件,有针对性的对COTS器件实行板级和系统级的冗余加固措施可以有效的避免单粒子引起的功能中断。
图1 SCS750板计算机体系框图
图1是美国MAXWELL公司的SCS750单板计算机的系统结构框图,该设计综合了芯片TMR的三模冗余技术、指令同步技术和EDAC技术,选用3个IBM的PowerPC750Fx,通过表决机制输出计算结果,并且使用EDAC技术保护存储系统,在检测到3个处理器输出结果不一致的时候,通过程序s的回卷,再重新同步,继续执行,SC750在保证处理器在轨运行可靠性的同时,处理能力达到了1 800 MIPS[1]。
图2 “4DSP+FPGA”体系框图
图2是以高可靠的并行星载计算机任务为需求,构建了“4DSP+FPGA”的多处理器并行星载计算机体系结构,提出了运行一种“3+1”(3并行1备份)的工作模式,可以将出错的处理器进行替换提升了系统的可靠性,同时利用了DSP快速、丰富的对外接口实现多处理器的数据信息交互,以保证计算机的高性能需求[2,10]。
图3 基于三模冗余通用计算机体系框图
图3同样为针对低成本高可靠商用小卫星方案给出的基于三模冗余的微纳卫星通用计算机平台,FPGA根据每次收到的CPU的最新状态后进行更新,仲裁模块根据3个SPI数据冗余交换区的数据进行三取二判断,将判决结果告知各CPU,各CPU依据判决结果,判断自己是否为当班计算机[3]。片外存储芯片为了减少面积和FPGA的设计复杂度,选用了自带EDAC的SRAM器件。
由于受到COTS器件等级的限制,大多数COTS没有芯片级的抗辐射设计和辐射指标,采用系统级的多核或多处理器冗余设计,可以有效的弥补COTS器件在宇航应用中可靠性上的缺陷。但是多核或多处理器的冗余加固设计需要在同步点比对处理器的输出结果[1-2],多点的分布式同步设计增加了系统调试和故障分析的复杂性,引入了额外的技术风险。
一般将产生的故障分为两类:一类是可检测故障,在产生故障后进入故障处理现场,进行故障处理和隔离,避免故障进一步传播;第二类是产生不可检测故障,程序继续执行,故障传播直至卫星平台崩溃。第二类故障几乎是灾难性的,在选用COTS器件或组件进行计算机系统设计的时候,需要尽可能的避免第二类故障的发生。
对计算机系统内各个功能模块进行分类,大致可分为:处理器模块、存储器模块、接口通讯模块、运行保障模块。
1)处理器模块可以通过关键器件三模冗余的策略,检测关键器输出的结果,当检测结果不一致,进入到故障处理模式,或采用单粒子免疫的反熔丝器件。
2)存储器模块的单粒子翻转故障可以通过软硬件的EDAC技术降低发生功能中断故障的概率,或者选用单粒子免疫的磁性随机存储器(MRAM)。
3)接口通讯模块的故障依赖通讯协议来保障,当通讯中发生校验错误或超时响应,通过重新请求数据或者编码还原原始数据。
4)运行保障模块故障,一般不能被本板计算机检测,只能通过切机操作,切换到备用计算机运行,断电复位故障机器。
综合考虑计算机系统的运算性能、可扩展性、可靠性和可测试性,选用了汽车级的双核锁步处理器作为核心处理芯片。片外存储器为了简化FPGA和PCB板的设计,选用单粒子免疫的磁性随机存储器(MRAM)。MRAM掉电不易失,可以作为掉电复位后的重要数据备份区,并且有和SRAM一样的访问速度。使用单粒子免疫的反熔丝器件FPGA作功能接口和CPCI总线的扩展,在FPGA内对关键寄存器和内部RAM做TMR和EDAC,计算机系统框图如图4所示。
图4 基于COTS器件商业卫星计算机系统框图
主处理器选用TMS570LS3137为内嵌Cortex-R4F带有浮点运算的微处理器,该芯片运行再180 Mhz主频下,处理性能高达298 MIPS。TMS570LS3137器件是一款用于安全系统的高性能汽车级系列微控制器。此安全架构包括:以Lock-Step(锁步模式)运行的双核CPU和3 MB带EDAC的内置FLASH和256KB带EDAC内嵌SRAM。 针对商业低轨卫星,高能带电粒子引起的单粒子效应是引起卫星故障的主要因素,内嵌EDAC技术的FLASH和SRAM有效降低了单粒子效应引起的功能中断和不可检测故障的概率。
图5 TMS570双核锁步模式框图
图5为TMS570的双核锁步运行模式框图。检测芯片和主芯片分别前后延迟两个时钟周期以后,在比较模块中进行输出比对,若发生比对错误进入到故障处理模式中,避免故障继续传播。双核锁步的这种方式不仅可以减少板级系统设计的额外开销,编程模型和单核的一致,简化了开发模型,但是这种检测方式只存在CPU与外部总线之间,外部资源无法检检测[5]。因此片外存储器选用单粒子免疫掉电不易失的MRAM器件,并且TMS570片内的存储器件采用EDAC进行数据冗余,确保卫星系统的正常运行。
eCos是一款面向深度嵌入式应用的开源实时操作系统(RTOS)。它已被部署在各种各样的市场和设备上,在空间应用和地面终端上有较多的应用案例。2011年5月,“奋进号”航天飞机于2011年5月16日成功发射,并将Alpha磁谱仪(AMS)宇宙线探测器运送到国际空间站中,其中作为主数据采集的四冗余计算机采用了eCos做为操作系统[6]。Thrane公司的Sailor mini-C海事卫星终端采用了eCos操作系统负责舰载安全,导航和星地网络一体化通信系统。功能包括遇险警报和消息,电子邮件,传真,GPS位置调查报告和记录[7]。
图6是TMS570的地址映射表。在软件开发中,eCos将任务主要分为两部分:星上业务任务,包含了数管业务和姿轨控业务;运行可靠保障任务,运行可靠保障任务为低优先级的背景任务,主要负责遍历读取存储器的各地址段和对重要数据进行自主的冗余备份。运行可靠保障任务遍历读取片内FLASH地址段0x20000000~0x202FFFFF,片内SRAM地址段0x08000000~0x083FFFFF,如果发生单比特为位的单粒子错误,则产生单比特中断,由软件回写正确数据。若发生多比特中断,复位当前机,若功能仍异常,则将控制权交给备份机器,以免故障影响范围扩大。运行可靠保障任务还对重要关键数据自主的备份到0x6400000地址段,该地址段为MRAM映射地址段。
图6 TMS570地址映射表
TMS570无法配置成从片外PROM启动,并且程序空间位于片内FLASH,若片内FLASH发生单粒子翻转则会产生不可恢复故障。因此针对片内用于存储程序段的FLASH进行分析。FLASH的翻转以FLASH K9XXG08UXA系列为参考,单粒子效应试验在线性能量传递值小于时,没有发现单粒子锁定现象,空间辐射环境采用ADAMS 90%最坏情况模型,太阳同步轨道高度965 Km,单粒子翻转错误发生概率大约为[8]。K9XXG08UXA1以8 Gbit为例,可知单比特翻转概率为,TMS570片内FLASH为3MByte,同时在一个编码区里面发生两位比特位的翻转才会发生不可恢复的单粒子功能中断,因此发生两位或两位以上的不可恢复故障概率为。
f(x)=P2×Q
(1)
式中,P是器件单比特翻转概率,Q是EDAC编码后的逻辑字节大小(即 8 bit+编码区比特)。同样的,在这个轨道上SRAM约为,DRAM约为[4],TMS570片内SRAM为256 KB,则发生两位或两位以上不可恢复的概率为。TMS570在双核互锁模式只有两个CPU输出相同才会输出,在发生单粒子翻转并且双核输出一致的概率很小,认为不会发生,因此满足低轨商业卫星的实际生产要求。
由2.4的论证可知,存储器采用EDAC技术或采用单粒子免疫的MRAM器件进行加固,安全性和可靠性均能满足低轨卫星的运行环境的要求,而直接对处理器进行三模冗余加固受到工艺的限制,比较困难,因此影响商业计算机系统安全的主要是由单粒子翻转引起的处理器内部寄存器的跳变导致的PC指针错误跳转、错误地址操作等。通常处理器的加固方案是通过多核或多处理器冗余备份和自检,进行故障隔离和快速恢复。
2.5.1 指令同步三模冗余(TMR)星载计算机
以SCS750单板计算机是指令同步的三模冗余星载计算机,其故障现场处理流程如图,当检测到单粒子翻转以后,三态隔离故障处理器,通过TMR技术保存正确数据到有EDAC加固的存储器中,回写正确数据到故障处理器中,重新同步3个微处理器。SCS750片外存储区同样采用EDAC技术加固措施。运行在LEO和GEO轨道,单板发生不可检测的单粒子故障概率约为,故障恢复时间为1 ms[9]。该设计方案为三核指令同步运行,对于软件设计来说屏蔽了底层多核的故障隔离和备份操作(由FPGA完成),可以基本继承单核的开发模式,操作系统移植也较为简单,但是FPGA基于60x的三核锁步运行实现比较困难。PowerPC的性能高但是功耗大,以国微SM750为例,单核处理器运行在150 Mhz情况下,功耗约为5 W,则推算三核冗余方案为15 W。
图7 SCS750单板计算机故障处理示意图
2.5.2 任务同步多处理器星载计算机
多处理器星载计算机通过约定同步点来达到功能模块或者任务的同步,载同步点进行输出结果比对和恢复点。以多处理器大规模星载计算机为例,工作在“3+1”模式下,备份DSP根据各个DSP历史运行数据进行判断,然后对某个运行DSP进行备份,DSP运行的时候通过设置“比较点”和“比较队列”,并且对处理的任务进行“处理进度备份”和快速“恢复站”技术,通过比较“比较队列”的输出结果,最优情况可以在出现问题以后,在比较点无缝衔接,但是最差情况需要等待故障处理器重启,恢复到比较点继续运行[10]。该计算机系统的故障恢复性能对插入“比较点”的位置选择和如何选择任务模块的划分依赖很大,软件设计模式和计算机系统设计的耦合度较高,增加了额外的设计成本和风险。
2.5.3 指令同步双核互锁星载计算机
双核Lock-Step处理器同样屏蔽了底层多核故障隔离的操作,同样继承了单核软件的开发模式。但是双核Lock-Step处理器为指令同步自检输出,没有故障恢复功能,因此在出现问题后直接进入到故障处理入口,进行复位操作或者其他故障隔离措施,图8是双核Lock-Step处理器的故障处理流程。
图8 双核互锁处理器故障处理流程
由表1可以看到,双核Lock-Step处理器星载计算机优点是可以继承单核的开发模式,相比任务同步的多处理器开发模型简单,并且没有额外的软件故障处理开销,298 MIPS的处理性能和的不可测故障发生概率,已经可以满足大部分商业卫卫星处理平台的要求。缺点是相比指令同步的三模冗余计算机在处理器发生故障以后,只能进行故障隔离重启恢复计算机,因此在设计系统软件的时候需要控制处理器的启动时间。
表1 3种星载计算机设计模式比较
基于COTS器件的高费效比商业卫星计算机有着高可靠、高性能、低成本快速研发等优势,适合空间科学实验和新技术的空间应用演示,分布式空间任务的部署和快速侦查等应用。图9为基于COTS器件的高费效比商业卫星计算机,其中硬件设计方案已经应用在“和德一号”商用AIS(船舶自动识别)海事卫星上,该卫星于2017年11月15日在中国太原卫星发射中心由长征四号丙运载火箭成功发射并顺利进入预定轨道,目前卫星各项技术指标正常,任务顺利展开。
图9 基于COTS器件商业卫星计算机平台
本文针对商业卫星计算机的发展,提出了一种基于COTS器件的高费效比的商业卫星计算机,通过采用EDAC技术、选用单粒子免疫的器件和基于双核Lock-Step处理器,通过推论分析满足一般商业低轨卫星的工作环境要求。该系统基于COTS器件开发,利用双核互锁处理器单核开发模型的优势,在保证系统可靠性前提下,不增加系统的复杂度,并提升了星载数据的处理能力,降低了卫星研发成本。计算机系统已经在“和德一号” 上验证,系统安全可靠,并且在空间科学实验、分布式空间任务部署和快速侦查等领域中具有良好的应用前景。