技术领域
[0001] 本
发明涉及宇航计算机技术领域,具体涉及一种多备份启动的宇航计算机系统价以及安全启动方法。
背景技术
[0002] 宇航用
电子计算机
硬件架构通常由CPU、非易失性
存储器芯片、RAM、FPGA、上电复位和其他外设组成。图1示出了宇航计算机的组成结构
框图。
[0003] 其中
非易失性存储器通常用于存储启动程序和应用程序。启动程序通常包括存储系统初始化设置、系统基本维护和应用程序搬移。应用程序通常存储
操作系统或者用户程序。系统的
中央处理器CPU上电后,首先运行启动程序,启动程序中先后运行系统初始化设置、系统基本维护和应用程序搬移。程序搬移操作将应用程序搬移到内存当中,并设置
指针跳转到程序入口,执行应用程序。
[0004] 系统上电后首先运行启动程序,如果启动程序异常,将无法执行应用程序搬移和跳转等操作,系统最终无法运行。由于启动程序中存有系统维护程序,当系统运行异常时,通过系统维护程序执行程序上注功能,更新操作系统或者用户程序,以修补系统漏洞,维护系统运行。所以启动程序的
软件和硬件上设计的可靠性,对星上嵌入式产品的可靠性运行尤为重要。
[0005] 启动程序硬件设计上用的芯片,多使用抗空间环境能
力较强的PROM芯片,如UT28F256或者HS1-6664RH-Q。此类芯片虽然抗空间环境能力强、可靠性高,但长时间面临芯片禁运、供货周期长、价格过高等因素影响,长期以来制约宇航用
嵌入式计算机研制和生产。
[0006] 当前,UT28F256和HS1-6664RH-Q两款芯片国外已经禁运,目前各个单位使用的这两种芯片都为库存产品,并且芯片价格居高不下。UT28F256单片芯片的价格达到了16万,HS1-6664RH-Q单片芯片价格高达7万元。当前国内几个研究机构正在加紧研制UT28F256和HS1-6664RH-Q的替代品,但仍然没有大面积应用。
[0007] 上述类型的PROM芯片均为需要落焊的熔丝性质的PROM芯片,在使用过程中,均需要使用程序烧写器,将程序
固化到芯片中,程序固化完成后,程序将无法更改。如果在后期调试过程中发现程序错误,芯片需要从印制板解焊下来,将新烧录程序的芯片重新焊装到印制板上,做调试和测试。芯片解焊和焊装过程中,需要承担一定的焊装
风险。在焊装操作过程中,将会导致印制板焊盘
变形、破损甚至脱落等损伤。依据宇航飞行类电子产品焊装要求,同一个焊盘焊装次数需少于3次。
[0008] 芯片重新焊装后,带来的后续工作时间较长,流程繁琐,涉及到工作环节和人员较多。按照科研生产流程,PROM芯片需要专业人员将程序烧录到芯片中。程序烧录完成并确认程序正确后,需要专人对芯片引脚成型并
应力释放24小时。产品如果已经三防固封处理,焊装人员在解焊前需要对芯片去三防固封等操作。芯片焊装完成后,需要
对焊装芯片做三防固封处理。后续还要产品重新组装、合盖、环境试验(包含振动试验、热
真空和热循环试验等试验项目)等一系列工作。单台产品全流程完成花费的时间成本至少为15天。
[0009] 若采用普通的星上使用的EEPROM或者FLASH芯片直接替代上述需要落焊的熔丝性质的PROM芯片,则无法满足宇航计算机的安全启动方面对可靠性,如何在不降低系统可靠性的
基础上,采用可用性和易用性较强的芯片来实现宇航计算机的安全启动是目前亟待解决的问题。
发明内容
[0010] 有鉴于此,本发明提供了一种多备份启动的宇航计算机系统及安全启动方法,能够在不降低系统可靠性的基础上,采用可用性和易用性较强的芯片来实现宇航计算机的安全启动。
[0011] 一种多备份启动的宇航计算机系统,包括中央处理器、多样本存储模
块以及样本
控制器。
[0012] 中央处理器设置于宇航计算机中,配置用于控制样本控制器进行启动程序样本选择。
[0013] 多样本存储模块采用宇航用非易失性存储器,配置用于存储N备份的中央处理器的启动程序样本,N为2的整数次幂,且N≠0。
[0014] 样本控制器,配置用于在中央处理器的控制下选择中央处理器的启动程序样本,并将所选择的启动程序样本映射到中央处理器运行的首地址空间;样本控制器监视中央处理器的程序运行状态。
[0015] 中央处理器还配置用于从运行的首地址空间读取启动程序样本,运行启动程序。
[0016] 进一步地,样本控制器,包括看
门狗计数器、样本选择模块以及样本切换模块。
[0017] 中央处理器在正常运行启动程序时,周期性地向看门狗计数器发送牵狗操作
信号;中央处理器在运行启动程序异常时,不再向看门狗计数器发送牵狗操作信号。
[0018] 看门狗计数器连接中央处理器,在中央处理器的控制下计时,并周期性地接收中央处理器发来的牵狗操作信号,若在看门狗周期内未接收到牵狗操作信号,则复位中央处理器,并产生狗咬
控制信号发送给样本切换模块。
[0019] 样本选择模块连接中央处理器,读取中央处理器运行的启动程序样本编号,并进行下一启动程序样本的选择。
[0020] 样本切换模块在接收到狗咬控制信号之后,在中央处理器复位撤销之前,将样本选择模块选择的下一启动程序样本映射到中央处理器运行的首地址空间。
[0021] 进一步地,多样本存储模块包括多个不同类型的非易失性存储器,N备份的中央处理器的启动程序样本存储在多个不同类型的非易失性存储器中。
[0022] 进一步地,非易失性存储器为叠层设计的可读写非易失性存储器或者具有抗辐照能力的可读写非易失存储器;样本控制器采用FPGA芯片。
[0023] 进一步地,采用上述宇航计算机系统,该系统的启动流程具体为:
[0024] S1、中央处理器上电复位,在复位撤销前,样本切换模块将预先设置的启动程序样本映射到中央处理器运行的首地址空间。
[0025] S2、中央处理器的复位撤销后,中央处理器控制看门狗计数器开始计时;中央处理器从首地址空间中读取启动程序样本,运行启动程序,并对启动程序运行是否正常进行判断,若运行启动程序正常,中央处理器周期性向看门狗计数器发送牵狗操作信号,中央处理器启动成功,启动流程结束。
[0026] 若运行启动程序异常,则执行S4。
[0027] S4、中央处理器不再向看门狗计数器发送牵狗操作信号;看门狗计数器在看门狗周期内未接收到牵狗操作信号,则复位中央处理器,并产生狗咬控制信号发送给样本切换模块。
[0028] 样本选择模块读取中央处理器运行的当前启动程序样本编号,并进行下一启动程序样本的选择。
[0029] 样本切换模块在接收到狗咬控制信号之后,在中央处理器复位撤销之前,将样本选择模块选择的下一启动程序样本映射到中央处理器运行的首地址空间。
[0030] 判断中央处理器运行启动程序样本的次数是否小于设定次数
阈值。
[0031] 若是则返回S2。
[0032] 否则启动流程结束。
[0033] 进一步地,启动流程结束之后,还包括如下多样本维护流程:
[0034] CPU通过对样本选择模块控制读取多样本存储模块中存储的启动程序样本,对启动程序样本进行三取二表决,区分正确的启动程序样本和错误的启动程序样本,并采用正确的启动程序样本对错误的启动程序样本进行回写。
[0035] 样本选择模块判断错误的启动程序样本编号是否与中央处理器运行的启动程序样本编号相同,若相同则向中央处理器发送禁止牵狗信号,中央处理器接收到禁止牵狗信号之后,不再向看门狗计数器发送牵狗操作信号。
[0036] 有益效果:
[0037] 1、本发明提供的一种多备份启动的宇航计算机系统,其不采用需要落焊的熔丝性质的PROM芯片,采用普通的星上使用的EEPROM或者FLASH芯片,并通过多备份设计实现了宇航计算机的安全启动,没有降低宇航计算机的可靠性,同时所使用的芯片具备较高的可用性和易用性,不仅节省了元器件成本,而且节省了因为熔丝性质的PROM芯片带来的复杂的工序,提高了整个宇航计算机系统的可用性和易用性,且多备份启动设计也进一步地提高了宇航计算机系统的可靠性。
[0038] 2、本发明所提供的宇航计算机系统,其中的样本存储模块可以使用多个不同类型的非易失存储器,存储相同的启动程序样本,启动过程中根据启动情况选取非易失存储器的片选。不同种类型的非易失存储器抗空间环境的辐照特性、抗单粒子特性不相同,不同种存储器芯片的组合应用可避免同种芯片的共因失效,极大提高系统的可靠性。
[0039] 3、本发明同时还提供基于上述多备份启动的宇航计算机系统的安全启动方法,该方法在宇航计算机的中央处理器运行启动程序的过程中,通过设计的看门狗计数器进行运行异常判断,并且通过样本选择模块和样本切换模块的配合实现对下一启动程序样本的选择;本方法在启动流程结束之后,还包括多样本维护流程,即在宇航计算机的中央处理器启动成功之后,依然可以对启动程序的异常进行预判,全面实现了对多备份启动的宇航计算机系统的启动可靠性的维护。
附图说明
[0040] 图1为现有的宇航计算机的组成结构框图;
[0041] 图2为本发明
实施例所提供的多备份启动的宇航计算机系统的系统组成框图。
[0042] 图3为本发明实施例所提供的多备份启动的宇航计算机系统中地址映射原理示意图。
[0043] 图4为本发明实施例所提供的多备份启动的宇航计算机系统安全启动方法流程示意图。
具体实施方式
[0044] 下面结合附图并举实施例,对本发明进行详细描述。
[0045] 实施例1
[0046] 图2示出了一种多备份启动的宇航计算机系统的组成结构框图,如图2所示,该系统包括中央处理器、多样本存储模块以及样本控制器。
[0047] 本发明实施例中,中央处理器设置于宇航计算机中,配置用于控制样本控制器进行启动程序样本选择,完成启动样本维护。本发明中的中央处理器即为CPU芯片,可以直接采用宇航计算机中的CPU芯片作为本发明中的中央处理器。
[0048] 本发明实施例中,多样本存储模块采用宇航用非易失性存储器,配置用于存储N备份的中央处理器的启动程序样本,N为2的整数次幂,且N≠0。本发明中的样本存储可以用非易失性存储器来实现,相比于需要落焊的熔丝性质的PROM芯片,其具有较强的可用性和易用性。
[0049] 其中多样本存储模块可以采用一个非易失性存储器来进行启动程序样本的存储,也可以采用多个不同类型的非易失性存储器来存储启动程序样本,即N备份的中央处理器的启动程序样本存储在多个不同类型的非易失性存储器中。
[0050] 若采用多个不同类型的非易失存储器存储相同的启动程序样本,启动过程中根据启动情况选取非易失存储器的片选。不同种类型的非易失存储器抗空间环境的辐照特性、抗单粒子特性不相同,不同种存储器芯片的组合应用可避免同种芯片的共因失效,极大提高系统的可靠性。
[0051] 本发明实施例中,样本控制器,配置用于在中央处理器的控制下选择中央处理器的启动程序样本,用于样本程序的健康维护;样本控制器还将所选择的启动程序样本映射到中央处理器运行的首地址空间;样本控制器监视中央处理器的程序运行状态。图3示出了地址映射原理。
[0052] 中央处理器还配置用于从运行的首地址空间读取启动程序样本,运行启动程序。
[0053] 本发明实施例所提供的系统通过多备份设计实现了宇航计算机的安全启动,没有降低宇航计算机的可靠性,同时所使用的芯片具备较高的可用性和易用性,不仅节省了元器件成本,而且节省了因为熔丝性质的PROM芯片带来的复杂的工序,提高了整个宇航计算机系统的可用性和易用性,且多备份启动设计也进一步地提高了宇航计算机系统的可靠性。
[0054] 实施例2
[0055] 本发明实施例是在上述实施例1的基础上进一步提出了样本控制的详细实现方式,本实施例中,样本控制器采用如下方式实现:包括看门狗计数器、样本选择模块以及样本切换模块。
[0056] 中央处理器在正常运行启动程序时,周期性地向看门狗计数器发送牵狗操作信号;中央处理器在运行启动程序异常时,不再向看门狗计数器发送牵狗操作信号。
[0057] 看门狗计数器连接中央处理器,在中央处理器的控制下进行计时,并周期性地接收中央处理器发来的牵狗操作信号,若在看门狗周期内未接收到牵狗操作信号,则复位中央处理器,并产生狗咬控制信号发送给样本切换模块。
[0058] 样本选择模块连接中央处理器,读取中央处理器运行的启动程序样本编号,并进行下一启动程序样本的选择。
[0059] 样本切换模块在接收到狗咬控制信号之后,在中央处理器复位撤销之前,将样本选择模块选择的下一启动程序样本映射到中央处理器运行的首地址空间。
[0060] 本发明实施例中,非易失性存储器可以为叠层设计的可读写非易失性存储器或者具有抗辐照能力的可读写非易失存储器中的一种或多种的组合;其中样本控制器采用FPGA芯片。
[0061] 实施例3
[0062] 基于上述实施例1和2提供的多备份启动的宇航计算机系统,本发明实施例还提供了一种安全启动方法,其中图4示出了本发明实施例所提供的多备份启动的宇航计算机系统安全启动方法流程。如图4所示,该安全启动方法包括如下步骤:
[0063] S1、中央处理器上电复位,在复位撤销前,样本切换模块将预先设置的启动程序样本映射到中央处理器运行的首地址空间。
[0064] S2、中央处理器的复位撤销后,中央处理器控制看门狗计数器开始计时;中央处理器从首地址空间中读取启动程序样本,运行启动程序,并对启动程序运行是否正常进行判断,若运行启动程序正常,中央处理器周期性向看门狗计数器发送牵狗操作信号,中央处理器启动成功,启动流程结束。
[0065] 若运行启动程序异常,则执行S4。
[0066] S4、中央处理器不再向看门狗计数器发送牵狗操作信号;看门狗计数器在看门狗周期内未接收到牵狗操作信号,则复位中央处理器,并产生狗咬控制信号发送给样本切换模块。
[0067] S5、样本选择模块读取中央处理器运行的当前启动程序样本编号,并进行下一启动程序样本的选择。
[0068] S6、样本切换模块在接收到狗咬控制信号之后,在中央处理器复位撤销之前,将样本选择模块选择的下一启动程序样本映射到中央处理器运行的首地址空间。
[0069] 判断中央处理器运行启动程序样本的次数是否小于设定次数阈值。
[0070] 若是则返回S2。
[0071] 否则启动流程结束。
[0072] 实施例4
[0073] 该方法在宇航计算机的中央处理器运行启动程序的过程中,通过设计的看门狗计数器进行运行异常判断,并且通过样本选择模块和样本切换模块的配合实现对下一启动程序样本的选择。
[0074] 本方法在启动流程结束之后,还包括如下多样本维护流程:
[0075] 样本选择模块读取多样本存储模块中存储的启动程序样本,对启动程序样本进行三取二表决,区分正确的启动程序样本和错误的启动程序样本,并采用正确的启动样本程序对错误的启动程序样本进行回写。
[0076] 样本选择模块判断错误的启动程序样本编号是否与中央处理器运行的启动程序样本编号相同,若相同则向中央处理器发送禁止牵狗信号,中央处理器接收到禁止牵狗信号之后,不再向看门狗计数器发送牵狗操作信号。
[0077] 针对该维护流程,以4样本为例进行说明:
[0078] 启动程序样本包括Y1~Y4。
[0079] CPU通过控制样本选择模块读取Y1,Y2和Y3的启动程序样本,在读取过程中,3个样本采用3取2字节比对方法,在比对过程中,记录首次出现错误的启动程序样本的编号号。例如,在边读取三样本边比对过程中,Y2字节报错,系统记录Y2错误信息,比对过程中如果Y2出现两次异常程序错误,可不重复记录,如果Y3字节报错,系统记录Y3的错误信息,比对过程中如果Y3出现两次异常程序错误,可不重复记录。
[0080] 经过3取2字节比对,系统得到正确的启动程序样本和错误的启动程序样本号。3取2判读完成后,将此比对结果同启动程序样本Y4进行比对,如果Y4程序错误,系统对Y4的样本号进行记录,系统采用正确的启动程序样本对错误的启动程序样本进行回写。回写完成后,重新读取信息比对,以保证启动程序样本中的正确性。当系统回读比对正确后,系统将比对正确结果同Y4信息比对,以保证Y4的正确性。回写和比对的方法应小于等于M次,M即为设定回写和比对次数阈值,从而避免系统异常进入无限循环状态。
[0081] 以上维护流程是在宇航计算机的中央处理器启动成功之后,依然可以对启动程序的异常进行预判,全面实现了对多备份启动的宇航计算机系统的启动可靠性的维护。
[0082] 综上,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何
修改、等同替换、改进等,均应包含在本发明的保护范围之内。