SpaceWire
SpaceWire — телекомунікаційна мережа для космічних апаратів, частково заснована на стандарті зв'язку IEEE 1355. ЇЇ координує Європейське космічне агентство в співпраці з іншими космічними агентствами, зокрема НАСА, JAXA та Роскосмосом.
У мережі SpaceWire вузли з'єднані через недорогі, низькозатримні, повнодуплексні послідовні з'єднання типу «точка-точка» та маршрутизатори з комутацією пакетів типу «червоточина».
Архітектура
Фізичний рівень
Модуляція та формати даних SpaceWire переважно відповідають частині стандарту IEEE Std 1355—1995, що стосується D/S-кодування — диференціальної передачі сигналів (DS-DE). SpaceWire використовує асинхронну передачу даних і підтримує швидкості від 2 Мбіт/с до 200 Мбіт/с із початковою швидкістю передачі сигналів 10 Мбіт/с[1]. Стандарт DS-DE користується значною популярністю, оскільки описує модуляцію, формати бітів, маршрутизацію, керування потоком і виявлення помилок на апаратному рівні, майже не потребуючи програмного забезпечення. SpaceWire також відзначається дуже низьким рівнем помилок, детермінованою поведінкою системи та відносно простою цифровою електронікою. На фізичному рівні IEEE 1355 DS-DE стандарт SpaceWire замінив старі диференціальні драйвери PECL на драйвери низьковольтної диференціальної передачі сигналів (LVDS). SpaceWire також пропонує використовувати 9-контактні роз'єми, сертифіковані для космосу.
SpaceWire та IEEE 1355 DS-DE забезпечують ширший набір швидкостей для передачі даних, а також деякі нові функції для автоматичного переходу на резерв. Ці функції дозволяють даним знаходити альтернативні маршрути, завдяки чому космічний апарат може мати кілька шин даних і ставати відмовостійким. SpaceWire також дозволяє передавати часові переривання через канали SpaceWire, усуваючи потребу в окремих дискретних лініях часу.
Канальний рівень
Кожен переданий символ починається з біта парності та біта прапорця керування даними. Якщо прапорець керування даними має значення 0, за ним іде 8-бітний символ із молодшим значущим бітом (LSB). В іншому випадку йде один із кодів керування, зокрема код кінця пакета (EOP)[2].
Мережевий рівень
Мережеві кадри даних мають такий вигляд:
| Байт адреси | Байт адреси… | Ідентифікатор протоколу | Дані кадру |
Для маршрутизації використовують один або кілька байтів адреси. Адреси бувають фізичними (0–31) або логічними. Різниця полягає в тому, що під час маршрутизації фізичні адреси видаляються із заголовка кадру — це застосовують для маршрутизації за транзитними вузлами (на основі шляху, вказаного в самому кадрі). Логічні адреси також можуть видалятися залежно від конфігурації маршрутизатора.
З'єднання
Апаратні пристрої можна з'єднувати прямо або через маршрутизатор SpaceWire. У першому випадку зазвичай використовують пари пристроїв, щоб гарантувати безвідмовну роботу, якою керує програмне забезпечення.
Маршрутизатор SpaceWire — це зазвичай пристрій типу матричного комутатора, що працює в режимі маршрутизації типу «червоточина». Це також може обмежувати швидкість зв'язку до найнижчої спільної швидкості[3]. Рішення щодо маршрутизації приймають на основі запрограмованої таблиці маршрутизації та початкового вмісту вхідного кадру.
Використання
SpaceWire використовують у всьому світі[4]. Цю технологію почали застосовувати переважно у проєктах ЄКА, але зараз її використовують НАСА, JAXA, Роскосмос та багато інших організацій і компаній. До проєктів НАСА, які її застосовують, належать космічний телескоп Джеймса Вебба, інструмент Burst Alert на космічній обсерваторії Swift, Lunar Reconnaissance Orbiter, LCROSS, GOES-R та випробувальний стенд SCaN Testbed. Міністерство оборони США також обрало цю технологію для програми Operationally Responsive Space. Кілька космічних агентств координують ініціативи SpaceWire у межах Консультативного комітету з систем космічних даних (CCSDS), щоб поширити її комунікаційну модель на мережевий і транспортний рівні моделі OSI.
SpaceWire підтримує мережі та системи з високим ступенем відмовостійкості, що є однією з причин її популярності[5].
Протоколи
ЄКА розробило проєкт специфікації для ідентифікатора протоколу (Protocol ID).
У стандарті ECSS-E-ST-50-51C призначено такі ідентифікатори протоколів:
| Ідентифікатор протоколу | Назва | Опис |
|---|---|---|
| 1 | Протокол віддаленого доступу до пам'яті (англ. Remote Memory Access Protocol, RMAP) | використовують для віддаленого доступу або зміни конфігурації регістрів пристроїв |
| 2 | Протокол передачі пакетів CCSDS[6] | загальний протокол, який використовують для надсилання телекоманд і отримання телеметрії |
| 238 | Пропозиція щодо Протоколу надійної доставки даних (англ. Proposal for Reliable Data Delivery Protocol, RDDP) | використовують на GOES-R |
| 239 | Універсальний протокол послідовної передачі (англ. Serial Transfer Universal Protocol, STUP) | Використовують на ASIC SMCS-332 |
Примітки
- ↑ SpaceWire's User Guide (PDF). Star-dundee.com. Архів (PDF) оригіналу за 4 листопада 2019. Процитовано 27 жовтня 2019.
chapter 3.3.5
- ↑ SpaceWire Characters. Star-dundee.com. Процитовано 28 жовтня 2018.
- ↑ Radiation-Tolerant 10x SpaceWire Router (PDF). Gaisler.com. Архів (PDF) оригіналу за 17 вересня 2021. Процитовано 28 жовтня 2018.
- ↑ Who Uses SpaceWire? - STAR-Dundee. Star-dundee.com. Процитовано 28 жовтня 2018.
- ↑ Dr Barry M Cook; Paul Walker. «Ethernet over SpaceWire — software issues». 4links.co.uk, p. 2 [Архівовано 2019-08-30 у Wayback Machine.]
- ↑ Space Packet Transfer Protocol (PDF). Public.ccsds.org. Архів оригіналу (PDF) за 11 вересня 2018. Процитовано 28 жовтня 2018.
Посиланя
Джерело: стаття у Вікіпедії та історія редагувань (автори).