Мозг аппаратов «Вояджер»

Зонды-близнецы «Вояджер» продолжают функционировать и отправлять данные после четырех десятилетий в космосе. Как им удается так долго ориентироваться в пространстве и координировать свои системы? Что лежит в основе гениальных инженерных решений, заложенных в эти аппараты еще в прошлую эпоху?
4392
Космический аппарат «Вояджер-1» с орбитами Юпитера, Сатурна, Урана и Нептуна на фоне, выделенными оранжевыми кругами. Видение художника. Источник: NASA | ESA | G. Bacon (STScI)

Запущенные в 1977 году космические аппараты-близнецы «Вояджер-1» и «2» в свое время стали инновационным достижением. Удивительно то, что даже после четырех десятилетий путешествий в суровой, иногда непредсказуемой, среде оба зонда продолжают функционировать и отправлять «домой» важные данные. Хотя для связи с ними и загрузки новых алгоритмов каждый раз требуется всё больше времени, тот факт, что это до сих пор возможно с технологиями прошлой эпохи, является свидетельством качества принятых в нелегких условиях инженерных решений.

История создания и ввода в эксплуатацию компьютеров «Вояджеров» достаточно увлекательна. Период сокращения бюджета NASA после спада энтузиазма эпохи Apollo; трудности, с которыми инженеры впервые столкнутся во время исследований одних из самых интересных мест Солнечной системы, и другие детали заставляют каждого отдать должное технологиям того времени.

Аппараты «Вояджер» имеют по шесть бортовых компьютеров, изначально организованных как распределенная система, состоящая из трех компьютеров с двойным резервированием: Система управления аппаратом (CCS), Система сбора и обработки полётных данных (FDS) и Система управления ориентацией и артикуляцией (AACS). Именно они обеспечили космические путешествия к Юпитеру, Сатурну и за их пределы и до сих пор продолжают поддерживать зонды «на плаву».

Разработка компьютерного оборудования

Процесс разработки программного обеспечения, возможно, и не самый интересный этап, однако чрезвычайно важный для конечного результата.

Одним из первых проектных решений по поводу компьютеров «Вояджеров» было использование Системы управления CCS, разработанной для космических аппаратов Viking, отправившихся к Марсу двумя годами ранее. Это не только удовлетворило предложение по стандартизации компьютерной системы, но и способствовало решению финансового вопроса в связи с сокращением бюджета NASA после миссий Apollo в 1970-х годах. В то время непилотируемое исследование космоса становилось всё менее приоритетным и поэтому для продолжения проекта было важно поддерживать низкие расходы.

Память Системы управления CCS космического аппарата Viking. Источник: NASA

В конце концов, системы управления CCS аппаратов Voyager и Viking имеют одинаковый объём памяти – около 70 кБ, хотя программы и инструкции первой намного сложнее. Большую роль в этом сыграла функция программирования на расстоянии, которая устранила необходимость в больших объёмах встроенной памяти и предоставила инженерам возможность регулярно загружать новые алгоритмы в энергонезависимую память.

Новыми элементами программного обеспечения «Вояджеров» стали Система сбора и обработки полётных данных (FDS) и Система управления ориентацией и артикуляцией (AACS). За их функционирование отвечает CCS, отправляя команды и управляя памятью. С этой целью были добавлены ещё две программы: MEMLOAD – для загрузки данных в память устройств и AACSIN – для мониторинга работоспособности AACS.

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

Первоначальное программное обеспечение для «Вояджеров» было написано с использованием языка программирования Fortran 5 и впоследствии заменено на Fortran 77. Сегодня часть команд разработана с помощью универсального языка C. Низкоуровневое «лёгкое» программное обеспечение становится более важным в нынешних условиях, особенно когда аппараты всё больше удаляются от Земли и общение с ними замедляется.

В структуре руководства программным обеспечением «Вояджеров» также произошли изменения. Главный инженер Х. Кент Фревинг руководил работой всех специалистов, ответственных за каждую компьютерную систему, и одновременно над проектом работали до четырех программистов. Для разработки ПО была создана «Команда инженеров бортового программного обеспечения» (On-Board Software Design Team), а его проверку доверено «Лаборатории по проведению испытаний» (Capability Demonstration Laboratory). После завершения работ над начальным программным обеспечением инженеры переходили к тестированию аппаратуры, сразу же настраивая её в необходимую конфигурацию для интеграции на борт аппарата.

Система управления аппаратом (CCS)

Как уже упоминалось, системы управления CCS аппаратов Voyager и Viking являются почти идентичными; первая лишь с некоторыми модификациями для соединения с системами FDS и AACS.

Система CCS аппарата Viking была первой резервной компьютерной системой в применении Лаборатории реактивного движения NASA (JPL) с относительно простой конструкцией, которая гарантировала гораздо большую вычислительную мощность. Каждого элемента в ней по два: источники питания, процессоры, буферы, устройства ввода и вывода данных. Все они – перекрёстно соединены, что обеспечивает выполнение функции отказоустойчивости: в случае выхода из строя одного компонента первой CCS, компьютер переходит к применению идентичного рабочего компонента второй CCS.

Блок-схема Системы управления CCS аппаратов Voyager и Viking. Источник: NASA

CCS – это главный цифровой мозг «Вояджеров», отвечающий за управление всеми основными операциями, последовательность выполнения программ, контроль состояния аппаратов, связь с другими компьютерными системами и загрузку алгоритмов в память. Система имеет три режима работы: индивидуальный – каждая CCS выполняет задачу независимо друг от друга; параллельный – обе CCS работают над задачей вместе, и тандемный – каждая CCS самостоятельно работает над одной и той же задачей. Во время сближений с Юпитером и Сатурном CCS работала в тандемном режиме.

Кроме того, обе системы CCS постоянно включены, что обеспечивает большую вычислительную мощность аппарата. Именно это и сыграло важную роль для сбора данных во время сближений с Юпитером, Сатурном, Ураном и Нептуном.

На архитектурном уровне процессоры CCS состоят из интерпретатора команд, панели управления трактом данных и регистров, которые работают последовательно: 18-разрядный аккумулятор, 12-разрядный регистр связи, 12-разрядный счетчик команд, 4-разрядный регистр состояния. Команды являют собой 18-битные машинные слова: старшие или наиболее значимые 12 бит содержат адреса (4к прямой адресации), а младшие или наименее значимые 6 бит – коды операций (64 команд).

Система сбора и обработки полётных данных (FDS)

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

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

Система сбора и обработки полётных данных FDS аппарата Voyager. Источник: NASA

В отличие от двух других компьютерных систем «Вояджеров» CCS и AACS, FDS не разработана с использованием микросхем на основе ТТЛ технологии (англ. TTL, Transistor-Transistor Logicтранзисторно-транзисторная логика). Система FDS стала первым компьютером с применением энергозависимой памяти КМОП-чипов, который полетел в космос (англ. CMOS, Complementary Metal-Oxide Semiconductorкомплементарная МОП-структура).

Это стало огромным шагом, поскольку технология была достаточно новой, и если на мгновение исчезло бы питание к КМОП-микросхемам, все данные были бы потеряны. Для того, чтобы этого никогда не случилось, к ним от радиоизотопных генераторов, которые обеспечивали постоянный ток, была проведена прямая линия питания. Это решало проблему – конечно, условием должно было бы быть, что с генераторами всё в порядке. В случае выхода из строя генераторов, необходимости в FDS всё равно не было бы.

Системы CCS и FDS были спроектированы отдельно из-за разницы в скоростях ввода/вывода данных, даже если в вычислительном отношении их можно было бы легко объединить. Они также были сконструированы с возможностью программирования на расстоянии, что позволяет вносить изменения и оптимизировать процессы во время путешествий. В конце концов, аппараты «Вояджер» оказались последними разработанными Лабораторией реактивного движения зондами, в которых эти системы отделены друг от друга.

Система управления ориентацией и артикуляцией (AACS)

AACS – система управления ориентацией и артикуляцией зондов «Вояджер», которая определяет их направление и положение в пространстве, удерживая аппараты нацеленными на Землю. Сначала в её проектировании планировали применить новую технологию под названием HYSPACE (англ. Hybrid Programmable Attitude Control Electronics – «Гибридная электронная аппаратура с программным управлением ориентацией»). Она объединяет аналоговые и цифровые элементы, использует адресацию по индексному регистру и 4-байтную последовательную архитектуру. Это позволило бы применить один и тот же код для всех трех осей AACS.

Однако команда разработчиков подвергалась давлению с целью применения системы CCS аппарата Viking и для управления ориентацией, поскольку она тоже предусматривала выполнение этой функции. К тому же, это сократило бы затраты на разработку полностью новой системы.

В конце концов, программисты создали модифицированную версию CCS с некоторыми элементами HYSPACE, чтобы получить преимущества адресации по индексному регистру. В документации систему AACS всё еще обозначают как HYSPACE, хотя это её модификация.

Система управления ориентацией и артикуляцией «Вояджеров» состоит из четырех основных компонентов, обеспечивающих выполнение её функций: шаговые двигатели платформы для сканирования, электроприводы, микродвигатели управления ориентацией и логические элементы двигателей. Кроме этого, AACS регулярно отправляет к CCS сигналы о своём состоянии.

Итоги

Общественное настроение во времена проектирования аппаратов «Вояджер» существенно повлияло на выбор их программного обеспечения. Повторное использование и модификация конструкций для сокращения расходов, оптимизация настроек памяти из-за её ограниченного объёма и максимизация скорости без увеличения потребности в электроэнергии – всё еще проблемы, с которыми сталкиваются современные космические проекты.

А впрочем, невероятно впечатляет не только то, что команда разработчиков компьютеров «Вояджер» создала недорогие, эффективные и мощные в вычислительном отношении системы, но и то, что благодаря их прогрессивному мышлению и изобретательным инженерным решениям оба зонда продолжают работать и по сей день. С положительными прогнозами, по крайней мере, на еще одно десятилетие …

Источник

8 комментариев

Развернуть все

Пожалуйста, в свой профиль, чтобы комментировать сообщения, делать закладки и оценивать других пользователей. Для создания профиля или входа в систему требуется два клика.

Чер 22, 2024 10:43

40 років на технологіях 70-80х років. Сучасні технології так зможуть? Електроніка значно розвинулась, стала більш енерго ощадливою можливо дешевшою, запуски відчутно здешевшали.
А зондів більше не запускають ;(… Невже все вивчили?

Чер 22, 2024 11:52

До вашого відома – радіаційностійка електроніка не подешевшела, вона просто стала більш міцна/ємка (наприклад пам’ять – там в гігабайтах, але за ціною маленької цесни за плашку).
А вот культура програмування з тих часів весьма деградувала – я не впевнений що сучасні програмисти зможуть написати такий код (без багів/глюків та працюючий на кілобайтах, а не гігабайтах)

Чер 22, 2024 12:03

… радіаційностійка електроніка не подешевшела
Есть у меня надежда, что по мере общего роста интереса к космосу этот фактор может измениться.
Мы уже видели как производители геостационарных спутников пошли по пути увеличения продолжительности жизни. По мере того, как прогресс у мегаконстеляций замедлится, а внимание к космическом мусору будет расти, масштаб производства космической электроники заработает на удешевление.

Чер 23, 2024 22:56

я не впевнений що сучасні програмисти зможуть написати такий код
Хтось досі ж обслуговує ті Вояджери… Та і марсоходи, гелікоптер…