Apollo指导计算机-体系结构和系统软件。 第一部分

链接到第2部分

在本出版物中,我们讨论了Apollo任务计算机板-AGC(Apollo指导计算机)的体系结构,硬件结构和系统软件的基础。 对于那些想详细研究该主题的人,我建议本书[ 1 ]和其他材料,在本文结尾处提供了指向这些书的链接。

阿波罗导航电脑





在Apollo程序中,这台计算机在两个航天器中使用:在命令模块中和在月球模块中。 在两种情况下,都将其安装在带有循环水-乙二醇混合物的“冷板”上进行冷却。


带有冷却剂管的水块

一个有趣的事实:由于有较早的设计,Apollo程序中使用的计算机的全名是AGC-4。 它的前身AGC-3建立在铁氧体晶体管单元上。


导航系统框图

使用的缩写:

AOT-对准光学望远镜
LR-着陆雷达
RR-交会雷达
CDU-耦合数据单元
DSKY-(AGC)显示和键盘
LGC-LM制导计算机(或AGC)
PTA-脉冲扭矩组件
IMU-惯性测量单元
PSA-动力伺服总成
OSS-光学子系统
ISS-惯性子系统
RS-雷达子系统
技术指标

规格书


字长:16位(14位+符号+奇偶校验)
内存:ROM(绳芯)36K字; RAM(核心)2K字
内存访问周期(ROM和RAM)-11.72μs
I / O设备:DSKY(船上有两个设备)
速度:加法时间-20μs
时钟频率:2.048 MHz
技术:双极RTL,平面外壳
尺寸:AGC-24英寸x 12.5英寸x 6英寸(HWD)(61厘米x 32厘米x 15厘米); DSKY-8英寸x 8英寸x 7英寸(HWD)(20厘米x 20厘米x 18厘米)
重量:AGC-70磅(32公斤); DSKY-17.5磅(8公斤)
电源电压28 V
功耗:工作模式:70 W @ 28VDC; 待机15.0瓦
制造的设备数量:AGC:75; DSKY:138
费用:未知。 2009年,DSKY以50,788美元的价格被拍卖。

电脑完全密封,没有任何需要维护的部件。 但是尽管如此,工程师仍担心新的数字微电路可能会在空间上失效,因此早期版本提供了更换模块的可能性。 在随后的版本中,当每个人都确信计算机的可靠性时,对可维护性的要求从工作说明中排除了。


技术文档中的图AGC


AGC开放

AGC外壳由两半组成,并装有模块。 两半体具有将电路彼此连接的连接器。 外壳右半部分的照片中没有RAM模块。 它们将在下面讨论。

电路基础




该计算机完全基于包含两个NOR-3元件(报警型OR-NOT)的微电路,并使用电阻晶体管技术制成。 电路图如上图所示。 这种元件的工作原理很简单:如果引脚5连接到0,引脚10连接到功率加,那么如果输入2-4处为零,则晶体管1-3(从左到右计数)将闭合,输出1将被闭合。日志。 1以来 它被一个电阻吸引到正。 如果施加了至少一个输入1,则相应的晶体管将打开,并将输出1拉为零。

不难看出,当连接这些元素的两个或多个输出时,将生成AND函数。 在这种情况下,仅将电源(端子10)连接到一个元件就足够了。 但是有时电源会连接到所有通过输出连接的元件,这可以使您获得更大的输出负载能力。



带有未连接电源的元件在图中带有阴影的一端(见图)。

计算机的第一个版本包含4100个微电路,每个中包含一个OR-NOT,在飞行中使用的第二个版本中,包含2800个微电路,其中两个元素为OR-NOT。



记忆


AGC存储器由2K个字的RAM和36K个字的ROM组成。 仅12位分配给地址字段,这允许对4Kwords进行寻址,并将存储器划分为存储体。 为了切换存储体,使用了一个特殊的4位寄存器,该寄存器产生一个16位地址,允许对64Kwords进行寻址。

存储器组将在系统软件部分中更详细地讨论。

只读存储器


计算机的ROM是使用绳索存储技术制成的(请参见下图)。



绳索存储模块的外观:



下图说明了“绳索记忆”的工作原理:



不幸的是,Core Rope Memory模块的文档没有保留,但是发烧友设法弄清了接口,将模块连接到计算机并读取了内容,然后在模拟器上运行了。

AGC ROM的总容量为16位的36.864字。 AGC具有6个ROM块,每个ROM块为6公斤(约12 kb)。 每个内核最多(不通过)192条编码数据的导线 每个内核编码192位。

每个ROM单元的固件用时8周,花费15,000美元。 所有这些都是手动完成的。

内存


AGC RAM的容量为2048个16位字。 像当时的大多数计算机一样,计算机RAM是在磁芯上制成的。


计算机中安装了RAM模块。

可以看出,RAM模块占用了两个普通逻辑模块的宽度。 RAM由“平面”组成,每个平面对应于数据字中的一个位,共16个平面。每个平面代表一个64x32环的网格,总共2048个环。 四个导体穿过每个环:X和Y坐标线,读取线和禁止线。 X线和Y线分别垂直和水平地延伸,读取线沿对角线方向穿过同一平面的所有环,并且禁止写入的线也垂直穿过平面的所有环。

另外,飞机被称为“垫子”(mat)。 下图显示了一个尺寸为64x32环的平面。


阅读线布局


分区RAM模块


RAM模块。 X射线


打开RAM模块


RAM模块组装

DSKY




DSKY代表显示和键盘单元,即显示和键盘模块,旨在使AGC与工作人员互动。




DSKY拆解

本质上,DSKY只是AGC的简单终端。 它是建立在继电器上的,该继电器用于切换发光指示器的各部分,并由晶体管以250VAC电压和800 Hz频率供电。 在DSKY的更高版本中,机电继电器被晶闸管所取代,因为它们在信息显示方面带来了很大的延迟。


DSKY框图


DSKY功能图



该图显示了显示器的连接图。 使用带有两个绕组的极化继电器,记住其状态。 施加在一个绕组上的脉冲打开指示器,而在另一个绕组上关闭。 继电器绕组包含在矩阵中。

AGC向输出通道010提供一个15位编号(八通道编号)。 位12-15被馈送到具有包括矩阵行的12个输出的解码器。

该装置还具有单独的指示器,用于显示PROG,TRACKER,GIMBAL LOCK和NO ATT信号以及其他信号。

使用键盘输入信息。 每个按钮均以115VAC的电压,400 Hz的频率点亮。 当按下每个键(PRO除外)时,将生成5位代码。 代码被发送到计算机端口,并生成一个中断,通过该中断读取代码。 释放按钮时,会产生特殊的复位信号。 再按一次STBY键可使计算机进入待机模式,然后再次进入操作模式。

键盘有10个数字键和9个其他键:VERB,NOUN,CLR,PRO,KEY REL,ENTR,RESET,+和-。



这些按钮包含开关触点,这些开关触点的接通方式可以避免同时生成两个代码(请参见下图)。 键码进入AGC输入端口。



+ 28V的电压连接到按钮电路。 如下连接到计算机:



入口过滤器可保护系统免受接触反弹和意外干扰的影响。


DSKY后视图

在DSKY中输入命令的标准过程是以下顺序:VERB-DIGIT-DIGIT,NOUN-DIGIT-DIGIT和ENTR。 这反映了用户与AGC进行交互的意识形态:输入了动词(VERB),要执行的动作编号,以及名词(NOUN),也由该编号编码,表示动作所针对的对象。 动词和名词代码列表包含在宇航员的指令中。

按下键盘上的VERB按钮可清除VERB指示灯。 然后,宇航员引入两个数字,这两个数字被解释为动词的数字,然后用名词(NOUN)完成相同的操作。 在按下ENTR按钮之前,可以通过重复输入NOUN或VERB来更正代码。 按下ENTR后,VERB和NOUN指示灯上的数字每1.5秒闪烁一次,这意味着操作员必须输入取决于操作的数据。 之后,操作开始。


DSKY内部

数据可以八进制和十进制输入。 计算机认为,如果未输入“ +”或“-”符号,则数据将采用八进制形式。 如果输入八进制数字时按8或9按钮,则OPR ERR指示灯闪烁。 如果按下“ +”或“-”键,则显示屏上将出现相应的符号,表示计算机已准备好接收十进制数字。 如果操作员输入有误,可以按CLR键并重复输入。 按ENTR完成输入。 要重置OPR ERR信号并返回输入模式,请使用RSET按钮。

RSET按钮用于使所有警告信号静音:TEMP,GIMBAL LOCK,PROG,RESTART和TRACKER。 为了找出警告信号是短期的还是引起警告信号的错误,这很有用。


DSKY内部

解码器包含四个继电器线路驱动器和一个二极管阵列,以及用于继电器矩阵各行的激励键。 位12-15选择中继矩阵的行之一。


中继矩阵解码器

让我们考虑一下如何打开第1行,代码0001对应于它,它通过DSKY机壳以及CE225线路-CE228上的A25接口和J9连接器提供。 信号被反相,即 CE226-CE228接受日志值。 1,并且CE225是日志。 0。输入端的逻辑1闭合晶体管Q1,晶体管Q2也闭合,晶体管Q3断开。 因此,对于CE226-CE228的X线输出和CE225的Y线输出,状态将为对数。 1.二极管矩阵的8个输入连接到晶体管开关的正向和反向输出(图中的输出X和Y)。 在我们的情况下,模块D2,D3和D4的二极管CR53以及模块D5的二极管CR63必须朝相反的方向偏置。 如果这些二极管关闭,则CKT004块会导通,激励第1行,同时电压+ 28V穿过电路Q1(CKT011),R8,CR44,R9(CKT004)并打开晶体管Q4,Q5(CKT004)。 当晶体管打开时,它们将继电器的第一行连接到零,这意味着已选择该行。

二极管阵列(D2-D5模块中的CR54)中的二极管底行用于检测对数的存在。 在通道10的位12-15中为0。如果存在至少一个零,则至少一个二极管断开,并将0VDC电压提供给行提取驱动器的电压源。 如果所有四个位均为0,则所有四个二极管均闭合,并且+ 28VDC电压施加至电源驱动器的输入。 晶体管Q2打开,晶体管Q3关闭。 晶体管Q1闭合,驱动器输出开路,并且没有电压提供给线路驱动器。


DSKY底视图

为了控制状态和错误指示器,使用了指示器驱动器模块中的继电器矩阵(图)。 除继电器外,它还包含6个相同的晶体管驱动器(D1-D6)。


DSKY指示器驱动程序模块

中继矩阵如下图所示:


中继矩阵

每个继电器驱动器从通道10的位1-11接收。考虑位11(模块D6中的电路006)。 如果通道10的位1设置为log。 如图1所示,它与A25接口电路反向,与CE224电路中的连接器J9反向。 这打开晶体管Q8,其关闭晶体管Q9。 继电器列的端子10处有28V的电压,显示屏上包括符号“ +”和“-”。 该行由二极管矩阵选择。 通过选择行和列,计算机可以切换矩阵中的每个继电器。

矩阵继电器控制DSKY指示器。 第12行控制状态指示器和警报。


中继矩阵代码

上表显示了通道10的内容与相应继电器控制的指示符之间的对应关系。 五个继电器控制一位数字。 位6-10用于控制第一位,位1-5用于控制第二位,位11用于控制符号(“ +”或“-”)。 下表中给出了数字代码:


密码

记录 1对应一个接通继电器。



上表显示了代码和指示数字的对应关系。

继电器的指示器连接图如下图所示。


指标中继矩阵图

状态和警报电路由驱动器和无极性继电器组成。


状态和报警电路

例如,当ISS WARNING信号在日志中时。 0,它打开晶体管Q13并向继电器K21提供+ 28V。 继电器K21打开,并将输入信号ALARM COMMON作为ISS WARNING信号传递到显示器和PGNCS部分。


用于计算机和车载系统的DSKY电缆

DSKY由计算机的28V和14V DC供电,并使用800 Hz的同步信号,该信号用于产生频率为400 Hz的250VAC电压以为显示器供电。


DSKY电源图

电源包括三个由变压器隔离的推挽晶体管级。 电压约为14V且频率为800 Hz的矩形信号被馈送到输入。 电压水平可以通过航天器的面板进行控制,并用于调整指示器的亮度。 变压器T1和T2增加电压,在输出处有一个饱和L2的扼流圈。 需要使用电感器来稳定指示器上的电压。 指示器是电容性负载,容量的值取决于指示器上的数量。 负载的变化会引起反馈电路中电压的变化,该电压会通过桥式整流器馈送到控制绕组L2。 如果打开更多的指示器,则控制绕组上的电压会增加,磁芯开始变得饱和,如果打开的指示器的数量减少,则控制绕组上的电压会下降,磁芯将不再饱和,因此输出电压将保持恒定。


DSKY的早期版本。 此选项尚未在飞行中使用。

文献和参考资料:



1. 阿波罗制导计算机:体系结构和操作。 Frank O'Brien,施普林格实践丛书,2010年

2. AGC概念

3. http://www.righto.com/博客,其中包含有关AGC的大量文章

4. https://hackaday.com/2016/09/02/decoding-rediscovered-rope-memory-from-the-apollo-guidance-computer/-从Apollo指导计算机解码重新发现的绳索内存

5. https://hackaday.com/2016/07/05/don-eyles-walks-us-through-the-lunar-module-source-code/-Don Eyles带领我们通过月球模块源代码

6. https://github.com/chrislgarry/Apollo-11-带有软件源代码的存储库

7. https://github.com/shirriff/rope-simulator-具有ROM模拟器电路的存储库。

8. https://dodlithr.blogspot.com/search/label/Apollo%20Systems-有关AGC和DSKY的大量材料。

9. http://www.ibiblio.org/apollo/-在线AGC模拟器。

10. https://github.com/virtualagc-具有许多有用信息的存储库,包括AGC的Verlog版本,AGC复制电路和板以及原始AGC和DSKY模式(在存储库https://github.com/virtualagc中/ virtualagc

Source: https://habr.com/ru/post/zh-CN461095/


All Articles