菜单

指令舱 (Comanche055)

相关源文件

目的与范围

本文档概述了名为 Comanche055 的指挥舱 (CM) 软件,该软件是阿波罗 11 号任务期间使用的阿波罗制导计算机 (AGC) 程序 Colossus 2A 的一部分。Comanche055 包含负责指挥舱飞船运行、导航和控制的软件。这包括轨道计算、惯性测量单元 (IMU) 管理、显示系统以及任务专用程序。

有关月球舱软件的信息,请参阅月球舱 (Luminary099)

系统架构概览

指挥舱软件被组织成几个功能区域,每个区域处理特定的飞船系统或计算需求。该软件在阿波罗制导计算机上执行,这在当时是一台卓越的计算机,拥有 2048 字可擦除磁芯存储器和 36K 字只读磁芯绳存储器。

来源:README.md85 MAIN.agc1-97

该软件被划分为多个存储区以适应内存限制,并对固定和可擦除内存进行了仔细的内存分配。代码库的主要部分是

章节目的关键组件
COMERASE可擦除内存分配变量分配
COMAID核心例程和任务支持IMU、动词、弹球、重启处理
COMEKISS导航与制导地面跟踪、轨道计算
TROUBLE任务程序P11-P70 任务程序、再入控制
TVCDAPS数字自动驾驶系统推力矢量控制、DAP 模块
CHIEFTAN核心计算系统解释器、执行器、积分例程

来源:README.md6-97

核心运行时系统

核心运行时系统为所有指挥舱软件提供了基础执行环境。它管理任务调度、处理器分配和中断。

来源:WAITLIST.agc IMU_MODE_SWITCHING_ROUTINES.agc39-137

任务调度

任务调度系统围绕两个关键组件构建

  1. 执行器 (Executive) - 处理基于优先级的多任务处理,通过交错执行允许多个“作业”同时进行。

  2. 等待列表 (WAITLIST) - 提供基于时间的调度,允许任务在特定时间间隔后执行。这对于需要在任务期间精确时间执行的操作至关重要。

WAITLIST 组件维护任务时间列表 (LST1) 和任务地址列表 (LST2),并使用 T3RUPT 中断在任务预定时间到达时分派任务。

来源:WAITLIST.agc

导航和制导系统负责轨道计算、轨迹预测和飞行控制。这些系统对于确保飞船处于正确路径至关重要。

来源:CONIC_SUBROUTINES.agc62-137 ORBITAL_INTEGRATION.agc109-182

锥体子例程

锥体子例程模块包含用于轨道计算的复杂数学例程

  1. 开普勒 (KEPLER) - 在给定初始状态和时间间隔的情况下,沿锥体轨迹积分状态向量。
  2. 朗伯 (LAMBERT) - 计算在指定时间内在两个位置之间转移所需的初始速度。
  3. 时间-真近点角 (TIME-THETA) - 计算与给定真近点角差对应的飞行时间。
  4. 时间-半径 (TIME-RADIUS) - 确定达到指定半径所需的时间。

这些例程能够对轨道机动和交会操作进行精确的轨迹计算。

来源:CONIC_SUBROUTINES.agc62-498

轨道积分

轨道积分模块随着时间的推移传播飞船的位置和速度,同时考虑地球、月球和其他扰动的引力作用

  1. ACCOMP - 计算数值积分的加速度分量。
  2. RECTIFY - 当偏差过大时,建立新的锥体参考轨迹。
  3. DIFEQ - 实现了用于轨道传播的 Nystrom 积分方法。

该系统使 AGC 能够准确地确定飞船的未来位置和速度,这对于导航和机动规划至关重要。

来源:ORBITAL_INTEGRATION.agc127-220

惯性测量单元 (IMU) 管理

惯性测量单元是飞船姿态确定和导航的关键组件。指挥舱软件包含用于 IMU 校准、对准和模式控制的大量例程。

来源:IMU_MODE_SWITCHING_ROUTINES.agc59-224 IMU_CALIBRATION_AND_ALIGNMENT.agc52-120

IMU 模式

IMU 有多种操作模式

  1. 锁定 (Caged) - IMU 万向节在高加速阶段锁定以进行保护
  2. 归零 (Zero) - ICDU(惯性耦合数据单元)计数器归零
  3. 粗略对准 (Coarse Align) - IMU 的快速、近似对准
  4. 精确对准 (Fine Align) - 使用恒星瞄准或其他参考进行精确对准

IMUZEROIMUCOARSIMUFINE 等模式切换例程管理这些转换,同时确保系统稳定性。

来源:IMU_MODE_SWITCHING_ROUTINES.agc59-224 IMU_CALIBRATION_AND_ALIGNMENT.agc134-224

IMU 校准

该系统包含用于 IMU 性能测试和校准的例程

  1. IMUTEST - 启动 IMU 性能测试
  2. 陀螺罗盘 (Gyrocompass) - 使用地球自转将 IMU 对准局部垂直方向
  3. 漂移测试 (Drift Tests) - 测量陀螺漂移率以进行补偿
  4. GCOMPVER - 陀螺罗盘对准的光学验证

这些例程确保 IMU 在整个任务期间提供准确的姿态信息。

来源:IMU_CALIBRATION_AND_ALIGNMENT.agc52-224 IMU_CALIBRATION_AND_ALIGNMENT.agc319-416

用户界面和显示系统

指挥舱软件具有一个复杂的显示接口系统,用于管理与 DSKY(显示器和键盘)的交互。

来源:DISPLAY_INTERFACE_ROUTINES.agc36-246

显示优先级管理

显示系统实现了用于管理多个显示请求的优先级方案

  1. 优先级显示 - 优先于所有其他显示的关键警报
  2. 扩展动词显示 - 与扩展动词和标记例程相关的显示
  3. 正常显示 - 标准任务程序显示
  4. 杂项显示 - 特殊用途显示
  5. 宇航员启动显示 - 由机组人员触发的显示

这种优先级系统确保了最重要的信息始终对宇航员可见。

来源:DISPLAY_INTERFACE_ROUTINES.agc36-73

显示接口例程

该软件提供了一套全面的显示例程,用于各种目的

  • GODSP/GODSPR - 用于呈现动词-名词组合的基本显示例程
  • GOFLASH/GOFLASHR - 显示闪烁的动词-名词组合,并附带宇航员响应选项
  • GOPERF 变体 - 显示要求宇航员执行操作的“请执行”请求
  • GOMARK/GOMARKR - 标记操作的显示例程

这些例程标准化了任务程序和显示系统之间的接口,提供了一致的交互模式。

来源:DISPLAY_INTERFACE_ROUTINES.agc92-246

任务程序

指挥舱软件包含许多任务程序,通过“P”编号标识,这些程序实现了特定的任务阶段或操作。

来源:MAIN.agc36-51

地面跟踪确定 (P21)

P21 程序为宇航员提供了详细的地面跟踪信息,而无需与任务控制中心通信。该程序

  1. 接受宇航员输入的目标时间
  2. 将飞船状态向量积分到该时间
  3. 计算并显示纬度、经度和高度

这种能力对于任务态势感知非常重要,尤其是在飞船与地球失去通信时。

来源:GROUND_TRACKING_DETERMINATION_PROGRAM.agc36-205

结论

指挥舱 (Comanche055) 软件是航空航天计算领域的一项卓越成就。尽管硬件限制严苛,该软件仍成功管理了阿波罗指挥舱的复杂操作,提供了对阿波罗 11 号任务成功至关重要的导航、制导、控制和宇航员接口。

模块化架构、复杂的数学例程和健壮的执行系统展示了软件工程原则,这些原则即使在计算技术飞速发展的今天仍然具有重要意义。