Добавить в корзинуПозвонить
Найти в Дзене
Фотон

Бортовой компьютер «Вояджеров». Почему они всё ещё работают?

Что я считаю самым выдающимся инженерным чудом за всю историю космонавтики? Я не назову «Сатурн-5» или марсоход «Кьюриосити». Я вспомню два аппарата, которые прямо сейчас летят сквозь межзвёздную плазму на расстоянии в 24 миллиарда километров от дома. Вояджеры. И главное чудо там — их бортовые компьютеры. Три, по современным меркам смехотворных, вычислительных блока, построенных в 1977 году, которые до сих пор работают, ориентируются и разговаривают с нами. В эпоху, когда ваш чайник мощнее всей этой троицы, вместе взятой, упрямство «Вояджеров» — это почти философия. Большинство автоматических станций той эпохи обходилось одним центральным процессором или даже просто программно-временным устройством. Но перед командой NASA стояла задача, которая не укладывалась ни в какие рамки: «Гранд-тур». Нужно было, чтобы аппарат не просто летел по инерции, а интенсивно работал во время стремительных пролётов Юпитера и Сатурна, а потом ещё и Нептуна с Ураном. Представьте себе, что вы пытаетесь однов
Оглавление

Что я считаю самым выдающимся инженерным чудом за всю историю космонавтики? Я не назову «Сатурн-5» или марсоход «Кьюриосити». Я вспомню два аппарата, которые прямо сейчас летят сквозь межзвёздную плазму на расстоянии в 24 миллиарда километров от дома. Вояджеры. И главное чудо там — их бортовые компьютеры. Три, по современным меркам смехотворных, вычислительных блока, построенных в 1977 году, которые до сих пор работают, ориентируются и разговаривают с нами. В эпоху, когда ваш чайник мощнее всей этой троицы, вместе взятой, упрямство «Вояджеров» — это почти философия.

Одному мозгу там не место

-2

Большинство автоматических станций той эпохи обходилось одним центральным процессором или даже просто программно-временным устройством. Но перед командой NASA стояла задача, которая не укладывалась ни в какие рамки: «Гранд-тур». Нужно было, чтобы аппарат не просто летел по инерции, а интенсивно работал во время стремительных пролётов Юпитера и Сатурна, а потом ещё и Нептуна с Ураном. Представьте себе, что вы пытаетесь одновременно фотографировать ураган, слушать радиошум магнитосферы, замерять частицы и удерживать остронаправленную антенну на Земле, пролетая мимо планеты на скорости в десятки километров в секунду. Никакой одиночный компьютер того времени просто не справился бы с этим потоком данных и команд, да ещё и с чудовищным требованием по надёжности.

Поэтому инженеры совершили маленькую революцию: они создали первую распределённую вычислительную систему для дальнего космоса. На борту каждого «Вояджера» живут три отдельных компьютера, и каждый отвечает за свою, строго очерченную епархию.

Первый — это CCS, Компьютерная Командная Подсистема. «Директор» борта. Его задача — принимать команды с Земли, проверять их на ошибки и распределять задачи между остальными системами. Если нужно включить обогреватель или запустить двигатель коррекции, командует именно CCS. Интересно, что этот мозг почти без изменений перекочевал на «Вояджеры» с орбитального аппарата «Викинг», который садился на Марс. Надёжная, проверенная архитектура. Второй — AACS, система ориентации и позиционирования. Это «вестибулярный аппарат» зонда. Он следит за тем, чтобы остронаправленная тарелка всегда смотрела на бледную точку Земли, парируя шатания длинных магнитометрических штанг и вибрации от работы движков. Без него наш сигнал с Земли давно бы превратился в неразборчивый шёпот. И третий — FDS, подсистема полётных данных, «летописец и архивариус». Именно она собирает всю научную телеметрию, упаковывает её в пакеты данных и готовит к передаче. Ирония в том, что этот компьютер стал самым капризным из всей троицы, но именно его история — самый яркий пример живучести.

4 тысячи слов и магнитная лента

-3

Опустимся на уровень «железа». Мы уже привыкли, что память измеряется гигабайтами. Так вот, оперативная память каждого из компьютеров «Вояджера» составляет чуть больше четырёх тысяч 18-битных машинных слов. В пересчёте на привычные нам байты — это меньше десяти килобайт. Чтобы вы осознали: этот текст, который я надиктовываю, в сыром виде занял бы почти всю свободную «оперативку» командного компьютера. А когда «Вояджеры» стартовали, у программистов оставались незадействованными всего два слова из этого объёма. Никакой операционной системы. Никаких излишеств. Машинный код, зашитый прямо в логику дискретных микросхем серии 7400.

Процессоры здесь не шарят в гигагерцах... Задающий генератор выдаёт 4 мегагерца, а тактовая частота процессора и вовсе составляет жалкие 250 килогерц. Производительность — около восьми тысяч операций в секунду. Ваш фитнес-браслет, прежде чем показать пульс, проворачивает вычисления в миллионы раз быстрее. Но самое очаровательное — это архитектура памяти. В CCS и AACS использовали не полупроводники, а так называемую проволочно-напылённую память. Информация в ней хранилась в виде магнитных доменов на тонкой проволоке с железо-никелевым покрытием. Но она была условно энергонезависимой — выключи питание, и данные останутся на месте.

Для хранения же огромного потока данных с научных приборов использовали не твердотельный накопитель, а архаичный восьмидорожечный магнитофон с лентой шириной в полдюйма и длиной 328 метров. Его ёмкость — около 64 мегабайт, что вмещало примерно сотню снимков с телекамер. Представьте себе: вы ждёте сеанс связи, чтобы на скорости от 1,4 до 115 килобит в секунду перегнать это «богатство» на Землю. Инженерам приходилось очень тщательно планировать, что стирать, а что хранить, потому что право на ошибку стоило бы нам, скажем, снимков вулканов Ио или колец Сатурна.

Как перепрошить систему на расстоянии в 20 миллиардов километров

-4

Слабость «железа» компенсировалась гениальностью софта и возможностью его обновления. Да, в 70-х годах умудрились сделать перезаписываемую память (в FDS использовали уже CMOS-чипы, к которым мы ещё вернёмся), и код писали на Ассемблер, а позже на Fortran 77 и Си. И это не просто слова. В 1990 году, когда «Вояджер-2» завершил пролёт Нептуна и задача «фотографирования планет» была выполнена, инженеры столкнулись с новой реальностью. Аппараты уходили туда, где сигнал от Земли становится невероятно слабым. Что, если они перестанут слышать нас вообще?

Тогда программисты совершили нечто невообразимое: они переписали код FDS, внедрив программу аварийной автономии. Теперь, даже если бы «Вояджер» окончательно потерял связь и перестал принимать команды CCS, подсистема обработки данных знала бы, что делать. Проснуться, собрать научную информацию, упаковать её и начать слепую трансляцию на Землю по заранее заданному расписанию.

А чтобы этот шёпот вообще можно было разобрать, использовали каскадную коррекцию ошибок. Сначала коды Рида-Соломона (они работают с символами, а не с битами), а когда сигнал ослаб ещё сильнее, добавили свёрточные коды. Это уменьшило вероятность битовой ошибки с одного сбоя на пару сотен бит до одного на миллион. Без этого хитроумного математематического заклинания на снимках Тритона мы видели бы только серый «снег».

Смертельные глюки

-5

Без сбоев, конечно, не обходится. Относительно недавно, в 2022 году, «Вояджер-1» начал посылать какую-то абракадабру с подсистемы AACS — телеметрия о положении антенны стала бессмысленной, хотя сама антенна смотрела чётко на Землю. Пришлось искать «крота» в коде и переключаться на резервный канал. А в конце 2023 года заглючил уже FDS — вместо осмысленных данных пошла мешанина. Поломка одной ячейки памяти в чипе, который летел сквозь холод и радиацию полвека, поставила под угрозу всю миссию. И вот тут инженеры сделали почти невозможное: они перераспределили память, «выколов» сбойный участок и переписав критический код в обход него. И всё это — методом проб и тыка, посылая команды и ожидая ответа почти двое суток.

Почему же поломка одной микросхемы не убила зонд сразу? Это урок дублирования. В CCS и AACS каждая цепь продублирована дважды, а FDS имеет прямой канал питания от радиоизотопного термоэлектрического генератора (РИТЭГа), минуя общую шину. Инженеры намертво припаяли его к самому источнику жизни. Чтобы обесточить память FDS, нужно, чтобы одновременно сдохли все три РИТЭГа, а это уже означает конец миссии в любом случае. А ещё там использована хитрая перекрёстная схема: любой процессор CCS может обратиться к любому выходному блоку. В итоге специалисты из Лаборатории реактивного движения до сих пор балансируют на грани, жонглируя резервными ветками и переставляя байты, чтобы выжать для науки ещё хотя бы пару лет.

Почему мы не можем сделать так же просто и вечно

-6

Я часто думаю: почему современные спутники, напичканные защищёнными системами и радиационно-стойкой памятью, иногда летают хуже этих ветеранов? Ответ лежит не столько в технологии, сколько в философии. Современные системы сложны настолько, что мы не можем предсказать все их сбои заранее. Мы страхуемся дублированием, но само ПО настолько развесисто, что в нём легко прячется фатальная ошибка. Компьютеры «Вояджеров» делались в эпоху, когда каждый бит был на счету, а каждая инструкция вылизывалась вручную. Там нет «ничего лишнего», что могло бы сломаться.

И да, факт остаётся фактом: совокупная вычислительная мощь всех трёх компьютеров «Вояджера» уступает мощности простенькой электронной читалки. Но попросите свой ридер проработать 50 лет в открытом космосе, при минус 180 градусах, без единого перезапуска питания, и она рассыплется в пыль ещё на вибростенде. «Вояджеры» же — это не просто кусок кремния и золота. Это памятник культуре инженерии, где машина оказалась ровно тем, что нужно, чтобы унести наше любопытство туда, где заканчивается Солнечная система. И пока их ядерные батарейки выдают последние ватты, мы будем ловить их голос, потому что это биение сердца самого дальнего рубежа, построенного человечеством.