День астрономии в Музее космонавтики на ВДНХ
На мероприятии можно было узнать о баллистическом центре ФКИ МГУ и увидеть макет кубсата «Рубаков»
Лаборатория геокосмических исследований делится новостями проекта спутника «Аркадий Гальпер»
В Лаборатории геокосмических исследований НИЯУ МИФИ продолжают работу над научной аппаратурой, предназначенной для регистрации энергичных электронов, высыпающихся из внешнего радиационного пояса Земли и вызывающих полярные сияния. Пока одни участники проекта собирают и отлаживают детекторные модули, другие занимаются программным обеспечением плат детекторов и управления. Без него сцинтилляторы, кремниевые фотоумножители (SiPM) и электронные платы остаются просто набором комплектующих. Эта новость — о работе с платой управления.
Плата управления — посредник между детектором и спутником. Она принимает команды с борта, включает детекторную электронику и задаёт ей условия работы. На ней же размещены устройства для сбора научных данных в память прибора и их передачи по запросу на борт космического аппарата. Кроме того, плата следит за температурой и показателями других узлов прибора. Всё это обеспечивает программа, работающая на микроконтроллере платы.

Семь режимов
Работа прибора определяется набором из семи режимов: дежурный, наблюдений, выгрузки накопленных данных, стирания памяти, проверки памяти, аварийный и выключения. В каждый момент времени прибор находится ровно в одном из них, а все переходы между режимами прописаны заранее.
Такая строгость нужна не сама по себе. Прибор должен одновременно реагировать на множество событий: команды с Земли, срабатывания детекторов, секундные отсчёты бортовых часов, окончание длительных операций, изменение температуры. Если разрешить обрабатывать их как придётся, поведение аппаратуры на орбите станет непредсказуемым. Поэтому все события складываются в общую очередь, и программа разбирает их по одному. Без очереди, сразу в начало, проходят только аварии и команда на выключение.
Что происходит во время наблюдений
Самый важный из семи режимов — режим наблюдений. Плата управления включает детекторную электронику, задаёт ей пороги и условия отбора событий и начинает принимать срабатывания. По каждому из них считываются амплитуды сигналов, сработавшая комбинация слоёв детектора и точное время. Раз в секунду программа опрашивает счётчики частиц и счётчики системы антисовпадений, которая отсеивает фон.
Из этого складываются научные данные: сведения об отдельных частицах, посекундная статистика и накопленные энергетические спектры. Каждые двадцать секунд в тот же поток добавляются показания датчиков прибора, чтобы при разборе данных на Земле было понятно, в каких условиях он работал. В поток попадает и информация от бортового компьютера спутника: время, положение на орбите, ориентация аппарата и параметры магнитного поля. Без неё измерения останутся набором чисел. Чтобы говорить о высыпаниях электронов, надо знать, над какой точкой Земли и на какой силовой линии находился прибор в этот момент.
Записывается всё это не сплошным потоком, а пакетами одинакового размера. У каждого пакета есть заголовок с опознавательными метками и номерами, собственная контрольная сумма и контрольная сумма предыдущего пакета. Даже если часть данных потеряется при передаче, приёмная сторона найдёт границы пакетов, увидит пропуск и проверит целостность того, что дошло.
А если что-то сломалось?
Немалая часть программы описывает не штатную работу, а отказы. Это не паранойя, а необходимость: на орбите прибор остаётся один на один с радиацией, перепадами температур и сбоями питания.
Каждые двадцать секунд запускается процедура, которая по очереди обходит датчики температуры обеих плат, измерители напряжения и тока и подтверждение питания узлов прибора. Для каждой величины заранее заданы границы допустимого и свой аварийный признак, который поднимается, если измерение из этих границ вышло. Вот как это выглядит в коде — функция, которая раз в 20 секунд проверяет все датчики:

Если какое-то значение выходит за границы, поднимается аварийный признак.
Но не всякая авария одинаково опасна. Часть признаков можно отключить командой с Земли: отказ одного датчика температуры не повод терять прибор целиком. А вот ошибки при работе с памятью и при выгрузке данных не отключаются никогда. Реакция всегда одна и та же: сначала снять сигналы и питание с проблемного узла, потом уйти в аварийный режим, где прибор отвечает лишь на несколько команд и ждёт решения с Земли.
Настройки прибора хранятся сразу в двух копиях, каждая со своей контрольной суммой. При включении программа сверяет обе, берёт исправную и восстанавливает по ней вторую. Новые настройки становятся рабочими только после того, как успешно записались в обе. Отдельный режим отведён под проверку памяти. Прибор записывает туда тестовую последовательность, читает её обратно, сравнивает с исходной и составляет карту ошибок. За время полёта память постепенно деградирует под действием космической радиации, и такие проверки покажут, насколько можно доверять записанному. Долгие операции вроде выгрузки идут небольшими порциями: программа делает очередной кусок работы и возвращается к обработке событий. Благодаря этому прибор не «залипает» и подтверждает приём любой команды не позже, чем через секунду, даже посреди стирания памяти.
Сначала документ, потом код
Как и в случае с конструкцией прибора, разработка программного обеспечения ведётся смешанной командой: опытные специалисты лаборатории работают вместе со студентами и школьниками. Прежде чем писать код, команда подготовила полный комплект алгоритмической документации: описание алгоритма, таблицу состояний и переходов, отдельные документы на каждый режим работы, документ обработки команд и диаграммы состояний.
«Космический прибор нельзя отладить „по месту“: после запуска у нас останется только канал связи и телеметрия. Поэтому мы сначала описываем поведение прибора до последнего перехода, а уже потом превращаем это описание в код», — рассказывают разработчики программного обеспечения.

Для студентов и школьников это оказалось отдельной школой. Форматы данных, контрольные суммы, резервирование, поведение при отказах редко попадают в учебные курсы, но без них космический прибор не сделать.
Работы планируется завершить до конца 2026 года, когда детектор будет установлен на малый космический аппарат «Аркадий Гальпер» формата CubeSat 3U на спутниковой платформе компании «Геоскан».
Проект реализуется в рамках научно-образовательного проекта Space-π, организованного Фондом содействия инновациям при поддержке федерального проекта «Кадры для космоса» Минобрнауки России.
Мы будем писать вам только когда появится что-то интересное,
никакого космического мусора