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

Зонди-близнюки «Вояджер» продовжують функціонувати та надсилати дані після понад чотирьох десятиліть у космосі. Як їм вдається так довго орієнтуватися в просторі та координувати свої системи? Що лежить в основі геніальних інженерних рішень, закладених у ці апарати ще в минулу епоху?

3636

Космічний апарат «Вояджер-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

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