Руководство пользователя SpaceWire
Стив Паркс (Steve Parkes)
2012 СТАР-Данди Лимитед
Эта статья – перевод книги SpaceWire User's Guide
ISBN английской книги: 978-0-9573408-0-0
Глоссарий
Символ данных | Cимвол, содержащий 8 бит данных |
---|---|
Адрес назначения | начальный байт или байты пакета, которые используются маршрутизаторами для определения маршрута пакета к месту назначения |
ЕЕР | символ ошибочного конца пакета (Error End of Packet), который используется для завершения пакета при возникновении ошибки |
EOP | символ конца пакета (End of Packet), маркер, указывающий на конец пакета |
FCT | метка управления потоком, который обменивается на восемь N‑символов |
Входной порт | часть интерфейса SpaceWire в маршрутизаторе, принимающая пакеты |
Канал (установленное соединение, Link) | соединение между двумя интерфейсами SpaceWire |
N‑символ (N‑Char) | информационный символ данных (EOP или EEP) |
Узел | источник или назначение пакетов SpaceWire |
Null | символ, который отправляется, когда нет другой информации для отправки, чтобы сохранить активный канал |
Выходной порт | часть интерфейса SpaceWire в маршрутизаторе, которая отправляет пакеты |
Пакет | последовательность информационных символов, за которой следует EOP или EEP, пакет состоит из адреса назначения, передаваемых данных и EOP/EEP |
Порт | входной или выходной порт маршрутизатора SpaceWire |
Маршрутизатор | коммутатор пакетов, который пересылает пакеты к месту назначения, выбирая канал для пересылки пакета на основе адреса назначения пакета |
Интерфейс SpaceWire | интерфейс, используемый для отправки пакетов SpaceWire и Time‑кодов |
Time‑код | код, состоящий из символа Escape, за которым следует символ данных, где символ данных содержит два зарезервированных бита и шесть битов информации о времени |
1 Введение
Руководство пользователя SpaceWire предназначено для ознакомления читателя со SpaceWire.
Раздел 2 начинается с обзора SpaceWire, краткой истории SpaceWire, рассмотрения примера приложения SpaceWire, изучения того, как работает SpaceWire, рассмотрения различных архитектур SpaceWire и, наконец, рассматриваются реальные решения для иллюстрации использования SpaceWire на практике.
В разделе 3 более подробно рассматриваются каналы SpaceWire. В нём подробно описывается каждый уровень стандарта SpaceWire, объясняется принцип работы каждого уровня и причины, по которым SpaceWire разработан именно таким образом.
Раздел 4 описывает маршрутизаторы и сети SpaceWire. Представлены узлы и маршрутизаторы SpaceWire, объяснён механизм работы внутри маршрутизатора, а также способ его настройки. Детально описывается работа микросхемы маршрутизатора SpaceWire Atmel AT7910E SpW-10X.
Раздел 5 объясняет, как работают Time ‑ коды SpaceWire, и знакомит с некоторыми приложениями, для которых они используются.
В разделе 6 представлены некоторые протоколы SpaceWire более высокого уровня. Этот раздел ещё не завершён. Пожалуйс та, проверьте последнюю версию на сайте www.star-dundee.com.
Руководство пользователя SpaceWire составлено из нескольких документов, написанных Стивом Парксом (Steve Parkes), генеральным директором STAR-Dundee и автором этого руководства.
2 Сеть обработки данных SpaceWire
SpaceWire — это сеть обработки данных для бортовых применений, которая соединяет вместе инструменты, запоминающие устройства, процессоры, телеметрию нисходящей линии связи и другие бортовые подсистемы123. SpaceWire прост в реализации и обладает некоторыми специфическими характеристиками, которые помогают ему поддерживать приложения для обработки данных в космосе: высокая скорость, малое энергопотребление, простота, относительно низкая стоимость реализации и архитектурная гибкость, что делает его идеальным для многих космических применений. SpaceWire обеспечивает высокоскоростные (от 2 Мбит/с до 200 Мбит/с) двунаправленные полнодуплексные каналы передачи данных, которые соединяют вместе оборудование с поддержкой SpaceWire. Сети обработки данных строятся приложениями с использованием двухточечных каналов передачи данных и коммутаторов маршрутизации.
С тех пор как стандарт SpaceWire был опубликован в январе 2003 года, он был принят Европейским Космическим Агентством, НАСА, Японским Агентством Аэрокосмических Исследований и корпорацией «Роскосмос» для многих применений и широко используется в научных исследованиях, наблюдениях за Землёй, коммерческих и других космических аппаратах. Известные применения с использованием SpaceWire включают: Gaia, марсоход ExoMars, BepiColombo, космический телескоп Джеймса Уэбба, GOES-R, лунный разведывательный орбитальный аппарат и Astro-H.
2.1 Обоснование и краткая история SpaceWire
До того, как SpaceWire стал стандартом, у многих производителей космических аппаратов и оборудования уже был собственный интерфейс связи для межблочной связи, например, подключение инструментов с высокой скоростью передачи данных к запоминающим устройствам. Это привело к тому, что на космическом аппарате использовалось несколько различных каналов связи, что увеличило стоимость и время, необходимое для интеграции и испытаний космического аппарата. Существовала явная потребность в стандартной бортовой линии связи, которая упростила бы разработку космического аппарата.
Ещё в 1992 году, когда началась работа над тем, что позже стало называться SpaceWire, также существовал значительный интерес к высокопроизводительным системам цифровой обработки сигналов, возможности которых были выше возможностей однокристальных устройств, доступных в то время. Было исследовано использование параллельной обработки, и это потребовало некоторой формы сети для соединения отдельных элементов обработки4. Тр анспьютер Inmos5, микропроцессор, предназначенный для параллельной обработки, был изучен, и последовательные каналы связи, разрабатываемые для транспьютера T90006, были определены как привлекательное решение для бортовой сети космического аппарата. Эта технология последовательной связи была впоследствии опубликована как IEEE 1355-19957.
Несколько радиационно-стойких устройств были разработаны с использованием стандарта IEEE 1355-1995 и использовались в некоторых космических проектах. Однако с этим стандартом было много проблем, которые необходимо было решить, если эта технология должна была продолжать использоваться для космических аппаратов Европейского Космического Агентства. Университет Данди получил контракт от Европейского Космического Агентства8 на изучение и решение этих проблем, что в конечном итоге привело к стандарту SpaceWire.
SpaceWire стремится:
- способствовать созданию высокопроизводительных бортовых систем обработки данных;
- помогают снизить затраты на системную интеграцию;
- продвигать совместимость между оборудованием для обработки данных и подсистемами;
- поощрять повторное использование оборудования для обработки данных в нескольких различных применений.
Использование стандарта SpaceWire гарантирует совместимость оборудования как на уровне компонентов, так и на уровне подсистем. Инструменты, блоки обработки данных, запоминающие устройства и телеметрические системы нисходящей линии связи, использующие интерфейсы SpaceWire, разработанные для одного применения, могут быть легко использованы в другом. Этот стандарт:
- уменьшает стоимость разработки (дешевле);
- сокращает сроки разработки (быстрее);
- повышает надёжность (лучше);
- увеличивает объём научной работы, которую можно выполнить в рамках ограниченного бюджета (больше).