Какие данные New Horizons отправила на Землю, чтобы диагностировать проблему перехода в безопасный режим?

Недавно космический корабль «Новые горизонты» на пути к Плутону столкнулся с «трудно обнаруживаемой временной ошибкой в ​​последовательности команд космического корабля». Означает ли это, что это была ошибка многопоточности или что-то в этом роде? Какие данные будут отправлены на Землю, чтобы помочь НАСА диагностировать проблему? Получат ли они трассировку стека? Я предполагаю, что огромное расстояние вызовет некоторую ненадежность передачи помимо времени передачи 4,5 часа, поэтому я предполагаю, что данные, которые передаются туда и обратно, должны быть довольно минимальными.

Ответы (2)

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

Многопоточность не была проблемой, и на самом деле программное обеспечение никогда не зависало. Его просто попросили сделать две ресурсоемкие операции одновременно: (1) сжать научные данные и (2) скопировать загрузку команд в энергонезависимую память. При этом использовался больший процент ЦП, чем ожидалось системой, и системы управления сбоями решили, что процессор работает неправильно, и принудительно переключились на резервный компьютер. Трассировка стека в этом случае не помогла бы.

Источник: Вашингтон Пост .

Но где же жили лог-файлы? Похоже, что для отправки лог-файлов обратно с Плутона потребуется много данных.
Это не совсем решает вопрос
Надеюсь, это ответит на ваш вопрос в заголовке. Руководство проекта должно решить, какие данные публиковать, и я не хочу публиковать какую-либо информацию без их одобрения. Я отредактирую свой ответ re: многопоточность, хотя

New Horizons несет две компьютерные системы. Как сообщила команда New Horizons 4 июля :

Оперативный центр миссии в Лаборатории прикладной физики Университета Джона Хопкинса, Лорел, Мэриленд, потерял связь с беспилотным космическим кораблем — теперь через 10 дней после прибытия на Плутон — в 13:54 по восточному поясному времени и восстановил связь с New Horizons в 3:00: 15:00 по восточноевропейскому времени, через сеть дальнего космоса НАСА.

За это время автопилот на борту космического корабля распознал проблему и, как он и запрограммирован в такой ситуации, переключился с основного компьютера на резервный. Автопилот перевел космический корабль в «безопасный режим» и приказал резервному компьютеру восстановить связь с Землей. Затем New Horizons начала передавать телеметрию, чтобы помочь инженерам диагностировать проблему.

5 июля они опубликовали это и объяснили проблему:

Расследование аномалии, из-за которой New Horizons перешла в «безопасный режим» 4 июля, пришло к выводу, что на космическом корабле не произошло никаких аппаратных или программных сбоев. Основной причиной инцидента была трудно обнаруживаемая временная ошибка в последовательности команд космического корабля, которая произошла во время операции по подготовке к близкому пролету. Никаких подобных операций не планируется до конца встречи с Плутоном.

«Я рад, что наша команда миссии быстро определила проблему и обеспечила исправность космического корабля», — сказал Джим Грин, директор NASA по планетарным наукам. «Теперь, когда Плутон находится в поле нашего зрения, мы находимся на грани возвращения к нормальной работе и переходу к золоту».

Они ничего не упомянули о необходимости загрузки журналов, только «телеметрию», и, учитывая задержку связи и скорость, с которой они диагностировали проблему, я сомневаюсь, что они загружали много данных. Я мало знаю о технических деталях, но я был бы совершенно потрясен, если бы у них не было симулятора или дублирующего ЦП MIPS R3000 на Земле.

Я предполагаю, что они просто воспроизвели серию команд, которые они отправили зонду, на свой компьютер «виртуальные новые горизонты» на Земле и осознали ошибку своего временного сбоя. Ошибку, хотя, по их словам, было трудно обнаружить, возможно, (очень упрощенно) что-то вроде:

  1. Команда А выполнена.
  2. Зонду требуется X секунд для переориентации.
  3. Команда B выполнена через Y секунд.

Y < X. Команда B не выполнена. Компьютер обнаруживает сбой, переключается на резервный, звонит домой.

По сути, да, но команда А должна была сжимать научные данные, а команда Б — копировать загружаемую команду в энергонезависимую память.
@NateParsons Спасибо, Нейт, я проголосовал за ваш ответ, потому что вы нашли отличную статью с подробностями! ;-)