原创 机器之心 机器之心
机器之心报道
编辑:泽南
一台 46 年前的计算机,在 240 亿公里之外,修好了。
这是一件浪漫的事。
经历了五个月令人紧张的「失联」之后,240 亿公里之外的旅行者 1 号宇宙飞船(Voyager 1)被成功修复,顺利发回了数据。
本周一,美国宇航局 NASA 宣布:在经过一些创造性的措施之后,旅行者 1 号任务团队五个月以来第一次收到了有效数据,我们现在已经能够检查现存最遥远的人造物体的健康状况与状态了。
自去年 11 月以来,旅行者 1 号宇宙飞船首次发回了有关其机载工程系统健康状况和状态的可用数据。科学家们表示,下一步是让宇宙飞船能够再次开始返回科学数据。该探测器及其孪生的旅行者 2 号是目前唯二在星际空间(恒星之间的空间)飞行的人造航天器。
旅行者 1 号于去年 11 月 14 日开始出现数据传输错误,停止向地球发送可读的科学和工程数据,任务控制人员仅可以得知该航天器仍在接收命令,并且在其他方面正常运行。
能接收信号,但只返回乱码,这就给工程师们出了一道难题。
艰难的修复过程
今年 3 月,位于南加州的 NASA 喷气推进实验室(JPL)的旅行者工程团队证实,该问题与航天器的三台机载计算机之一,飞行数据子系统 FDS 有关。FDS 负责将科学和工程数据发送到地球之前将其打包。
4 月 20 日,在五个月来首次收到有关旅行者 1 号健康和状态的数据后,工程团队成员在 NASA 喷气推进实验室的会议室里庆祝。
当时,工程师们发出了一个新的指令来「戳一下」旅行者 1 号的 FDS,让其返回内存读数,从而取得了突破。该读数使工程师能够查明 FDS 内存中问题的位置。
该团队发现负责存储部分 FDS 内存(包括部分 FDS 计算机软件代码)的单个芯片无法工作,这可能是由于宇宙射线撞击或硬件老化故障所致。代码的丢失导致科学和工程数据无法使用。由于远程无法修复芯片硬件,该团队决定将受影响的代码放置在 FDS 内存的其他位置。
大约只有 3% 的 FDS 内存被坏芯片影响,但 NASA 表示,没有一个足够大的新位置来容纳完整的代码。其实自 11 月 14 日出问题以来,旅行者 1 号收集的所有科学数据均已丢失——该飞船没有能力存储科学数据。
因此,工程师们制定了一个计划,将受影响的代码划分为多个部分,并将这些分块存储在 FDS 中的不同位置。这不仅仅是复制粘贴的事:为使该计划奏效,他们还需要调整这些代码分块,以确保它们仍然作为一个整体来运行;FDS 内存其他部分中对该代码位置的任何引用也需要更新。
航行者 1 号宇宙飞船飞行数据子系统计算机在 20 世纪 70 年代的扫描照片。
该团队首先挑选出负责打包航天器工程数据的代码。他们于 4 月 18 日将其发送到 FDS 内存中的新位置。值得一提的是,无线电信号大约需要 22.5 小时才能到达旅行者 1 号,虽然传输的速度是光速,但该探测器目前已距离地球超过 240 亿公里——返回的信号也需要 22.5 小时才能回到地球。
一个来回,两天时间过去了。
带宽是多少?由于距离遥远,虽然 NASA 不断扩展深空探测网络(Deep Space Network),但终究敌不过物理规律,如今旅行者 1 号的下行传输速率是 160 bps,每秒只能传 160 bit。相比之下,使用新一代 iPhone 拍摄的普通照片大约占用 25 MB。如果旅行者 1 号向地球传输这样一张图,大约需要 43 到 173 小时。
FDS 上出问题的数据流有关航天器状态的信息,例如功率水平和温度测量值。
其实,旅行者 1 号的计算机至今保持着「连续开机时长最长计算机」的吉尼斯世界纪录,自 1977 年发射后一直工作到现在没断过电,连续开机时长 40.8 万个小时。
当任务飞行团队于 4 月 20 日收到飞船的回复时,终于传来了好消息:人们发现修复方式有效。五个月来他们第一次能够检查飞船的健康状况和状态。NASA 表示,重写 FDS 系统丢失代码其余部分的额外命令计划在未来几周内发布。
这可以称得上是目前人类使用的最慢的电脑,被修复成功了。
值得一提的是,改代码的方式也很原始。在美国宇航局,如今大多数宇宙探测器任务在地面上都有硬件和软件模拟器,工程师可以在其中测试新程序,以确保它们在将命令上传到真实航天器时不会造成伤害。但由于年代久远,旅行者 1 号没有任何地面模拟器,而且该任务的大部分原始设计文档仍然是纸质的,尚未数字化。
「看代码真的是只用眼睛看,」NASA 喷气推进实验室旅行者项目航天器科学家 Linda Spilker 说道。「所以我们必须进行三次检查。每个人都在仔细检查并确保我们将所有