正好毕业设计做这方面相关的,虽然不是航天飞机的飞控计算机,但都有相通之处。就做一做这方面的科普了。在硬件方面,我认为相对于我们常见的PC等,航天航空类的飞控计算机主要有两个特点:1.高度定制;2.冗余容错
高度定制
个人PC、手持设备(手机等)计算机功能大都是固定的,因此各个模块相对固定。而飞控计算机不一样,需要根据具体的任务需求定制。由于面向的场合不同,因此对飞控系统的主控芯片的选型的侧重点也不同,大家在看一些航空和航天领域的主控芯片指标时经常会发现主控芯片的主频非常低(相对于PC),一方面是由于功耗方面和芯片抗辐射方面的限制,一方面也说明实际上一般的飞控计算机对计算能力的要求并不高。飞控计算机系统需求量比较大的是通讯接口、IO端口等。另外,大家都知道航空航天领域的计算机最重要的一个需求特点是它要求要有很高的可靠性,理论上在同样的外部条件(环境工艺等)下,一块芯片的集成的晶体管越多,芯片的可靠度越低。因此飞控计算机设计的一个准则就是刚刚好够用即可,并且系统越简单越好,复杂的系统容易失效。
冗余容错:
几乎所有的高可靠计算机系统都采用了冗余容错系统架构。包括飞机、火箭、航天飞船等。冗余技术简单来说就是用多台的计算机系统提高可靠度,一台计算机挂了,另外一台计算机自动替换上。这里简单给出几种典型的冗余容错方案。下面这张图是60,70年代美国鼎鼎大名的土星V号火箭的飞控计算机示意框图[1]。

这种冗余方案属于被动式3冗余方案。图中的V是投票器模块。C1,C2,C3是三个不同的输入通道。投票器模块通过比较这3个通道的结果,利用少数服从多数的原则得到输出结果。很明显,当3个通道中有一个通道出现故障时投票器可以屏蔽该故障,仍然可以输出正确结果。而如果有2个通道同时故障时,那么整个系统就故障了。另外从图中可以看出,由于当时还没成熟的微处理器,因此整个电子控制系统是由非常多的小模块构成的,不像现在的系统有一个很明显的处理器核心。从电子系统角度来讲,现在的飞控系统的可靠度可以比土星V号高好几个量级。因此,现在想想当时敢载人登月确实有很大的风险。
再看一下我国2011年发射的“天宫一号”的飞控计算机示意图[2]:

图中AOCC-A,AOCC-B组成双冗余冷备份子系统,BCD作为AOCC子系统的冷备份模块。冷备份就是备用机一般情况下处于断电状态,只有主机故障后才会上电接管工作。具体到天宫一号的计算机:一般状态下AOCC-A处于工作状态,AOCC-B ,BCD都断电。当AOCC-A挂了,AOCC-B上电接管工作,BCD仍然断电。AOCC-B也挂了,BCD才上电接管工作。BCD也挂了,那就是挂了……
对可靠度要求更高的是大客机的飞控计算机。请看下面波音公司逆天的3*3非相似的冗余计算机[3]。

注意看,这个计算机系统不仅是9冗余的,而且采用了3种不同架构和公司生产的主控芯片:AMD 摩托罗拉 INTEL。这种架构叫做非相似冗余,即采用完全不同的软件和硬件,可以避免共模失效。
可见这套计算机系统的研发和生产成本都非常高。
参考文献:

[1] HAEUSSERMANN W. Description
and performance of the Saturn launch vehicle’s navigation, guidance and control
system,NASA TN D-5869[R], 1970.

[2] 刘波,林宇,彭飞,等.天宫一号目标飞行器控制计算机的设计与验证[J].空间控制技术与应用,2011(06):28-33.

[3] 陈宗基,秦旭东,高金源.非相似余度飞控计算机[J].航空学报,2005(03):320-327

— 完 —

本文作者:知乎用户(登录查看详情)

【知乎日报】
你都看到这啦,快来点我嘛 Σ(▼□▼メ)

此问题还有 4 个回答,查看全部。
延伸阅读:
航天飞机是如何搭载在运输机上的?
中国为什么不制造航天飞机,相关技术实力如何?

分享到