В лунных миссиях «Аполлон» ракетой Сатурн-5 управлял передовой бортовой компьютер, разработанный в IBM. Система собиралась из гибридных модулей, похожих на интегральные схемы, но содержавшие отдельные компоненты. Я провёл обратную разработку печатной платы с этой системы и разобрался в её назначении: в модуле ввода/вывода компьютера эта плата выбирала нужный источник данных.
Когда ко мне пришла эта плата с Сатурн-5, она была частично разобрана, и на ней не хватало чипов
В данной статье я объясню, как работала плата – от крохотных кремниевых кристаллов внутри гибридных модулей до схемы платы и её подключения к ракете. Первым её изучила Фрэн Планч в проекте Apollo Saturn V LVDC. В блоге EEVblog про неё сняли видео. Теперь пришла моя очередь.
Цифровой пусковой компьютер ракеты-носителя (LVDC) и Адаптер данных ракеты-носителя (LVDA)
Лунная гонка началась 25 мая 1961 года, когда президент Кеннеди объявил, что США отправят человека на Луну до конца десятилетия [Кеннеди не нравилось отставание от СССР, и изначально он предложил Хрущёву совместную миссию на Луну, но тот отказался из соображений секретности / прим. перев.]. Для миссии требовалась трёхступенчатая ракета Сатурн-5, самая мощная из всех, построенных на тот момент. Направлял и управлял ракетой цифровой пусковой компьютер ракеты-носителя (Launch Vehicle Digital Computer, LVDC), выводивший её на орбиту вокруг Земли, а потом на траекторию по направлению к Луне. В эпоху, когда большинство компьютеров имели размеры от холодильника до комнаты, LVDC был очень компактным и весил всего порядка 40 кг. Его минусом была очень малая скорость – он выполнял всего 12 000 инструкций в секунду.
LVDC был одним из нескольких компьютеров на борту «Аполлона». Бортовые управляющие компьютеры управляли посадкой на Луну, в посадочном модуле находился запасной компьютер системы аварийной отмены. LVDC и LVDA связывались с управляющим полётным компьютером, 50-килограммовой аналоговой машиной, находившейся в инструментальном модуле.
LVDA и LVDC крепились в инструментальном модуле, кольце между ступенями ракеты и полезной нагрузкой.
LVDC на испытательной платформе. За оператором – испытательная система ACME (ручной тренажёр аэрокосмического компьютера). Сзади видно его устройство считывания с ленты.
LVDC работал совместно с адаптером данных ракеты-носителя (Launch Vehicle Data Adapter, LVDA), обеспечивавшим ввод/вывод для компьютера. Всё общение компьютера с ракетой шло через LVDA, преобразовывающей аналоговые сигналы ракеты и управляющие сигналы на 28 В в последовательные двоичные данные, требовавшиеся компьютеру. У LVDA были буферы (на стеклянных линиях задержки) и управляющие регистры для его разных функций. У LVDA были аналого-цифровые преобразователи для чтения данных с инерционного модуля с его гироскопами, и цифрово-аналоговые преобразователи для подачи управляющих сигналов ракетам. Он также обрабатывал сигналы телеметрии, отправляемые на Землю, и получал с Земли команды, предназначавшиеся компьютеру. И, наконец, питание LVDC обеспечивали импульсные источники питания с избыточностью из LVDA.
LVDA от Сатурна-5 был 80-киллограммовой коробкой, обеспечивавшей LVDA ввод/вывод. У него был 21 круглый коннектор для кабелей, шедших в другие части ракеты.
Поскольку у LVDA было так много разных функций, размером он был почти в два раза больше, чем LVDC. Ниже приведена диаграмма всех схем, втиснутых в 80-кг LVDA. Он делится на 2 секции, заполненные печатными платами, или «страницами»: передняя секция логики и задняя секция логики (ко мне в руки попала плата из передней секции). Фильтры и источники питания находились в центральной секции. По каналам LVDA прокачивали охлаждающую жидкость на основе метанола. LVDA был подключён к LVDC и другим частям ракеты через 21 круглый коннектор.
LVDA
Подробная схема работы
Диодно-транзисторная логика
Логические вентили можно создавать разными способами. Для LVDC и LVDA использовали такую технологию, как "диодно-транзисторная логика" (ДТЛ), которая позволяет сделать вентиль из диодов и транзистора. Это была более продвинутая технология по сравнению с резисторно-транзисторной логикой (РТЛ), использовавшейся на бортовом управляющем компьютере «Аполлона», однако она уступала транзисторно-транзисторной логике (ТТЛ), ставшей весьма популярной в 1970-х.
Стандартным логическим вентилем в LVDC был AND-OR-INVERT (AOI), реализующий такую логическую функцию, как (A•B + C•D)'. Называется он так потому, что применяет к набору входных данных логическую функцию AND, потом OR, а затем меняет результат на противоположный. Вентиль AOI был функциональным, поскольку из него можно было формировать элементы с различным количеством входов, к примеру, (A•B + C•D•E + F•G•H)'. И хотя вентиль AOI может показаться вам сложным, для его реализации требовался всего один транзистор, что было важно в эпоху, в которую нужно было экономить на их количестве.
Чтобы понять, как работает вентиль, обратитесь к следующей диаграмме. На ней показан вентиль AOI с четырьмя входами и двумя членами AND. Первый отвечает за входы А и В, значение которых в данный момент равно 1 (высокое напряжение). Подтягивающий резистор вытягивает вверх значение AND (красный, 1). В нижнем вентиле AND вход С равен 0, поэтому ток течёт через вход С, подтягивая значение AND вниз (синий, 0). Таким способом диоды и подтягивающий резистор реализуют вентиль AND. Теперь посмотрим на шаг OR. Ток с верхнего AND (красный) подтягивает ступень OR вверх (1). Наконец, этот ток включает транзистор, подтягивая выход вниз (синий, 0) и обеспечивая инверсию. Если обе ступени AND равны 0, то ступень OR не подтянется наверх. Вместо этого подтягивающий резистор подтянет значение OR вниз (0), выключая транзистор, в результате чего выход будет подтянут вверх (1).
Вентиль AOI можно сделать из большего количества резисторов или диодов, обеспечив столько входов, сколько будет нужно. Можно было ожидать, что этот вентиль реализуют на одном чипе, однако в LVDC использовалось по нескольку чипов для каждого вентиля. У разных чипов разные комбинации диодов, резисторов и транзисторов, гибко соединённых для формирования нужных логических вентилей.
Модульные логические устройства
LVDC и LVDA созданы по интересной гибридной технологии под названием модульные логические устройства (Unit Logic Devices, ULD). Хотя внешне они напоминали интегральные схемы, модули ULD содержали несколько компонентов. Они использовали простые кремниевые кристаллы, каждый из которых реализовывал только один транзистор или два диода. Эти кристаллы вместе с толстоплёночными резисторами монтировались на керамической подложке площадью 2 кв.см. Эти модули были разновидностью технологии Solid Logic Technology (SLT), использовавшейся в популярных компьютерах S/360 от IBM. IBM начала разрабатывать SLT-модули в 1961 году, до того, как интегральные схемы были коммерчески выгодными, и к 1966 году выпускала по 100 млн модулей SLT в год.
Модули ULD были значительно меньше модулей SLT, как видно на фото, и в результате лучше подходили для компактного космического компьютера. Модули ULD использовали плоские керамические пакеты вместо металлических банок SLT, и имели металлические контакты на верхней части вместо штырьков. Клипсы на печатных платах удерживали модули ULD и соединялись с этими контактами. На LVDC и LVDA использовалось более 50 различных видов ULD.
Справа – ULD-модули, значительно меньшие, чем SLT-модули или более современные ИС DIP (слева). SLT модуль имел 13 мм в длину, а ULD модуль – 8 мм, и был гораздо тоньше.
В модуле ULD содержалось до четырёх крохотных квадратных кремниевых кристаллов. Каждый из них реализовывал либо два диода, либо один транзистор. На фото ниже показаны внутренние компоненты модуля, рядом с нетронутым модулем. Слева видны дорожки схемы на керамической подложке, соединённые с четырьмя крохотными квадратными кремниевыми кристаллами. Это похоже на печатную плату, но учтите, что на самом деле устройство гораздо меньше ногтя. Толстоплёночные резисторы печатались на нижней части модуля, поэтому они не видны.
ULD типа INV открыт, чтобы было видно четыре кремниевых кристалла. Правый верхний – транзистор, остальные три – двойные диоды. Модуль был защищён розовым силиконом.
На микроскопической фотографии ниже показан кремниевый кристалл из модуля ULD, реализующий два диода. Кристалл весьма мал – для масштаба на фото представлены крупинки сахара. У кристалла три внешних контакта – медные шарики, припаянные к трём кружкам. К двум нижним кружкам были добавлены примеси (тёмные участки) для формирования анодов двух диодов, а верхний кружок был катодом, соединённым с подложкой. Заметьте, что этот кристалл гораздо проще даже простейшей интегральной схемы.
Композитное фото двухдиодного кремниевого кристалла рядом с крупинками сахара
На следующей диаграмме показана схема внутри модуля INV. Левая сторона образует вентиль AOI с одним входом. Вентиль с одним входом может показаться бессмысленным, однако к ноге 1 можно подсоединить дополнительные входы AND, а к ноге 3 – дополнительные вентили OR. Правая сторона образует компоненты, которые можно использовать в качестве дополнительных входов.
Схема модуля инвертера
Плата также использует модули вентилей AND (типы АА и АВ). Учтите, что это не независимые вентили, а только компоненты, которые можно подсоединить к чипу INV, чтобы обеспечить больше входов AND и OR. Эти модули подсоединяются гибко, различными способами, специальных входов и выходов тут нет. Один из распространённых вариантов – использовать половину чипа АА в качестве вентиля AND с тремя входами. Часть чипа АВ может по необходимости обеспечить ещё два входа.
Схема вентилей AND типов АА и АВ
На фото ниже показаны полупроводники (двойные диоды) внутри вентиля АА. Можете сопоставить компоненты со схемой выше; наибольший интерес представляют контакты 1 и 5. Отметьте, что нумерация контактов не совпадает со стандартной схемой для ИС.
ULD типа АА, вскрытый, чтобы было видно четыре кремниевых кристалла. Это двойные диоды с соединёнными катодами.
Электрическая схема печатной платы
Чтобы разобраться в функциях платы, я провёл утомительную работу по прозвону мультиметром всех связей между чипами, чтобы нарисовать монтажную схему. Однако вскоре после этого нам в руки попали инструкции по LVDA со всеми схемами, из-за чего мои попытки обратной разработки оказались лишними. Плата формирует мультиплексор с 7 входами, выбирает один из 7 входов и сохраняет полученное значение в триггере. И для технологий 1960-х годов такое простое действие требовало создания целой платы с несколькими чипами.
На схеме ниже приведена упрощённая диаграмма платы. Слева у платы есть 7 входов; шесть из них – 28 В сигналы, которые нужно буферизовать, чтобы получить логические сигналы, а седьмой – 6 В логический сигнал. На одну из семи линий подаётся ток, чтобы выбрать соответствующий вход, а потом данные сохраняются в триггере. При подаче тока на «reset multiplexer» и «multiplexer address» триггер сбрасывается.
Упрощённая схема работы платы
Полная схема платы. Прямоугольниками обозначены логические элементы. NU обозначает не используемые входы – дорожки на плате есть, но чип не подсоединён.
И хотя на схеме нарисовано много логических вентилей, реализовано всё при помощи всего двух вентилей AOI. Жёлтые вентили формируют один большой вентиль AOI, а синие – второй. Два жёлтых OR сливаются в один. Два вентиля реализованы на восьми чипах – два чипа INV, четыре АА и два АВ. Это демонстрирует гибкость и расширяемость логической модели AOI, а также использование схемой большого количества чипов. Во всей схеме используется всего два транзистора – почти вся логика реализована на диодах.
Схема буфера
Из 26 чипов на плате 18 были аналоговыми, и занимались буферизацией и обработкой входных сигналов. На вход подавались сигналы 28 В, а логика требовала 6 В. Каждый вход (кроме №7) проходил через «дискретную схему интерфейса» (DIA), превращавшую вход в логический сигнал. На следующей диаграмме показана схема, собранная из чипов 321, 322 и 323 (у большей части чипов на плате обозначения идут алфавитным кодом, типа INV, DLD и ED; однако у аналоговых чипов обозначения цифровые, и взяты, судя по всему, просто три последних цифры номера запчасти). На фото видно содержимое каждого из чипов. Поскольку чип 321 состоит только из резисторов (снизу), он выглядит пустым сверху. Чип 322 состоит из одного диода, а чип 323 – из двух транзисторов (на фото 323 отсутствуют кристаллы; это такие же мелкие квадратики, как на 322).
Дискретная входная схема типа А (DIA). Приведённая схема подключения 322 имеет ошибку – два контакта №5.
На следующей диаграмме даётся общая структура платы. Восемь логических чипов в середине обведены зелёным. Каждый из шести входных буферов состоит из трёх чипов (321, 322 и 323). Путь проходящего через них сигнала показан синими стрелками. На плате 35 мест для чипы, а используется 26. Если разместить на свободных местах дополнительные чипы, ту же самую плату можно использовать для других целей.
Роль платы в LVDA
Эта плата была частью мультиплексора в подсистеме LVDA под названием «дискретизатор системных данных» [System Data Sampler], выбирающего сигналы и отправляющего их либо на компьютер, либо на Землю для телеметрии. SDS состоят из мультиплексора, выбирающего один из восьми сигналов, и сериализатора-селектора, преобразующего 14-битные данные в последовательный вид. У мультиплексора есть несколько источников данных – наземный компьютер RCA-110, который до запуска был подключен к ракете; «устройство приёма команд», принимавшее компьютерные команды с земли после запуска ракеты; обратная связь от «селектора», набора реле, которые компьютер использовал для управления ракетой; телеметрии с системы получения цифровых данных Digital Data Acquisition System (DDAS) и данных, получаемых в реальном времени.
Физически многие из этих источников данных были большими коробками, размещёнными в инструментальном модуле. К примеру, «дистрибутор управления» был 17-кг коробкой, закреплённой рядом с LVDA, и подключённой к нему толстым кабелем. На вход «устройству приёма команд» LVDA подавались сигналы от «декодера команд», 4-кг коробки, соединённой с другими коробками, занимавшимися приёмом и передачей радиосигналов. Поскольку LVDA был подключён кабелями ко многим различным устройствам инструментального модуля, ему требовался 21 коннектор.
Где в инструментальном модуле располагались LVDA, LVDC, декодер команд и распределитель контроля.
Физическая структура платы
Платы в LVDA и LVDC использовали интересные технологии изготовления, с тем, чтобы выдержать большое ускорение и вибрации ракеты, а также охлаждать элементы. Попавшая мне в руки плата была повреждена, у неё не было крепежа, но на фото ниже показан целый модуль под названием «страница». Рама страницы сделана из сплава магния с литием – прочного, имеющего небольшой вес и хорошо проводящего тепло материала. Тепло от платы шло через раму на шасси LVDA и LVDC, которую охлаждал жидкий метанол, идущий по каналам, просверленным в шасси.
Страница с металлической рамой.
На каждой странице можно разместить по две печатных платы, спереди и сзади. У печатной платы 12 слоёв – довольно много для 1960-х (даже в 1970-х на коммерческих печатных платах обычно было по 2 слоя). У страницы есть разъём на 98 контактов – по 49 для каждой из плат. Платы соединяются 30-ю ногами, проходящими насквозь, наверху плат. Также наверху каждой платы есть по 18 проверочных контактов – они позволяли проверять платы, когда те уже были установлены. IBM после этого заново использовала такую конструкцию со «страницами» в аэрокосмических компьютерах System/4 Pi.
Попавшая ко мне плата была с силой оторвана от другой платы на странице. На следующем фото показана её обратная часть. Сквозные контакты видны вверху – они должны соединяться с другой платой. Внизу видны 49 контактов отсутствующей платы. Часть изоляции удалена с платы, и на месте для каждого ULD-модуля видно по 12 переходных отверстий. Благодаря им контакт чипа можно соединить с любым из 12 слоёв печатной платы.
Заключение
Эта небольшая печатная плата иллюстрирует несколько вещей, связанных с компьютерами 1960-х годов.
Плата использует не интегральные схемы, только появившиеся в то время, а технологию гибридных модулей. И хотя она может показаться отсталой, она стала ключом к успеху линейки IBM System/360. Её представили 56 лет назад (7 апреля 1964 года), и она использовала гибридные модули SLT с логикой AOI. Такие компьютеры много лет доминировали на рынке, а архитектура System/360 до сих пор поддерживается в мейнфреймах IBM.
Также LVDC и LVDA послужили созданию линейки аэрокосмических компьютеров IBM System/4, представленных в 1967. Эти компьютеры тоже использовали такие же «страницы» и коннекторы, как и данная плата, хотя они отказались от модулей ULD в пользу плоских ИС TTL. Линейка System/4 Pi затем эволюционировала до компьютеров AP-101S, использовавшихся на космических шаттлах.
Наконец, по плате видно, насколько значительно улучшились технологии с 1960-х. В каждом модуле ULD содержалось до 4 транзисторов, поэтому даже для такой простейшей схемы, как мультиплексор, потребовалось сделать целую плату из модулей. В сегодняшнем процессоре от iPhone содержится более 8 млрд транзисторов. Удивительно, что такая примитивная технология смогла довести ракету до Луны.
ilynxy
Удивительно то, что сейчас у каждого в кармане вычислительной мощности в десятки раз больше, чем использовалось для полёта на Луну, а мы до сих пор не бороздим бескрайние просторы космоса.
И тогда и сейчас, проблема одна: формула Циолковского. Пока не изобретут «мега-турбо-гиперпространственный» двигатель вычислительные мощности нам не помогут.
kAIST
Вычислительные мощности сейчас помогают двигать науку, которая возможно поможет в будущем бороздить просторы космоса.
Ostrovv
… или мигать светодиодами.
kAIST
Если кто то мигает светодиодами, это не значит что кто то другой не находит более достойного применению железа ;)
engine9
Иногда это один и тот же человек в обеих ролях, но на разных стадиях обучения.
saloid
Что является первым опытом дальнейших продвигателей науки
Victor_koly
Может к 2098 году будет техническое применение научных результатов LHC и будущих коллайдеров.
А может мы будем на ноутбуке с производительностью 1 ПФлопс «запускать птиц в овец».
SLY_G Автор
Лунная гонка была явлением политическим; ситуация в политике стимулировала космические достижения. Как только гоняться стало не с кем, смысл гонки потерялся.
Сейчас на первом месте экономика. Если бы придумали экономический смысл полётов на Луну или Марс, началась бы экономическая гонка. Пока такого смысла нет.
А проблемы технического плана не такие уж большие. Последний марсианский вездеход запустили? Запустили.
Теперь все проблемы опять в политике, только она не стимулирует, а подавляет космические исследования.
К примеру, запуск «Кьюриосити» обошёлся НАСА в $2,5 млрд.
Совокупные расходы на оборону всех стран друг от друга за 2018 год составили $1822 млрд.
В мире розовых пони можно было бы запускать по две миссии «Кьюриосити» в день.
4tlen
А есть необходимость в новых «Кьюриосити»? Ну то есть, например, текущему не хватает того-то и того-то и неплохо было отправить версию новее. Людей понятно на Марс сегодня никто не пошлет (да и в ближайшем будущем, имхо).
Jeka_M3
Именно поэтому в 2020 году запускают «Персевирэнс» (бывш. Mars 2020) с отличающимся от «Кьюриосити» набором инструментов (в состав которого будет входить даже небольшой вертолётный дрон).
Victor_koly
Меня очень интересует, как будет летать вертолет на Марсе. Может реальнее как-то собрать эту атмосферу в реактивные движки?
Mike_soft
реактивным (ракетным) атмосфера не нужна, а реактивным турбинным она не поможет — в ней нет кислорода…
Victor_koly
Я имел в виду брать углекислоту из атмосферы как рабочее тело.
Jeka_M3
Jeka_M3
К тому же, были проведены практические испытания в вакуумной камере для имитации атмосферы Марса — youtu.be/FxGSPH8-p14?t=27
Dr_Faksov
И топливо