allgosts.ru49.090 Бортовое оборудование и приборы49 АВИАЦИОННАЯ И КОСМИЧЕСКАЯ ТЕХНИКА

ГОСТ Р 70020-2022 Космическая техника. Интерфейсы и протоколы высокоскоростного межприборного информационного обмена и комплексирования бортовых систем космических аппаратов. SpaceWire-RUS

Обозначение:
ГОСТ Р 70020-2022
Наименование:
Космическая техника. Интерфейсы и протоколы высокоскоростного межприборного информационного обмена и комплексирования бортовых систем космических аппаратов. SpaceWire-RUS
Статус:
Действует
Дата введения:
06.01.2022
Дата отмены:
-
Заменен на:
-
Код ОКС:
49.090

Текст ГОСТ Р 70020-2022 Космическая техника. Интерфейсы и протоколы высокоскоростного межприборного информационного обмена и комплексирования бортовых систем космических аппаратов. SpaceWire-RUS

ГОСТ Р 70020-2022

НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

Космическая техника

ИНТЕРФЕЙСЫ И ПРОТОКОЛЫ ВЫСОКОСКОРОСТНОГО МЕЖПРИБОРНОГО ИНФОРМАЦИОННОГО ОБМЕНА И КОМПЛЕКСИРОВАНИЯ БОРТОВЫХ СИСТЕМ КОСМИЧЕСКИХ АППАРАТОВ. SPACEWIRE-RUS

Space products. Interfaces and protocols of high-speed interunit information exchange and integration of spacecrafts onboard systems. SpaceWire-RUS

ОКС 49.090

Дата введения 2022-06-01

Предисловие

1 РАЗРАБОТАН Акционерным обществом "Центральный научно-исследовательский институт машиностроения" (АО "ЦНИИмаш")

2 ВНЕСЕН Техническим комитетом по стандартизации ТК 321 "Ракетно-космическая техника"

3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 17 февраля 2022 г. N 80-ст

4 ВВЕДЕН ВПЕРВЫЕ

Правила применения настоящего стандарта установлены в статье 26 Федерального закона от 29 июня 2015 г. N 162-ФЗ "О стандартизации в Российской Федерации". Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе "Национальные стандарты", а официальный текст изменений и поправок - в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.rst.gov.ru)

Введение

Технология SpaceWire - это перспективная системообразующая технология высокоскоростных коммуникаций и комплексирования высоконадежных бортовых систем космических и других летательных аппаратов, а также систем наземных инфраструктур. Ее поддерживают и внедряют в перспективные космические аппараты (КА) Eвропейское космическое агентство ESA, космические агентства США (NASA), Японии (JAXA) и Госкорпорация "Роскосмос". Она может быть использована для построения распределенных гетерогенных бортовых систем, прежде всего - аэрокосмического назначения. Эта технология отвечает потребностям решения задач сбора, обработки информации и управления на борту КА. Технология SpaceWire поддерживает интегрирование и тестирование бортовых систем с использованием наземного оборудования. Мониторинг и тестирование бортовых систем, выполненных с применением технологии SpaceWire, могут быть проведены без необходимости создания отдельного физического интерфейса с бортовой аппаратурой КА.

Технология SpaceWire-RUS является результатом адаптации к национальным особенностям технологии SpaceWire. Технология SpaceWire полностью совместима с технологией SpaceWire-RUS.

Технология SpaceWire-RUS способствует обеспечению современных тактико-технических характеристик перспективных российских КА, конкурентоспособности на мировом рынке космических технологий и услуг, развитию международного сотрудничества в космической области с другими странами, совместимости и унификации однотипной по назначению аппаратуры КА, производимой российскими предприятиями. Развитие и внедрение технологии SpaceWire-RUS поддерживается Госкорпорацией "Роскосмос".

1 Область применения

Настоящий стандарт устанавливает общие требования к интерфейсам и протоколам высокоскоростного межприборного информационного обмена и комплексирования бортовых систем космических аппаратов и систем наземных инфраструктур технологии SpaceWire-RUS.

Настоящий стандарт распространяется на служебные системы и системы полезной нагрузки космических и других летательных аппаратов, а также на системы наземных инфраструктур.

Настоящий стандарт применяется в тех случаях, в которых его применение предписано требованиями технического задания, а также в ходе выполнения международных договоров и реализации международных проектов и программ при взаимном согласовании всех заинтересованных сторон.

2 Термины и определения

В настоящем стандарте применены следующие термины с соответствующими определениями:

2.1 адрес назначения (destination address): Последовательность символов данных, обозначающая идентификатор приемника (при логической адресации) или маршрут, по которому следует пакет от источника к получателю (при путевой адресации).

2.2 арбитрирование (arbitration): Механизм, предназначенный для определения одного входного порта, которому будет разрешено выполнить отправку полученного пакета на заданный выходной порт для отправки по соотнесенному с этим портом каналу в том случае, когда два или более входных порта находятся в состоянии готовности, чтобы передать полученные ими свои пакеты на этот же выходной порт для отправки по соотнесенному с этим портом каналу.

2.3 атомарная операция (atomic operation): Операция, выполнение которой не может быть прервано и которая постоянно происходит в полном объеме, предназначенная для установки и сброса бита в регистре ISR механизма распределенных прерываний.

2.4 баланс постоянного тока (direct current balance): Условие, которое выполняется в том случае и только в том случае, когда разница между количеством единиц и нолей в 20 подряд идущих битах - не более двух и в любой момент времени передается не более 5 единиц или нулей подряд.

2.5 буфер передачи хост-системы (host transmit buffer): Область памяти хост-системы, предназначенная для хранения данных перед их передачей в канальный интерфейс.

2.6 буфер приема хост-системы (host receive buffer): Область памяти хост-системы, предназначенная для хранения данных после их приема из канального интерфейса.

2.7 входной порт (input port): Принимающая часть канального интерфейса.

2.8 выходной порт (output port): Передающая часть канального интерфейса.

2.9 групповое широковещание (multicast): Передача одного и того же пакета последовательно только нескольким заранее определенным узлам сети - группе узлов.

2.10 декодирование (decoding): Преобразование последовательности битов в первоначальную последовательность битов.

2.11 десериализация (de-serialisation): Преобразование последовательного потока битов в параллельный поток данных.

2.12 джиттер (jitter): Размах случайных смещений фронта импульсного сигнала во времени.

2.13 диаграмма состояний (state diagram): Графическое представление множества состояний и условий переходов машины состояний канального интерфейса в виде размеченного ориентированного графа, вершины которого - состояния интерфейса, ребра - переходы из одного состояния в другое, а метки ребер - условия перехода из одного состояния в другое и предназначенное для математического моделирования канального интерфейса.

2.14 идентификатор назначения (destination identifier): Поле фиксированного размера, размером в один или два символа в составе адреса получателя пакета.

2.15 информационный символ (normal-character): Символ данных, или EOP-символ, или EEP-символ.

2.16 источник (source): Узел или маршрутизирующий коммутатор, отправляющий пакет.

2.17 кабельная сборка (cable assembly): Два идентичных соединителя, соединенные кабелем определенной длины.

2.18 канал (link): Двунаправленное соединение между источником и получателем бортовой вычислительной сети, предназначенное для передачи и приема потоков данных и управляющей информации.

2.19 канальный интерфейс (link interface): Интерфейс между каналом SpaceWire (GigaSpaceWire) и хост-системой.

2.20 кодирование (сoding): Преобразование исходного набора битов к новому набору битов по определенному алгоритму.

2.21 кодовая последовательность (code sequence): Последовательность из 10 битов - результат 8b-, 10b-кодирования 8b-символа.

2.22 логический адрес (logical address): Идентификатор, однозначно специфицирующий получателя пакета или регион получателя пакета.

2.23 маршрутизирующий коммутатор (routing switch): Коммутатор, соединяющий несколько каналов и перенаправляющий пакеты из одного канала в другой.

2.24 машина состояний (state machine): Математическая абстракция, модель, имеющая определенное конечное число возможных состояний и находящаяся в каждый момент времени только в одном из множества возможных состояний, предназначенная для анализа и описания работы и использования при реализации канального интерфейса.

2.25 наполнитель (filler): Компонент из политетрафторэтилена, предназначенный для заполнения промежутков между изолированными сигнальными проводами или витыми парами и для обеспечения стабильности характеристик кабеля по его длине.

2.26 обмотка (binder): Лента, охватывающая один кабель или более и предназначенная для удержания этих кабелей в фиксированном положении.

2.27 пакет (packet): Последовательность информационных символов, состоящая из адреса назначения, передаваемых данных и символа конца пакета.

2.28 передатчик (transmitter): Электронное устройство, входящее в состав канального интерфейса и предназначенное для передачи битовых потоков в физическую среду канала бортовой вычислительной сети.

2.29 полнодуплексный канал передачи данных (full-duplex data link): Канал передачи данных, предназначенный для поддержания передачи сигналов одновременно в двух направлениях.

2.30 получатель (destination): Узел, для которого предназначен пересылаемый пакет данных.

2.31 путевой адрес (path address): Последовательность, состоящая из одного или нескольких символов данных и предназначенная для указания маршрута продвижения пакета данных по сети от источника к получателю.

2.32 приемник (receiver): Электронное устройство, входящее в состав канального интерфейса и предназначенное для приема битовых потоков из физической среды канала бортовой вычислительной сети.

2.33 протокол (protocol): Упорядоченная последовательность действий в сетях SpaceWire-RUS, предназначенная для решения определенных задач межприборного информационного обмена и комплексирования бортовых систем космического аппарата.

2.34 сериализация (serialisation): Преобразование 10-битной кодовой последовательности в последовательный поток битов.

2.35 сетевая коллизия (network collision): Конфликт двух пакетов, переданных разными передатчиками в один и тот же канал одновременно, приводящий к потере или искажению данных пакетов.

2.36 сетевой уровень (network level): Уровень стека протоколов SpaceWire, определяющий узлы, маршрутизирующие коммутаторы и механизмы передачи пакетов по сети.

2.37 сеть (network): Совокупность устройств, соединенных между собой посредством исключительно каналов или каналов и маршрутизирующих коммутаторов.

2.38 сигнальный уровень (signal level): Уровень стека протоколов SpaceWire-RUS, определяющий характеристики электрических сигналов, методы их кодирования и передачи по физической среде.

2.39 символ (character): Управляющий символ или символ данных.

2.40 символ данных (data character): Минимальная смысловая единица информационного обмена, кодируемая 1 байтом данных для передачи по каналу.

2.41 символьный уровень (character level): Уровень стека протоколов SpaceWire, определяющий преобразование символов данных, а также управляющих символов и кодов в битовый поток.

2.42 символьное выравнивание (character alignment): Процедура установки границы между принимаемыми из канала кодовыми последовательностями.

2.43 системное время (system time): Время, формируемое бортовой центральной вычислительной машиной космического аппарата и предназначенное для реализации действий по управлению космическим аппаратом, его системами и элементами в определенной последовательности и с определенными интервалами.

2.44 скос (skew): Разница во времени между фронтами двух сигналов, которая возникает при передаче этих сигналов по реальному каналу.

2.45 соединение по типу точка-точка (point to point): Соединение только двух узлов, или только двух маршрутизаторов, или одного узла и одного маршрутизатора.

2.46 скорость передачи данных (data signalling rate): Число битов управляющих символов и символов данных, переданных по каналу в единицу времени.

2.47 список назначения (destination list): Список идентификаторов назначения, предназначенный для формирования адреса назначения пакета.

2.48 стек (stack): Иерархический набор протоколов, предназначенный для организации высокоскоростного межприборного информационного обмена и комплексирования бортовых систем космических аппаратов.

2.49 сторожевое условие (guarded condition): Необходимое и достаточное условие перехода из одного состояния в другое.

2.50 счетчик кредитов передачи (credit counter in the transmitter): Счетчик, входящий в состав каждого передатчика, предназначенный для подсчета количества информационных символов (кредитов), которые могут быть переданы данным передатчиком на другую принимающую сторону канала.

2.51 таблица переходов (table listing the exit conditions from each state): Представление машины состояний канального интерфейса в виде таблицы, в одном из столбцов которой представлены ее возможные состояния, а в другом - условия переходов из одного состояния в другое, предназначенное для математического моделирования канального интерфейса.

2.52 тайм-аут (time-out): Отрезок времени между двумя событиями.

2.53 тайм-аут разъединения (disconnect timeout): Максимально допустимый отрезок времени между двумя последовательными изменениями на линии данных и линии строба.

2.54 тайм-аут соединения (connection timeout): Отрезок времени, предназначенный для определения выполнения или невыполнения конкретного условия.

2.55 тайм-аут сброса D и S (D and S reset timing): Предварительно установленный отрезок времени между сбросом сигнала данных и сигнала строба.

2.56 узел (node): Сетевой абонент - источник и/или получатель пакетов и широковещательных сообщений, реализующий интерфейс между сетью SpaceWire и приложением, использующим сервисы сети.

2.57 управляющий код (control code): Последовательность из двух символов (ESC-символа и следующего за ним управляющего символа - FCT-символа или символа данных), предназначенная для передачи управляющей информации по каналу.

2.58 управляющий символ (control character): Символ, предназначенный для передачи управляющей информации по каналу.

2.59 уровень обмена (exchange level): Уровень стека протоколов SpaceWire, определяющий механизмы инициализации канала, управления потоком, определения ошибок в канале и восстановления после ошибок.

2.60 физический уровень (physical level): Уровень стека протоколов SpaceWire, определяющий физические средства связи.

2.61 физическая среда (physical medium): Медная витая пара, медный коаксиальный кабель, волоконно-оптическая линия связи, печатные платы, кабельные соединители, соединители печатных плат.

2.62 флаг (flag): Логическая переменная, предназначенная для регистрации появления определенного события.

2.63 хост-система (host system): Электронный модуль в составе узла бортовой вычислительной сети SpaceWire-RUS, связанный с этой сетью через канальный интерфейс и использующий ее сервисы для решения определенных задач с помощью приложений данного узла.

2.64 частота появления ошибочных битов (bit error rate): Отношение количества битов, принятых с ошибкой, к общему количеству битов, переданных по каналу за определенный отрезок времени.

2.65 червячная маршрутизация (wormhole routing): Передача, при которой заголовок пакета инициализирует канал внутри маршрутизатора, по которому остальные символы данного пакета проходят маршрутизатор напрямую с входного порта в выходной.

2.66 шаг скрутки (lay-length): Число полных витков провода на единицу длины кабеля.

2.67 широковещание (broadcast): Передача одного и того же пакета всем узлам сети.

2.68 широковещательные коды (broadcast code): Коды, распределенно распространяющиеся по всей сети или группе узлов сети SpaceWire-RUS от одного источника.

2.69 экран (screen): Защитный покров кабельного изделия (дифференциальной пары, двух или четырех дифференциальных пар) из переплетенных проволок.

2.70 8b-10b-кодирование (8B-10B encoding): Преобразование 8-битных символов в 10-битные кодовые последовательности.

2.71 8b-символ (8B-character): 8-битный символ - символ, состоящий из 8 битов.

2.72 8b-кодирование (8B-encoding): Преобразование символов и кодов уровня обмена GigaSpaceWire в 8b-символы (специальные символы) GigaSpaceWire.

2.73 DS-кодирование (DS coding): Способ кодирования, при котором передаваемые данные кодируются двумя последовательностями битов: одна последовательность (данных) содержит только передаваемые данные, а другая последовательность (строба) - биты, изменяющие свое состояние в том случае и только в том случае, когда в последовательности данных идут подряд два одинаковых бита.

2.74 DS-декодирование (DS decoding): Способ декодирования, при котором две последовательности битов: последовательность (данных), которая содержит только передаваемые данные, и другая последовательность (строба), которая содержит биты, изменяющие свое состояние в том случае и только в том случае, когда в последовательности данных идут подряд два одинаковых бита, - преобразуются в исходную последовательность битов данных.

3 Обозначения и сокращения

3.1 В настоящем стандарте применены следующие обозначения:

AWG - американский калибр проводов (american wire gauge);

BER - отношение количества битов, принятых из канала с ошибкой, к суммарному количеству битов, переданному по каналу за определенный отрезок времени (bit error rate);

Comma-символ - управляющий канальный символ, предназначенный для поддержания соединения на уровне обмена и только в каналах GigaSpaceWire;

CommaTime - настраиваемый интервал между передачей двух символов Comma, предназначенный для использования в механизме управления потоком данных GigaSpaceWire;

D - сигнал данных;

D+, D- - дифференциальные сигналы данных - положительная и отрицательная составляющие соответственно;

Din+, Din- - дифференциальные сигналы данных на входе приемника - положительная и отрицательная составляющие соответственно;

DiscDetect - настраиваемый максимально допустимый по продолжительности отрезок времени между передачей двух символов Comma, предназначенный для использования в механизме управления потоком данных с помощью FCT-символов только в каналах GigaSpaceWire;

DMA - прямой доступ к памяти (direct memory access);

Dout+, Dout- - дифференциальные сигналы данных на выходе передатчика - положительная и отрицательная составляющие соответственно;

DS - дата-строб (data-strobe);

EEP-символ - управляющий информационный символ (error end of packet), предназначенный для указания пакета данных, переданного с ошибкой;

EOP-символ - управляющий информационный символ (end of packet marker), предназначенный для указания пакета данных, переданного без ошибок;

ESC-символ - управляющий канальный символ (escape character), предназначенный только для формирования NULL-кода, Time-кода, Interrupt-кода и Interrupt _Acknowledge-кода;

FCT-символ - управляющий канальный символ (fow control token), предназначенный для использования в механизме управления потоком данных, а также для формирования NULL-кода;

FCT_Count - параметр, предназначенный для использования в механизме управления потоком данных с помощью FCT-символов;

FEP - фторэтиленпропилен;

FIFO - буфер в памяти, организованный по принципу "первым пришел - первым ушел" (first in-first out);

GigaSpaceWire - канальный интерфейс с гигабитными скоростями для сетей SpaceWire-RUS;

IDLE-символ - канальный символ, предназначенный для использования в ходе инициализации канала GigaSpaceWire и после нее для поддержания канала GigaSpaceWire в рабочем состоянии, когда отсутствует информация для передачи;

Interrupt-код - управляющий широковещательный канальный код, предназначенный для распространения сигналов прерываний по сети SpaceWire;

Interrupt_Acknowledge-код - управляющий широковещательный канальный код, предназначенный для подтверждения принятия кода прерывания узлом назначения;

ISR - 32-битный регистр источников прерываний (interrupt source register);

LVDS-метод - передача низковольтных дифференциальных сигналов (low voltage differential signalling);

Max_FCT_Count - максимальное значение счетчика кредитования;

N-Char-символ - информационный символ (normal-character);

NULL-код - управляющий широковещательный канальный код, предназначенный для использования только в интерфейсе SpaceWire;

PFA - фторполимерный пенополиуретан;

PTFE - политетрафторэтилен;

RD - динамический дисбаланс, бинарный параметр;

Reset_Time - настраиваемый максимальный отрезок времени;

S - сигнал строба;

S+, S- - дифференциальные сигналы строба (положительная и отрицательная составляющие соответственно);

Sin+, Sin- - дифференциальные сигналы строба с принимающей стороны - положительная и отрицательная составляющие соответственно;

Sout+, Sout- - дифференциальные сигналы с передающей стороны - положительная и отрицательная составляющие соответственно;

- минимальный интервал времени между приемом Interrupt_Acknowledge-кода и передачей следующего Interrupt-кода с таким же идентификатором прерывания;
- минимальный интервал времени между приемом Interrupt-кода и отправлением ответного Interrupt_Acknowledge-кода;

Tick rate - частота повторения импульсов системного времени;

Time-код - управляющий широковещательный канальный код;

TX_DATA/Control_Flag - передаваемые данные и флаг управления;

wait_conn_time - настраиваемый максимальный отрезок времени.

3.2 В настоящем стандарте применены следующие сокращения:

ВОЛС - волоконно-оптическая линия связи;

КА - космический аппарат;

КМОП - комплементарная логика на транзисторах металл-оксид-полупроводник;

ЛА - логический адрес;

МК - маршрутизирующий коммутатор;

МЗБ - младший значащий бит;

ПО - программное обеспечение;

СЗБ - старший значащий бит;

ФАПЧ - фазовая автоподстройка частоты.

4 Общие положения

4.1 Настоящий стандарт предоставляет основу для применения интерфейсов и протоколов высокоскоростного межприборного информационного обмена и комплексирования бортовых систем - как в системах полезной нагрузки, так и в служебных системах космических и других летательных аппаратов, а также в системах наземных инфраструктур технологии SpaceWire-RUS.

4.2 В настоящем стандарте отражены:

- общий порядок организации сети SpaceWire-RUS, реализации ее возможных компонентов, методов передачи данных по сети, и в частности реализации метода передачи управляющих сигналов реального времени по той коммуникационной среде, по которой осуществляют передачу пользовательских и служебных данных;

- общие требования к установлению соединения по каналу, формированию и управлению потоком данных в канале и доступом к среде передачи, обработке ошибок, возникающих при установлении соединения по каналу;

- порядок обнаружения ошибок в сети и восстановления рабочего состояния сети после обнаружения ошибок.

4.3 Стандарт SpaceWire-RUS содержит целиком или частично цитаты и перевод стандарта ECSS-E-ST-50-12C (см. [1]) с особого разрешения Европейского космического агентства от имени Европейской кооперации по стандартизации в области космической техники (ECSS). Оригинальную английскую версию стандарта ECSS можно получить в секретариате ECSS.

4.4 По сравнению со стандартом SpaceWire ECSS-E-50-12C July 2008 в стандарте SpaceWire-RUS:

а) введены изменения в протоколы уровней имеющегося стека протоколов SpaceWire ECSS-E-50-12C;

б) дополнительно введен стек протоколов - дополнение GigaSpaceWire, включающее в свой состав следующие пять уровней: сетевой пакетный уровень, уровень обмена, символьный уровень, уровень кодирования, сигнальный и физический уровни;

в) введен механизм распределенных прерываний;

г) проведены другие изменения положений стандарта SpaceWire ECSS-E-50-12C.

4.5 Основные различия между стандартами SpaceWire-RUS и ECSS-E-50-12C приведены в приложении А. Обоснования различий этих стандартов приведены в таблице А.1.

4.6 Модифицированный стек протоколов SpaceWire ECSS-E-50-12C в стандарте SpaceWire-RUS определен как стек протоколов интерфейса SpaceWire.

4.7 Уровни стека протоколов дополнения GigaSpaceWire в соответствии с перечислением б) 4.4: обмена, символьный, сигнальный и физический - являются модифицированными уровнями стека протоколов интерфейса SpaceWire (обмена, символьного, сигнального и физического) соответственно.

4.8 Стек протоколов, полученный путем замены нижних уровней стека протоколов SpaceWire (обмена, символьного, сигнального и физического) на уровни дополнения GigaSpaceWire (обмена, символьного, кодирования, сигнального и физического), определен как стек протоколов интерфейса GigaSpaceWire.

4.9 Интерфейс SpaceWire предназначен для работы со скоростями межприборного информационного обмена не более 400 Мбит/с на расстояниях не более 10 м.

4.10 Для интерфейса GigaSpaceWire настоящим стандартом определены следующие значения скоростей межприборного информационного обмена: 1,0625 Гбит/с, значения скоростей, лежащие в промежутке от 5 до 125 Мбит/с, а также 312,5 Мбит/с; 625 Мбит/с; 1,25 Гбит/с и 2,5 Гбит/с - на расстояниях до 100 м.

4.11 В одной сети SpaceWire-RUS могут быть использованы каналы с интерфейсом SpaceWire (каналы SpaceWire) и каналы с интерфейсом GigaSpaceWire (каналы GigaSpaceWire) совместно, как показано в приложении Б на рисунке Б.1, или один из двух видов каналов - только каналы SpaceWire или только каналы GigaSpaceWire.

4.12 Использование в бортовой сети SpaceWire-RUS интерфейса GigaSpaceWire совместно с интерфейсом SpaceWire или только одного интерфейса GigaSpaceWire (без интерфейса SpaceWire) позволяет решить вопросы передачи больших потоков информации с высокими скоростями не более 2,5 Гбит/с на расстояния не более 100 м, проблемы наличия гальванической развязки и обеспечения электромагнитной совместимости в сигнальных цепях GigaSpaceWire, а также задачи большого веса кабельного хозяйства бортовых сетей SpaceWire за счет уменьшения в два раза количества витых пар в медном кабеле GigaSpaceWire по сравнению с кабелем SpaceWire и возможности использования в бортовых сетях GigaSpaceWire ВОЛС вместо медного кабеля.

4.13 Введение и использование механизма распределенных прерываний в бортовой сети SpaceWire-RUS, так же как и введение на физическом уровне облегченного кабеля, направлены на решение проблемы большого веса кабельного хозяйства бортовых сетей SpaceWire.

4.14 Интерфейсы SpaceWire-RUS - SpaceWire и GigaSpaceWire являются дуплексными, последовательными интерфейсами с соединениями по типу "точка-точка".

4.15 Данные для передачи по каналу SpaceWire в каждом направлении кодируются двумя дифференциальными парами сигналов. Для передачи данных в каждом направлении используется две витых пары. Общее количество проводов равно восьми, по четыре в каждом направлении.

4.16 Данные для передачи по каналу GigaSpaceWire в каждом направлении кодируют одной дифференциальной парой сигналов. Общее количество проводов равно четырем - по два в каждом направлении при использовании витых пар.

4.17 Стеки протоколов интерфейсов SpaceWire и GigaSpaceWire показаны на рисунке 1.

4.18 Стеки протоколов канального интерфейса SpaceWire и GigaSpaceWire предоставляют вышележащим уровням три сервиса передачи данных: сервис передачи байтов данных и маркеров конца пакетов SpaceWire - EOP- или EEP-символов; сервис передачи Time-кодов и сервис передачи кодов распределенных прерываний.

4.19 Стеки протоколов SpaceWire-RUS - стек протоколов интерфейса SpaceWire и стек протоколов интерфейса GigaSpaceWire - на их общих уровнях (сетевом и пакетном) должны выполнять следующие функции:

а) на сетевом уровне определять:

1) возможные компоненты сети,

2) методы передачи пакетов по сети,

3) методы обнаружения и обработки ошибок, возникающих при передаче данных по сети,

- общие уровни стеков протоколов SpaceWire и GigaSpaceWire;
- часть спецификаций уровня SpaceWire используется на соответствующих уровнях в стеке GigaSpaceWire;
- различные уровни стеков протоколов SpaceWire и GigaSpaceWire;
- сплошной линией обведен стек протоколов SpaceWire;
- прерывистой линией обведен стек протоколов GigaSpaceWire

Рисунок 1 - Cтеки протоколов и потоки данных на различных уровнях стеков протоколов интерфейсов SpaceWire и GigaSpaceWire

4) арбитрирование различных потоков данных перед передачей по каналу SpaceWire-RUS,

5) механизмы распространения системного времени по сети и распределенных прерываний;

б) на пакетном уровне определять структуру пакетов с данными, передаваемых по сети SpaceWire-RUS.

4.20 Стек протоколов интерфейса SpaceWire на уровне обмена, а также на символьном, сигнальном и физическом уровнях, которые не являются общими для него и интерфейса GigaSpaceWire, должен выполнять следующие функции:

a) на уровне обмена задавать требования к следующим сервисам:

1) установление и поддержание соединения в канале,

2) установление приоритетов управляющих символов и кодов при передаче в канал и управление потоком данных,

3) определение и обработка ошибок, возникающих на уровне обмена,

4) реализация и управление распространением системного времени;

б) на символьном уровне определять:

1) назначение и структуру управляющих символов и кодов, символов данных,

2) порядок обнаружения и обработки ошибок на символьном уровне,

3) порядок очередности передачи битов после перезагрузки или ошибки в канале,

4) порядок обработки передающим и принимающим интерфейсами хост-системы 8 битов данных и 1 бита управляющего флага;

в) на сигнальном уровне определять:

1) требования к сигналам и цепям, используемым при реализации метода передачи низковольтных сигналов - LVDS,

2) порядок DS-кодирования битового потока, передаваемого на физический уровень,

3) требования к скоростям передачи данных и соответствующим характеристикам каналов SpaceWire;

г) на физическом уровне определять характеристики физической среды передачи информации: кабелей, кабельных соединителей, кабельных сборок, топологии печатных плат, соединителей печатных плат.

4.21 Стек протоколов интерфейса GigaSpaceWire на уровнях обмена, символьном, кодирования, сигнальном и физическом, которые не являются общими для него и интерфейса SpaceWire, должен выполнять следующие функции:

а) на уровне обмена осуществлять такие же функции, как и стек протоколов интерфейса SpaceWire [см. перечисление а) 4.20], и, кроме того, задавать требования к сервису выравнивания частот передачи данных на обеих сторонах канала;

б) на символьном уровне определять порядок:

1) приема на передающей стороне канала GigaSpaceWire от вышележащего уровня обмена символов данных, управляющих символов и кодов GigaSpaceWire и преобразования их к виду 8-битных символов для проведения 8b-10b-кодирования на уровне кодирования,

2) приема на принимающей стороне интерфейса GigaSpaceWire от уровня кодирования 8-битных символов и преобразования их в символы данных, управляющие символы и коды GigaSpaceWire для передачи их на уровень обмена;

в) на уровне кодирования определять порядок 8b-10b-кодирования, 8b-10b-декодирования;

г) на сигнальном уровне определять:

1) порядок символьного выравнивания битовых последовательностей данных,

2) порядок битовой синхронизации,

3) порядок сериализации и десериализации данных,

4) интерфейсы I и II последовательного электрического сигнала в разъемах устройств GigaSpaceWire для поддержки различных скоростей передачи данных в рабочем режиме канального интерфейса;

д) на физическом уровне определять характеристики физической среды передачи информации.

4.22 Для поддержки различных скоростей передачи данных с помощью канального интерфейса GigaSpaceWire должны быть использованы различные модификации электрического интерфейса: электрический интерфейс I (см. 6.3.3.3) или электрический интерфейс II (см. 6.3.3.4) - на сигнальном уровне стека протоколов, и настраиваемые в соответствии с выбранными значениями скоростей передачи данных параметры: CommaTime, DiscDetect, FCT_COUNT, MAX_FCT_COUNT, ResetTime, wait_conn_time (см. 6.6.5) - на уровне обмена стека протоколов GigaSpaceWire.

5 Интерфейс SpaceWire. Каналы SpaceWire с мегабитными скоростями в сетях SpaceWire-RUS

5.1 Стек протоколов

5.1.1 Стек протоколов интерфейса SpaceWire с мегабитными скоростями межприборного информационного обмена для сетей SpaceWire-RUS показан на рисунке 1.

5.1.2 Функции уровней стека протоколов интерфейса SpaceWire приведены в 4.19, 4.20.

5.2 Физический уровень

5.2.1 Спецификации физического уровня должны соответствовать спецификациям обеспечения электромагнитной совместимости типового КА.

5.2.2 Физический уровень стека протоколов интерфейса SpaceWire допускает применение кабелей в двух вариантах исполнения: стандартный кабель и облегченный кабель SpaceWire.

5.2.3 Облегченный кабель, соединитель облегченного кабеля и кабельная сборка с облегченным кабелем SpaceWire должны быть изготовлены, применяться и эксплуатироваться в соответствии с приложением В.

5.2.4 Требования к зарубежному аналогу стандартного кабеля SpaceWire заданы в ESCC 3902/003 (вариант 01) [2].

5.2.5 Вес стандартного кабеля должен быть не более 80 г/м.

5.2.6 Диаметр стандартного кабеля должен составлять не более 7 мм.

5.2.7 Для выполнения требований к значениям величин скоса и джиттера сигналов во всем диапазоне скоростей передачи данных, определенных настоящим стандартом, максимальная длина стандартного кабеля не должна превышать 10 м.

5.2.8 При передаче данных на малых скоростях при условии, что значения скоса и джиттера в соответствии с приложением Г на этих скоростях не превышают допустимые максимальные значения, можно использовать стандартный кабель длиной большей, чем 10 м.

5.2.9 Максимальные значения эксплуатационных параметров стандартного кабеля SpaceWire должны соответствовать данным, приведенным в таблице 1.

Таблица 1 - Максимальные значения эксплуатационных параметров стандартного кабеля SpaceWire

Параметр

Максимальное значение

Рабочее напряжение (эффективное), B

200

Рабочий ток, А

1,5

Рабочая скорость передачи информации, Мбит/с

400

Диапазон рабочей температуры, °С

От -200 до +180

Диапазон температуры хранения, °С

От -50 до +60

5.2.10 Конструкция стандартного кабеля SpaceWire показана на рисунке 2.

5.2.10.1 В состав стандартного кабеля SpaceWire должны входить четыре скрученные между собой витые пары сигнальных проводов, наполнитель кабеля, оплетка кабеля, экран кабеля и оболочка кабеля.

1
- сигнальный провод 0,081 мм
(28 AWG), 7
0,0127 мм
(36 AWG);
2
- наполнитель витой пары;
3
- изоляция сигнального провода;
4
- экран витой пары [0,00501 мм
(40 AWG)];
5
- витая пара;
6
- изоляция витой пары;
7
- наполнитель кабеля;
8
- оплетка кабеля;
9
- экран кабеля 0,00797 мм
(38 AWG);
10
- оболочка кабеля

Рисунок 2 - Конструкция стандартного кабеля SpaceWire

5.2.10.2 Каждая витая пара стандартного кабеля SpaceWire должна состоять из пары скрученных между собой сигнальных проводов, наполнителя, экрана витой пары и изоляции витой пары, расположенной поверх экрана витой пары.

5.2.10.3 Каждый сигнальный провод витой пары стандартного кабеля SpaceWire должен состоять из жилы и изоляции сигнального провода, расположенной поверх жилы.

5.2.10.4 Жила сигнального провода витой пары стандартного кабеля должна состоять из семи металлических проволок.

5.2.11 Проволоки жилы сигнального провода витой пары стандартного кабеля SpaceWire должны удовлетворять следующим требованиям:

- проволоки должны быть изготовлены из высокопрочного медного сплава;

- проволоки должны иметь внешнее серебряное покрытие;

- толщина серебряного покрытия проволок должна быть не менее 2,0 мкм.

5.2.12 Жила сигнального провода витой пары стандартного кабеля SpaceWire должна удовлетворять следующим требованиям:

- площадь сечения жилы должна составлять 0,081 мм
;

- жила должна выдерживать относительное растяжение величиной не менее 6,0%;

- предел прочности при растяжении жилы должен быть не менее 350 Н/мм
;

- максимальное электрическое сопротивление жилы постоянному току должно составлять не более 256 Ом/км.

5.2.13 В качестве материала изоляция сигнального провода стандартного кабеля SpaceWire следует использовать микропористый PTFE с использованием технологических добавок.

5.2.14 Изоляции сигнальных проводов одной витой пары должны отличаться друг от друга по цвету.

5.2.15 Каждая витая пара должна удовлетворять следующим требованиям:

- величина шага скрутки двух изолированных сигнальных проводов витой пары должна находиться в пределах от 12 до 16 внешних диаметров неэкранированной витой пары;

- витые пары должны быть использованы с наполнителями.

Примечание - Наличие наполнителя необходимо для обеспечения постоянства волнового сопротивления витой пары по всей длине кабеля;

- в качестве материала наполнителя витых пар должен быть использован микропористый PTFE с необходимыми добавками, обеспечивающими нормальное функционирование;

- материал наполнителя витой пары должен быть вытянут или свернут из изоляционных лент в стержень;

- значение величины диаметра наполнителя витой пары должно составлять 1 мм;

- каждая витая пара должна быть защищена экраном витой пары;

- экран витой пары должен неплотно прилегать к витой паре, обладать свойством сохранения формы после окончания деформации и иметь коэффициент поверхностной плотности плетения, равный не менее 90%;

- экраны витых пар не должны соприкасаться ни друг с другом, ни с экраном кабеля;

- экран витой пары должен быть выполнен из проволоки сечением 0,00501 мм
(40 AWG) с серебряным покрытием;

- в качестве материала проволоки экрана витой пары должна быть использована мягкая или отожженная бескислородная медь;

- толщина серебряного покрытия проволоки, используемой для изготовления экрана витой пары, должна быть не менее 0,0025 мкм;

- относительная величина максимального растяжения, которое должна выдерживать проволока экрана витой пары, должна быть не менее 10%;

- изоляция витой пары стандартного кабеля SpаceWire должна быть выполнена из PFA с использованием технологических добавок;

- номинальное значение толщины стенок изоляции витой пары должно быть равно 0,15 мм;

- волновое сопротивление каждой витой пары должно составлять (100±6) Ом;

- скос между сигналами, передаваемыми по одной и той же витой паре кабеля, должен быть не более 0,1 нс/м;

- скос между сигналами, передаваемыми по различным витым парам кабеля, должен быть не более 0,15 нс/м.

5.2.16 Длина одного шага скрутки четырех витых пар сигнальных проводов стандартного кабеля SpaceWire должна находиться в пределах от 12 до 16 внешних диаметров двух экранированных витых пар в оболочке.

5.2.17 Наполнитель стандартного кабеля SpaceWire должен удовлетворять следующим требованиям:

- наполнитель должен быть расположен в центре между четырьмя дифференциальными сигнальными парами;

- материал наполнителя должен быть выполнен из микропористого PTFE и только с необходимыми добавками, обеспечивающими нормальное функционирование наполнителя;

- материал наполнителя должен быть вытянут или свернут из изоляционных лент в стержень;

- диаметр наполнителя кабеля должен составлять 1,4 мм.

5.2.18 Оплетка стандартного кабеля должна охватывать четыре дифференциальные сигнальные пары и центральный наполнитель и удерживать их вместе в фиксированном положении.

5.2.18.1 В качестве материала оплетки кабеля должен быть использован неповрежденный скрученный PTFE с необходимыми добавками, обеспечивающими нормальное функционирование оплетки.

5.2.18.2 Материал оплетки кабеля следует накладывать с перекрытием не более 50%.

5.2.19 Четыре экранированные дифференциальные сигнальные пары стандартного кабеля SpaceWire должны быть защищены экраном кабеля, который должен удовлетворять следующим требованиям:

- экран кабеля должен неплотно прилегать к витым парам, обладать свойством сохранения формы и иметь коэффициент поверхностной плотности плетения не менее 90%;

- в качестве материала проволоки экрана кабеля должна быть использована мягкая или отожженная бескислородная медь с серебряным покрытием;

- площадь сечения проволоки экрана должна быть 0,00797 мм
(38 AWG);

- внешнее покрытие проволоки экрана должно быть серебряным;

- толщина серебряного покрытия проволоки экрана должна быть не менее 2,5 мкм;

- величина максимального относительного растяжения, которое должна выдерживать проволока экрана кабеля, должна быть не менее 10%;

- экран кабеля должен быть заземлен согласно требованиям по электромагнитной совместимости.

5.2.20 Оболочка стандартного кабеля должна быть выполнена экструзией из PFA с необходимыми добавками, обеспечивающими нормальное функционирование оболочки кабеля.

5.2.20.1 Толщина стенок оболочки кабеля (ее номинальное значение) должна составлять 0,25 мм.

5.2.20.2 На оболочке стандартного кабеля SpaceWire не должно быть маркировки.

Примечание - Давление на стандартный кабель SpaceWire, возникающее при нанесении маркировки, может оказать неблагоприятное воздействие на электрические характеристики кабеля.

5.2.21 Соединитель стандартного кабеля SpaceWire - это 9-контактный микроминиатюрный соединитель D-типа с контактами под пайку в соответствии с [3] или с обжимными контактами согласно [4].

5.2.21.1 Приборные части соединителя стандартного кабеля SpaceWire должны удовлетворять следующим требованиям:

- приборные части соединителя должны иметь гнездовые контакты;

- для повышения устойчивости устройства к механическим ударам и вибрации следует использовать приборные части соединителя с гибкими контактами.

5.2.21.2 Кабельная часть соединителя стандартного кабеля SpaceWire должна удовлетворять следующим требованиям:

- кабельная часть соединителя должна иметь штыревые контакты;

- проводники стандартного кабеля SpaceWire должны быть припаяны к контактам соединителя или обжаты контактами соединителя;

- металлическая оболочка соединителя должна быть соединена с экраном стандартного кабеля через резистор с величиной сопротивления менее 1 Ом для обеспечения электромагнитной совместимости;

- идентификация контактов соединителя должна соответствовать данным, приведенным в таблице 2 и на рисунке 3;

- контакт 3 соединителя стандартного кабеля SpaceWire, изображенного на рисунке 3, должен быть соединен с экранами витых пар стандартного кабеля SpaceWire.

Таблица 2 - Идентификация контактов соединителя стандартного кабеля SpaceWire

Номер контакта

Вид сигнала

Номер контакта

Вид сигнала

Номер контакта

Вид сигнала

1

Din+

4

Sout-

7

Sin-

2

Sin+

5

Dout-

8

Sout+

3

Экраны витых пар Sout и Dout

6

Din-

9

Dout+

5.2.21.3 Контакты соединителей и стандартный кабель SpaceWire должны быть соединены (см. таблицу 3 и рисунок 4).

Примечание - Контакт 3 соединяется с экранами витых пар Sout и Dout

Рисунок 3 - Идентификация контактов соединителя стандартного кабеля SpaceWire. Вид изнутри (из прибора) на кабельную или снаружи на приборную части соединителя стандартного кабеля SpaceWire

5.2.21.4 Экраны дифференциальных сигнальных пар стандартного кабеля SpaceWire, передающих сигналы: Din-, Din+, Sin-, Sin+ должны быть изолированы друг от друга в кабельном соединителе SpaceWire.

Таблица 3 - Сигналы на контактах кабельных соединителей стандартного кабеля SpaceWire в кабельной сборке SpaceWire

Сигнал на стороне А

Контакт на стороне А

Соединение

Контакт на стороне Б

Сигнал на стороне Б

Din+

1

Есть

9

Dout+

Din-

6

То же

5

Dout-

Sin+

2

"

8

Sout+

Sin-

7

"

4

Sout-

Экраны витых пар Sout и Dout

3

Нет

3

Экраны витых пар Sout и Dout

Sout+

8

Есть

2

Sin+

Sout-

4

То же

7

Sin-

Dout+

9

"

1

Din+

Dout-

5

"

6

Din-

Экран кабеля

Оболочка

"

Оболочка

Экран кабеля

5.2.21.5 Экраны дифференциальных сигнальных пар стандартного кабеля SpaceWire, передающих выходные сигналы Dout+, Dout- и Sout+, Sout-, должны быть соединены между собой и с выводом 3 соединителя SpaceWire (см. рисунок 4).

5.2.21.6 Соединитель стандартного кабеля SpaceWire должен иметь металлическую оболочку для обеспечения требуемого экранирования.

1 - соединение экрана кабеля и металлической оболочки соединителя через малое сопротивление (менее 1 Ом); 2 - экраны витых пар Sout и Dout соединены между собой и с выводом 3 соединителя

Рисунок 4 - Соединение стандартного кабеля SpaceWire

Примечания

1 Экраны витых пар с одноименными сигналами изолированы один от другого.

2 Такая симметричная схема, когда экраны двух дифференциальных пар соединены с оболочкой соединителя на одной стороне стандартного кабеля SpaceWire, а экраны двух других дифференциальных пар соединены с оболочкой соединителя на противоположной стороне стандартного кабеля SpaceWire, снимает проблему определения стороны стандартного кабеля SpaceWire при сборке.

5.2.22 Для передачи D- и S-сигналов допустимо использовать печатные и объединительные платы.

5.2.22.1 Печатные или объединительные платы должны поддерживать соединение только по типу "точка-точка", многоабонентная шинная структура поддерживаться не должна.

5.2.22.2 Шинные структуры могут быть организованы из соединений типа "точка-точка" между узлами одной объединительной платы.

5.2.22.3 При использовании печатной или объединительной платы дифференциальные D- и S-сигналы должны передаваться по парам параллельных дорожек с дифференциальным импедансом (100±6) Ом.

5.2.22.4 Величина относительной разности длин печатных проводников, предназначенных для передачи D- и S-сигналов, должна быть менее 5% от длины этих проводников и не более 5 мм по абсолютной величине.

Примечание - Для печатных плат скос сигналов минимизируется путем использования для передачи D- и S-сигналов, близких по значениям длин параллельных проводников.

5.2.23 Для подключения стандартного кабеля и облегченного кабеля SpaceWire к печатным платам должны быть использованы соединители с гибкими контактами.

5.2.23.1 Все гибкие контакты соединителя стандартного кабеля и облегченного кабеля SpaceWire, используемого для подключения к печатной плате, должны быть одинаковой длины - не менее 25 мм.

Примечание - Монтаж на плату соединителей с гибкими контактами длиной менее 25 мм будет затруднителен.

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

Примечание - Использование прямоугольных монтажных соединителей печатных плат не рекомендуется.

5.3 Сигнальный уровень

5.3.1 На сигнальном уровне стека протоколов интерфейса SpaceWire перед передачей битового потока на физический уровень должно проводиться DS-кодирование битового потока двумя сигналами: D-сигналом и S-сигналом - DS-кодирование.

Примечания

1 DS-кодирование описано в [5], [6], а также в [7].

2 Причина использования D-кодирования заключается в повышении допусков по скосу почти до одного битового интервала по сравнению с допуском по скосу, равным половине битового интервала, для простого кодирования одним сигналом, повторяющим значения битового потока, без использования S-сигнала.

5.3.1.1 Пример DS-кодирования показан на рисунке 5.

Рисунок 5 - Пример DS-кодирования

5.3.1.2 D-сигнал должен повторять значение битового потока, т.е. иметь высокий уровень значения напряжения для логической единицы и низкий уровень значения напряжения для логического нуля.

5.3.1.3 Если значение D-сигнала остается неизменным для 2 битов, следующих один за другим, то S-сигнал должен изменять свое значение.

5.3.1.4 Если значение D-сигнала изменяется для 2 битов, следующих один за другим, то S-сигнал не должен изменять свое значение.

5.3.1.5 Одновременное изменение D- и S-сигналов не должно отрицательно сказываться на приеме сигналов из канала SpaceWire.

Примечания

1 Одновременное изменение D- и S-сигналов без применения специальных мер может приводить к повреждению данных.

2 Одновременное изменение D- и S-сигналов может возникать в следующих ситуациях:

- при подключении кабеля в тот момент, когда передатчик SpaceWire пытается установить соединение;

- включении передатчика SpaceWire или приемника SpaceWire в тот момент, когда передатчик пытается установить соединение.

5.3.1.6 Приемник SpaceWire должен сохранять работоспособность при одновременном изменении D- и S-сигналов.

5.3.1.7 При перезагрузке передатчика SpaceWire должны быть предусмотрены меры для исключения одновременного изменения D- и S-сигналов.

Примечание - Для исключения одновременного изменения D- и S-сигналов после прекращения передачи при перезагрузке передатчика SpaceWire в некоторых случаях первым может быть сброшен S-сигнал, а затем D-сигнал.

5.3.2 В каналах SpaceWire для передачи D- и S-сигналов на физический уровень должен быть использован метод дифференциальных сигналов низкого напряжения (LVDS) в соответствии с [5], [6]. Краткая информация о методе LVDS приведена в приложении Д.

5.3.2.1 Уровни сигналов, используемые в LVDS, должны соответствовать значениям, показанным на рисунке 6.

5.3.2.2 Значение порога шума на входе приемника LVDS должно быть не более 10 мВ.

5.3.2.3 Отказ в цепях с сигналами LVDS может быть вызван следующими причинами:

- на передатчик не подано напряжение питания;

- передатчик не включен;

- передатчик не соединен с приемником;

- разрыв во входной цепи приемника;

- короткое замыкание входов приемника.

5.3.2.4 В случае наличия какой-либо из вышеперечисленных в 5.3.2.3 причин отказа выход приемника должен быть заперт высоким логическим уровнем и значение напряжения на выходе приемника не должно изменяться при том условии, что максимальная амплитуда напряжения шума на входе приемника меньше порога шума на входе приемника (см. 5.3.2.2).

а) Напряжение на входе приемника

(с параллельно подключенным согласующим резистором 100 Ом)

б) Пороговые чувствительности приемника

1 - переходная область

Рисунок 6 - Уровни LVDS сигналов

5.3.2.5 При отключенном питании передатчика LVDS значение его выходного сопротивления должно быть более 100 кОм.

5.3.2.6 При отключенном питании приемника LVDS значение его входного сопротивления должно быть более 100 кОм.

5.3.3 По каналу SpaceWire должны передаваться в противоположных направлениях две пары сигналов LVDS, каждая из которых представляет собой D- и S-сигналы.

5.3.4 Каналы SpaceWire в сети могут работать на различных скоростях передачи.

Примечание - В состоянии канального интерфейса "Рабочий режим" скорость передачи данных по каналу SpaceWire устанавливается в диапазоне от минимальной скорости передачи данных до максимальной скорости передачи данных.

5.3.4.1 Скорость передачи данных одного и того же канала SpaceWire в состоянии канального интерфейса "Рабочий режим" в разных направлениях может быть различной.

5.3.4.2 Значение минимальной скорости передачи данных по каналу SpaceWire определено величиной тайм-аута соединения (см. 5.5.26) и должно быть более 1,18 Мбит/с (т.е. 1/850 нс).

5.3.4.3 Значение минимальной скорости передачи данных по каналу SpaceWire должно составлять 2 Мбит/с.

5.3.4.4 Максимальная скорость передачи данных должна быть определена с учетом характеристик канала SpaceWire, значений скоса и джиттера, и выбрана таким образом, чтобы время предельного допуска, определенное в соответствии с выражением (Г.3) (приложение Г), было более нуля.

5.3.4.5 Примеры значений скоса и джиттера элементов типового канала SpaceWire для различных значений максимальной скорости информационного обмена приведены в приложении Е.

5.3.4.6 Значение величины начальной рабочей скорости передачи данных, на которой канальный передатчик должен начинать работу после включения или перезагрузки, должно составлять (10±1) Мбит/с.

5.3.4.7 Канальный передатчик после включения или перезагрузки должен продолжать свою работу на начальной скорости передачи данных (10±1) Мбит/с до тех пор, пока не поступит команда на изменение скорости передачи данных.

Примечание - Одинаковая невысокая начальная скорость передачи данных всех устройств позволяет проверить корректность работы всех устройств до того, как скорость передачи будет увеличена и устройства начнут работать на крайне отличающихся скоростях.

5.3.4.8 Все устройства SpaceWire должны поддерживать передачу данных по каналу SpaceWire на начальной скорости (10±1) Мбит/с, но они не должны поддерживать передачу данных по каналу SpaceWire на более высоких скоростях.

5.3.4.9 Скорость передачи данных по каналу SpaceWire не должна изменяться до того, как будет полностью установлено соединение в канале.

5.4 Символьный уровень

5.4.1 Протокол символьного уровня определяет символ данных, четыре управляющих символа (FCT-символ, EOP-символ, EEP-символ, ESC-символ) и четыре управляющих кода: NULL-код, Time-код, Interrupt-код и Interrupt_Acknowledge-код.

5.4.2 Символ данных

5.4.2.1 Структура символа данных SpaceWire показана на рисунке 7.

5.4.2.2 Символ данных должен состоять из бита четности, флага "данные/управление" и 8 битов данных.

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

5.4.2.4 При передаче 8 битов данных МЗБ должен быть передан первым, как это показано на рисунке 7.

1 - флаг "данные/управление" равен нулю; 2 - бит четности

Рисунок 7 - Структура символа данных SpaceWire

5.4.3 Управляющие символы и коды

5.4.3.1 Управляющие символы и коды показаны на рисунке 8.

5.4.3.2 Управляющий символ должен состоять из бита четности, бита флага "данные/управление" и 2 битов кода управления.

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

5.4.3.4 ESC-символ должен быть использован исключительно для формирования NULL-кода, Time-кода, Interrupt-кода и Interrupt_Acknowledge-кода и только в интерфейсе SpaceWire.

5.4.3.5 Последовательности, в которых за ESC-символом следует символ EOP, EEP или ESC, должны считаться некорректными и рассматриваться как ошибки ESC-символа (см. 5.5.18).

5.4.3.6 FCT-символ должен быть предназначен для управления потоком данных с целью защиты буфера приема хост-системы от переполнения и последующей потери данных.

Примечание - Р - бит четности.

Рисунок 8 - Управляющие символы и коды

5.4.3.7 NULL-код должен быть предназначен для поддержания и установления соединения в канале.

5.4.3.8 NULL-код должен быть сформирован из ESC-символа и следующего за ним FCT-символа.

5.4.3.9 Бит четности (P) в составе NULL-кода должен быть равен нулю в соответствии с 5.4.4.2.

5.4.3.10 Управляющие коды - Time-код, Interrupt-код и Interrupt_Acknowledge-код должны быть сформированы из ESC-символа и следующего за ним символа данных.

5.4.3.11 Бит четности (P) в составе Time-кода, Interrupt-кода и Interrupt_Acknowledge-кода должен быть равен единице в соответствии с 5.4.4.2.

5.4.3.12 Time-код должен быть использован для распространения единого системного времени по сети (см. 5.4.27) и изохронно с распространением системного времени распространения флагов управления.

5.4.3.13 Шесть младших разрядов символа данных Time-кода (
) должны содержать значение системного времени.
5.4.3.14 Два старших разряда символа данных Time-кода (
и
) должны содержать значения флагов управления.

5.4.3.15 Interrupt-код должен быть использован как запрос на обработку прерывания к тем узлам, которые могут выполнять процедуры обработки прерываний (см. 10.2).

5.4.3.16 Interrupt_Acknowledge-код должен быть использован для подтверждения о принятии запроса на обработку прерывания узлами, которые могут выполнять процедуры обработки прерываний (см. 10.3).

5.4.3.17 Пять младших разрядов символа данных (
) Interrupt-кода и Interrupt_Acknowledge-кода должны содержать идентификатор прерывания.
5.4.3.18 Три старших разряда символа данных Interrupt-кода и Interrupt_Acknowledge-кода должны содержать распространяемый изохронно с идентификатором прерывания 3-битный идентификатор кода распределенных прерываний и иметь значения:
=0,
=0,
=1 - в случае символа данных Interrupt-кода и значения:
=1,
=0,
=1 - в случае символа данных Interrupt_Acknowledge-кода.

5.4.4 Бит четности, входящий в состав всех кодов, символов данных и управления, предназначен для обеспечения механизма определения ошибок передачи по каналу.

5.4.4.1 Бит четности должен охватывать 8 битов предыдущего символа данных или 2 бита предыдущего управляющего символа, бит четности текущего символа и флаг "данные/управление" текущего символа. Область, охватываемая битом четности, показана на рисунке 9.

Рисунок 9 - Область, охватываемая битом четности

5.4.4.2 Значение бита четности должно быть установлено таким образом, чтобы количество единиц в зоне, охватываемой данным битом, включая сам бит четности, было нечетным, в противном случае должна быть определена ошибка контроля четности.

5.4.5 После перезагрузки или ошибки в канале в состоянии канального интерфейса "Перезагрузка" должны быть выполнены (см. рисунок 10) следующие требования:

- начальные значения величин D- и S-сигналов на линиях должны быть установлены равными нулю;

- после запуска передатчика первым переданным битом должен быть бит четности;

- значение первого бита четности должно быть установлено равным нулю;

- когда передатчик будет запущен, первым изменением напряжения должно быть изменение напряжения на линии S.

5.4.6 Обработка передающим и принимающим интерфейсами хост-системы 8 битов данных и 1 бита управляющего флага должна проводиться, как показано в таблице 4.

5.4.6.1 Только МЗБ EOP- или EEP-символов должен быть обработан передающим и принимающим интерфейсами хост-системы. Значения остальных семи старших значащих битов данных EOP-или EEP-символов должны быть установлены равными нулю как при приеме из интерфейса приемника, так и при записи в интерфейс передатчика.

Рисунок 10 - D- и S-сигналы в момент запуска канала

Примечание - Первым происходит изменение напряжения на линии S, т.к. первым передается бит четности со значением, равным нулю.

Таблица 4 - Обработка битов данных и управляющего флага при взаимодействии хост-системы с приемником и передатчиком

Управляющий флаг

Биты данных (СЗБ…МЗБ)

Значение битов данных

0

xxxxxxxx

8 битов символа данных

1

ХXXXXXX0 (используется 00000000)

EOP-символ

1

ХXXXXXX1 (используется 00000001)

EEP-символ

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

5.4.6.2 EEP-символ может быть записан в интерфейс передатчика.

Примечание - Передача узлом SpaceWire-RUS EEP-символа не является корректной ситуацией, а запись EEP-символа в интерфейс передатчика - необходимой, за исключением некоторых ситуаций, например: произошла ошибка во время передачи узлом пакета. Маршрутизирующий коммутатор SpaceWire-RUS при возникновении ошибки во время передачи пакета должен передавать пакеты, оканчивающиеся EEP-символом, поэтому в случае передачи такого пакета маршрутизирующим коммутатором любой EEP-символ записывается в интерфейс передатчика (см. 8.3.3).

5.5 Уровень обмена

5.5.1 Уровень обмена SpaceWire задает требования к следующим инструментам, сервисам и механизмам:

- управлению потоком данных;

- канальному интерфейсу;

- диаграмме состояний и таблице состояний;

- инициализации канала;

- нормальной работе канала;

- определению и обработке ошибок, возникающих на уровне обмена;

- определению и обработке исключений;

- реализации и управлению распространением системного времени.

5.5.2 На уровне обмена символы данных, управляющие символы и коды разделены на два типа: информационные символы - символы, которые могут быть переданы из канала на уровень пакетов, и канальные символы и коды - символы и коды, которые не могут быть переданы из канала на уровень пакетов.

5.5.2.1 В состав информационных символов (N-Сhar) входят следующие символы: символ данных, EOP-символ и EEP-символ.

5.5.2.2 В состав канальных символов (L-Char) входят ESC-символ и FCT-символ.

5.5.2.3 В состав канальных кодов входят управляющие коды: NULL-код, Time-код, Interrupt-код и Interrupt_Acknowledge-код.

5.5.2.4 Только информационные символы могут быть переданы хост-системой в канал SpaceWire.

5.5.2.5 Только информационные символы должны быть приняты хост-системой из канала SpaceWire на принимающей стороне.

5.5.3 Приоритеты символов и кодов при передаче по каналу распределены следующим образом:

- Time-код имеет высший приоритет;

- Interrupt_Acknowledge-код;

- Interrupt-код;

- FCT-символ;

- информационный символ;

- NULL-символ имеет низший приоритет.

5.5.3.1 При наличии запроса передатчик должен передавать Time-код, Interrupt_Acknowledge-код, Interrupt-код или FCT-символ немедленно, сразу после окончания передачи текущего символа или кода.

5.5.3.2 В рабочем режиме, когда отсутствуют запросы на передачу управляющего кода или FCT-символа, а в буфере передачи хост-системы есть информационные символы и значение счетчика кредитов передачи более нуля, в канал должны быть переданы информационные символы.

5.5.3.3 Когда управляющие коды, FCT-символы или информационные символы не передаются, то для подтверждения того, что канал SpaceWire находится в рабочем состоянии, в канал должны передаваться NULL-коды.

5.5.4 Управление потоком данных на уровне обмена должно быть реализовано посредством использования FCT-символов и предназначено для защиты от переполнения буфера приема хост-системы и последующей потери данных.

5.5.4.1 При применении механизма управления потоком на уровне обмена посредством FCT-символов используются два параметра: FCT_COUNT и MAX_FCT_COUNT.

5.5.4.2 Если канальный интерфейс готов к приему дополнительного количества информационных символов, то передатчик этого канального интерфейса должен передавать в канал FCT-символы.

5.5.4.3 Каждый FCT-символ, переданный канальным интерфейсом, должен указывать на то, что в буфере приема его хост-системы есть место для приема еще FCT_COUNT информационных символов.

Примечание - Буфер приема хост-системы, как правило, реализуется как FIFO-буфер.

5.5.4.4 При передаче каждого FCT-символа канальным интерфейсом в буфере приема его хост-системы должно быть зарезервировано место для приема дополнительных FCT_COUNT информационных символов.

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

5.5.4.6 Передатчик должен иметь счетчик кредитов передачи, указывающий то количество информационных символов, которое должно быть передано.

5.5.4.7 Значения счетчика кредитов передачи должны соответствовать следующим требованиям:

- значение счетчика кредитов передачи должно быть установлено равным нулю в состоянии "Перезагрузка";

- максимальное значение счетчика кредитов передачи должно составлять MAX_FCT_COUNT;

- если значение счетчика кредитов передачи канального интерфейса не равно MAX_FCT_COUNT, то оно должно быть увеличено на FCT_COUNT, когда этот канальный интерфейс принимает FCT-символ;

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

5.5.4.8 Если значение счетчика кредитов передачи равно нулю, то передатчик не должен передавать информационные символы в канал до тех пор, пока не будет принят FCT-символ, и значение счетчика кредитов передачи вследствие этого будет увеличено на FCT_COUNT.

5.5.4.9 Если значение счетчика кредитов передачи равно нулю, то передатчик должен передавать канальные символы в канал.

5.5.4.10 Если FCT-символ принят в момент, когда значение счетчика кредитов передачи равно MAX_FCT_COUNT, то должна быть определена ошибка кредитования.

5.5.4.11 После перезагрузки или разъединения канала начальное число FCT-символов, предназначенных для передачи на одной стороне канала, должно быть установлено согласно размеру буфера приема хост-системы канального интерфейса на другой стороне канала: один FCT-символ на каждые FCT_COUNT информационных символов, которые могут быть приняты, но не более MAX_FCT_COUNT/FCT_COUNT.

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

5.5.4.13 Значения счетчика ожидаемых информационных символов должны соответствовать следующим требованиям:

- значение счетчика ожидаемых информационных символов должно быть установлено равным нулю после перезагрузки или разъединения канала;

- максимальное значение счетчика ожидаемых информационных символов должно составлять MAX_FCT_COUNT;

- значение счетчика ожидаемых информационных символов должно быть увеличено на FCT_COUNT каждый раз, когда передан один FCT-символ;

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

5.5.4.14 Если информационный символ получен тогда, когда значение счетчика ожидаемых информационных символов установлено равным нулю, то должна быть определена ошибка кредитования.

5.5.4.15 FCT-символ должен быть передан только при одновременном выполнении следующих условий:

- значение счетчика ожидаемых информационных символов может быть увеличено на FCT_COUNT без превышения максимального значения MAX_FCT_COUNT;

- в буфере приема есть незарезервированное место для приема FCT_COUNT информационных символов.

5.5.5 Значения величин параметров настройки механизма управления потоком данных канального интерфейса SpaceWire посредством использования FCT-символов должны быть следующими:

- FCT_COUNT должен быть равен 8;

- MAX_FCT_COUNT должен быть равен 56.

5.5.6 В состав типового канального интерфейса SpaceWire должны входить следующие элементы:

- передатчик;

- генератор тактовой частоты передатчика;

- приемник;

- схема восстановления тактовой синхронизации приемника;

- таймер;

- машина состояний (реализованная в виде ПО).

5.5.6.1 Блок-схема типового канального интерфейса SpaceWire показана на рисунке 11.

Примечание - На рисунке 11 Interrupt-код и Interrupt_Acknowledge-код сокращенно обозначены как Intpt-код, Intpt _Ack-код соответственно.

Рисунок 11 - Блок-схема типового канального интерфейса SpaceWire

5.5.6.2 К передатчику типового канального интерфейса SpaceWire следует предъявлять следующие требования:

а) передатчик канального интерфейса SpaceWire должен быть предназначен для DS-кодирования и передачи данных;

б) передатчик канального интерфейса SpaceWire должен управляться хост-системой канального интерфейса SpaceWire;

в) передатчик должен получать от хост-системы информационные символы, предназначенные для передачи;

г) управление потоком данных передаваемого передатчиком канального интерфейса SpaceWire в канал SpaceWire должно быть реализовано с помощью механизма управления потоком посредством использования FCT-символов (см. 5.5.4, 5.5.5);

д) передатчик должен передавать FCT-символы только после получения от хост-системы запроса на отправку FCT-символов;

е) передатчик должен находиться только в одном из следующих состояний:

1) "перезагрузка" - передатчик не передает данных,

2) "передача NULL-кодов" - возможна передача только NULL-кодов,

3) "передача FCT-символов и NULL-кодов" - возможна передача только FCT-символов и NULL-кодов,

4) "рабочий режим" - нормальная работа передатчика, передача управляющих кодов, FCT-символов и информационных символов.

5.5.6.3 Типовой интерфейс между хост-системой и передатчиком канального интерфейса SpaceWire должен включать следующие сигналы: Tx_Ready (готовность к передаче данных), Tx_Write (запрос на передачу данных) и Tx_Data/Control_Flag (передаваемые данные и флаг управления) (см. рисунок 11).

5.5.6.4 Взаимодействие передатчика канального интерфейса SpaceWire и хост-системы посредством типового интерфейса при получении информационного символа от хост-системы для его передачи в канал SpaceWire должно происходить следующим образом:

- если передатчик готов получить от хост-системы информационный символ для передачи в канал SpaceWire, то он должен выставить сигнал Tx_Ready;

- если сигнал Tx_Ready выставлен и если хост-система имеет информационный символ для передачи, то хост-система должна отправить информационный символ на линию Tx_Data/Control_Flag и выставить сигнал Tx_Write;

- передатчик должен снять сигнал Tx_Ready после получения им информационного символа для передачи в канал SpaceWire;

- хост-система должна снять сигнал Tx_Write после снятия сигнала Tx_Ready.

5.5.6.5 Генератор сигналов тактирования (transmit clock) передатчика канального интерфейса SpaceWire должен выдавать сигналы тактирования (signalling clock signals) для обеспечения передачи данных с любой скоростью - от минимальной до максимальной (см. 5.3.4.3, 5.3.4.4).

Примечание - Частоту сигналов тактирования передатчика, как правило, задают путем деления частоты генераторов сигналов локального системного времени или умножения частоты генераторов сигналов локального системного времени с ФАПЧ.

5.5.6.6 К приемнику типового канального интерфейса SpaceWire следует предъявлять следующие требования:

а) приемник должен принимать D- и S-сигналы из канала SpaceWire и выполнять их DS-декодирование;

б) приемник должен передавать последовательность информационных символов, полученную после DS-декодирования D- и S-сигналов, принимаемых из канала SpaceWire, в хост-систему;

в) приемник должен сообщать передатчику на своей стороне канала SpaceWire о приеме каждого FCT-символа;

г) о приеме всех управляющих символов и кодов, кроме FCT-символа и NULL-кода, приемник должен сообщать машине состояний;

д) приемник должен игнорировать информационные символы, управляющие символы и коды, ошибки контроля четности или ошибки ESC-символа до получения первого NULL-кода;

е) механизм определения ошибки соединения в приемнике должен быть включен непосредственно после приема первого бита;

ж) приемник должен оповещать машину состояний уровня обмена об ошибках соединения, контроля четности, ESC-символа и кредитования;

и) приемник должен находиться только в одном из следующих состояний:

1) "перезагрузка" - приемник не принимает,

2) "запуск" - приемник готов к приему первого бита,

3) "принят первый бит" - приемник принял первый бит и может принимать только NULL-коды,

4) "принят NULL-код" - приемник принял первый NULL-код. Приемник может принимать NULL-коды и FCT-символы,

5) "принят FCT-символ" - приемник принял первый FCT-символ. После отправки канальным интерфейсом FCT-символа приемник может принимать информационные символы, FCT-символы и управляющие коды. Включен механизм обнаружения ошибок соединения, четности и ESC-символа,

6) "рабочий режим" - прием информационных символов, управляющих символов и кодов. Механизм обнаружения ошибок (соединения, контроля четности, ESC-символа и кредитования) включен;

к) переходы между состояниями, указанными в перечислениях 1)-6) 5.5.6.6, контролируются машиной состояний канального интерфейса (см. 5.5.6.22, 5.5.7);

л) управление потоком данных, принимаемых приемником канального интерфейса SpaceWire из канала SpaceWire, должно быть реализовано с помощью механизма управления потоком посредством использования FCT-символов (см. 5.5.4, 5.5.5).

5.5.6.7 Типовой интерфейс между приемником канального интерфейса SpaceWire и хост-системой должен включать в себя следующие сигналы: сигнал готовность буфера к приему данных (сигнал Buffer_Ready), запрос на запись данных в буфер приема данных (сигнал Buffer_Write) и принятые данные и флаг управления (сигнал Rx_Data/Control_Flag).

5.5.6.8 При получении хост-системой информационного символа от приемника канального интерфейса SpaceWire (с типовым интерфейсом между приемником и хост-системой) должны быть выполнены следующие действия:

а) если хост-система готова принять информационный символ от приемника, то она должна выставить сигнал Buffer_Ready;

б) если приемник получил информационный символ и сигнал Buffer_Ready выставлен, то приемник должен передать принятый информационный символ на линию Rx_Data/Control_Flag и установить сигнал Buffer_Write;

в) получив информационный символ, хост-система должна снять сигнал Buffer_Ready;

г) если приемник получил информационный символ, а сигнал Buffer_Ready не выставлен, то должна быть определена ошибка кредитования (см. 5.4.10, 5.5.4.14).

Примечание - Ошибка кредитования может возникать при необнаруженной ошибке контроля четности, например: в символе присутствуют два ошибочных бита, что приводит к возникновению одного или более "лишних" символов FCT;

д) приемник должен снять сигнал Buffer_Write после снятия сигнала Buffer_Ready.

5.5.6.9 Сигнал тактовой синхронизации приемника Rx_Clock должен восстанавливаться путем применения операции "исключающего ИЛИ" (XOR) к принятым D- и S-сигналам.

5.5.6.10 Схему восстановления сигнала тактовой синхронизации приемника не следует применять для восстановления сигнала тактовой синхронизации локального таймера, предназначенного для определения тайм-аута разъединения.

5.5.6.11 При распространении системного времени в сети SpaceWire использованы следующие сигналы: Tick_In, Tick_Out; 6-битного входного порта значения времени - Time_In; 6-битного выходного порта значения времени - Time_Out; 2-битного входного порта флагов управления - Control_Flags_In и 2-битного выходного порта флагов управления - Control_Flags_Out.

5.5.6.12 Сигнал Tick_In должен генерироваться только одним узлом в сети SpaceWire, называемым мастером времени, и только сигнал Tick_In должен быть использован для обновления значения системного времени всей сети.

5.5.6.13 Сигнал Tick_Out должен быть использован хост-системой канального интерфейса узла, не являющегося мастером времени, или маршрутизатора при обновлении и настройке своего локального системного времени.

5.5.6.14 Каждый узел или маршрутизатор должен иметь один локальный 6-разрядный счетчик времени.

5.5.6.15 6-битный входной порт значения времени Time_In должен быть использован для передачи значения системного времени из локального счетчика времени в канальный передатчик.

5.5.6.16 6-битный выходной порт значения времени Time_Out должен быть использован для передачи значения системного времени из канального приемника в локальный счетчик времени.

5.5.6.17 2-битные выходной и входной порты флагов управления Control_Flags_Out и Control_Flags_In должны быть зарезервированы для дальнейшего использования, а первоначальные значения сигналов на них должны быть установлены равными нулю.

Примечание - Механизм распространения системного времени для каналов SpaceWire и GigaSpaceWire описан в 5.5.27.

5.5.6.18 Типовой интерфейс распределенных прерываний между хост-системой и канальным интерфейсом должен содержать в своем составе 5-битный входной порт канального интерфейса идентификатора прерывания, 5-битный выходной порт канального интерфейса идентификатора прерывания и 4 сигнала: Intr_In, Intr_Out, Intr_Ack_In и Intr_Ack_Out.

5.5.6.19 Два 5-битных порта канального интерфейса идентификатора прерывания типового интерфейса распределенных прерываний между хост-системой и канальным интерфейсом должны быть использованы для следующих целей:

- входной порт - для передачи значения идентификатора прерывания из хост-системы в передатчик канального интерфейса;

- выходной порт - для передачи значения идентификатора прерывания из приемника канального интерфейса в хост-систему.

5.5.6.20 При получении хост-системой кода распределенных прерываний от приемника канального интерфейса SpaceWire и при условии, что канальный интерфейс SpaceWire находится в состоянии "Рабочий режим", должны быть выполнены следующие действия:

- если хост-системой выставлен сигнал Intr_In и канальный интерфейс находится в состоянии "Рабочий режим", то в канал должен быть передан Interrupt-код;

- если хост-системой выставлен сигнал Intr_Ack_In и канальный интерфейс находится в состоянии "Рабочий режим", то в канал должен быть передан Interrupt_Acknowledge-код;

- если канальный интерфейс находится в состоянии "Рабочий режим" и приемник канального интерфейса SpaceWire принял Interrupt-код, то на выходе приемника Intr_Out должен быть выставлен сигнал Intr_Out;

- если канальный интерфейс находится в состоянии "Рабочий режим" и приемник принял Interrupt_Acknowledge-код, то на выходе приемника Intr_Ack_Out должен быть выставлен сигнал Intr_Ack_Out.

Примечание - Механизм распределенных прерываний для каналов SpaceWire и GigaSpaceWire описан в разделе 10.

5.5.6.21 Таймер канального интерфейса SpaceWire предназначен для реализации тайм-аутов "6,4 мкс" и "12,8 мкс", которые используют при инициализации канала SpaceWire (см. 5.5.12).

5.5.6.22 Машина состояний канального интерфейса SpaceWire предназначена для управления канальным интерфейсом при инициализации канала SpaceWire (см. 5.5.12), нормальном функционировании канала SpaceWire и при восстановлении работоспособности канала SpaceWire после возникновения ошибки.

5.5.6.23 Буферы приема и передачи данных предназначены для хранения исходящих и входящих данных и для согласования скоростей приема данных хост-системой и канальным интерфейсом и в стандарте SpaceWire-RUS рассмотрены как часть хост-системы (см. 8.3.2.1-8.3.2.3).

5.5.6.24 Управление буфером приема и передачи данных должна осуществлять хост-система.

5.5.6.25 Возможно применение нескольких вариантов реализации буфера приема и передачи данных хост-системы:

- буфер FIFO, когда размер буфера зависит от конкретного приложения, использующего данный буфер;

- буферизация памяти DMA, которая используется для передачи данных в память хост-системы. После установки DMA канала SpaceWire может быть передан незамедлительный запрос на передачу нескольких FCT-символов с целью повышения скорости передачи данных;

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

5.5.6.26 В реализациях интерфейса SpaceWire предпочтительнее использовать буферы приема и передачи данных типа FIFO (см. также 8.3.2.1-8.3.2.3), к которым должны быть предъявлены следующие требования:

- после перезагрузки системы буферы FIFO должны быть пустыми;

- после установки соединения может быть осуществлена передача любых данных, записанных в буфер FIFO, если получены FCT-символы для активации передачи;

- буфер FIFO может получать данные до тех пор, пока в нем есть свободное место;

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

Примечание - Это позволяет обеспечивать равномерность потока данных в канале SpaceWire и поддерживать высокую пропускную способность канала SpaceWire;

- данные из буфера приема FIFO должна считывать хост-система.

5.5.7 Диаграмма состояний канального интерфейса SpaceWire

5.5.7.1 Диаграмма состояний канального интерфейса SpaceWire показана на рисунке 12.

Рисунок 12 - Диаграмма состояний машины состояний канального интерфейса SpaceWire

5.5.7.2 На диаграмме состояний (рисунок 12) показаны следующие условия перехода машины состояний канального интерфейса SpaceWire на уровне обмена из одних ее состояний в другие состояния:

а) "канал включен" - сторожевое условие перехода из состояния "Готовность" в состояние "Запуск" (см. 5.5.9).

Примечание - Канальный интерфейс может быть включен программным или аппаратным способом, а также автоматически при приеме NULL-кода, или канал может быть включен постоянно;

б) "канал выключен" - сторожевое условие перехода из состояния "Рабочий режим" в состояние "Перезагрузка".

Примечания

1 Стиль, используемый в настоящем стандарте при изображении диаграммы состояний, приведен в приложении Ж.

2 На рисунке 12 Interrupt-код и Interrupt_Acknowledge-код сокращенно обозначены как Intpt-код, Intpt _Ack-код соответственно.

3 "Ошибка приемника"="ошибка соединения ИЛИ ошибка контроля четности ИЛИ ошибка ESC-символа" (см. 5.5.13).

4 "Ошибка соединения" может иметь место только после приема первого бита (см. 5.5.12).

5 Определение ошибок: контроля четности, ESC-символа, принят FCT, принят N-Char, принят Time-код, принят Interrupt-код, принят Interrupt_Ack-код - может иметь место только после выполнения условия "принят NULL-код" (см. 5.5.10);

в) "передан NULL-код" - условие (см. 5.5.11), которое считается выполненным, если в состоянии "Запуск" на противоположную сторону канала передан первый NULL-код;

г) "передан FCT-символ" - условие, которое считается выполненным, если в состоянии "Соединение" на противоположную сторону канала передан первый FCT-символ;

д) "после 12,8 мкс" - условие, которое считается выполненным, если значение времени, отсчитываемое от начала входа в текущее состояние, превысило значение тайм-аута "12,8 мкс";

е) "после 6,4 мкс" - условие, которое считается выполненным, если значение времени, отсчитываемое от начала входа в состояние "Перезагрузка", превысило длительность тайм-аута "6,4 мкс";

ж) "принят NULL-код" - условие (см. 5.5.10), которое считается выполненным, если принят первый NULL-код;

и) "ошибка приемника" - условие, которое считается выполненным, если на уровне обмена определена ошибка приемника (см. 5.5.14);

к) "принят FCT-символ" - условие, которое считается выполненным, если на уровне обмена SpaceWire принят FCT-символ;

л) "принят N-Char" - условие, которое считается выполненным, если на уровне обмена канальным интерфейсом SpaceWire принят информационный символ;

м) "принят Interrupt-код" - условие, которое считается выполненным, если на уровне обмена SpaceWire канальным интерфейсом принят Interrupt-код;

н) "принят Interrupt_Acknowledge-код" - условие, которое считается выполненным, если на уровне обмена SpaceWire принят Interrupt_Acknowledge-код;

п) "принят Time-код" - условие, которое считается выполненным, если на уровне обмена SpaceWire принят Time-код;

р) "ошибка кредитования" - условие, которые считается выполненным, если на уровне обмена определена ошибка кредитования (см. 5.5.17).

5.5.7.3 В состоянии "Перезагрузка" машины состояний канального интерфейса SpaceWire, представленной в виде диаграммы состояний, показанной на рисунке 12, должны быть выполнены следующие требования:

- вход в состояние "Перезагрузка" должен быть произведен или после перезагрузки системы, или после прекращения работы канала SpaceWire по любой причине, или после обнаружения какой-либо ошибки во время инициализации канала SpaceWire (см. 5.5.12) и после установки сигнала перезагрузки.

Примечание - Перезагрузка представляет собой перезагрузку по питанию, аппаратную перезагрузку или перезагрузку программного обеспечения;

- в состоянии "Перезагрузка" передатчик и приемник должны быть перезагружены;

- после перехода в состояние "Перезагрузка" машина состояний канального интерфейса SpaceWire должна находиться в этом состоянии до снятия сигнала перезагрузки;

- по истечении тайм-аута "6,4 мкс" после снятия сигнала перезагрузки машина состояний канального интерфейса SpaceWire должна сделать безусловный переход в состояние "Ожидание".

5.5.7.4 В состоянии машины состояний канального интерфейса SpaceWire "Ожидание" должны быть выполнены следующие требования:

а) приемник должен быть включен, передатчик должен быть перезагружен.

Примечание - Рабочее состояние приемника в состоянии "Ожидание" машины состояний гарантирует запуск механизма обнаружения ошибки соединения (после регистрации изменения уровня сигнала на линии D или S) и механизма обнаружения NULL-кода;

б) при входе машины состояний в состояние "Ожидание" должен быть запущен таймер "12,8 мкс";

в) должен быть включен механизм обнаружения NULL-кода (см. 5.5.10);

г) непосредственно после приема первого бита должен быть включен механизм определения ошибки соединения (см. 5.5.15);

д) при приеме первого NULL-кода условие "Принят NULL-код" должно быть выполнено;

е) машина состояний должна совершить переход из состояния "Ожидание" в состояние "Готовность" по истечении тайм-аута "12,8 мкс".

Примечание - Задержки, равные по длительности тайм-аутам "6,4 мкс" и "12,8 мкс" в состояниях "Перезагрузка" и "Ожидание", гарантируют запуск приемников на обеих сторонах канала до того, как будет начата передача данных (см. 5.5.22);

ж) если произошло выполнение условия по перечислению и) 5.5.7.2 или после выполнения условия по перечислению ж) 5.5.7.2 произошло выполнение любого из следующих условий по перечислениям: к), или л), или м), или н) 2, или п), то машина состояний канального интерфейса SpaceWire на уровне обмена должна выполнить переход из текущего состояния в состояние "Перезагрузка".

5.5.7.5 В состоянии "Готовность" машины состояний канального интерфейса SpaceWire должны быть выполнены следующие требования:

а) приемник должен быть включен, передатчик должен быть перезагружен;

б) при приеме первого (с момента включения механизма обнаружения) NULL-кода условие "Принят NULL-код" должно быть выполнено;

в) если сторожевое условие "Канал включен" выполнено, то машина состояний должна перейти в состояние "Запуск";

г) должно быть выполнено требование по перечислению ж) 5.5.7.4.

5.5.7.6 В состоянии "Запуск" машины состояний канального интерфейса SpaceWire должны быть выполнены следующие требования:

а) в состояние "Запуск" машина состояний должна переходить из состояния "Готовность" только после включения канального интерфейса;

б) при входе в состояние "Запуск" должен быть запущен таймер "12,8 мкс";

в) приемник канального интерфейса SpaceWire должен быть включен и должен принимать NULL-коды;

г) передатчик канального интерфейса должен быть включен и должен передавать NULL-коды на другую сторону канала SpaceWire;

д) при приеме первого NULL-кода (с момента включения механизма обнаружения) условие "Принят NULL" должно считаться выполненным;

е) при отправке первого NULL-кода условие "Передан NULL" должно считаться выполненным;

ж) если выполнено условие "Принят NULL" И "Передан NULL", то машина состояний должна перейти в состояние "Соединение";

и) после истечения тайм-аута "12,8 мкс" машина состояний должна перейти в состояние "Перезагрузка";

к) должно быть выполнено требование по перечислению ж) 5.5.7.4.

5.5.7.7 В состоянии "Соединение" машины состояний канального интерфейса SpaceWire должны быть выполнены следующие требования:

а) при входе машины состояний в состояние "Соединение" должен быть запущен таймер "12,8 мкс";

б) приемник и передатчик должны быть включены;

в) передатчик должен передавать FCT-символы и NULL-коды;

г) если в состоянии "Соединение" выполнены условия по перечислениям г) и к) 5.5.7.2, то машина состояний должна перейти в состояние "Рабочий режим".

Примечание - Прием FCT-символа в состоянии "Соединение" означает прием переданного NULL-кода на другой стороне канала. Прием NULL-кода и FCT-cимвола означает установление соединения в обоих направлениях;

д) если машина состояний находится в состоянии "Соединение" и произошло выполнение любого из следующих условий по перечислениям д), и), л), м), н), п) 5.5.7.2, то машина состояний должна перейти из состояния "Соединение" в состояние "Перезагрузка".

5.5.7.8 В состоянии "Рабочий режим" машины состояний канального интерфейса SpaceWire должны быть выполнены следующие требования:

а) в состояние "Рабочий режим" машина состояний должна переходить только из состояния "Соединение";

б) в состоянии "Рабочий режим" приемник и передатчик должны быть включены;

в) в состоянии "Рабочий режим" передатчик может передавать информационные символы, канальные символы и коды в обоих направлениях;

г) если машина состояний находится в состоянии "Рабочий режим" и произошло отключение канала или обнаружена любая из ошибок - по перечислению б) 5.5.7.2 или ошибка кредитования, то машина состояний должна перейти в состояние "Перезагрузка".

Примечание - В качестве иллюстрации, поясняющей примерный состав и порядок процессов, которые происходят при нормальной работе канала SpaceWire, когда машина состояний канального интерфейса SpaceWire находится в состоянии "Рабочий режим", может быть взят частный случай, рассмотренный в приложении И.

5.5.8 Таблица переходов канального интерфейса SpaceWire приведена в приложении К.

5.5.9 Канальный интерфейс должен иметь возможность автоматического запуска канала SpaceWire при выполнении условия "Принят NULL".

Когда поддержка автоматического запуска канала SpaceWire имеет место, сторожевое условие "Канал включен" должно быть вычислено следующим образом:

"Канал включен"=(НЕ "Канал выключен") И

("Запуск канала" ИЛИ ["Автозапуск канала" И "Принят NULL"]), (1)

где "Автозапуск канала" - необходимое условие в режиме автоматического запуска канала после принятия первого NULL-кода;

"Запуск канала" - необходимое условие для запуска канала и перехода из состояния "Готовность" в состояние "Запуск";

"Канал выключен", "Принят NULL-код" - условия, которые определены в перечислениях б) и ж) 5.5.7.2.

Примечание - Механизм автозапуска позволяет реализовать ту систему, в которой в случае разъединения канала одна сторона канала ожидает, когда другая сторона сделает попытку установить соединение, для того чтобы немедленно ей ответить по установленному порядку. Механизм автозапуска позволяет управлять соединением только с одной стороны канала.

5.5.10 Условие "Принят NULL" должно быть установлено выполненным, если принята последовательность битов
, как показано на рисунке 13.

5.5.10.1 Проверка выполнения условия "Принят NULL-код" включает в себя проверку 3 битов четности: бита четности, охватывающего флаг "данные/управление" ESC-символа, бита четности, охватывающего 2 бита ESC-символа, и бита четности, охватывающего 2 бита FCT-символа.

5.5.10.2 Если в последовательности битов, принятых во время ожидания NULL-кода, обнаружена ошибка контроля четности, то условие "Принят NULL" должно быть установлено невыполненным.

5.5.11 Условие "Передан NULL" должно быть установлено, если передана последовательность битов, показанная на рисунке 13.

5.5.12 Инициализация канала SpaceWire должна начинаться при поступлении команды "Перезагрузка" на одну из сторон канала SpaceWire и последующей перезагрузке этой стороны канала и завершаться нормальной работой канала SpaceWire и передачей данных по каналу SpaceWire в обоих направлениях. Пример инициализации канала SpaceWire, когда она происходит без возникновения ошибок в идеальном случае, приведен в приложении Л.

Примечание - P - бит четности (=0); С - флаг "данные/управление" (=1).

Рисунок 13 - Обнаружение NULL-кода

Примечание - При инициализации канала символом, следующим за первым NULL-кодом, будет управляющий символ или код (FCT-символ или NULL-код). Следовательно, последний бит контроля четности NULL-кода равен нулю.

5.5.13 К ошибкам, которые могут быть обнаружены и обработаны на уровне обмена, относятся следующие ошибки:

- ошибка приемника;

- ошибка последовательности символов;

- ошибка кредитования.

5.5.14 Ошибка приемника - это условное обозначение любой из ошибок: ошибки соединения, или ошибки контроля четности, или ошибки ESC-символа.

5.5.14.1 Ошибка соединения может быть определена на уровне обмена только после приема первого бита данных.

5.5.14.2 Уровни сигналов на линиях D-сигнала и S-сигнала нормально функционирующего канального интерфейса должны постоянно изменяться, так как по этим линиям должны непрерывно передаваться управляющие широковещательные коды, FCT-символы и информационные символы или NULL-коды.

5.5.14.3 Если время, отсчитываемое с момента последнего изменения напряжения на линиях D-сигнала или S-сигнала, превысило длительность тайм-аута соединения "850 нс" (см. 5.5.26), то приемник должен обнаружить ошибку соединения.

5.5.15 Ошибки контроля четности, ESC-символа и последовательности символов могут быть определены на уровне обмена только после приема первого NULL-кода.

5.5.16 Любой символ или код (за исключением первого NULL-кода) может быть принят из канала только после принятия первого NULL-кода и не должен быть передан дальше до тех пор, пока не будет получен и проверен его бит контроля четности.

5.5.17 Если в результате проверки бита контроля четности символа или кода, принятого из канала, обнаружено, что требование 5.3.4.2 не выполнено, то должна быть определена ошибка контроля четности.

5.5.18 Если после ESC-символа принят любой управляющий символ, отличный от FCT-символа, то должна быть определена ошибка ESC-символа.

Примечание - Символ ESC и следующий за ним символ FCT - NULL-код, символ ESC и следующий за ним символ данных, то - Time-код, Interrupt-код или Interrupt_Acknowledge-код.

5.5.19 Если на уровне обмена определена ошибка приемника, то восстановление системы должно происходить в соответствии с приложением М до тех пор, пока канал не будет восстановлен, либо до тех пор, пока канальные интерфейсы не будут отключены.

5.5.20 Ошибка последовательности символов может быть определена только во время инициализации канала после приема первого NULL-кода.

Ошибка последовательности символов означает, что произошел прием любого символа или управляющего кода, который не должен иметь место в текущем состоянии машины состояний уровня обмена.

Если определена ошибка последовательности символов, то канальный интерфейс должен быть перезагружен и инициализирован.

5.5.21 Ошибка кредитования может быть определена только в состоянии "Рабочий режим" в случаях 5.5.4.10, 5.5.4.14 и перечисления г) 5.5.6.8.

Если произошла ошибка кредитования, то машина состояний должна перейти в состояние "Перезагрузка" и о ней должно быть сообщено на сетевой уровень как об ошибке канала (см. 8.3.1).

5.5.22 На уровне обмена в состоянии "Рабочий режим" может иметь место прием пустого пакета.

Примечание - Прием пустого пакета имеет место, когда один EOP- или EEP-символ следует после другого EOP- или EEP-символа.

5.5.22.1 Пустые пакеты, которые могут быть приняты, должны быть отброшены: если в состоянии "Рабочий режим" символом, следующим за EOP- или EEP-символом, является еще один EOP- или EEP-символ, то канальный интерфейс должен удалить второй принятый EOP- или EEP-символ.

5.5.22.2 О приеме пустого пакета не должно быть сообщено на сетевой уровень.

5.5.23 Информирование сетевого уровня о тех ошибках, которые были обнаружены на уровне обмена, проводится следующим образом:

- только после того, как соединение установлено, любая из ошибок, обнаруженных в состоянии "Рабочий режим" - соединения, контроля четности, ESC-символа и кредитования, - должна интерпретироваться как ошибка канала и о ней должно быть сообщено на сетевой уровень как об ошибке канала;

- информация о любой из ошибок, которые могут быть обнаружены и обработаны на уровне обмена (см. 5.5.13), во время инициализации канала в состояниях "Перезагрузка", "Ожидание", "Готовность", "Запуск" и "Соединение" не должна передаваться на сетевой уровень.

5.5.24 На сетевом уровне после принятия сообщения об ошибке канала должны быть выполнены соответствующие мероприятия по восстановлению работоспособности канала (см. 8.3).

5.5.25 Описание и обработка исключений в тех ситуациях, при которых события не следуют в ожидаемой последовательности и которые могут иметь место на уровне обмена, приведены в приложении Н.

5.5.26 Для каналов SpaceWire определены следующие тайм-ауты и их длительности:

- тайм-аут сброса D- и S-сигналов, который определяется как задержка между сбросом D-сигнала и сбросом S-сигнала, длительность которого должна находиться в пределах от 555 нс (что равно одному периоду сигнала тактирования передатчика с минимально допустимой частотой 1,8 МГц) до кратчайшего периода сигнала тактирования передатчика (величина зависит от реализации канала);

- тайм-аут соединения 850 нс, длительность которого должна находиться в пределах от 727 нс, что составляет восемь периодов сигнала тактирования с частотой 11 МГц, до 1000 нс, что составляет девять периодов сигнала тактирования с частотой 9 МГц;

- номинальное значение длительности тайм-аута соединения 850 нс должно быть равно 850 нс;

- тайм-аут уровня обмена "6,4 мкс", длительность которого должна находиться в пределах от 5,82 мкс, что составляет 64 периода сигнала тактирования с частотой, равной 11 МГц, до 7,22 мкс, что составляет 65 периодов сигнала тактирования с частотой, равной 9 МГц;

- номинальное значение длительности тайм-аута "6,4 мкс" должно быть равно 6,4 мкс;

- тайм-аут уровня обмена "12,8 мкс", длительность которого должна находиться в пределах от 11,64 мкс, что составляет 128 периодов сигнала тактирования с частотой, равной 11 МГц, до 14,33 мкс, что составляет 129 периодов сигнала тактирования с частотой, равной 9 МГц;

- номинальное значение длительности тайм-аута уровня обмена "12,8 мкс" должно быть равно 12,8 мкс.

5.5.27 Механизм распространения системного времени

5.5.27.1 Составляющие типового интерфейса системного времени между хост-системой и канальным интерфейсом и их назначение определены в 5.5.6.11-5.5.6.17.

5.5.27.2 Только один узел или маршрутизатор должен быть выделен в сети SpaceWire для управления распространением системного времени по всей сети SpaceWire и называться мастером времени.

5.5.27.3 Из хост-системы на передатчик канального интерфейса мастера времени должны периодически поступать сигналы Tick_In с заданной частотой повторения - tick rate, которые должны быть использованы для обновления значения системного времени.

5.5.27.4 Только мастер времени может иметь активный сигнал Tick_In, который периодически устанавливается хост-системой данного мастера времени.

5.5.27.5 Если канальный интерфейс мастера времени находится в состоянии "Рабочий режим", то после установления сигнала Tick_In значение его счетчика времени должно быть увеличено на единицу и немедленно, после завершения передачи текущего символа или управляющего кода, должна быть произведена передача Time-кода с 6 битами системного времени, установленными в соответствии с новым значением шестиразрядного счетчика времени, и 2 битами флагов управления в канал.

5.5.27.6 Канальный интерфейс на другой стороне канала, получив Time-код, должен проверить, является ли значение времени в принятом Time-коде на единицу больше (по модулю 64) значения его счетчика системного времени.

5.5.27.7 Если канальный интерфейс принимает Time-код со значением системного времени на единицу больше, чем текущее значение счетчика времени, то узел или маршрутизатор должен провести следующие мероприятия:

- увеличить на единицу значение своего счетчика времени;

- установить сигнал TICK_OUT;

- если сигнал TICK_OUT установлен, то выставить на выходах TIME_OUT и CONTROL_FLAGS_OUT соответствующие значения из принятого Time-кода;

- отправить Time-код в канал со значением времени, совпадающим со значением времени в принятом Time-коде.

Примечания

1 Узлы, применяющие механизм распространения системного времени, могут использовать либо сигнал Tick_Out в качестве сигнала тактирования, либо значение счетчика времени, представляющего значение шести младших битов системного времени.

2 Time-код, переданный в канал, распространяется по всем выходным портам МК. В результате все выходные порты МК отправят Time-код, в котором значение времени совпадает со значением времени в принятом Time-коде, так как значение счетчика времени МК уже увеличено на единицу. Если в сети есть замкнутые контуры, то МК этих замкнутых контуров получат Time-код со значением времени, равным значению своего счетчика времени.

5.5.27.8 Если канальный интерфейс принимает Time-код со значением, равным текущему значению счетчика времени, то:

- канальный интерфейс не должен устанавливать сигнал TICK_OUT;

- этот Time-код должен быть проигнорирован и отброшен.

Примечание - В этом случае при наличии в сети замкнутых контуров Time-код, который получат маршрутизаторы этих замкнутых контуров во второй раз со значением времени, равным значению своего счетчика времени, будет отброшен.

5.5.27.9 Если канальный интерфейс принял Time-код со значением времени, которое менее или равно единице (по модулю 64) и не равно текущему значению счетчика времени, то либо значение Time-кода, либо значение счетчика времени должно считаться неверным.

Примечание - Такая ситуация может произойти при потере Time-кода или после перезапуска канала после разъединения.

5.5.27.10 Если канальный интерфейс принял некорректный Time-код либо значение счетчика оказалось некорректным, то значение счетчика времени должно быть обновлено в соответствии со значением времени полученного Time-кода, но сигнал Tick_Out не должен быть установлен.

Примечание - Если сигнал Tick_Out не будет установлен, то дальнейшее распространение некорректного Time-кода по сети будет предотвращено. При получении следующего Time-кода возможно, что значение счетчика времени будет соответствовать значению времени в принятом Time-коде, и нормальная работа будет восстановлена.

5.5.27.11 При использовании сигнала TICK_OUT в качестве сигнала тактирования возможны потери этого сигнала при потере Time-кода в сети.

5.5.27.12 Величина рассогласования системного времени при распространении по сети зависит от количества каналов в сети, по которым происходит распространение, и от скорости работы каждого канала.

5.5.27.13 В сети с механизмом распространения системного времени с помощью Time-кодов рассогласование системного времени менее чем на 10 мкс трудно достижимо.

5.5.27.14 Оценка рассогласования системного времени в сети SpaceWire-RUS приведена в приложении П.

5.5.27.15 Так как пропуск сигнала системного времени вызывает рассогласование системного времени, то рекомендуется выполнение следующих мероприятий при реализации механизма распространения системного времени:

- сигнал Tick_Out не следует использовать для увеличения значения счетчика времени при проверке соответствия текущего значения счетчика времени системному времени;

- при установке сигнала Tick_Out обновление значения счетчика времени в соответствии с системным временем должно производиться с помощью ФАПЧ.

5.5.27.16 После сброса или после разъединения и последующего соединения канала SpaceWire в состоянии "Перезагрузка" машины состояний уровня обмена SpaceWire во всех узлах и маршрутизаторах сети SpaceWire значения счетчиков времени и сигналы на выходах флагов управления должны быть установлены равными нулю.

5.5.27.17 В дополнение к описанному базовому механизму распространения системного времени по сети могут быть использованы протоколы прикладного уровня, например: для распространения значений времени размером более 6 битов или для передачи команд, зависящих от времени.

6 Интерфейс GigaSpaceWire. Каналы с гигабитными скоростями в сетях SpaceWire-RUS

6.1 Стек протоколов

6.1.1 Стек протоколов интерфейса GigaSpaceWire с гигабитными скоростями межприборного информационного обмена для сетей SpaceWire-RUS показан на рисунке 1.

6.1.2 Функции уровней стека протоколов интерфейса GigaSpaceWire приведены в 4.19, 4.21.

6.2 Физический уровень

6.2.1 Интерфейс GigaSpaceWire с гигабитными скоростями поддерживает работу с электрической средой передачи информации: витой парой, коаксиальным кабелем, а также с оптической средой - волоконно-оптическими линиями связи.

6.2.2 Спецификации физического уровня стека протоколов GigaSpaceWire должны соответствовать спецификациям обеспечения электромагнитной совместимости типового КА.

6.3 Сигнальный уровень

6.3.1 Функции, которые должен выполнять сигнальный уровень стека протоколов GigaSpaceWire, приведены в перечислении в) 4.21.

6.3.2 Поток данных на сигнальном уровне

6.3.2.1 Максимальная частота появления ошибочных битов (BER) во всех каналах GigaSpaceWire должна быть не более 10
бит/с.

6.3.2.2 На передающей стороне сигнальный уровень должен принимать 10-битные кодовые последовательности от уровня кодирования, выполнять сериализацию и битовую синхронизацию и передавать последовательный поток битов в физический канал.

6.3.2.3 На принимающей стороне сигнальный уровень должен принимать поток битов из физического канала, выполнять символьное выравнивание входящего потока битов из канала и передавать выровненные 10-битные кодовые последовательности на уровень кодирования.

6.3.2.4 Сигнальный уровень должен воспринимать только одну команду, которая разрешает или запрещает функционирование приемника и передатчика канального интерфейса на сигнальном уровне, - PHY_Enabled. Пример воздействия команды PHY_Enabled на канальный интерфейс GigaSpaceWire приведен в приложении Р.

Примечание - Команда PHY_Enabled может выдаваться управляющим объектом, назначение и принцип работы которого находятся за рамками рассмотрения настоящего стандарта.

6.3.3 Электрические интерфейсы в каналах GigaSpaceWire

6.3.3.1 В каналах GigaSpaceWire для передачи сигналов данных на различных скоростях должны быть использованы различные электрические интерфейсы - I и/или II.

6.3.3.2 Каждое устройство канала GigaSpaceWire должно соответствовать установленному режиму работы канала GigaSpaceWire: с интерфейсом I или интерфейсом II.

6.3.3.3 К электрическому интерфейсу I предъявляют следующие требования:

а) электрический интерфейс I должен поддерживать номинальную скорость передачи данных 1,0625 Гбит/с;

б) максимальное отклонение передающей частоты электрического интерфейса I не должно превышать 0,01%;

в) выходной сигнал передатчика электрического интерфейса I не должен попадать в затененный регион маски соответствия выходного сигнала, показанной на рисунке 14;

Рисунок 14 - Маска соответствия выходного сигнала передатчика для электрического интерфейса I

г) параметры маски соответствия выходного сигнала передатчика для электрического интерфейса I должны иметь значения, приведенные в таблице 5;

Таблица 5 - Параметры маски соответствия выходного сигнала передатчика для электрического интерфейса I

Символ

Значение, UI

Символ

Значение, мВ

0,125

550

0,315

1000

д) входной сигнал приемника электрического интерфейса I не должен попадать в затененный регион маски соответствия входного сигнала приемника, показанной на рисунке 15;

Рисунок 15 - Маска соответствия входного сигнала приемника для электрического интерфейса I

е) параметры маски соответствия входного сигнала приемника для электрического интерфейса I должны иметь значения, приведенные в таблице 6;

Таблица 6 - Параметры маски соответствия входного сигнала приемника для электрического интерфейса I

Символ

Значение, UI

Символ

Значение, мВ

0,28

200

0,5

1000

ж) длительность единичного интервала (UI) на оси времени графиков, изображающих маски соответствия выходного сигнала передатчика и входного сигнала приемника для электрического интерфейса I на рисунке 14 и рисунке 15 соответственно, а также приведенных в таблице 6 и таблице 7 соответственно должна составлять 800 пс.

6.3.3.4 Электрический интерфейс II должен удовлетворять следующим требованиям:

а) для электрического интерфейса II определены значения номинальных скоростей передачи данных, лежащие в интервале от 5 до 125 Мбит/с, и значения номинальных скоростей передачи данных - 312,5 и 625 Мбит/с; 1,25 и 2,5 Гбит/с;

б) на интервале от 5 до 125 Мбит/с [см. перечисление а) 6.3.3.4] значение номинальной скорости передачи данных должно изменяться с шагом 5 Мбит/с;

в) электрический интерфейс II должен поддерживать любое непустое подмножество по перечислению а) 6.3.3.4 скоростей передачи данных;

г) максимальное отклонение значения передающей частоты при реализации электрического интерфейса II от соответствующего номинального значения по перечислению а) 6.3.3.4 не должно превышать 0,01%;

д) выходной сигнал передатчика электрического интерфейса II не должен попадать в затененный регион маски соответствия выходного сигнала, показанной на рисунке 16;

Рисунок 16 - Маска соответствия выходного сигнала передатчика для электрического интерфейса II

е) параметры маски соответствия выходного сигнала передатчика для электрического интерфейса II должны иметь значения, приведенные в таблице 7.

Таблица 7 - Параметры маски соответствия выходного сигнала передатчика для электрического интерфейса II

Символ

Значение, UI

Символ

Значение, мВ

0,17

300

0,39

800

ж) входной сигнал приемника электрического интерфейса II не должен попадать в затененный регион маски соответствия входного сигнала, показанной на рисунке 17;

и) параметры маски соответствия входного сигнала передатчика для электрического интерфейса II должны иметь значения, приведенные в таблице 8;

к) длительность единичного интервала UI, приведенного в таблицах 5-8 и на рисунках 14-17, должна определяться по следующей формуле:

, (2)
где
- номинальная скорость передачи данных, Гбит/с.

Рисунок 17 - Маска соответствия входного сигнала приемника для электрического интерфейса II

Таблица 8 - Параметры маски соответствия входного сигнала приемника для электрического интерфейса II

Символ

Значение, UI

Символ

Значение, мВ

0,275

100

0,4

2000

6.3.4 Приемник сигнального уровня должен устанавливать битовую синхронизацию при приеме К28.5 (см. 6.3.6.2).

Примечания

1 Во время установки соединения на уровне обмена кодовые последовательности К28.5 регулярно передаются в канал на протяжении 25,6 мкс (см. 6.6.8).

2 Метод, используемый для установления битовой синхронизации, зависит от реализации и находится за рамками рассмотрения настоящего стандарта.

6.3.5 Сериализация и десериализация

6.3.5.1 Схема сериализации и десериализации на сигнальном уровне стека протоколов GigaSpaceWire показана на рисунке 18.

6.3.5.2 На передающей стороне канала каждая 10-битная кодовая последовательность, полученная от уровня кодирования, должна быть трансформирована с помощью операции сериализации в последовательный поток битов и передана в канал таким образом, чтобы младший значащий бит 10-битной кодовой последовательности (бит a) был передан первым и порядок передаваемых битов соответствовал последовательности abcdeifghj в условных обозначениях 8b-10b-кодирования.

Рисунок 18 - Схема сериализации и десериализации

6.3.5.3 На принимающей стороне канала последовательный поток битов, принятый из канала, должен быть трансформирован с помощью операции десериализации в поток 10-битных кодовых последовательностей, выровнен с помощью операции символьного выравнивания и передан уровню кодирования.

6.3.6 Символьное выравнивание

6.3.6.1 Поток данных при передаче на уровень кодирования должен быть выровнен с помощью операции символьного выравнивания, проводимой на символьном уровне путем установления границ между принимаемыми из канала кодовыми последовательностями длиной 10 битов.

6.3.6.2 При проведении операции символьного выравнивания границы между 10-битными кодовыми последовательностями в принимаемом потоке битов из канала должны быть установлены путем определения наличия 10-битного представления кода K28.5 (см. 6.3.6.3) и установления первого бита следующей 10-битной кодовой последовательности непосредственно после 10-битного представления кода K28.5.

6.3.6.3 Для установления символьного выравнивания должны быть использованы 10-битные представления кода K28.5 как с положительным динамическим дисбалансом - 0011111010, так и с отрицательным динамическим дисбалансом - 1100000101.

Примечание - 10-битные представления кода К28.5 содержат положительную Comma-последовательность 0011111 и отрицательную Comma-последовательность 1100000 и являются 10-битными кодами Comma-символа (см. 6.4.5.2).

6.3.6.4 Если после установления символьного выравнивания код K28.5 обнаружен в неожидаемой позиции, то это событие должно быть интерпретировано как ошибка выравнивания, о происхождении которой должно быть передано сообщение на уровень обмена.

6.4 Уровень кодирования

6.4.1 Уровень кодирования должен выполнять 8b-10b-кодирование передаваемых данных и 8b-10b-декодирование принимаемых данных. Структурная схема передачи и приема данных на уровне кодирования показана на рисунке 19.

Рисунок 19 - Схема передачи и приема данных на уровне кодирования

6.4.2 Поток данных на уровне кодирования

6.4.2.1 На передающей стороне уровень кодирования должен принимать 8b-символы от символьного уровня и передавать 10-битные кодовые последовательности на сигнальный уровень.

6.4.2.2 На принимающей стороне уровень кодирования должен принимать 10-битные кодовые последовательности от сигнального уровня и передавать 8b-символы на символьный уровень.

6.4.3 На принимающей стороне уровень кодирования должен сообщать об обнаружении ошибки 8b-10b-декодера на уровень обмена.

6.4.4 Формат условных обозначений, используемых на уровне кодирования

6.4.4.1 Для преобразования 8b-символов в 10-битные кодовые последовательности должно использоваться 8b-10b-кодирование с сохранением баланса постоянного тока, а также с возможностью восстановления сигнала тактирования.

6.4.4.2 Биты кодируемого 8b-символа должны обозначаться прописными латинскими буквами от A до H, где A - самый младший бит, H - самый старший.

6.4.4.3 Самый младший бит в 8b-символе имеет номер "нуль", самый старший бит в 8b-символе имеет номер "семь".

6.4.4.4 Биты 10-битной кодовой последовательности должны быть обозначены строчными латинскими буквами от a до j, где a - самый младший бит, j - самый старший.

6.4.4.5 Каждый кодируемый 8b-символ должен иметь управляющий флаг Z, указывающий тип этого символа.

6.4.4.6 Управляющий флаг может принимать два значения, D и K. Значение D идентифицирует 8b-символ как символ данных. Значение K идентифицирует 8b-символ как специальный символ.

6.4.4.7 Каждый кодируемый 8b-символ должен быть обозначен в соответствии с нотацией Zxx.y,

где Z - управляющий флаг (может принимать значения D и K);

xx - десятичное представление бита EDCBA символа (может принимать значения от 0 до 31);

у - десятичное представление бита HGF (может принимать значения от 0 до 7).

6.4.4.8 Условные обозначения, используемые на уровне кодирования, представлены на рисунке 19.

6.4.5 Правила выполнения 8b-10b-кодирования

6.4.5.1 При 8b-10b-кодировании каждому символу данных или специальному символу должны соответствовать две не обязательно разные кодовые последовательности.

6.4.5.2 Определение кодовой последовательности следует производить с помощью данных таблиц 9, 10 и значений динамического дисбаланса RD 6-битной подгруппы abcdei, 4-битной подгруппы fghj и кодовой последовательности.

6.4.5.3 Расчет RD должен быть производен по следующим правилам:

а) после сброса величине RD кодовой последовательности должно быть присвоено отрицательное значение;

б) значение величины RD кодовой последовательности должно быть рассчитано на основании RD двух подгрупп: RD 6-битной подгруппы abcdei (таблица 9) и RD 4-битной подгруппы fghj (таблица 10);

в) значение RD 6-битной подгруппы abcdei - это значение RD, полученное после кодирования/ декодирования предыдущего 8b-символа;

г) значение RD 4-битной подгруппы fghj - это значение RD, полученное после кодирования/декодирования подгруппы abcdei.

Таблица 9 - Таблица 5b/6b-кодирования

8b-символ

Кодовая последовательность

8b-символ

Кодовая последовательность

RD-

RD+

RD-

RD+

Zxx.y

EDCBA

abcdei

Zxx.y

EDCBA

abcdei

D00.y

00000

100111

011000

D16.y

10000

011011

100100

D01.y

00001

011101

100010

D17.y

10001

100011

D02.y

00010

101101

010010

D18.y

10010

010011

D03.y

00011

110001

D19.y

10011

110010

D04.y

00100

110101

001010

D20.y

10100

001011

D05.y

00101

101001

D21.y

10101

101010

D06.y

00110

011001

D22.y

10110

011010

D07.y

00111

111000

000111

D23.y / К23.y

10111

111010

000101

D08.y

01000

111001

000110

D24.y

11000

110011

001100

D09.y

01001

100101

D25.y

11001

100110

D10.y

01010

010101

D26.y

11010

010110

D11.y

01011

110100

D27.y / K27.y

11011

110110

001001

D12.y

01100

001101

D28.y

11100

001110

D13.y

01101

101100

D29.y / K29.y

11101

101110

010001

D14.y

01110

011100

D30.y / K30.y

11110

011110

100001

D15.y

01111

010111

101000

D31.y

11111

101011

010100

-

-

-

-

K28.y

11100

001111

110000

д) значение RD, полученное после кодирования/декодирования 8b-символа, - это значение RD, полученное после кодирования/декодирования подгруппы fghj.

Таблица 10 - Таблица 3b/4b-кодирования

8b-символ

Кодовая последовательность

8b-символ

Кодовая последовательность

RD-

RD+

RD-

RD+

Zxx.y

HGF

fghj

Zxx.y

HGF

fghj

Dxx.0

000

1011

0100

Kxx.0

000

1011

0100

Dxx.1

001

1001

Kxx.1

001

0110

1001

Dxx.2

010

0101

Kxx.2

010

1010

0101

Dxx.3

011

1100

0011

Kxx.3

011

1100

0011

Dxx.4

100

1101

0010

Kxx.4

100

1101

0010

Dxx.5

101

1010

Kxx.5

101

0101

1010

Dxx.6

110

0110

Kxx.6

110

1001

0110

Dxx.P7

111

1110

0001

-

-

-

-

Dxx.A7

111

0111

1000

Kxx.7

111

0111

1000

е) значение RD после кодирования/декодирования подгруппы положительно, если выполнено одно из следующих условий:

1) подгруппа представляет собой последовательность, которая содержит больше логических единиц, чем нулей,

2) это подгруппа abcdei, которая представляет собой последовательность 000111b,

3) это подгруппа fghj, которая представляет собой последовательность 0011b;

ж) значение RD после кодирования/декодирования подгруппы отрицательно, если выполнено одно из следующих условий:

1) подгруппа представляет собой последовательность, которая содержит больше нулей, чем единиц,

2) это подгруппа abcdei, которая представляет собой последовательность 111000b,

3) это подгруппа fghj, которая представляет собой последовательность 1100b;

и) во всех других представлениях подгруппы abcdei или подгруппы fghj, отличных от представлений согласно перечислениям а) и б) 6.4.5.3, значение RD после кодирования/декодирования подгруппы не меняется, т.е. остается таким же, каким было до кодирования/декодирования этой подгруппы.

Примечание - Все подгруппы с равным числом единиц и нулей имеют нейтральный дисбаланс. Для того чтобы сократить количество единиц и нулей на границах подгрупп, правила 8b-10b-кодирования определяют, что подгруппы 000111b и 0011b могут быть использованы только в том случае, если перед началом кодирования/декодирования RD имеет положительное значение, поэтому значение RD после кодирования такой подгруппы также будет положительным. Аналогично подгруппы 111000b и 1100b могут быть использованы только в том случае, если перед началом кодирования/декодирования RD имеет отрицательное значение, поэтому значение RD после кодирования такой подгруппы также будет отрицательным.

6.4.5.4 Для символов Dxx.7 существует прямое кодирование Dxx.P7 и альтернативное кодирование Dxx.A7. Альтернативное кодирование Dxx.A7 символа Dxx.7 должно быть использовано для символов D17.7, D18.7 и D20.7 при отрицательном значении RD и для символов D11.7, D13.7 и D6.7 при положительном значении RD. Для всех остальных символов Dxx.7 следует применять прямое кодирование.

6.4.5.5 Кодируемый 8b-символ и текущее значение RD кодера должны быть использованы для выбора соответствующей кодовой последовательности.

6.4.5.6 Новое значение RD должно быть рассчитано после передачи каждой следующей кодовой последовательности.

6.4.5.7 При 8b-10b-кодировании специальных символов, таких как K28.0, K28.1, K28.2, K28.3, K28.4, K28.5, K28.6, K28.7, K23.7, K27.7, K29.7, K30.7, должны быть использованы следующие правила:

а) 8b-10b-кодирование таких специальных символов, как K28.0, K28.1, K28.2, K28.3, K28.4, K28.5, K28.6, K28.7, K23.7, K27.7, K29.7, K30.7, проводят как с использованием данных таблиц 9 и 10 с предварительным разбиением символа на подгруппы, так и с использованием только одной таблицы 11;

б) символы K28.1, K28.5 и К28.7 содержат уникальные 7-битные последовательности: положительную Comma-последовательность 0011111 и отрицательную Comma-последовательность 1100000 (см. также 6.5.2.3).

Примечание - Comma-последовательности 0011111 и 1100000 обычно используются для выравнивания потока данных (см. 6.3.6);

в) при использовании таблицы 11 следует применять значение RD, полученное после кодирования/декодирования предыдущего 8b-символа;

г) символ К28.7 запрещено передавать более одного раза подряд.

Таблица 11 - Специальные символы 8b-10b-кодирования

Символ

Кодовая последовательность

RD-

RD+

Обозначение

Десятичное значение

HGF EDCBA

abcdei fghj

abcdei fghj

K28.0

28

000 11100

001111 0100

110000 1011

K28.1

60

001 11100

001111 1001

110000 0110

K28.2

92

01011100

001111 0101

110000 1010

K28.3

124

011 11100

001111 0011

110000 1100

K28.4

156

100 11100

001111 0010

110000 1101

K28.5

188

101 11100

001111 1010

110000 0101

K28.6

220

110 11100

001111 0110

110000 1001

K28.7

252

111 11100

001111 1000

110000 0111

K23.7

247

111 10111

111010 1000

000101 0111

K27.7

251

111 11011

110110 1000

001001 0111

K29.7

253

111 11101

101110 1000

010001 0111

K30.7

254

111 11110

0111101000

100001 0111

Примечание - Таблица 11 составлена в соответствии с правилами, изложенными в 6.4.5, и с использованием таблиц кодирования 6-битных и 4-битных подгрупп (таблицы 9 и 10).

6.4.6 Правила выполнения 8b-10b-кодирования

Следующие правила должны быть использованы для декодирования как целой 10-битной кодовой последовательности, так и разбитой на подгруппы:

- для декодирования принятой кодовой последовательности должна быть использована колонка таблицы 11, соответствующая текущему значению RD декодера;

- если принятая кодовая последовательность найдена в таблице 11, то она считается правильной и соответствующий ей 8b-символ считается декодированным;

- если принятая кодовая последовательность не найдена в таблице 11, то она должна считаться ошибочной и означать, что произошла ошибка декодирования 8b-10b-декодера.

Примечание - Обнаружение ошибки декодирования не обязательно означает, что декодируемая кодовая последовательность содержит ошибку. Ошибка декодирования может быть результатом ошибки, которая возникла раньше, но не была обнаружена декодером и изменила значение RD декодера;

д) процедура 8b-10b-кодирования показана на рисунке 20.

Рисунок 20 - Процедура 8b-10b-кодирования

6.5 Символьный уровень

6.5.1 Основные функции, которые должен выполнять символьный уровень стека протоколов GigaSpaceWire, приведены в перечислении б) 4.21.

6.5.2 Протокол символьного уровня стека протоколов GigaSpaceWire определяет символ данных, четыре управляющих символа: FCT-символ, Comma-символ и IDLE-символ, EOP-символ, EEP-символ, а также три управляющих кода: Time-код, Interrupt-код и Interrupt_Acknowledge-код.

6.5.2.1 Структура символа данных интерфейса GigaSpaceWire, передаваемого на уровень обмена, должна быть определена по 5.4.2.

6.5.2.2 Структура управляющих кодов GigaSpaceWire, перечисленных в 6.5.2, и управляющих символов GigaSpaceWire, FCT-, EOP- и EEP-символов, на символьном уровне должна быть определена по 5.4.3.

6.5.2.3 Символ Comma должен быть определен как символ K28.5. Структура символа K28.5 приведена в таблице 12.

6.5.2.4 Символ IDLE должен быть определен как символ K28.0. Структура символа K28.0 приведена в таблице 12.

Примечание - Положение переключателя "Z=D, K" на рисунке 20 может быть использовано для организации процедуры 8b-10b-кодирования символов данных и любых специальных символов. Положение переключателя Z=K может быть использовано для организации процедуры 8b-10b-кодирования только для таких специальных символов, как K28.0, K28.1, K28.2, K28.3, K28.4, K28.5, K28.6, K28.7, K23.7, K27.7, K29.7, K30.7.

6.5.3 Требования к потоку данных на символьном уровне:

- на передающей стороне канала GigaSpaceWire символьный уровень должен принимать от уровня обмена символ данных, четыре управляющих символа и три управляющих кода (см. 6.5.2);

- на передающей стороне канала GigaSpaceWire символьный уровень должен кодировать принятые от уровня обмена символы данных, управляющие символы и управляющие коды (см. 6.5.2) в 8b-символы и передавать их на уровень кодирования;

- на принимающей стороне канала GigaSpaceWire символьный уровень должен принимать 8b-символы от уровня кодирования;

- на принимающей стороне канала GigaSpaceWire символьный уровень должен декодировать поток принятых от уровня кодирования 8b-символов в символы данных, управляющие символы и управляющие коды (см. 6.5.2) и передавать их на уровень обмена.

6.5.4 Информационные и управляющие символы, а также управляющие коды GigaSpaceWire (см. 6.5.2) должны быть закодированы на символьном уровне перед передачей на уровень кодирования в соответствии с таблицей 12.

Таблица 12 - 8b-кодирование управляющих символов и кодов на символьном уровне GigaSpaceWire

Символ и управляющий код уровня обмена

8b-символ (специальный символ) уровня кодирования

Описание

IDLE

К28.0

Символ-заполнитель GigaSpaceWire

Time-код, lnterrupt-код, lnterrupt-Acknowledge-код

K28.2 + D

Управляющие коды

FCT-символ

К28.3

Символ управления потоком данных

ЕЕР-символ

К28.4

Символ конца ошибочного пакета

ЕОР-символ

К28.6

Символ конца правильного пакета

Comma-символ

К28.5

Канальный символ GigaSpaceWire

Символ данных

D

Символ данных пакета

6.5.5 Кодирование информационных символов, управляющих символов и управляющих кодов GigaSpaceWire в соответствии с таблицей 12 проводят следующим образом:

- байты данных должны быть закодированы как символы данных: 8 битов, составляющие байт данных, должны быть записаны в 8 битов символа данных, управляющий флаг символа данных должен быть установлен в значение "D";

- EOP-символ должен быть закодирован специальным символом K28.6;

- EEP-символ должен быть закодирован специальным символом K28.4;

- Time-код должен быть закодирован специальным символом K28.2, за которым следует символ данных;

- Interrupt-код и Interrupt_Acknowledge-код должны быть закодированы специальным символом K28.2 и следующим за ним соответствующим символом данных;

- FCT-символ GigaSpaceWire должен быть закодирован специальным кодом K28.3;

- Comma-символ и IDLE-символ на символьном уровне при кодировании остаются без изменений.

6.5.6 Передача Time-кода, Interrupt-кода или Interrupt_Acknowledge-кода с символьного уровня на уровень кодирования, каждый из которых состоит из двух символов, не должна быть прервана для передачи любого другого символа. Таким образом, за символом K28.2 должен следовать только символ данных, содержащий идентификатор и значение передаваемого кода.

6.5.7 8b-символы, полученные от уровня кодирования, должны быть декодированы в соответствии с таблицей 12 в символы данных, управляющие символы и коды GigaSpaceWire (см. 6.5.2).

6.5.8 Ошибка декодирования символьного уровня должна определяться в следующих случаях:

- принят специальный символ, отличающийся от символов K28.0, K28.2, K28.3, K28.4, K28.5, K28.6;

- вслед за специальным символом K28.2 принят символ данных, который не идентифицирует принятый управляющий код как Time-код, Interrupt-код или Interrupt_Acknowledge-код.

Примечание - Значение старших битов символа данных, которые приняты вслед за специальным символом K28.2, должно соответствовать значению идентификатора Time-кода, или Interrupt-кода, или Interrupt_Acknowledge-кода;

- вслед за специальным символом K28.2 принят любой из специальных символов: K28.0, K28.2, K28.3, K28.4, K28.5, K28.6.

6.5.9 Сообщение об ошибке декодирования символьного уровня должно быть передано на уровень обмена.

6.6 Уровень обмена

6.6.1 Уровень обмена интерфейса GigaSpaceWir выполняет функции интерфейса GigaSpaceWire, приведенные в перечислении а) 4.21.

6.6.2 Управление потоком данных на уровне обмена интерфейса GigaSpaceWire включает проведение следующих операций:

- арбитрирование потоков данных перед передачей по каналу;

- выравнивание частот передачи данных.

6.6.3 При формировании потока данных уровень обмена передающей стороны канала GigaSpaceWire должен выполнять следующие операции:

- принимать от вышележащего пакетного уровня символы данных и символы конца пакета SpaceWire, а от вышележащего сетевого уровня - Time-коды и коды распределенных прерываний;

- генерировать канальные символы: FCT-символы, Comma-символы и IDLE-символы;

- передавать на символьный уровень информационные символы данных и символы конца пакета SpaceWire, Time-коды и коды распределенных прерываний, а также канальные символы (FCT-символы, Comma-символы и IDLE-символы).

6.6.4 При формировании потока данных уровень обмена принимающей стороны канала GigaSpaceWire должен выполнять следующие операции:

- принимать от символьного уровня информационные символы и символы конца пакета SpaceWire, Time-коды и коды распределенных прерываний, а также канальные символы (FCT-символы, Comma-символы и IDLE-символы);

- извлекать из потока принятых символов канальные символы (FCT-символы, Comma-символы и IDLE-символы) и не передавать их вышележащим уровням;

- передавать байты данных и символы конца пакета SpaceWire на уровень пакетов, а Time-коды и коды распределенных прерываний - на сетевой уровень.

6.6.5 Управляющая информация уровня обмена

6.6.5.1 К управляющей информации уровня обмена относится информация о выполнении или невыполнении условий, перечисленных в 6.6.8.2.

6.6.5.2 На уровень обмена должна поступать информация об ошибке 8b-10b-декодера от уровня кодирования и информация об ошибке декодирования от символьного уровня.

6.6.6 Требования, предъявляемые к изменяемым параметрам уровня обмена и их значениям

6.6.6.1 В состав изменяемых параметров уровня обмена должны входить следующие параметры:

- Comma_Time - временной интервал между передачей двух символов;

- Disc_Detect - максимально допустимый временной интервал, по истечении которого определяют ошибку соединения;

- Reset_Time - временной интервал нахождения канального интерфейса в состоянии "Перезагрузка";

- wait_conn_time - максимально допустимый временной интервал установки соединения обеми* сторонами канала;

- FCT_COUNT - количество информационных символов, которое кредитуется одним FCT-символом;

- MAX_FCT_COUNT - максимальное значение счетчика кредитования.

6.6.6.2 Изменяемые параметры уровня обмена, перечисленные в 6.6.6.1, должны быть одинаковыми на обеих сторонах канала.

6.6.6.3 Значение параметра Comma_Time должно быть не больше, чем время, необходимое на передачу 128 символов, но не меньше, чем время, необходимое на передачу 8 символов. Работа в диапазоне значений Comma_Time от 8 до 32 символов должна поддерживаться во всех реализациях.

6.6.6.4 Значение параметра Disc_Detect должно быть в два раза больше, чем значение параметра Comma_Time.

Примечание - После перехода уровня обмена из состояния Connecting в состояние "Рабочий режим" значение параметра Disc_Detect может быть увеличено.

6.6.6.5 Значение параметра Reset_Time должен быть в четыре раза больше значения параметра Comma_Time.

6.6.6.6 Значение параметра wait conn time должно быть не менее, чем в восемь раз больше значения параметра Comma_Time.

6.6.6.7 Значение параметра FCT_COUNT должно быть равно 32 в режиме механизма управления потоком GigaSpaceWire.

6.6.6.8 Значение параметра MAX_FCT_COUNT должно быть равно 512 в режиме механизма управления потоком GigaSpaceWire.

6.6.6.9 Значения изменяемых параметров уровня обмена должны быть одинаковыми на обеих сторонах канала.

6.6.7 Механизм управления потоком в каналах GigaSpaceWire, предназначенный для защиты от переполнения буфера приема хост-системы канального интерфейса и последующей потери принимаемых данных

6.6.7.1 С целью защиты от переполнения буфера приема хост-системы канального интерфейса и последующей потери принимаемых данных в каналах GigaSpaceWire должен поддерживаться механизм управления потоком данных посредством использования FCT-символов (см. 5.4.4).

6.6.7.2 Механизм управления потоком данных посредством использования FCT-символов должен работать в каналах GigaSpaceWire только в одном режиме, SpaceWire, или в двух режимах - SpaceWire и GigaSpaceWire.

6.6.7.3 Если используемый механизм управления потоком данных может работать в двух режимах - SpaceWire и GigaSpaceWire, то непосредственно после включения механизм управления потоком данных должен работать в режиме SpaceWire.

6.6.7.4 В нормальном режиме работы канального интерфейса GigaSpaceWire должен быть использован механизм управления потоком данных в каналах в одном из двух режимов - SpaceWire или GigaSpaceWire.

6.6.7.5 Режим SpaceWire механизма управления потоком данных посредством использования FCT-символов в каналах GigaSpaceWire реализуется путем применения (см. 5.5.4) параметров FCT_COUNT и MAX_FCT_COUNT со значениями, определенными в 5.5.5.

6.6.7.6 Режим GigaSpaceWire механизма управления потоком данных посредством использования FCT-символов в каналах GigaSpaceWire реализуется путем применения параметров FCT_COUNT и MAX_FCT_COUNT со значениями, определенными в 6.6.6.7 и 6.6.6.8 соответственно.

6.6.7.7 Рекомендуемый размер буфера кредитования для канального интерфейса GigaSpaceWire, поддерживающего режим управления потоком посредством использования FCT-символов, составляет 288 символов.

6.6.8 Машина состояний уровня обмена

6.6.8.1 Диаграмма состояний машины состояний уровня обмена показана на рисунке 21.

6.6.8.2 Следующие условия перехода канального интерфейса из одного состояния в другое, выполняемые программным или аппаратным способом, должны быть использованы на уровне обмена интерфейса GigaSpaceWire:

а) "передан Comma-символ" - условие, которое считают выполненным, если уровнем обмена GigaSpaceWire передан Comma-символ;

Рисунок 21 - Диаграмма состояний машины состояний канального интерфейса GigaSpaceWire на уровне обмена

Примечание - Управление сигнальным уровнем осуществляют только посредством команды PHY_Enabled. Таким образом, если машина состояний уровня обмена переходит в состояние "Перезагрузка", то сигнальный уровень сохраняет битовую синхронизацию и символьное выравнивание.

б) "передан FCT-символ" - условие, которое считают выполненным, если уровнем обмена GigaSpaceWire передан FCT-символ;

в) "после wait_conn_time" - условие, которое считают выполненным, если значение времени, отсчитываемое от начала запуска таймера "после wait_conn_time", превысило допустимое значение величины интервала установки соединения wait_conn_time (см. 6.6.5.1);

г) "после Reset_Time" - условие, которое считают выполненным, если значение времени, отсчитываемое от начала запуска таймера Reset_Time, превысило допустимое значение величины тайм-аута Reset_Time (см. 6.6.6.5);

д) "принят N-Char" - условие, которое считают выполненным, если на уровне обмена принят информационный символ;

е) "принят Comma-символ" - условие, которое считают выполненным, если на уровне обмена GigaSpaceWire принят Comma-символ от символьного уровня;

ж) "принят FCT-символ" - условие, которое считают выполненным, если на уровне обмена GigaSpaceWire в состоянии "Соединение установлено" принят первый FCT-символ от символьного уровня и выполнено условие по перечислению г) 6.6.8.2;

и) "принят Interrupt-код" - условие, которое считают выполненным, если на уровне обмена GigaSpaceWire принят Interrupt-код;

к) "принят Interrupt_Acknowledge-код" - условие, которое считают выполненным, если на уровне обмена GigaSpaceWire принят Interrupt_Acknowledge-код;

л) принят Time-код" - условие, которое считают выполненным, если на уровне обмена GigaSpaceWire принят Time-код;

м) "принят ШВ-код" - условие, которое считают выполненным, если выполнено одно из условий по перечислению и), или к), или л);

н) условия "Ошибка приемника", "Ошибка эластичного буфера", "Ошибка кредитования" означают, что на уровне обмена в текущем состоянии канального интерфейса GigaSpaceWire произошла ошибка приемника (см. 6.6.13), ошибка эластичного буфера (см. 6.6.16), ошибка кредитования (см. 6.6.18) соответственно;

п) "Канал включен" (Link_Enabled) - сторожевое условие, которое должно быть вычислено следующим образом:

"Канал включен"=(НЕ "Канал выключен") И ("Запуск канала" ИЛИ

("Автозапуск канала" И "Принят Comma-символ")), (3)

где "Канал выключен" (Link_Disabled) - сторожевое условие выключения канала;

"Запуск канала" (Link_Start) - условие запуска канала;

"Автозапуск канала" (Auto_Start) - условие автоматического включения канала, которое может быть выполнено только после получения первого Comma-символа;

"Принят Comma-символ" - условие, которое считают выполненным, если на уровне обмена GigaSpaceWire принят Comma-символ.

6.6.8.3 В состоянии "Перезагрузка" машины состояний канального интерфейса GigaSpaceWire должны быть выполнены следующие требования:

а) передатчик и приемник должны быть перезагружены;

б) условия: "Принят Comma-символ", "Передан Comma-символ", "Принят FCT", "Передан FCT", "Принят NChar", "Принят Interrupt-код", "Принят Interrupt_Acknowledge-код", "Принят Time-код" - должны быть установлены в исходное значение, т.е. "не выполнено";

в) в состоянии "Перезагрузка" передатчик должен быть включен и передавать IDLE-символы, приемник должен быть выключен;

г) после снятия сигнала перезагрузки в состоянии машины состояний "Перезагрузка" должен быть запущен таймер Reset_Time;

д) по окончании временного интервала Reset_Time машина состояний должна выполнить безусловный переход из состояния "Перезагрузка" в состояние "Готовность";

е) вход в состояние "Перезагрузка" должен быть проведен или после перезагрузки системы, или после прекращения работы канала GigaSpaceWire по любой причине, или после обнаружения какой-либо ошибки во время инициализации канала GigaSpaceWire (см. 5.5.12) и после установки сигнала перезагрузки.

6.6.8.4 В состоянии "Готовность" должны быть выполнены следующие требования:

а) приемник и передатчик должны быть включены, передатчик должен передавать символы IDLE-символы;

б) может быть принят первый Comma-символ, и тогда условие "принят Comma" должно считаться выполненным;

в) если выполнено сторожевое условие [Канал включен], то машина состояний должна перейти из состояния "Готовность" в состояние "Запуск";

г) если произошло выполнение любого из таких условий, как "Ошибка приемника", или "Ошибка эластичного буфера", или "принят N-Char", или "принят FCT-символ", или принят любой из управляющих кодов GigaSpaceWire (Time-код, Interrupt-код или Interrupt_Ack-код), то машина состояний должна перейти в состояние "Перезагрузка".

6.6.8.5 В состоянии "Запуск" должны выполняться следующие требования:

а) при входе в состояние "Запуск" должен быть запущен таймер с тайм-аутом длительностью wait_conn_time;

б) приемник должен быть включен, передатчик должен быть включен и передавать Comma-символы и IDLE-символы на другую сторону канала;

в) если принят первый Comma-символ, то условие "принят Comma" должно считаться выполненным;

г) если выполнено условие "принят Comma", то машина состояний должна перейти в состояние "Соединение";

д) если произошло выполнение любого из таких условий, как "ошибка приемника", или "ошибка эластичного буфера", или "принят N-Char", или "принят Time-код, или "принят Interrupt-код", или "принят Interrupt_Ack-код", или "принят FCT-символ", или закончился тайм-аут wait_conn_time, то машина состояний должна перейти в состояние "Перезагрузка".

6.6.8.6 В состоянии "Соединение" должны быть выполнены следующие требования:

а) при входе в состояние "Соединение" должен быть запущен таймер с тайм-аутом длительностью wait_conn_time;

б) приемник и передатчик должны быть включены;

в) передатчик должен передавать Comma-символы и IDLE-символы;

г) если принят первый FCT-символ, то условие "принят FCT" должно считаться выполненным;

д) если передан первый Comma-символ, то условие "Передан_Comma" должно считаться выполненным;

е) если в состоянии "Соединение" выполнены оба условия, "принят первый FCT-символ" и "передан первый Comma-символ", то машина состояний должна осуществить переход из состояния "Соединение" в состояние "Соединение установлено";

ж) если произошло выполнение любого из таких условий, как "ошибка приемника", или "ошибка эластичного буфера", или "принят N-Char", или "принят Time-код", или "принят Interrupt-код", или "принят Interrupt_Ack-код", или закончился тайм-аут wait_conn_time, то машина состояний должна перейти из состояния "Соединение" в состояние "Перезагрузка".

6.6.8.7 В состоянии "Соединение установлено" должны быть выполнены следующие требования:

а) при входе в состояние "Соединение установлено" должен быть запущен таймер с тайм-аутом длительностью wait_conn_time;

б) в состоянии "Соединение установлено" приемник и передатчик должны быть включены, передатчик должен передавать FCT-символы, Comma-символы и IDLE-символы;

в) если в состоянии "Соединение установлено" выполнены оба условия, "принят FCT-символ" и "передан FCT-символ", то машина состояний должна осуществить переход из состояния "Соединение установлено" в состояние "Рабочий режим";

г) если машина состояний находится в состоянии "Соединение установлено" и выполнено любое из таких условий, как "ошибка приемника", или "ошибка эластичного буфера", или "принят N-Char", или "принят Time-код", или "принят Interrupt-код", или "принят Interrupt_Ack-код", или "после wait_conn_time", то машина состояний должна перейти из состояния "Соединение установлено" в состояние "Перезагрузка".

6.6.8.8 К состоянию "Рабочий режим" (Run) предъявляют следующие требования:

а) в состоянии "Рабочий режим" приемник и передатчик должны быть включены;

б) в состоянии "Рабочий режим" передатчик должен передавать информационные символы, канальные символы и коды GigaSpaceWire;

в) если машина состояний находится в состоянии "Рабочий режим" и выполнено любое из таких условий, как "ошибка приемника", или "ошибка эластичного буфера", или "ошибка кредитования", или установлен сигнал "канал не доступен", то машина состояний должна выполнить переход из состояния "Рабочий режим" в состояние "Перезагрузка".

6.6.9 Приоритеты управляющих символов и кодов при передаче в канал должны быть установлены следующим образом:

- Comma-символ - высший приоритет;

- Time-код;

- Interrupt_Acknowledge-код;

- Interrupt-код;

- FCT-символ;

- байт данных или символ конца пакета;

- IDLE-символ - низший приоритет.

6.6.10 Выравнивание частот и поддержания соединения на уровне обмена GigaSpaceWire

6.6.10.1 Стороны канала GigaSpaceWire должны функционировать на одинаковой номинальной частоте передачи данных.

6.6.10.2 Отклонение передающей частоты от номинальной частоты не должно превышать ±0,01%.

6.6.10.3 Выравнивание частот на уровне обмена канального интерфейса GigaSpaceWire следует производить посредством использования Comma-символов и эластичного буфера нижеприведенным образом:

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

- для выравнивания возможного расхождения частот передатчик должен периодически вставлять Comma-символы в поток передаваемых данных;

- интервал между двумя последовательно переданными Comma-символами не должен превышать 128 символов;

- если при приеме Comma-символа эластичный буфер заполнен более чем наполовину, то данный Comma-символ не должен быть записан в эластичный буфер;

- если при чтении символа Comma из эластичного буфера эластичный буфер заполнен менее чем наполовину, то данный Comma-символ не должен быть считан из эластичного буфера дважды.

6.6.11 Поддержание соединения на уровне обмена канального интерфейса GigaSpaceWire должно быть проведено посредством использования Comma-символов следующим образом:

- для поддержания соединения на уровне обмена передатчики обеих сторон должны периодически передавать Comma-символы в канал;

- если приемник одной из сторон не принял Comma-символ в течение интервала времени Disc_Detect, то это событие должно быть интерпретировано как обнаружение ошибки соединения уровня обмена этой стороны;

- после включения канала длительность интервала времени Disc_Detect должна составлять 65 символов.

Примечание - При выполнении этого требования значение величины максимально допустимого интервала времени между двумя Comma-символами, последовательно переданными в канал после включения канала, не может быть более 64 символов;

- после перехода уровня обмена в состояние "Рабочий режим" длительность интервала времени Disc_Detect может быть увеличена;

- длительность интервала времени Disc_Detect в состоянии "Рабочий режим" должна составлять 129 символов.

Примечание - Это соответствует максимально допустимому интервалу между двумя последовательно переданными Comma-символами, который составляет 128 символов;

- если уровень обмена перешел в состояние "Перезагрузка", Comma-символ не должен быть передан в канал в состояниях "Перезагрузка" или "Готовность".

Примечание - Это позволит удаленной стороне канала зафиксировать ошибку соединения и, в свою очередь, перейти в состояние "Перезагрузка".

6.6.12 На уровне обмена могут иметь место следующие ошибки:

- ошибка приемника (RX_Error);

- ошибка эластичного буфера;

- ошибка последовательности символов;

- ошибка кредитования.

6.6.13 Ошибка приемника - это условное обозначение ошибки соединения или ошибки декодирования.

6.6.14 Ошибка соединения

6.6.14.1 Для поддержания соединения на уровне обмена передатчик должен периодически передавать в канал Comma-символы.

6.6.14.2 Если приемник включен и условие "Принят Comma" выполнено, но Comma-символ не был принят в течение периода разъединения Disc_Detect уровня обмена, то должна быть обнаружена ошибка соединения уровня обмена.

Примечание - Ошибка соединения уровня обмена возникает, например, когда удаленная сторона канала перешла в состояние "Перезагрузка".

6.6.14.3 При обнаружении ошибки соединения машина состояний уровня обмена должна перейти в состояние "Перезагрузка".

6.6.14.4 Если ошибка соединения произошла в рабочем состоянии (Run), то о ней должно быть сообщено на сетевой уровень как об ошибке канала.

6.6.15 Ошибка декодирования

6.6.15.1 Ошибка декодирования - это условное обозначение ошибки 8b-10b-декодера или ошибки декодирования символьного уровня.

6.6.15.2 Если приемник включен и установлено условие "Принят Comma", то ошибка декодирования должна быть обработана уровнем обмена.

6.6.15.3 При обнаружении ошибки декодирования машина состояний уровня обмена должна перейти в состояние "Перезагрузка".

6.6.15.4 Если ошибка декодирования произошла в состоянии Run, то о ней должно быть сообщено на сетевой уровень как об ошибке канала.

6.6.16 Ошибка эластичного буфера

6.6.16.1 Ошибка эластичного буфера должна быть определена при переполнении или опустошении эластичного буфера.

6.6.16.2 Ошибка эластичного буфера должна быть обработана, если приемник включен и выполнено условие "Принят Comma".

Примечание - Переполнение или опустошение эластичного буфера может произойти в том случае, когда удаленная сторона канала не передает Comma-символы, находясь в состоянии "Перезагрузка", "Готовность" и "Запуск". Например, это может произойти, если выполнено условие [Канал выключен]. Однако в этом случае переполнение или опустошение эластичного буфера не приведет к потере данных и, следовательно, не должно быть обработано как ошибка.

6.6.16.3 При обнаружении ошибки эластичного буфера машина состояний уровня обмена должна перейти в состояние "Перезагрузка".

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

6.6.16.4 Если ошибка эластичного буфера произошла в состоянии "Рабочий режим", то о ней должно быть сообщено на сетевой уровень как об ошибке эластичного буфера.

6.6.17 Ошибка последовательности символов

6.6.17.1 Ошибка последовательности символов должна быть определена при выполнении любого из следующих условий:

- машина состояний уровня обмена находится в состоянии "Готовность" и выполнено одно из условий: "принят N-Char", "принят управляющий код" или "принят FCT-символ";

- машина состояний уровня обмена находится в состоянии "Запуск" и выполнено одно из условий: "принят N-Char", "принят управляющий код" или "принят FCT-символ";

- машина состояний уровня обмена находится в состоянии "Соединение" и выполнено одно из условий: "принят N-Char" или "принят управляющий код";

- машина состояний уровня обмена находится в состоянии "Соединение установлено" и выполнено одно из условий: "принят N-Char" или "принят управляющий код".

6.6.17.2 При обнаружении ошибки последовательности символов канальный интерфейс должен быть перезагружен и инициализирован.

6.6.18 Определение ошибки кредитования и мероприятия по восстановлению канального интерфейса после ошибки кредитования должно проводиться в соответствии с 5.5.20.

6.6.19 Установка соединения в каналах GigaSpaceWire

6.6.19.1 Перед установлением соединения на уровне обмена должна быть установлена битовая синхронизация на сигнальном уровне.

6.6.19.2 Для установления битовой синхронизации с приемником удаленного узла передатчик сигнального уровня должен отправить специальные битовые последовательности.

6.6.19.3 После установления битовой синхронизации на сигнальном уровне сигнальный уровень должен сообщить об этом уровню обмена.

6.6.19.4 Перед установлением соединения на уровне обмена машина состояний уровня обмена должна находиться в состоянии "Перезагрузка" (см. рисунок 21).

6.6.19.5 После истечения тайм-аута Reset_Time должен быть выполнен переход машины состояний уровня обмена из состояния "Перезагрузка" в состояние "Готовность".

6.6.19.6 После выполнения условия "Канал включен" из состояния "Готовность" должен быть выполнен переход машины состояний уровня обмена в состояние "Запуск".

6.6.19.7 После приема символа поддержки связи символа Comma-символа в состоянии "Запуск" должен быть выполнен переход машины состояний уровня обмена из этого состояния в состояние "Соединение".

6.6.19.8 После отправки Comma-символа и приема FCT-символа в состоянии "Соединение" должен быть выполнен переход машины состояний уровня обмена из этого состояния в состояние "Соединение установлено".

После приема FCT-символа и отправки FCT-символа в состоянии "Соединение установлено" должен быть выполнен переход из этого состояния в состояние "Рабочий режим".

7 Пакетный уровень канальных интерфейсов для каналов SpaceWire и GigaSpaceWire

7.1 Структура пакета

7.1.1 Пакет в каналах SpaceWire и GigaSpaceWire должен состоять из адреса назначения, передаваемых данных и символа конца пакета (EOP- или EEP-маркера). Представление пакетов в каналах SpaceWire-RUS приведено в приложении С.

7.1.2 Пакет в каналах SpaceWire и GigaSpaceWire может быть представлен в текстовом формате, приведенном в С.1.1 (приложение С), а также в графическом формате, приведенном в С.1.2 (приложение С).

7.1.3 При использовании текстового формата пакет в каналах SpaceWire и GigaSpaceWire представлен следующим образом:

<адрес назначения> <передаваемые данные> <символ конца пакета> (4)

7.2 Адрес назначения пакета

7.2.1 Поле <адрес назначения> должен состоять из списка идентификаторов назначения (ид_назн) длиной 0 или более элементов:

<адрес назначения>=<ид_назн 1> <ид_назн 2> … <ид_назн N> (5)

7.2.2 Идентификатор назначения должен состоять из одного символа данных.

7.2.3 Размер списка идентификаторов назначения не должен иметь ограничений.

Примечания

1 Список идентификаторов назначения, не включающий ни одного идентификатора назначения, предназначен для обеспечения сети, предоставляющей единственное соединение по типу "точка-точка" между источником и получателем.

2 Список идентификаторов назначения, включающий один или более идентификаторов назначения, предназначен для обеспечения маршрутизации пакетов в сети.

7.3 Передаваемые данные пакета

7.3.1 Поле <передаваемые данные> пакета должно содержать один или более символов данных, предназначенных для передачи от источника к получателю.

7.3.2 В каналах SpaceWire и GigaSpaceWire должна быть обеспечена возможность передачи пустых пакетов по сети.

Примечания

1 Если в канале произошла ошибка, то поле <передаваемые данные> может оказаться пустым.

2 Обработка пустых пакетов описана в 5.5.22.

7.4 Символы конца пакета

7.4.1 Поле <символ конца пакета> должно содержать один из двух символов конца пакета - EOP-символ или EEP-символ.

7.4.2 EOP-символ должен быть использован для указания конца пакета, не содержащего ошибок.

7.4.3 EEP-символ должен быть использован для указания конца пакета, в котором произошла ошибка.

Примечание - Данные в таком пакете могут быть правильными, например: когда передача пакета завершена досрочно в момент обнаружения ошибки.

7.4.4 Первый символ данных, следующий за символом конца пакета, должен восприниматься как первый символ следующего пакета.

7.5 Чередование информационных символов в пакетах

Информационные символы одного пакета не должны чередоваться с информационными символами другого пакета.

Примечание - Информационные символы могут чередоваться с канальными символами и управляющими кодами.

8 Сетевой уровень стеков протоколов интерфейсов SpaceWire-RUS

8.1 Базовые концепции сетей с коммутацией пакетов

8.1.1 Сеть SpaceWire-RUS состоит из каналов, узлов и МК.

8.1.2 Сеть SpaceWire-RUS должна иметь в своем составе два или более узла и не содержать ни одного или содержать один и более МК.

8.1.3 Узлы сетей SpaceWire-RUS должны соединяться между собой либо только каналами, либо каналами и МК.

8.1.4 Пример сети SpaceWire-RUS с использованием каскадного соединения нескольких МК показан на рисунке 22.

Рисунок 22 - Пример сети SpaceWire-RUS

8.1.5 МК предоставляют средства маршрутизации пакетов от одного узла ко многим другим.

8.1.6 Каналы SpaceWire-RUS предоставляют средства для передачи пакетов между узлами.

8.1.7 Узлы являются источниками и/или получателями пакетов данных.

8.1.7.1 Узел SpaceWire-RUS должен содержать один или более канальных интерфейсов (кодер/декодер) и интерфейс с хост-системой.

Примечание - Узел SpaceWire-RUS представляет собой интерфейс между сетью SpaceWire-RUS и приложением, использующим сервисы сети.

8.1.7.2 Узел SpaceWire-RUS должен принимать поток пакетов от хост-системы для передачи по сети или доставлять поток пакетов, принятых из канала SpaceWire-RUS, в хост-систему, или выполнять обе эти функции.

8.1.8 Для достижения требуемого размера сети SpaceWire-RUS допускается каскадное соединение нескольких МК.

Примечание - В этом случае для достижения узла-получателя пакет должен проходить через один или несколько МК.

8.1.9 В сетях SpaceWire-RUS допускается использование таких видов маршрутизации, как червячная маршрутизация, маршрутизация с помощью удаления заголовка, маршрутизация с применением виртуальных каналов, групповая адаптивная маршрутизация, приведенные в приложении Т.

8.1.10 В сетях SpaceWire-RUS допускается использование таких методов адресации пакетов данных, как путевая адресация, логическая адресация, региональная логическая адресация, приведенных в приложении У.

8.2 Маршрутизирующие коммутаторы SpaceWire-RUS

8.2.1 В сетях SpaceWire-RUS используют динамические МК.

Примечания

1 В сетях с динамическими МК маршруты пакетов установлены автоматически с применением алгоритмов маршрутизации и информации о топологии и состоянии сети, полученной с использованием таблиц маршрутизации.

2 Динамические МК обеспечивают передачу пакетов от разных источников к разным получателям, что дает возможность реализации множества виртуальных каналов на ограниченном наборе физических каналов SpaceWire-RUS.

8.2.2 МК SpaceWire-RUS должен содержать несколько канальных интерфейсов (см. 5.5.6) и коммутационную матрицу.

Примечание - Коммутационная матрица МК обеспечивает передачу пакетов, принятых одним канальным интерфейсом МК, другому канальному интерфейсу МК и отправление пакетов в канал.

8.2.3 МК должен перенаправлять пакет с входного порта, принявшего пакет, в выходной порт, определенный в соответствии с адресом назначения.

8.2.3.1 Для определения выходного порта МК, через который должен быть передан пакет МК, должен использоваться первый символ данных пакета.

Примечание - Первый символ данных - это первый символ данных, следующий непосредственно за символом конца (EOP- или EEP-символом) предыдущего пакета.

8.2.3.2 МК SpaceWire-RUS должен поддерживать либо только путевую адресацию, либо комбинацию путевой, логической и региональной адресаций (см. приложение У).

8.2.3.3 Таблица маршрутизации в МК должна содержать соотношение ЛА узлов сети с номерами портов МК, а также определять необходимость удаления заголовка пакета (в том случае, когда некоторые выходные порты соединяют различные регионы).

8.2.3.4 Назначение и обработка адресов МК должны производиться в соответствии с таблицей 13.

8.2.3.5 Если значение строки в таблице маршрутизации равно NULL, то данное значение строки не определено, и в случае обращения к этой строке должна быть обнаружена ошибка адреса назначения.

8.2.3.6 Максимальное количество портов в МК должно быть равно 32 (включая конфигурационный порт).

8.2.3.7 Адресация к несуществующему выходному порту должна восприниматься как ошибка адреса назначения.

Таблица 13 - Адреса маршрутизирующих коммутаторов

Диапазон адресов

Функция

Удаление заголовка

0

Внутренний конфигурационный порт

Всегда

1-31 (0х01-0х1F)

Физические выходные порты

Всегда

32-254 (0х20-0хFE)

ЛА, соотнесенные с физическими выходными портами

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

255(0хFF)

Зарезервированный для дальнейшего использования ЛА, соотнесенный с физическим выходным портом. Обрабатывается так же, как и другие логические адреса

Примечание - Допускается использование МК, имеющих меньшее количество портов.

8.2.3.8 Логическая адресация должна быть ограничена 224 возможными адресами.

8.2.3.9 Региональная адресация должна быть использована для тех больших сетей, в которых каждый регион ограничен 224 ЛА.

Примечание - Регионы, использующие логическую адресацию, могут быть соединены с регионами, использующими путевую адресацию.

8.2.3.10 Доступ к конфигурационному порту осуществляется только при путевой адресации.

Примечание - Таблица маршрутизации не может адресовать внутренний конфигурационный порт (адрес 0).

8.2.3.11 При путевой адресации удаление заголовка должно быть выполнено в обязательном порядке.

8.2.3.12 Если удаление заголовка разрешено, то первый символ данных (идентификатор назначения) каждого пакета должен быть удален.

8.2.3.13 При удалении заголовка каждый МК должен удалить один и только один символ данных (идентификатор назначения).

Примечание - Для очень больших МК в качестве идентификатора назначения пакета могут использоваться два первых символа данных. Это позволяет МК поддерживать 961 (31
31) физический канал и более 50000 (224
224) ЛА.

8.2.3.14 ЛА 255 зарезервирован для дальнейшего применения.

8.2.3.15 ЛА 255 должен обрабатываться так же, как и другие ЛА.

8.2.4 Реализация червячной маршрутизации в маршрутизирующем коммутаторе

8.2.4.1 По прибытии пакета в МК должен быть определен номер требуемого выходного порта.

8.2.4.2 Если требуемый выходной порт свободен (т.е. в данный момент через него не передается другой пакет), то он должен быть назначен на передачу пришедшего пакета.

8.2.4.3 Как только очередной символ данных пакета прибывает во входной порт, он немедленно должен быть передан в выходной порт.

8.2.4.4 Выходной порт не должен передавать другие пакеты до тех пор, пока передача текущего пакета не будет завершена или прервана вследствие ошибки канала.

8.2.4.5 Если входной порт ожидает приема очередного символа данных пакета, выходной порт также должен находиться в состоянии ожидания.

8.2.4.6 Если выходной порт ожидает окончания передачи очередного символа данных, входной порт также должен находиться в состоянии ожидания.

8.2.4.7 Если требуемый выходной порт занят передачей другого пакета, пришедший пакет должен ждать в буфере приема входного порта до тех пор, пока требуемый выходной порт не освободится для передачи следующего пакета.

8.2.4.8 После того как требуемый выходной порт завершит передачу текущего пакета, он должен быть готов к приему следующего пакета из другого входного порта.

8.2.5 В том случае, когда два и более входных порта ожидают освобождения одного выходного порта для того, чтобы отправить ему данные, МК должен предоставить способ арбитража между входными портами, запрашивающими один и тот же выходной порт.

Примечание - Реализация арбитрирования возможна с использованием алгоритмов - циклического (round-robin) или случайной выборки.

8.2.5.1 Выходной порт, освобождения которого ожидают несколько входных портов, должен выполнить арбитрирование после завершения передачи текущего пакета.

8.2.5.2 После освобождения выходного порта входной порт, выбранный посредством арбитрирования для отправления данных этому выходному порту, должен передать в этот выходной порт один пакет.

8.2.6 МК SpaceWire-RUS должен поддерживать групповую адаптивную маршрутизацию для логической и региональной адресаций.

Примечание - МК SpaceWire-RUS может поддерживать групповую адаптивную маршрутизацию для путевой адресации.

8.2.6.1 Групповая адаптивная маршрутизация должна быть совместимой с любой схемой арбитрирования, реализованной в МК.

8.2.6.2 Реализованная схема арбитрирования должна быть применена ко всем выходным портам одной группы.

Примечание - Совместное использование групповой адаптивной маршрутизации, группового вещания (multicasting) и широковещания (broadcasting) в МК может привести к ошибкам при передаче пакетов группового вещания. Не рекомендуется включать в выходные порты для группового вещания более одного порта из групповой адаптивной маршрутизации.

8.2.7 МК SpaceWire-RUS может поддерживать групповое вещание или широковещание.

8.2.8 Групповое вещание и широковещание могут быть реализованы на более высоком уровне путем организации передачи одного и того же пакета всем (широковещание) или нескольким (групповое вещание) узлам сети, один за другим.

Примечание - Использование группового вещания или широковещания, реализованных посредством использования МК, может вызвать проблемы системного уровня, когда пакеты, распространяемые с помощью группового вещания или широковещания, начинают бесконечно циркулировать по сети, имеющей замкнутый контур, в результате чего сеть блокируется.

8.2.9 МК SpaceWire-RUS может поддерживать распространение пакетов.

8.2.9.1 Распространение пакетов может быть реализовано посредством использования МК путем организации передачи одного и того же пакета через несколько выходных портов МК одновременно.

8.2.9.2 При распространении пакетов должны быть использованы для отправления пакетов только те выходные порты МК, которые соединены с узлами.

Примечание - Распространение пакетов является ограниченной формой группового вещания или широковещания, ограничение которой заключается в том, что пакет отправляется только через те выходные порты МК, которые соединены с узлами. Это ограничение можно реализовать посредством использования подходящих сетевых архитектур и соответствующей конфигурации МК в сети.

8.2.9.3 Конфигурационные регистры МК, назначенные для распространения пакетов, должны быть использованы для определения выходных портов для отправления пакетов.

8.2.9.4 В состоянии перезагрузки распространение пакетов должно быть отключено во всех МК, предназначенных для распространения пакетов.

8.3 Механизм восстановления после ошибок, реализуемый на сетевом уровне

8.3.1 На сетевой уровень должны быть переданы сообщения о возникновении следующих ошибок:

- ошибка канала;

- прием EEP-символа;

- ошибочный адрес назначения.

Примечания

1 К ошибке канала SpaceWire относят ошибки, обнаруженные на уровне обмена SpaceWire и передаваемые на сетевой уровень: ошибка соединения, ошибка контроля четности, ошибка ESC-символа и ошибка кредитования (см. 5.5.23).

2 К ошибке канала GigaSpaceWire относят ошибки, обнаруженные на уровне обмена GigaSpaceWire и передаваемые на сетевой уровень: ошибка соединения, ошибка декодирования, ошибка эластичного буфера, ошибка кредитования (см. 6.6.14, 6.6.15, 6.6.16, 5.5.20).

8.3.2 Механизм обнаружения и восстановления после ошибки канала показан на рисунке 23. Если в канальном интерфейсе узла или МК обнаружена ошибка канала и информация о ней передана на сетевой уровень, то на сетевом уровне должна быть выполнена следующая последовательность действий, показанных на рисунке 23:

- определить ошибку канала;

- разъединить канал;

- если предыдущий принятый символ был не EOP, то записать EEP-символ в буфер приемника;

- удалить данные в буфере передатчика до следующего символа конца пакета EOP;

- повторно установить соединение;

- передать следующий пакет;

- если ошибка произошла в канальном интерфейсе узла-источника или узла-приемника, то информацию об этой ошибке следует передать на прикладной уровень;

- если ошибка произошла в канальном интерфейсе МК, то информацию об этой ошибке следует передать на внешний контакт МК или в его внутренний регистр статуса.

8.3.2.1 На рисунке 23 показаны FIFO-буферы и буферы приема и передачи типовой хост-системы, FIFO-буферы которой используют для регулирования скорости передачи, а буферы приема и передачи - для хранения исходящих и входящих данных.

8.3.2.2 В следующих двух случаях канал не должен быть перезапущен после ошибки до тех пор, пока несколько информационных символов не будут прочтены из буфера приема (чтобы освободить место для девяти информационных символов):

- если буфер приема (например, FIFO-буфер) полон, тогда в него невозможно записать EEP-символ;

- если в буфере приема отсутствует место для девяти информационных символов (одного EEP-символа и восьми информационных символов), тогда канальный интерфейс не может послать FCT-символ.

Примечание - Это решение оптимальнее, чем автоматический перезапуск канала после ошибки при заполненном буфере приема, так как в последнем случае канал передаст несколько информационных символов и будет повторно заблокирован, т.е. данный канал будет периодически блокировать часть сети.

8.3.2.3 В стандарте SpaceWire буферы приема, передачи и FIFO-буферы рассмотрены как часть хост-системы.

Примечание - Включение буферов приема, передачи и FIFO-буферов в состав хост-системы позволяет описать стандарт в более общем виде и упростить описание механизмов восстановления после ошибок канального интерфейса на уровне обмена и управления буферами приема и передачи и FIFO-буферами на сетевом уровне.

8.3.3 EEP-символ в конце пакета означает, что при передаче пакета по сети произошла ошибка, часть пакета была отброшена.

Примечание - При этом данные в пакете могут быть корректными, но не весь пакет был передан.

8.3.3.1 Если принят символ ошибочного конца пакета EEP, то для обработки пакета завершенного EEP и символа EEP на сетевом уровне в зависимости от того, принят пакет в узле-получателе или пакет принят в МК, должны быть проведены следующие мероприятия:

- если EEP-символ принят МК, то МК не должен выполнять специальных действий при приеме EEP-символа, EEP-символ должен обрабатываться точно так же, как и EOP-символ, т.е. должен быть передан через МК;

- если EEP-символ принят канальным интерфейсом узла-получателя, то об этом должно быть сообщено прикладному уровню, прикладной уровень должен быть информирован об ошибке, указанной посредством EEP.

8.3.3.2 Решение об обработке пакета, заканчивающегося EEP-символом, должно быть принято на более высоком уровне - прикладном.

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

Рисунок 23 - Механизм обнаружения и восстановления после ошибки канала

Примечания

1 Прикладной уровень узла-источника может заново переслать пакет, во время передачи которого произошла ошибка канала. Прикладной уровень узла-получателя может отбросить пакет, завершенный EEP, или принять решение о его использовании.

2 Так как остаток пакета отбрасывается после обнаружения ошибки, пакеты самой большой длины могут вызвать зависание канала на период их усечения. Этот факт должен быть учтен при выборе размера пакета приложения.

8.3.4 ЛА, которому в таблице маршрутизации поставлен в соответствие несуществующий выходной порт, следует рассматривать как ошибочный адрес назначения.

Пример - Адрес назначения <девять> будет ошибочным для МК с восемью выходными портами. ЛА со значением NULL в таблице маршрутизации означает, что данный адрес в таблице маршрутизации не определен, следовательно, он ошибочный.

8.3.4.1 Если МК принял пакет с ошибочным адресом назначения, то этот пакет должен быть отброшен. Все информационные символы, принятые входным портом, обнаружившим ошибочный адрес назначения, должны отбрасываться до тех пор, пока не будет принят следующий символ конца пакета EOP или EEP, который также должен быть отброшен.

Примечание - Информация об ошибке адреса назначения может быть выдана на внешний контакт МК или записана в его внутренний регистр статуса.

8.3.4.2 Если узел принял пакет с ошибочным адресом назначения, то этот пакет должен быть отброшен.

Примечания

1 Ожидание или неожидание узлом определенного адреса назначения зависит от хост-системы и используемых виртуальных каналов.

2 Сообщение о принятии неожидаемого адреса назначения может быть сообщено хост-системе.

8.3.4.3 Если поврежден заглавный символ пакета (т.е. первый символ, принятый после символа конца предыдущего пакета), то это приведет к тому, что весь пакет будет потерян и данные не будут переданы по сети. МК в данном случае отбрасывает пакет. Это может вызвать проблемы при получении пакета, так как о потере пакета не сообщается. Прикладной уровень проверяет последовательность приема пакетов. Если приемник узла-получателя обнаружил ошибку в заглавном символе пакета, то об этом может быть сообщено прикладному уровню.

8.3.5 Если ошибка обнаружена в символе конца пакета EOP (или EEP), то должны быть выполнены следующие действия:

- все данные этого пакета должны быть полностью переданы;

- EOP-символ (или EEP-символ) должен быть отброшен;

- весь последующий пакет, т.е. все символы данных последующего пакета до следующего EOP-символа (или EEP-символа) и сам EOP-символ (или EEP-символ) должны быть канальным передатчиком отброшены.

Примечание - Когда ошибка обнаружена в символе конца пакета EOP (или EEP), будут повреждены два пакета - пакет с ошибкой и следующий за ним.

8.3.6 Если ошибка произошла в NULL-коде или FCT-символе, вставленном в поток данных передаваемого пакета по каналу, то оставшаяся часть пакета, передаваемая после искаженного кода, должна быть отброшена.

Примечание - Это должно происходить из-за того, что неизвестно, каким был ошибочный символ до искажения.

8.3.7 Если МК принял пустой пакет, то он должен его отбросить, удалив второй EOP-символ или EEP-символ.

Примечание - Это случай дублирования EOP- или EEP-символа. EOP- или EEP-символ, принятый непосредственно после другого EOP- или EEP-символа, представляет собой пустой пакет, не имеющий адреса назначения.

8.3.8 Механизм восстановления после ошибок, реализуемый на сетевом уровне, должен работать в сети, содержащей несколько МК.

8.3.9 При возникновении ошибки должен перезапускаться только тот канал, в котором произошла ошибка. Все остальные каналы должны продолжать работу.

Примечание - Обычно частичная потеря данных происходит только в том пакете, в котором произошла ошибка, все остальные пакеты остаются корректными. В некоторых случаях может быть потеряно более одного пакета в течение того времени, когда канал был разъединен.

9 Обработка ошибок на прикладном уровне

Интерфейс приложения определен не в полном объеме в настоящем стандарте. Некоторые рекомендации в части состава сервисов и механизмов обработки ошибок, которые могут быть реализованы на прикладном уровне, приведены в приложении Ф.

10 Механизм распределенных прерываний в сетях SpaceWire-RUS

10.1 Общие сведения о механизме распределенных прерываний

10.1.1 Механизм распределенных прерываний SpaceWire-RUS предназначен для передачи управляющих сигналов реального времени по той же коммуникационной среде, по которой осуществляется передача информационных и служебных символов.

10.1.2 Передача системной информации с помощью механизма распределенных прерываний по каналам выполняется независимо от передачи пакетов.

Примечание - Коды распределенных прерываний могут быть переданы по тем же каналам, которые заблокированы пакетами.

10.1.3 Механизм распределенных прерываний предоставляет сервис передачи системной информации с низкой задержкой между узлами в сетях SpaceWire-RUS.

10.1.4 Механизм распределенных прерываний целесообразно использовать для передачи сигналов, генерируемых с частотой не более 1 МГц.

10.1.5 Общие сведения об особенностях механизма распределенных прерываний приведены в приложении Х.

10.2 Распространение распределенных прерываний

10.2.1 Для передачи служебных сигналов реального времени механизм распределенных прерываний должен использовать Interrupt-коды и Interrupt_Acknowledge-коды, определенные в 5.4.3.

10.2.2 Механизм распределенных прерываний поддерживает 32 различных идентификатора прерывания (см. 5.4.3.15) с номерами от 0 до 31.

10.2.3 Сеть может содержать один или несколько источников прерывания, которые могут генерировать Interrupt-коды с одинаковым идентификатором прерывания.

10.2.4 Сеть может содержать один или несколько обработчиков прерываний для Interrupt-кодов с одинаковым идентификатором прерывания.

10.2.5 Распространение Interrupt-кодов с определенным идентификатором прерывания должно быть выполнено в одном из двух режимов функционирования - "с подтверждениями" и "без подтверждений".

10.2.6 Допускается использование обоих режимов ("с подтверждениями" и "без подтверждений") в одной сети одновременно.

10.2.7 Interrupt_Acknowledge-код должен представлять собой подтверждение того, что Interrupt-код принят на обработку соответствующим обработчиком.

10.2.8 В режиме "с подтверждениями" каждый из обработчиков прерываний, принявших соответствующий Interrupt-код, должен отправить в сеть Interrupt_Acknowledge-код.

10.2.9 Отправление Interrupt_Acknowledge-кода не должно означать того, что обработка прерывания выполнена или завершена.

10.2.10 В режиме "без подтверждений" ни один из обработчиков прерываний, принявших соответствующий Interrupt-код, не должен отправлять в сеть Interrupt_Acknowledge-код.

10.2.11 Если узел или МК поддерживает механизм распределенных прерываний, то канальный интерфейс этого узла или каждый канальный интерфейс этого МК должен поддерживать прием и передачу Interrupt-кодов.

10.2.12 Если узел или МК поддерживает режим "с подтверждениями", то каждый канальный интерфейс этого узла или МК должен поддерживать прием и передачу Interrupt_Acknowledge-кодов.

10.2.13 Если узел или МК, поддерживающий механизм распределенных прерываний, поддерживает только режим "без подтверждений", то каждый принятый Interrupt_Acknowledge-код должен быть проигнорирован и удален.

10.2.14 Если узел или МК не поддерживает механизм распределенных прерываний, то каждый принятый Interrupt-код или Interrupt_Acknowledge-код должен быть проигнорирован и удален.

10.2.15 В качестве защиты от повторной передачи Interrupt-кодов и Interrupt_Acknowledge-кодов в сетях с циклами используется регистр ISR - 32-битный регистр источников прерываний ISR, каждый номер бита которого соответствует номеру идентификатора прерывания.

10.2.16 Каждый МК должен содержать только один регистр ISR.

10.2.17 Каждый узел должен содержать один или более регистров ISR.

10.2.18 Биты регистра ISR в МК и узле должны быть установлены и сброшены посредством атомарных операций.

Примечание - Это защищает от возникновения ошибочных ситуаций при одновременном приеме через разные порты нескольких Interrupt-кодов с одинаковым идентификатором.

10.2.19 В узле один регистр ISR может быть связан с несколькими канальными интерфейсами.

10.2.20 Если узел содержит несколько регистров ISR, то хост-система такого узла должна корректно обрабатывать несколько одновременно принятых избыточных Interrupt-кодов или Interrupt_Acknowledge-кодов.

Примечание - Узел, содержащий более одного регистра ISR, может быть не в состоянии обработать прием избыточных Interrupt-кодов или Interrupt_Acknowledge-кодов, принятых разными канальными интерфейсами, которые связаны с разными регистрами ISR.

10.2.21 После перезагрузки узла или МК все биты в регистре ISR должны быть сброшены в ноль.

10.2.22 Канальному интерфейсу узла или в МК может быть запрещено отправлять и/или принимать Interrupt-коды.

10.2.23 Канальному интерфейсу в узле или МК может быть запрещено отправлять и/или принимать Interrupt_Acknowledge-коды.

10.2.24 Если канальному интерфейсу запрещено отправлять Interrupt-коды и/или Interrupt_Acknowledge-коды, он должен игнорировать запросы на передачу указанных кодов в канал.

10.2.25 Если канальному интерфейсу запрещено принимать Interrupt-коды и/или Interrupt_Acknowledge-коды, он должен игнорировать прием указанных кодов из канала.

10.3 Режим функционирования "с подтверждениями"

10.3.1 Общие положения

10.3.1.1 Для Interrupt-кодов с идентификатором прерывания, распространяемого в режиме "с подтверждениями", в сети должен существовать только один источник прерываний.

10.3.1.2 В режиме "с подтверждениями" при отсутствии сбоев в сети источник прерываний должен всегда получать подтверждение о том, что отправленный им Interrupt-код достиг соответствующего обработчика прерываний (см. 10.2.7).

10.3.1.3 В режиме "с подтверждениями" очистка сети после распространения Interrupt-кода должна быть выполнена двумя способами: посредством распространения Interrupt_Acknowledge-кода при нормальной работе сети или с помощью таймеров сброса бита регистра ISR при возникновении сбоев в сети.

10.3.2 Распространение Interrupt-кодов

10.3.2.1 При приеме канальным интерфейсом узла запроса на передачу Interrupt-кода с определенным идентификатором прерывания должна быть выполнена проверка соответствующего номеру этого идентификатора прерывания бита регистра ISR и по результатам проверки должны быть осуществлены следующие действия:

- если бит регистра ISR, соответствующий номеру идентификатора прерывания запрошенного Interrupt-кода, равен нулю, то следует установить его значение равным единице и затем отправить запрошенный Interrupt-код с определенным идентификатором прерывания в канал;

- если бит регистра ISR, соответствующий номеру идентификатора прерывания запрошенного Interrupt-кода, равен единице, запрос должен быть проигнорирован.

Примечание - Если бит в регистре ISR установлен равным единице, это значит, что соответствующий Interrupt-код был передан в сеть, но ответный Interrupt_Acknowledge-код еще не получен.

10.3.2.2 Следующий Interrupt-код с тем же идентификатором прерывания не должен быть отправлен в сеть до тех пор, пока не будут выполнены определенные условия:

- при приеме ответного Interrupt_Acknowledge-кода следующий Interrupt-код с тем же идентификатором прерывания может быть отправлен только после истечения минимального интервала времени
;

- при ошибке в сети следующий Interrupt-код может быть отправлен только после завершения процедуры восстановления после ошибки в сети (см. 10.3.4).

10.3.2.3 Минимальный интервал времени
- это минимальный интервал времени, который должен иметь место между приемом Interrupt_Acknowledge-кода и передачей следующего Interrupt-кода с одинаковым идентификатором прерывания. Длительность минимального интервала времени
должна быть установлена таким образом, чтобы гарантировать, что распространение следующего Interrupt-кода не будет нарушено распространением предыдущего Interrupt_Acknowledge-кода.

Примечания

1 Если распространение Interrupt-кода может быть нарушено распространением предыдущего Interrupt_Acknowledge-кода, то это может привести к возникновению ряда проблем, например зацикливанию Interrupt-кода в сетях с циклами.

2 Длительность интервала
зависит от большого числа параметров, таких как топология сети, количество обработчиков прерывания, расстояния между источником и обработчиком прерывания и т.д. Методы расчета длительности интервала определены конкретным исполнением сети и поэтому не рассмотрены в настоящем стандарте.

10.3.2.4 При приеме канальным интерфейсом в МК Interrupt-кода должен быть проверен бит регистра ISR, соответствующий номеру идентификатора прерывания принятого Interrupt-кода, и должны быть выполнены следующие действия:

- если бит регистра ISR, соответствующий номеру идентификатора прерывания принятого Interrupt-кода, равен нулю, следует установить его равным единице. Затем во все выходные порты МК, исключая тот, который принял данный Interrupt-код, должен быть отправлен запрос на передачу Interrupt-кода;

- если бит регистра ISR равен единице, то принятый Interrupt-код должен быть проигнорирован.

Примечание - Interrupt-код игнорируется в этом случае для того, чтобы предотвратить повторное распространение данного кода в сетях с циклами.

10.3.2.5 При приеме канальным интерфейсом узла Interrupt-кода должен быть проверен бит регистра ISR, соответствующий номеру идентификатора прерывания принятого Interrupt-кода, и выполнены следующие действия:

- если бит регистра ISR, соответствующий номеру идентификатора прерывания принятого Interrupt-кода, равен нулю, то следует установить его равным единице и передать принятый Interrupt-код в хост-систему;

- если бит регистра ISR, соответствующий номеру идентификатора прерывания принятого Interrupt-кода, равен единице, то принятый Interrupt-код должен быть проигнорирован.

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

10.3.3 Распространение Interrupt_Acknowledge-кодов

10.3.3.1 При принятии Interrupt-кода обработчик прерывания должен сгенерировать ответный Interrupt_Acknowledge-код с таким же идентификатором прерывания, как и в принятом Interrupt-коде.

10.3.3.2 Interrupt_Acknowledge-код должен быть отправлен в сеть по истечении установленного минимального интервала времени
между приемом Interrupt-кода и отправлением ответного Interrupt_Acknowledge-кода.
10.3.3.3 Длительность интервала времени
должна быть установлена таким образом, чтобы гарантировать, что обработчик прерывания не примет подтверждаемый Interrupt-код еще раз, т.е. после того, как Interrupt_Acknowledge-код будет отправлен в сеть.
Примечание - Методы расчета длительности интервала времени
зависят от конкретного исполнения сети и поэтому не рассмотрены в настоящем стандарте.

10.3.3.4 Когда канальный интерфейс в узле принимает запрос на передачу Interrupt_Acknowledge-кода с определенным идентификатором прерывания, должен быть проверен бит регистра ISR, соответствующий номеру идентификатора прерывания принятого Interrupt-кода, и должны быть выполнены следующие действия:

- если бит регистра ISR, соответствующий номеру идентификатора прерывания запрошенного Interrupt-кода, равен единице, то следует сбросить его в ноль. Затем канальный интерфейс должен отправить запрошенный Interrupt_Acknowledge-код в канал;

- если бит регистра ISR, соответствующий номеру идентификатора прерывания запрошенного Interrupt-кода, равен нулю, то запрос должен быть проигнорирован.

10.3.3.5 Когда канальный интерфейс в МК принимает Interrupt_Acknowledge-код, подтверждающий прием переданного ранее Interrupt-кода получателем, должен быть проверен бит регистра ISR, соответствующий номеру идентификатора прерывания соответствующего переданного Interrupt-кода, и должны быть выполнены следующие действия:

- если бит регистра ISR, соответствующий номеру идентификатора прерывания переданного Interrupt-кода, равен единице, то необходимо сбросить его в ноль. Затем запрос на передачу Interrupt_Acknowledge-кода должен быть отправлен во все выходные порты МК, исключая тот, который принял данный Interrupt_Acknowledge-код;

- если бит регистра ISR, соответствующий номеру идентификатора прерывания переданного Interrupt-кода, равен нулю, то принятый Interrupt_Acknowledge-код должен быть проигнорирован.

Примечание - Interrupt_Acknowledge-код игнорируется в этом случае, чтобы предотвратить повторное распространение данного кода в сетях с циклами.

10.3.3.6 Когда канальный интерфейс в узле принимает Interrupt_Acknowledge-код, подтверждающий прием получателем переданного ему ранее Interrupt-кода, должен быть проверен бит регистра ISR, соответствующий номеру идентификатора прерывания этого Interrupt-кода, и должны быть выполнены следующие действия:

- если бит регистра ISR равен единице, то необходимо сбросить его в ноль. Затем канальный интерфейс должен передать принятый Interrupt_Acknowledge-код в хост-систему;

- если бит регистра ISR, соответствующий номеру идентификатора прерывания переданного Interrupt-кода, равен нулю, то принятый Interrupt_Acknowledge-код должен быть проигнорирован.

Примечание - Такая ситуация может возникнуть вследствие наличия в сети избыточных связей, широковещания или ошибки.

10.3.4 Восстановление после сбоев в сети

10.3.4.1 Причинами, которые могут приводить к неправильному распределению Interrupt-кодов и Interrupt_Acknowledge-кодов, являются:

- возникновение ошибки соединения или ошибки паритета во время передачи Interrupt-кода или Interrupt_Acknowledge-кода по каналу;

- самопроизвольное изменение состояния бита в регистре ISR как результат перемежающихся отказов в узле или МК.

Примечания

1 Ошибка паритета может возникать только в каналах SpaceWire.

2 В сети SpaceWire с избыточными связями и с множественными замкнутыми контурами (например, решетка, тор, толстое дерево) ошибка, вызывающая потерю Interrupt-кода или Interrupt_Acknowledge-кода, не останавливает распространение кодов между узлами сети.

10.3.4.2 Для предотвращения сбоев в сети в режиме функционирования "с подтверждениями" должны быть выполнены следующие требования:

- каждый узел или МК должен содержать один таймер сброса на каждый бит регистра ISR;

- в момент передачи в сеть Interrupt-кода источником прерываний должен быть запущен таймер сброса бита регистра ISR, соответствующего номеру идентификатора прерывания этого Interrupt-кода;

- в МК или узле в момент приема из сети Interrupt-кода должен быть запущен таймер сброса бита регистра ISR, соответствующего номеру идентификатора принимаемого Interrupt-кода;

- в обработчике прерываний таймер сброса бита регистра ISR, соответствующего номеру идентификатора прерывания принятого Interrupt-кода, должен быть остановлен и обнулен в момент отправления в сеть подтверждающего прием получателем этого Interrupt_Acknowledge-кода;

- в МК или узле таймер сброса бита регистра ISR, соответствующего номеру идентификатора прерывания отправленного ранее Interrupt-кода, должен быть сброшен и обнулен в момент приема из сети Interrupt_Acknowledge-кода, подтверждающего прием получателем этого Interrupt-кода;

- в случае срабатывания таймера до приема получателем соответствующего Interrupt_Acknowledge-кода и возникновения события "истечение тайм-аута сброса бита регистра ISR" соответствующий бит ISR должен быть сброшен в ноль.

Примечания

1 Таймер сброса бита регистра ISR восстанавливает сеть для выполнения последующих запросов на передачу Interrupt-кода.

2 Таймер сброса бита регистра ISR восстанавливает сеть после потери как Interrupt-кода, так и Interrupt_Acknowledge-кода.

10.3.4.3 Значения тайм-аутов сброса бита регистра ISR
(в узле) и
(в МК) должны быть не меньше суммы наибольшего времени распространения Interrupt-кода, максимальной задержки, вносимой обработчиком прерывания, и наибольшего времени распространения Interrupt_Acknowledge-кода
. Значения тайм-аута
должны быть не меньше тайм-аута
.

10.3.4.4 Значения тайм-аутов сброса бита регистра ISR в узлах и МК должны быть связаны следующим соотношением

. (6)

10.4 Режим функционирования "без подтверждений"

10.4.1 Общие положения

10.4.1.1 Режим функционирования "без подтверждений" предоставляет сервис распространения Interrupt-кода по сети без получения подтверждений о доставке.

10.4.1.2 В режиме "без подтверждений" источник прерываний не может получить подтверждения о том, что отправленный им Interrupt-код достиг соответствующего обработчика.

10.4.1.3 В режиме "без подтверждений" очистка сети после распространения Interrupt-кода может быть выполнена только при срабатывании таймеров сброса бита регистра ISR.

10.4.1.4 Для идентификатора прерываний, распространяемого в режиме "без подтверждений", в сети могут существовать несколько источников прерываний.

10.4.2 Распространение Interrupt-кодов

10.4.2.1 В режиме "без подтверждений" Interrupt-коды должны распространяться по сети в соответствии с правилами, описанными в 10.3.2.

10.4.2.2 Каждый МК должен содержать один таймер сброса на каждый бит регистра ISR.

10.4.2.3 Каждый узел должен содержать один таймер сброса на каждый бит регистра ISR.

10.4.2.4 Если источник прерывания не содержит таймер сброса на соответствующий бит ISR, этот бит не должен быть установлен равным единице при отправлении в сеть Interrupt-кода.

10.4.2.5 Обработчик прерывания должен содержать таймер сброса на соответствующий бит ISR.

Примечание - Когда узел, не являющийся ни источником, ни обработчиком прерываний, не содержит таймер сброса, значение соответствующего бита ISR может быть установлено равным единице или нулю, причем только один раз.

10.4.2.6 Каждый последующий Interrupt-код не рекомендуется отправлять в сеть до тех пор, пока не сработает соответствующий таймер сброса бита ISR.

Примечание - Если Interrupt-код будет отправлен в сеть до срабатывания соответствующего таймера сброса, то данный Interrupt-код не будет распространен по сети.

10.4.2.7 При срабатывании таймера сброса в узле или МК соответствующий бит регистра ISR должен быть сброшен в ноль.

10.4.2.8 Значения тайм-аутов сброса бита регистра ISR в узлах
и в МК в узле
должны быть больше наибольшего времени распространения соответствующего Interrupt-кода по максимальному циклу в сети
. Тайм-ауты в узлах должны быть больше тайм-аутов в МК. Значения тайм-аутов должны быть связаны следующим соотношением:
. (7)

10.5 Рекомендации по реализации механизма распределенных прерываний

10.5.1 Генерация Interrupt_Acknowledge-кода в обработчике прерываний может быть выполнена либо аппаратно, либо программно. Для обеспечения корректного функционирования механизма рекомендуется применять аппаратную генерацию Interrupt_Acknowledge-кодов.

10.5.2 Программная генерация Interrupt_Acknowledge-кодов может привести к возникновению ряда проблем, например:

- время программной генерации Interrupt_Acknowledge-кода может быть менее предсказуемым, чем в случае аппаратной генерации, что усложнит расчет длительности интервала времени
и тайм-аута сброса бита регистра ISR;

- время программной генерации Interrupt_Acknowledge-кода может существенно превышать время его аппаратной генерации, что значительно снизит производительность механизма распределенных прерываний.

10.5.3 При реализации широковещания в МК необходимо соблюдать одинаковый порядок рассылки Interrupt- и Interrupt_Acknowledge-кодов всеми выходными портами.

Примечание - Одинаковый порядок рассылки всеми выходными портами Interrupt- и Interrupt_Acknowledge-кодов повысит предсказуемость функционирования механизма широковещания.

10.5.4 В режиме "с подтверждениями" тайм-ауты
(в узле) и
(в МК) предназначены только для восстановления регистров ISR после ошибки. Значения этих тайм-аутов необходимо устанавливать таким образом, чтобы они значительно превышали минимальный интервал времени, определенный как
.

Примечание - Расчет наихудшего времени распространения кода по сети не всегда учитывает все возможные задержки. Таким образом, таймеры сброса бита регистра ISR срабатывают только в том случае, если потеря соответствующего Interrupt-кода или Interrupt_Acknowledge-кода точно произошла.

10.5.5 Рекомендации по реализации интерфейса распределенных прерываний между хост-системой и канальным интерфейсом SpaceWire-RUS

10.5.5.1 Типовой интерфейс распределенных прерываний между хост-системой и канальным интерфейсом должен состоять из четырех сигналов INTR_IN, INTR_OUT, INTR_ACK_IN и INTR_ACK_OUT, 5-битного входного порта идентификатора прерывания и 5-битного выходного порта идентификатора источника прерываний.

10.5.5.2 Если сигнал INTR_IN установлен и канальный интерфейс находится в рабочем состоянии "Рабочий режим", Interrupt-код должен быть передан в канал.

10.5.5.3 Если канальный интерфейс находится в состоянии "Рабочий режим" и приемник принял Interrupt-код, то должен быть установлен сигнал INTR_OUT.

10.5.5.4 Если сигнал INTR_ACK_IN установлен и канальный интерфейс находится в состоянии "Рабочий режим", то Interrupt_Acknowledge-код должен быть передан в канал.

10.5.5.5 Если канальный интерфейс находится в состоянии "Рабочий режим" и приемник принял Interrupt_Acknowledge-код, то должен быть установлен сигнал INTR_ACK_OUT.

10.5.5.6 5-битный выходной порт идентификатора прерывания используется для передачи значения идентификатора прерывания из приемника канального интерфейса в хост-систему.

10.5.5.7 5-битный входной порт идентификатора прерывания используют для передачи значения идентификатора прерывания из хост-системы в передатчик канального интерфейса.

10.5.6 Рекомендации по реализации механизмов защиты от ошибок в сетях с механизмом распределенных прерываний

10.5.6.1 Защита от ошибок в сетях с механизмом распределенных прерываний, которые появляются вследствие возникновения в сети узла babbling idiot, может быть реализована как в узлах, так и в МК.

10.5.6.2 Узел babbling idiot - это узел, отправляющий в сеть Interrupt-коды или Interrupt_Acknowledge-коды, которые ему не разрешено отправлять, или узел, неоправданно часто отправляющий в сеть Interrupt-коды или Interrupt_Acknowledge-коды, которые ему разрешено отправлять.

10.5.6.3 Канальному интерфейсу в узле может быть разрешено отправлять в сеть Interrupt-коды только с определенными идентификаторами прерываний. Аналогично канальному интерфейсу в узле может быть разрешено отправлять в сеть Interrupt_Acknowledge-коды только с определенными идентификаторами прерываний.

10.5.6.4 Если канальному интерфейсу в узле разрешено отправлять в сеть Interrupt-коды и Interrupt_Acknowledge-коды только с определенными идентификаторами прерываний, запросы на передачу кодов с другими идентификаторами прерываний следует игнорировать.

10.5.6.5 Канальным интерфейсам в МК может быть разрешено принимать из сети Interrupt-коды и Interrupt_Acknowledge-коды только с определенными идентификаторами прерываний.

10.5.6.6 Если канальный интерфейс в МК принял Interrupt-код или Interrupt_Acknowledge-код, не входящий в число разрешенных для приема, данный код должен быть проигнорирован и удален.

10.5.7 Ошибки в сетях с механизмом распределенных прерываний могут возникать в результате появления неожидаемого кода.

10.5.7.1 Основными причинами появления неожидаемого кода являются:

- неправильные настройки интервалов времени
и
;

- наличие в сети нескольких источников прерывания, для которого определен режим функционирования "с подтверждениями";

- сбой в сети, в результате которого возник новый Interrupt-код или Interrupt_Acknowledge-код;

- возникновение в сети узлов babbling idiot в том случае, когда специальная политика по защите от таких узлов не реализована (см. 10.5.5).

10.5.7.2 Последствия после появления неожидаемого кода Interrupt-кода или Interrupt_Acknowledge-кода могут быть следующими:

- обработчик прерывания может получить ложный Interrupt-код, т.е. запрос на обработку прерывания, который не был сгенерирован источником;

- в сетях с циклами может произойти зацикливание.

10.5.7.3 Для защиты от появления неожидаемого кода узел или МК должен содержать один таймер на каждый бит регистра ISR, который предназначен для определения минимально возможного интервала времени между двумя последовательными изменениями состояния бита ISR. Интервал таймера устанавливается равным
, что означает, что состояние бита регистра ISR не может быть изменено раньше, чем закончится интервал времени
.
10.5.7.4 В случае попытки изменения состояния бита регистра ISR до истечения интервала времени
состояние бита не должно быть изменено, а принятый код следует проигнорировать и удалить.

11 Требования к изделиям, реализующим интерфейс каналов SpaceWire

11.1 Основными изделиями, реализующими интерфейс SpaceWire, являются:

- кабель SpaceWire;

- соединитель SpaceWire;

- кабельная сборка SpaceWire;

- кодер/декодер SpaceWire - устройство кодирования/декодирования с уровнями D-, S-сигналов, соответствующих логическим уровням цифровых КМОП микросхем и с приемниками и передатчиками LVDS, выполненными как внешние устройства;

- LVDS кодер/декодер SpaceWire - устройство кодирования/декодирования с внутренними приемниками и передатчиками LVDS;

- МК SpaceWire - маршрутизирующее устройство с уровнями D-, S-сигналов, соответствующих логическим уровням цифровых КМОП микросхем, и с приемниками и передатчиками LVDS, выполненными как внешние устройства;

- LVDS МК SpaceWire - маршрутизирующее устройство с внутренними приемниками и передатчиками LVDS;

- маршрутизирующий блок SpaceWire - маршрутизирующее устройство, включающее в себя приемник, передатчик LVDS и соединители SpaceWire;

- интерфейс SpaceWire - полный интерфейс для подключения SpaceWire к некоторой хост-системе, включающий в себя устройства кодирования и декодирования, LVDS приемник и передатчик и соединители SpaceWire;

- сеть SpaceWire, которая включает в себя каналы, узлы и МК SpaceWire.

11.2 Изделия, указанные в 11.1, должны соответствовать требованиям соответствующих разделов настоящего стандарта, приведенных ниже (см. 11.2.1-11.2.12).

11.2.1 Пояснение параметров, приведенных в 11.2.6.1, 11.2.6.2, 11.2.8.2, 11.2.9.2, 11.2.10.2, 11.2.11.3, приведено в приложениях Г и Е.

11.2.2 Требования соответствия параметров изделий, реализующих интерфейс каналов SpaceWire, требованиям раздела 10, приведенным в 11.2.8.1, 11.2.9.1, 11.2.10.1, 11.2.11.2, должны быть выполнены только для тех групп изделий, в которых реализован механизм распределенных прерываний.

11.2.3 Кабель SpaceWire должен соответствовать требованиям 5.2.1-5.2.20.

11.2.4 Соединители стандартного кабеля SpaceWire должны соответствовать требованиям 5.2.21.

11.2.5 Параметры кабельных сборок SpaceWire должны соответствовать требованиям 5.2.1-5.2.21.

11.2.6 Кодер/декодер SpaceWire

11.2.6.1 Кодер/декодер SpaceWire должны соответствовать требованиям 5.3.1, 5.3.3, 5.3.4, 5.4, 5.5, а также разделам 7, 10.

11.2.6.2 При реализации кодера/декодера SpaceWire дополнительно к требованиям 11.2.6.1 должны быть заданы требования к максимально допустимым значениям следующих параметров кодера/декодера SpaceWire во всем диапазоне рабочих значений температуры, напряжения питания и внешних излучений:

- скос и джиттер D-сигнала на выходе кодера SpaceWire;

- скос и джиттер S-сигнала на выходе кодера SpaceWire;

- минимальная разница во времени между фронтами D- и S-сигналов на входе декодера SpaceWire.

11.2.7 LVDS кодера/декодера SpaceWire

11.2.7.1 В состав LVDS кодера/декодера SpaceWire входят LVDS передатчик и приемник.

11.2.7.2 LVDS кодера/декодера SpaceWire должны соответствовать требованиям всех разделов, указанных в таблице 14.

Таблица 14 - Требования соответствия для LVDS кодера/декодера SpaceWire

Раздел, подраздел

Заголовок раздела, подраздела

5.3

Сигнальный уровень

5.4

Символьный уровень

5.5

Уровень обмена

7

Пакетный уровень канальных интерфейсов для каналов SpaceWire и GigaSpaceWire

10

Механизм распределенных прерываний в сетях SpaceWire-RUS для каналов SpaceWire и GigaSpaceWire

11.2.7.3 Кроме требований разделов, указанных в таблице 14, при реализации LVDS кодера/декодера SpaceWire во всем диапазоне рабочих значений температуры, напряжений питания и внешних излучений должны быть заданы требования к максимально допустимым значениям следующих параметров LVDS кодера/декодера SpaceWire:

- скос и джиттер D-сигнала на выходе LVDS кодера SpaceWire;

- скос и джиттер S-сигнала на выходе LVDS кодера SpaceWire;

- минимальное время между фронтами сигналов D- и S-сигналов на входе LVDS декодера SpaceWire.

11.2.8 Маршрутизирующий коммутатор SpaceWire

11.2.8.1 МК SpaceWire должен соответствовать требованиям всех разделов, указанных в таблице 15.

Таблица 15 - Требования соответствия для МК и LVDS МК SpaceWire

Раздел, подраздел, пункт

Заголовок раздела, подраздела, пункта

5.3

Сигнальный уровень

5.3.3

Канал SpaceWire

5.3.4

Скорость передачи данных

5.4

Символьный уровень

5.5

Уровень обмена

7

Пакетный уровень канальных интерфейсов для каналов SpaceWire и GigaSpaceWire

8.2

Маршрутизирующие коммутаторы SpaceWire-RUS

8.3

Механизм восстановления после ошибок, реализуемый на сетевом уровне

10

Механизм распределенных прерываний в сетях SpaceWire-RUS для каналов SpaceWire и GigaSpaceWire

11.2.8.2 Кроме требований разделов, подразделов, указанных в таблице 15, при реализации МК SpaceWire должны быть заданы требования к максимально допустимым значениям во всем диапазоне рабочих значений температуры, напряжения питания и внешних излучений следующих параметров МК SpaceWire:

- скос и джиттер D-сигнала кодера на выходе МК SpaceWire;

- скос и джиттер S-сигнала кодера на выходе МК SpaceWire;

- минимальное время между фронтами D- и S-сигналов декодера на входе МК SpaceWire.

11.2.9 LVDS МК SpaceWire

11.2.9.1 LVDS МК SpaceWire должен соответствовать требованиям структурных элементов, указанных в таблице 15.

11.2.9.2 Кроме требований структурных элементов, указанных в таблице 15, при реализации LVDS МК SpaceWire должны быть заданы требования во всем диапазоне рабочих значений температуры, напряжения питания и внешних излучений к максимально допустимым значениям следующих параметров LVDS МК SpaceWire:

- скос и джиттер D-сигнала кодера на выходе LVDS МК SpaceWire;

- скос и джиттер S-сигнала кодера на выходе LVDS МК SpaceWire;

- минимальное время между фронтами D- и S-сигналов декодера на входе LVDS МК SpaceWire.

11.2.10 Маршрутизирующий блок SpaceWire

11.2.10.1 Маршрутизирующий блок SpaceWire должен соответствовать требованиям всех разделов, перечисленных в таблице 16.

Таблица 16 - Требования соответствия для маршрутизирующего блока SpaceWire

Раздел, подраздел, пункт

Заголовок раздела, подраздела, пункта

Раздел, подраздел, пункт

Заголовок раздела, подраздела, пункта

5.2.3, 5.2.21

Соединители

7

Пакетный уровень канальных интерфейсов для каналов SpaceWire и GigaSpaceWire

5.3

Сигнальный уровень

8.2

Маршрутизирующие коммутаторы Space-Wire-RUS

5.4

Символьный уровень

8.5

Механизм восстановления после ошибок, реализуемый на сетевом уровне

5.5

Уровень обмена

10

Механизм распределенных прерываний в сетях SpaceWire-RUS для каналов SpaceWire и GigaSpaceWire

11.2.10.2 Кроме требований разделов, указанных в таблице 16, при реализации маршрутизирующего блока SpaceWire должны быть заданы требования к максимально допустимым значениям во всем диапазоне рабочих значений температуры, напряжения питания и внешних излучений следующих параметров маршрутизирующего блока SpaceWire:

- скос и джиттер D-сигнала кодера на выходе маршрутизирующего блока SpaceWire;

- скос и джиттер S-сигнала кодера на выходе маршрутизирующего блока SpaceWire;

- минимальное время между фронтами D- и S-сигналов декодера на входе маршрутизирующего блока SpaceWire.

11.2.11 Интерфейс SpaceWire

11.2.11.1 Интерфейс SpaceWire включает в свой состав устройства кодирования и декодирования, приемник и передатчик LVDS и соединители SpaceWire-RUS.

11.2.11.2 Интерфейс SpaceWire должен соответствовать требованиям всех разделов, представленных в таблице 17.

Таблица 17 - Требования соответствия для интерфейса SpaceWire

Раздел

Заголовок раздела, подраздела, пункта

5.1.3, 5.2.3

Соединители

5.3

Сигнальный уровень

5.4

Символьный уровень

5.5

Уровень обмена

6.2

Физический уровень

6.3

Сигнальный уровень

6.4

Уровень кодирования

6.5

Символьный уровень

6.6

Уровень обмена

7

Пакетный уровень канальных интерфейсов для каналов SpaceWire и GigaSpaceWire

8.3

Узлы SpaceWire-RUS

8.5

Механизм восстановления после ошибок, реализуемый на сетевом уровне

10

Механизм распределенных прерываний в сетях SpaceWire-RUS для каналов SpaceWire и GigaSpaceWire

11.2.11.3 Кроме требований всех разделов, указанных в таблице 17, при реализации интерфейса SpaceWire должны быть заданы требования к максимально допустимым значениям во всем диапазоне рабочих значений температуры, напряжения питания и внешних излучений следующих параметров интерфейса SpaceWire:

- суммарный скос выходного D-сигнала передатчика, измеренный на соединителе интерфейса;

- суммарный скос выходного S-сигнала передатчика, измеренный на соединителе интерфейса;

- суммарный джиттер выходного D-сигнала передатчика, измеренный на соединителе интерфейса;

- суммарный джиттер выходного S-сигнала передатчика, измеренный на соединителе интерфейса (джиттер Sout);

- cуммарное минимальное время между фронтами входных D- и S-сигналов приемника (в наихудшем случае), измеренное на соединителе интерфейса.

Примечание - Суммарное минимальное время между фронтами входных D- и S-сигналов приемника включает в себя все скосы D- и S-сигналов, джиттеры D- и S-сигналов между соединителем интерфейса и декодирующим устройством.

11.2.12 Сеть SpaceWire-RUS

11.2.12.1 Сеть SpaceWire-RUS должна соответствовать требованиям следующих структурных элементов: 5.2-5.5, 6.2-6.6, 7-9.

11.2.12.2 Требования соответствия параметров изделий, реализующих интерфейс каналов SpaceWire-RUS, требованиям раздела 10 должны быть выполнены только для тех групп изделий, в которых реализован механизм распределенных прерываний.

Приложение А

(справочное)

Различия между стандартами SpaceWire ECSS-E-ST-50-12С и SpaceWire-RUS

Существуют отличия между стандартами SpaceWire и SpaceWire-RUS. Дополнения и изменения, внесенные в настоящий стандарт, направлены на совершенствование следующих характеристик интерфейсов: надежности, потребления энергии, электромагнитных характеристик, скорости и дальности передачи информации, уменьшения веса кабельного хозяйства. В таблице А.1 приведено сравнение основных параметров стандартов SpaceWire ECSS-E-ST-50-12С и SpaceWire-RUS.

Таблица А.1 - Различия между стандартом SpaceWire ECSS-E-ST-50-12С и стандартом SpaceWire-RUS

Параметр

SpaceWire ECSS-E-ST-50-12С

SpaceWire-RUS

Канал SpaceWire

Канал GigaSpaceWire

Скорость информационного обмена

400 Мбит/с на расстоянии не более 10 м

400 Мбит/с на расстоянии не более 10 м

До 6,125 Гбит/с на расстоянии не более 100 м (с ВОЛС)

Кабели

ECSS 3902/003

Кабель SpaceWire с круглым сечением, 4-полосный симметричный, гибкий

ECSS 3902/003

Кабель SpaceWire с круглым сечением, 4-полосный симметричный, гибкий.

ESCC 3902/004

Кабель SpaceWire с круглым сечением, 4-полосный симметричный, гибкий, облегченный

Витая пара, коаксиальный кабель, ВОЛС

Гальваническая развязка

Отсутствует

Отсутствует

Присутствует

Тип кодирования

DS-кодирование

DS-кодирование

8b-10b-кодирование

Механизм прерываний

Отсутствует

Присутствует

Присутствует

Формат символов данных, управляющих символов и кодов

Символы данных, управляющие символы и коды (см. 7.2, 7.3, ECSS-E-ST-50-12С)

Определены дополнительные управляющие коды для распространения прерываний и подтверждений прерываний

Определены дополнительные управляющие символы и коды для распространения прерываний и подтверждений прерываний

Машина состояний уровня обмена

Машина состояний канального интерфейса SpaceWire (см. 8.5, ECSS-E-ST-50-12С)

Изменены условия перехода из состояния Started в состояние Connecting, а также в условие перехода из состояния Connecting в состояние Run. Для перехода в эти состояния требуется не только получить сигналы NULL и FCT, но и отправить их

В машине состояний отсутствует состояние, аналогичное состоянию "Ожидание", определенному для машины состояний SpaceWire, и добавлено состояние "Соединение установлено", аналогичное которому отсутствует в машине состояний SpaceWire. Изменены условия перехода в состояние "Перезагрузка" с учетом появления эластичного буфера. Остальные переходы изменены с учетом появления новых служебных данных

Приоритеты передачи символов и кодов

Time-код (высший приоритет).

FCT-символ.

Информационный символ.

NULL-символ (низший приоритет)

Time-код (высший приоритет).

Interrupt_Acknowledge-код.

Interrupt-код.

FCT-символ.

Информационный символ.

NULL-символ; низший приоритет

Comma-символ (высший приоритет)

Time-код.

Interrupt_Acknowledge-код.

Interrupt-Code-код.

FCT-символ.

Информационный символ.

IDLE (низший приоритет)

Приложение Б

(справочное)

Каналы GigaSpaceWire и SpaceWire в одной сети SpaceWire-RUS

Рисунок Б.1 - Каналы GigaSpaceWire и SpaceWire в сетях SpaceWire-RUS

Приложение В

(обязательное)

Физический уровень SpaceWire. Облегченный кабель, соединитель облегченного кабеля и кабельная сборка с облегченным кабелем

В.1 Требования к облегченному кабелю SpaceWire заданы в [8].

В.1.1 Вес кабеля должен быть не более 42 г/м.

В.1.2 Диаметр кабеля должен составлять не более 6,5 мм.

В.1.3 Для выполнения требований к значениям величин скоса и джиттера сигналов, вносимых кабельным соединением, во всем диапазоне скоростей передачи данных, определенных настоящим стандартом (см. 5.3.4.3 и В.1.5), максимальная длина стандартного кабеля не должна превышать 10 м.

В.1.4 При передаче данных на малых скоростях при условии, что значения скоса и джиттера (см. приложение Г) на этих скоростях не превышают допустимые максимальные значения, допустимо использование кабеля длиной большей, чем 10 м.

В.1.5 Максимальные значения эксплуатационных параметров облегченного кабеля SpaceWire должны соответствовать данным, приведенным в таблице В.1.

Таблица В.1 - Максимальные значения эксплуатационных параметров облегченного кабеля SpaceWire

Параметр

Максимальное значение

Рабочее напряжение (эффективное), B

200

Рабочий ток, А

1,5

Рабочая скорость передачи информации, Мбит/с

400

Диапазон рабочей температуры, °С

От минус 100 до плюс 150

Диапазон температуры хранения, °С

От минус 50 до плюс 60

В.2 Конструкция облегченного кабеля SpaceWire показана на рисунке В.1.

В.2.1 В состав облегченного кабеля SpaceWire должны входить четыре скрученные между собой витые пары, наполнитель кабеля, экран кабеля и оболочка кабеля.

В.2.2 Каждая витая пара должна состоять из пары скрученных между собой сигнальных проводов, наполнителя витой пары и экрана витой пары.

В.2.3 Каждый сигнальный провод должен состоять из жилы и изоляции сигнального провода, расположенной поверх жилы.

1
- сигнальный провод 0,081 мм
(28 AWG) [19
0,00501 мм
(40 AWG)];
2
- наполнитель витой пары;
3
- изоляция сигнального провода;
4
- экран витой пары [0,00501 мм
(40 AWG)];
5
- витая пара;
6
- наполнитель кабеля;
7
- экран кабеля 0,00797 мм
(38 AWG);
8
- оболочка кабеля

Рисунок В.1 - Конструкция облегченного кабеля SpaceWire

В.2.3.1 Жила сигнального провода должна удовлетворять следующим требованиям:

- площадь сечения жилы должна составлять 0,081 мм
(28 AWG);

- жила должна выдерживать растяжение не менее 6,0%;

- предел прочности при растяжении жилы должен быть не менее 350 Н/мм
;

- максимальное электрическое сопротивление жилы постоянному току должно составлять не более 256 Ом/км;

- жила должна состоять из 19 металлических проволок.

В.2.3.2 Проволоки жилы сигнального провода витой пары должны удовлетворять следующим требованиям:

- проволоки должны быть изготовлены из высокопрочного медного сплава;

- проволоки должны иметь внешнее серебряное покрытие;

- толщина серебряного покрытия проволок должна быть не менее 2,0 мкм;

- количество проволок в жиле сигнального провода должно быть равно 19.

В.2.3.3 В качестве материала изоляции сигнального провода должен быть использован микропористый PTFE с применением технологических добавок.

В.2.3.4 Изоляции сигнальных проводов одной и той же витой пары должны отличаться друг от друга по цвету.

В.2.4 Каждая витая пара должна удовлетворять следующим требованиям:

- шаг скрутки двух сигнальных проводов витой пары должен составлять от 12 до 16 внешних диаметров неэкранированной витой пары;

- витые пары должны быть использованы с наполнителями.

Примечание - Наличие наполнителя необходимо для обеспечения постоянства волнового сопротивления витой пары по всей длине кабеля;

- в качестве материала наполнителя витых пар должен быть использован микропористый PTFE с необходимыми добавками, обеспечивающими нормальное функционирование;

- материал наполнителя витой пары должен быть вытянут или свернут из изоляционных лент в стержень;

- значение величины диаметра наполнителя витой пары должно составлять 0,75 мм;

- каждая витая пара должна быть защищена экраном витой пары;

- экран витой пары должен неплотно прилегать к витой паре, обладать свойством сохранения формы после окончания деформации и иметь коэффициент поверхностной плотности плетения не менее 90%;

- экраны витых пары могут соприкасаться друг другом и с экраном кабеля;

- экран витой пары должен быть выполнен из алюминиевой проволоки сечением 0,00501 мм
(40 AWG) с серебряным покрытием;

- толщина серебряного покрытия проволоки, используемой для изготовления экрана витой пары, должна быть не менее 2,5 мкм;

- максимальное растяжение, которое должна выдерживать проволока внутреннего экрана витой пары, должно составлять не менее 5%;

- волновое сопротивление каждой витой пары должно составлять (100±6) Ом;

- скос между сигналами, передаваемыми по одной и той же витой паре кабеля, должен быть не более 0,1 нс/м;

- скос между сигналами, передаваемыми по различным витым парам кабеля, должен быть не более 0,15 нс/м.

В.2.5 Длина одного шага скрутки четырех витых пар сигнальных проводов облегченного кабеля SpaceWire должна составлять от 12 до 16 внешних диаметров двух экранированных витых пар в оболочке.

В.2.6 Наполнитель облегченного кабеля SpaceWire должен удовлетворять следующим требованиям:

- наполнитель должен быть расположен в центре между четырьмя дифференциальными сигнальными парами;

- материал наполнителя должен быть выполнен из микропористого PTFE и только с необходимыми добавками, обеспечивающими нормальное функционирование наполнителя;

- материал наполнителя должен быть вытянут или свернут из изоляционных лент в стержень;

- диаметр наполнителя кабеля должен быть равен 1,4 мм.

В.2.7 Четыре экранированные витые пары должны быть защищены экраном кабеля, который должен удовлетворять следующим требованиям:

- неплотно прилегать к витым парам, обладать свойством сохранения формы и иметь коэффициент поверхностной плотности плетения не менее 90%;

- для изготовления внешнего экрана кабеля должна быть использована алюминиевая проволока с серебряным покрытием;

- площадь сечения проволоки экрана должна быть 0,00797 мм
(38 AWG);

- толщина серебряного покрытия проволоки экрана должна быть не менее 2,5 мкм;

- максимальное растяжение, которое должна выдерживать проволока внешнего экрана кабеля, - не менее 6%.

В.2.8 Оболочка кабеля должна удовлетворять следующим требованиям:

- оболочка кабеля выполняется обертыванием лентой из PTFE и лентой из полиимида, покрытой FEP, соединенными термосваркой;

- номинальное значение толщины ленты из PTFE должно составлять 0,05 мм;

- лента из PTFE должна быть обернута с перекрытием не более 50%;

- номинальное значение толщины ленты из полиимида, покрытой FEP, должно составлять 0,038 мм;

- лента из полиимида должна быть обернута с перекрытием не более 51%;

- номинальное значение толщины стенок из ленты PTFE должна составлять 0,1 мм;

- номинальное значение толщины стенок из полиимидной ленты, покрытой FEP, должна составлять 0,076 мм;

- на оболочке облегченного кабеля SpaceWire не должно быть маркировки.

Примечание - Давление на кабель, возникающее при нанесении маркировки, может оказать неблагоприятное воздействие на электрические характеристики кабеля.

В.3 Соединитель облегченного кабеля SpaceWire - это 9-контактный, микроминиатюрный соединитель D-типа с контактами под пайку в соответствии с ESCC 3401/071 или с обжимными контактами согласно ESCC 3401/077.

В.3.1 Приборные части соединителя облегченного кабеля SpaceWire должны удовлетворять следующим требованиям:

- приборные части соединителя должны иметь гнездовые контакты;

- для повышения устойчивости устройства к механическим ударам и вибрации следует использовать приборные части соединителя с гибкими контактами.

В.3.2 Кабельная часть соединителя облегченного кабеля SpaceWire должна удовлетворять следующим требованиям:

- идентификация контактов соединителя должна соответствовать данным, приведенным в таблице В.2 и на рисунке В.2;

- контакт 3 соединителя облегченного кабеля SpaceWire не используется;

- кабельная часть соединителя должна иметь штырьевые контакты;

- проводники облегченного кабеля SpaceWire напрямую припаиваются или обжимаются с контактами соединителя;

- экран кабеля должен соединяться с металлической оболочкой соединителя через малое (менее 1 Ом) сопротивление;

- экран кабеля облегченного SpaceWire должен быть заземлен.

Таблица В.2 - Идентификация контактов соединителя для облегченного кабеля SpaceWire

Номер контакта

Вид сигнала

Номер контакта

Вид сигнала

Номер контакта

Вид сигнала

1

Din+

4

Sout-

7

Sin-

2

Sin+

5

Dout-

8

Sout+

3

Не используется

6

Din-

9

Dout+

Рисунок В.2 - Идентификация контактов соединителя облегченного кабеля SpaceWire. Вид из прибора, на котором установлен соединитель, на приборную часть или снаружи прибора, на котором установлен соединитель, на кабельную часть соединителя облегченного кабеля SpaceWire

В.3.3 Контакты cоединителей и кабель должны быть соединены (см. таблицу В.3 и рисунок В.3).

Таблица В.3 - Сигналы контактов кабельного соединения облегченного кабеля

Сигнал на стороне А

Контакт на стороне А

Соединение сигнального провода с контактом соединителя

Контакт на стороне Б

Сигнал на стороне Б

Din+

1

Есть

9

Dout+

Din-

6

То же

5

Dout-

Sin+

2

"

8

Sout+

Sin-

7

"

4

Sout-

Экраны всех витых пар

3

Нет

3

Экраны всех витых пар

Sout+

8

Есть

2

Sin+

Sout-

4

То же

7

Sin-

Dout+

9

"

1

Din+

Dout-

5

"

6

Din-

Экран

Оболочка

"

Оболочка

Экран

1 - соединение экрана кабеля и металлической оболочки соединителя через малое сопротивление (менее 1 Ом); 2 - экраны витых пар соединены между собой и не соединены с выводом 3 соединителя

Рисунок В.3 - Соединение облегченного кабеля SpaceWire

В.3.3.1 Экраны витых пар кабеля Dout+ и Dout-, Sout+ и Sout-, Din+ и Din-, Sin+ и Sin- должны соединяться между собой и металлической оболочкой соединителя SpaceWire.

В.3.3.2 Пайка и обжатие должны соответствовать требованиям документа, в соответствии с которым применяют изделие, и требованиям отечественных стандартов, регламентирующих данные требования.

В.3.4 Соединитель кабеля должен иметь металлическую оболочку для обеспечения требуемого экранирования.

В.3.5 Металлическая оболочка соединителя кабеля должна соединяться с основной частью соединителя посредством малого сопротивления (менее 1 Ом).

Приложение Г

(обязательное)

Сигнальный уровень SpaceWire. Скос и джиттер, зависимость максимально достижимой скорости передачи данных от их значений

Г.1 Максимальная скорость передачи данных может изменяться в зависимости от системы и ее различных параметров, таких как длина кабеля, принцип реализации приемника/передатчика, схема кодирования. Максимальная скорость передачи данных ограничена значениями скоса и джиттера сигналов.

Г.2 Эффект скоса и джиттера D- и S-сигналов показан на рисунке Г.1.

1 - идеальный сигнал данных; 2 - идеальный сигнал строба; 3 - реальный сигнал данных (D); 4 - реальный сигнал строба (S); 5 - сигнал тактирования

Рисунок Г.1 - Скос и джиттер сигналов D и S

Г.3 На рисунке Г.1 использованы следующие обозначения:

-
- скос между
D
- и
S
-сигналами;
-
- джиттер
D
- или
S-
сигнала. Он одинаков для
D
- и
S
-сигналов, так как эти сигналы передаются по одинаковым путям (насколько это возможно);
-
- задержка в приемнике, которая начинается с момента изменения сигнала на линии
D
или
S
, включает в себя время на выполнение операции XOR по восстановлению тактового импульса и заканчивается передачей данных на вход приемника. Эта задержка может рассматриваться как время, необходимое для подачи данных на вход приемника после изменения сигнала на линии
D
или
S
;
-
- время удержания
D-
сигнала на входе приемника;
-
- единичный интервал или битовый интервал, вычисляемый по формуле
, (Г.1)
где
- скорость передачи данных по каналу;
-
- параметры
и
могут быть объединены для краткости спецификаций разделения последовательных фронтов
D
- и
S
-сигналов на входе
DS
-декодера:
; (Г.2)
, (Г.3)
где
- время предельного допуска.

Г.4 Максимальная скорость передачи данных по кабелю SpaceWire должна выбираться таким образом, чтобы время предельного допуска было более нуля

. (Г.4)

Приложение Д

(справочное)

Сигнальный уровень SpaceWire. Краткая информация о методе дифференциальных сигналов низкого напряжения (LVDS)

Д.1 SpaceWire использует для передачи информации передачу низковольтных дифференциальных сигналов (LVDS) с электрическими характеристиками, описанными в ANSI/TIA/EIA-644 [3].

Д.2 LVDS применяют для организации передачи данных между платами в одном устройстве и между устройствами, расположенными на расстояниях 10 м и более.

Д.3 Метод LVDS обладает следующим рядом свойств, способствующих удобству при передаче информации [4]:

а) малые шумы при переключениях источников питания, т.к. суммарный ток электропитания передатчика близок к постоянному, - величина отклонения от постоянного значения тока находится около плюс 3,5 мА для логической единицы и около минус 3,5 мА для логического нуля;

б) высокая устойчивость к разности заземляющих потенциалов приемника и передатчика - метод LVDS допускает разность заземляющих потенциалов до ±1 В;

в) низкая восприимчивость к внешним электромагнитным помехам, т.к. дифференциальный сигнал передается по витой паре;

г) низкий уровень излучаемых электромагнитных помех, т.к. малые равные по величине и противоположные по знаку токи создают малые электромагнитные поля, компенсирующие друг друга;

д) независимость от конкретного источника напряжения питания;

е) согласующий резистор на входе приемника 100 Ом;

ж) защита от сбоев путем перехода выхода приемника в высокоимпедансное состояние в следующих случаях:

1) питание на приемник подается, а питание на передатчик не подается,

2) во входной цепи приемника возникло короткое замыкание,

3) во входной цепи приемника произошел разрыв; и) относительно небольшая потребляемая мощность по цепям питания в схемах LVDS, составляющая обычно порядка 50 мВт на одну пару приемник-передатчик, в то время как при использовании методов ECL или PECL потребляемая мощность по цепям питания - около 120 мВт.

Д.4 На рисунке Д.1 показаны стандартные приемник и передатчик LVDS, соединенные кабелем или проводниками печатной платы с дифференциальным сопротивлением 100 Ом.

1 - источник постоянного тока; 2 - передатчик; 3 - передающая ось (100 Ом); 4 - приемник

Рисунок Д.1 - Работа LVDS

Д.5 В передатчике LVDS используют логические схемы с переключением постоянного тока. Источник постоянного тока вырабатывает ток со значением величины, равной приблизительно 3,5 мА, который проходит через передатчик, затем по линии передачи через резистор приемника сопротивлением 100 Ом и возвращается обратно в передатчик через передающую линию. Две пары транзисторных переключателей передатчика управляют направлением тока через резистор приемника. Когда транзисторные переключатели передатчика, обозначенные на рисунке Д.1 знаком "+", включаются, а транзисторные переключатели, обозначенные знаком "-", выключаются, ток начинает протекать по направлению, обозначенному стрелками, создавая положительное напряжение на резисторе приемника. Когда транзисторные переключатели, обозначенные знаком "-", включаются, а транзисторные переключатели, обозначенные знаком "+", выключаются, создается обратное направление тока и отрицательное напряжение на резисторе приемника.

Д.6 Приемники LVDS имеют на входе высокий импеданс, так что величина падения напряжения на согласующем резисторе составляет примерно +350 мВ при прохождении тока 3,5 мА.

Приложение Е

(справочное)

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

Е.1 На рисунке Е.1 показаны элементы типовой схемы канала SpaceWire, определяющие величины скоса и джиттера канала SpaceWire.

1 - кодер;

2
- передатчик;
3
- соединители;
4
- приемник;
5
- декодер;
а
- скос кодера, джиттер кодера;
б
- скос печатной платы;
в
- скос передатчика, джиттер передатчика;
г
- скос соединителя или печатной платы;
д
- скос кабеля, джиттер кабеля;
е
- скос приемника, джиттер приемника;
ж
- задержка
, задержка

Рисунок Е.1 - Вклады в величины скоса и джиттера канала SpaceWire

Е.2 В таблицах Е.1-Е.3 в качестве примера приведены значения скоса и джиттера элементов типового канала SpaceWire для трех различных значений скорости информационного обмена - 100, 200 и 400 Мбит/с.

Таблица Е.1 - Пример значений скоса и джиттера элементов типового канала SpaceWire при значении скорости информационного обмена, равном100 Мбит/с

Элемент

Джиттер данных
, нс
Джиттер строба
, нс
Скос
, нс
Интервал
, нс

Итого, нс

Скос кодера

-

-

0,50

-

-

Джиттер кодера

0,50

0,50

-

-

-

Скос печатной платы

-

-

0,05

-

-

Скос передатчика

-

-

1,00

-

-

Джиттер передатчика

0,50

0,50

-

-

-

Скос соединителя печатной платы

-

-

0,10

-

-

Итого передатчик

1,00

1,00

1,65

3,65

Джиттер кабеля

0,50

0,50

Скос кабеля

1,00

Итого кабель

0,50

0,50

1,00

2,00

Скос соединителя печатной платы

-

-

0,10

-

-

Скос приемника

-

-

1,50

-

-

Джиттер приемника

0,50

0,50

-

-

-

Скос печатной платы

-

-

0,05

-

-

Задержки приемника

-

-

-

1,00

-

Итого приемник

0,50

0,50

1,65

1,00

3,65

Итого система

2,00

2,00

4,30

1,00

8,30

Время предельного допуска

-

-

-

-

1,70

Таблица Е.2 - Пример значений скоса и джиттера элементов типового канала SpaceWire при значении скорости информационного обмена, равном 200 Мбит/с

Элемент

Джиттер данных
, нс
Джиттер строба
, нс
Скос
, нс
Интервал
, нс

Итого, нс

Скос кодера

-

-

0,50

-

-

Джиттер кодера

0,10

0,10

-

-

-

Скос печатной платы

-

-

0,05

-

-

Скос передатчика

-

-

0,07

-

-

Джиттер передатчика

0,20

0,20

-

-

-

Скос соединителя печатной платы

-

-

0,10

-

-

Итого передатчик

0,30

0,30

0,72

-

1,32

Джиттер кабеля

0,50

0,50

-

-

-

Скос кабеля

-

-

1,00

-

-

Итого кабель

0,50

0,50

1,00

-

2,00

Скос соединителя печатной платы

-

-

0,10

0,12

-

-

Скос приемника

0,20

0,20

-

-

-

Джиттер приемника

-

-

0,05

-

-

Скос печатной платы

-

-

-

1,00

-

Задержки приемника

0,20

0,20

0,27

1,00

1,67

Итого приемник

-

-

-

-

-

Итого система

1,00

1,00

1,99

1,00

4,99

Время предельного допуска

-

-

-

-

0,01

Е.3 Значения скоса и джиттера, приведенные в таблице Е.3, предполагают, что LVDS-передатчик или LVDS-приемник объединены с кодером и декодером.

Таблица Е.3 - Пример значений скоса и джиттера элементов типового канала SpaceWire при значении скорости информационного обмена, равном 400 Мбит/с

Элемент

Джиттер данных
, нс
Джиттер строба
, нс
Скос
, нс
Интервал
, нс

Итого, нс

Скос кодера

-

-

0,20

-

-

Джиттер кодера

0,10

0,10

-

-

-

Скос печатной платы

-

-

0,05

-

-

Итого передатчик

0,10

0,10

0,25

-

0,45

Джиттер кабеля

0,35

0,35

-

-

-

Скос кабеля (максимальная длина 5 м)

-

-

0,50

-

-

Итого кабель

0,35

0,35

0,50

-

1,20

Скос соединителя печатной платы

-

-

0,05

-

-

Джиттер приемника

0,10

0,10

-

-

-

Задержки приемника

-

-

-

0,50

-

Итого приемник

0,10

0,10

0,05

0,50

0,75

Итого система

0,55

0,55

0,80

0,50

2,40

Время предельного допуска

-

-

-

-

0,10

Приложение Ж

(справочное)

Графическое представление диаграмм состояний канального интерфейса SpaceWire-RUS

Ж.1 При графическом представлении диаграммы состояний канального интерфейса SpaceWire-RUS используют стиль, изображенный на рисунке Ж.1.

Рисунок Ж.1 - Вид диаграммы состояний

Ж.1.1 Состояния представлены в виде эллипсов, внутри которых указаны имена состояний: "Первое состояние", "Следующее состояние", "Другое состояние".

Ж.1.2 Действия, происходящие в данном состоянии, указаны в том же эллипсе под именем состояния, например "Действие 1".

Ж.1.3 Переходы из состояния в состояние обозначены стрелками.

Ж.1.4 Начальное условие "Начало" обозначено рядом со стрелкой, направленной из пустого места в начальное состояние.

Ж.1.5 Достаточное условие "Условие 1" перехода из одного состояния в другое обозначено рядом со стрелкой перехода.

Ж.1.6 Необходимое и достаточное условие перехода из одного состояния в другое, сторожевое, условие [Условие] означает, что переход может быть осуществлен только после выполнения данного условия и обозначен в квадратных скобках рядом со стрелкой перехода.

Ж.1.7 Безусловные переходы из "Первого состояния" в "Следующее состояние" обозначены стрелкой без указания условия рядом с ними.

Приложение И

(справочное)

Уровень обмена SpaceWire. Пример нормальной работы канала SpaceWire

И.1 При нормальной работе канала SpaceWire обе стороны находятся в состоянии "Рабочий режим", передавая и принимая Interrupt-коды, Interrupt_Acknowledge-коды, Time-коды, FCT-символы, информационные символы и NULL-коды.

И.2 Пример канала SpaceWire с хост-системой, которая содержит буфер приема, вмещающий 16 информационных символов.

И.2.1 Хост-система сообщает своему канальному интерфейсу о готовности принять 16 информационных символов, дважды посылая запрос на передачу FCT-символа в свой канальный интерфейс. Канальный интерфейс данной хост-системы посылает два FCT-символа на противоположную сторону канала SpaceWire.

И.2.2 После приема этих двух FCT-символов канальный интерфейс противоположной стороны канала SpaceWire увеличивает значение своего счетчика кредитов передачи с 0 до 16 и оповещает свою хост-систему о готовности передать 16 информационных символов.

И.2.3 Если хост-система на противоположной стороне имеет данные, предназначенные для передачи, то она пересылает их в канальный интерфейс, который отправляет данные по каналу хост-системе, пославшей запрос на прием 16 информационных символов стороне А. При передаче хост-системой каждого информационного символа на противоположную сторону канала SpaceWire ее канальный интерфейс уменьшает значение своего счетчика кредитов передачи на единицу до тех пор, пока значение счетчика не достигнет 0. Как только это произойдет, канальный интерфейс противоположной стороны канала SpaceWire оповещает хост-систему о своей неготовности к передаче 16 информационных символов.

И.2.4 16 информационных символов, принятые приемником канального интерфейса хост-системы, пославшей запрос на прием этих 16 информационных символов, помещаются во вмещающий 16 информационных символов буфер приема хост-системы.

И.2.5 Извлекая данные из буфера, хост-система освобождает место для приема новых данных. Как только свободное место в буфере станет достаточным для приема еще 8 информационных символов, хост-система сообщит об этом своему канальному интерфейсу. В результате канальный интерфейс данной хост-системы передает на противоположную сторону канала SpaceWire еще один FCT-символ, указывающий на готовность приема очередных 8 информационных символов.

Приложение К

(обязательное)

Состояния и условия возможных переходов между состояниями в машине состояний канального интерфейса SpaceWire-RUS

К.1 Состояния и условия возможных переходов между состояниями в машине состояний канального интерфейса SpaceWire-RUS приведены в таблице К.1.

Таблица К.1 - Таблица состояний канального интерфейса SpaceWire-RUS

Текущее состояние и условие перехода

Комментарий

Состояние "Перезагрузка"

Переход в это состояние происходит:

- или при перезагрузке канального интерфейса;

- или при недоступности канала SpaceWire в состоянии "Рабочий режим" или "Готовность";

- или при возникновении ошибки в любом другом состоянии

ЕСЛИ

тайм-аут "После 6,4 мкс" закончился,

ТО

машина состояний переходит из состояния "Перезагрузка" в состояние "Ожидание"

-

Состояние "Ожидание"

Переход в это состояние выполняется из состояния "Перезагрузка" после пребывания в состоянии "Перезагрузка" в течение 6,4 мкс

ЕСЛИ

-

(

(

Принят первый бит

И

Ошибка соединения

)

ИЛИ

(

Принят первый NULL-код

И

(

Ошибка контроля четности ИЛИ

Ошибка ESC-символа ИЛИ

принят FCT ИЛИ

принят N-Char ИЛИ

принят Time-код ИЛИ

принят Interrupt-код ИЛИ

принят Interrupt_Ack-код

)

)

)

ТО

осуществляется переход из состояния "Ожидание"

в состояние "Перезагрузка"

ИНАЧЕ

ЕСЛИ

тайм-аут "После 12,8 мкс" закончился,

ТО

машина состояний переходит из состояния "Ожидание" в состояние "Готовность"

Состояние "Готовность"

Переход в состояние выполняется из состояния "Ожидание" после того, как в состояние "Ожидание" принят первый бит

ЕСЛИ

-

(

(

Принят первый бит

И

Ошибка соединения

)

ИЛИ

(

Принят первый NULL-код

И

(

Ошибка контроля четности ИЛИ

Ошибка ESC-символа ИЛИ

принят FCT ИЛИ

принят N-Char ИЛИ

принят Time-код ИЛИ

принят Interrupt-код ИЛИ

принят Interrupt_Ack-код

)

)

)

ТО

машина состояний переходит из состояния "Готовность" в состояние "Перезагрузка"

ИНАЧЕ

ЕСЛИ

канал доступен ([Link Enabled]),

ТО

машина состояний переходит из состояния "Готовность" в состояние "Запуск"

Состояние "Запуск"

Переход в состояние выполняется из состояния (Готовность), когда выполнено сторожевое условие ([Канал включен]=TRUE)

ЕСЛИ

(

-

Тайм-аут "После 12,8 мкс" закончился

ИЛИ

(

Принят первый бит

И

Ошибка соединения

)

ИЛИ

(

Принят первый NULL-код

И

(

Ошибка контроля четности ИЛИ

Ошибка ESC-символа ИЛИ

принят FCT ИЛИ

принят N-Char ИЛИ

принят Time-код ИЛИ

принят Interrupt-код ИЛИ

принят Interrupt_Ack-код

)

)

)

ТО

машина состояний переходит из состояния "Запуск" в состояние "Перезагрузка"

ИНАЧЕ

ЕСЛИ

передан NULL-код

ТО

машина состояний переходит из состояния "Запуск" в состояние "Соединение"

Состояние "Соединение"

Переход в состояние выполняется из состояния "Запуск" после получения NULL-кода и отправки NULL-кода (условия "Принят NULL" и "Принят первый бит" выполнены)

ЕСЛИ

-

(

Тайм-аут "После 12,8 мкс" закончился

ИЛИ

Ошибка соединения

ИЛИ

Ошибка контроля четности

ИЛИ

Ошибка ESC-символа

ИЛИ

(

принят N-Char ИЛИ

принят Time-Код ИЛИ

принят Interrupt-код ИЛИ

принят Interrupt_Ack-код

)

)

ТО

машина состояний переходит из состояния "Соединение" в состояние "Перезагрузка"

ИНАЧЕ

ЕСЛИ

(

принят FCT-символ

И

передан FCT-символ

)

ТО

машина состояний переходит из состояния "Соединение" в состояние "Рабочий режим"

Состояние "Рабочий режим"

Переход в состояние "Рабочий режим" выполняется из состояния "Соединение", когда принят и передан FCT-символ

ЕСЛИ

-

(

Ошибка соединения

ИЛИ

Ошибка контроля четности

ИЛИ

Ошибка ESC-символа

ИЛИ

(

Ошибка кредитования ИЛИ

Канал выключен)

)

ТО

машина состояний переходит из состояния "Рабочий режим" в состояние "Перезагрузка"

Приложение Л

(справочное)

Уровень обмена SpaceWire. Инициализация канала SpaceWire

Л.1 В данном приложении в качестве примера представлено описание инициализации канала SpaceWire, начиная с перезагрузки на одной стороне канала SpaceWire и заканчивая нормальным режимом работы канала SpaceWire и передачей данных по каналу SpaceWire в обоих направлениях.

Л.2 Диаграмма состояний канального интерфейса для каналов SpaceWire без отображения условий возникновения ошибок приемника показана на рисунке Л.1.

Рисунок Л.1 - Диаграмма состояний канального интерфейса SpaceWire

Л.3 После перезагрузки канального интерфейса на одной стороне канала SpaceWire осуществляется переход этого канального интерфейса в состояние "Перезагрузка" (см. 5.5.7.3). Канальный интерфейс находится в состоянии "Перезагрузка" в течение 6,4 мкс, затем переходит в состояние "Ожидание".

Л.4 В состоянии "Ожидание" передатчик остается отключенным, приемник включен и может принимать NULL-коды (см. 5.5.7.4).

Л.5 Канальный интерфейс остается в состоянии "Ожидание" в течение 12,8 мкс, затем переходит в состояние "Готовность" (см. 5.5.7.5). Если канал включен, то канальный интерфейс переходит из состояния "Готовность" в состояние "Запуск".

Л.6 В состоянии "Запуск" (см. 5.5.7.6) по команде канального интерфейса "Передача NULL-кодов" передатчик начинает отправлять NULL-коды. Если условия "Принят NULL-код" и "Отправлен NULL-код" в состоянии "Запуск выполнен", то канальный интерфейс переходит в состояние "Соединение".

Л.7 В состоянии "Соединение" (см. 5.5.7.7) канальный интерфейс отправляет FCT-символы и NULL-коды и ожидает приема FCT-символа. Если условия "Принят FCT-символ" и "Отправлен FCT-символ" выполнены, то канальный интерфейс переходит в состояние "Рабочий режим".

Л.8 Канальный интерфейс может передавать FCT-символы только после получения NULL-кода. Таким образом, после получения FCT-символа соединение в канале считается установленным в обоих направлениях.

Л.9 После перехода канала SpaceWire в состояние "Рабочий режим" (см. 5.5.7.8) устанавливается нормальный режим работы и осуществляются передача и прием символов данных и символов управления.

Л.10 В таблице Л.1 и на рисунке Л.2 представлен один из вариантов прохождения последовательности операций на обеих сторонах канала SpaceWire при инициализации канала.

Л.11 Корреляция c NULL-кодом (или любой другой метод синхронизации посредством обнаружения NULL-кода) в состояниях "Ожидание", "Готовность" и "Запуск" обеспечивает синхронизацию символов. Обмен NULL-кодами или FCT-символами обеспечивает установку соединения в канале в обоих направлениях перед началом нормальной работы.

Л.12 Период времени между моментом включения канала SpaceWire в состояние "Запуск" и входом в состояние "Рабочий режим" должен быть не меньше, чем время, необходимое для передачи двух NULL-кодов и одного FCT-символа.

Л.13 Обозначим для определенности одну сторону канала SpaceWire А стороной канала, а другую сторону канала Б стороной канала.

Л.14 Сторона A включается и отправляет NULL-код.Сторона Б, находящаяся в режиме автозапуска, принимает NULL-код, направленный стороной А, отправляет один NULL-код и затем один FCT-символ. Сторона A, получив NULL-код от стороны Б, отправляет в ответ FCT-символ. Обе стороны, приняв FCT-символы, переходят в состояние "Рабочий режим". Для канала SpaceWire со скоростью передачи данных 10 Мбит/с время обмена составит 2 мкс.

Таблица Л.1 - Пример инициализации канала SpaceWire

Cторона А

Сторона Б

Состояние канального интерфейса

Событие или условие, которое является причиной перехода из одного состояния в другое

Состояние канального интерфейса

Событие или условие, которое является причиной перехода из одного состояния в другое

Перезагрузка - 6,4 мкс

По истечении 6,4 мкс сторона A переходит в состояние "Ожидание"

Рабочий режим

Сторона Б никаких данных не получила в течение 850 нс и переходит в состояние "Перезагрузка"

Ожидание - 6,4 мкс

Через 12,8 мкс сторона A переходит в состояние "Готовность"

Перезагрузка - 6,4 мкс

По истечении 6,4 мкс сторона Б переходит в состояние "Ожидание"

Ожидание - 6,4 мкс

Ожидание - 6,4 мкс

-

Готовность ~0 мкс

Eсли на стороне A канал включен, то сторона A переходит незамедлительно в состояние "Запуск"

Ожидание - 0 мкс

-

Запуск.

Передача NULL-кодов

Сторона А отправила NULL-код. Ждет ответа от стороны Б

Ожидание - 6,4 мкс

Сторона Б приняла NULL-код в состоянии "Ожидание" и по истечении 12,8 мкс переходит в состояние "Готовность"

-

Готовность ~0 мкс

Eсли на стороне Б канал включен, сторона Б переходит в состояние "Запуск"

Запуск.

Передача NULL-кодов

Сторона A приняла NULL-код и переходит в состояние "Соединение"

Запуск.

Передача NULL-кодов

Сторона Б отправила NULL-код и переходит в состояние "Соединение" одновременно со стороной А

Соединение

Сторона Б отправляет FCT-символы и NULL-коды. Сторона A принимает FCT-символ и переходит в состояние "Рабочий режим"

Соединение

Сторона А отправляет FCT-символы и NULL-коды.

Сторона Б принимает FCT-символ и незамедлительно переходит в состояние "Рабочий режим"

Рабочий режим

Обе стороны в состоянии "Рабочий режим" и приступают к нормальному режиму работы, осуществляя прием и передачу информационных символов, FCT-символов и NULL-кодов

Рабочий режим

Обе стороны находятся в состоянии "Рабочий режим" и приступают к нормальному режиму работы, осуществляя прием и передачу информационных символов, FCT-символов и NULL-кодов

Рисунок Л.2 - Пример инициализации канала SpaceWire

Приложение М

(обязательное)

Восстановление системы после возникновения ошибки на одной из сторон канала SpaceWire

М.1 В соответствии с описанной в 5.5.6 моделью канального интерфейса - машиной состояний, представленной диаграммой состояний, показанной на рисунке 12, и таблицей состояний - таблицей К.1, восстановление системы после возникновения ошибки на одной из сторон канала SpaceWire происходит нижеприведенным образом.

М.2 Если на одной из сторон канала SpaceWire, например на стороне А, обнаружена ошибка, то с этой стороны канала должна быть прекращена передача данных.

М.3 На другой стороне канала SpaceWire (стороне Б) вследствие прекращения поступления данных возникает ошибка соединения (см. 5.5.14.3).

М.4 Если ошибка соединения возникла на стороне Б, то сторона Б также должна прекратить передачу данных, что должно вызвать ошибку соединения на стороне А и прекращение передачи данных со стороны А.

М.5 После того как обе стороны канала SpaceWire (сторона А и сторона Б) прекратили передачу, обе стороны канала SpaceWire должны пройти последовательность состояний "Перезагрузка", "Ожидание" и "Готовность".

М.6 Если обе стороны канала SpaceWire находятся в состоянии "Готовность" и сторожевое условие "Канал включен" на обеих сторонах выполнено, они должны перейти в состояние "Запуск" и закончить инициализацию после перехода через состояние "Соединение" в состояние "Рабочий режим".

М.7 Если обе стороны канала SpaceWire находятся в состоянии "Готовность" и одна сторона канала SpaceWire (сторона А) отключена, а другая сторона канала SpaceWire (сторона Б) включена, то следующая последовательность действий должна выполняться до тех пор, пока сторона А не будет включена либо пока сторона Б не будет выключена:

- сторона Б должна перейти в состояние "Запуск" и отправить NULL-код в течение 12,8 мкс;

- так как передатчик на стороне А выключен, то сторона А не может отвечать, но ее таймер определения разъединения находится в запущенном состоянии, и она должна зарегистрировать получение символа NULL;

- по истечении тайм-аута длительностью 12,8 мкс сторона Б должна перейти из состояния "Запуск" в состояние "Перезагрузка" и прекратить передачу;

- сторона А должна определить разъединение и также перейти в состояние "Перезагрузка";

- обе стороны должны опять пройти последовательность состояний "Перезагрузка", "Ожидание" и "Готовность".

Приложение Н

(справочное)

Описание и обработка исключений на уровне обмена SpaceWire

Н.1 Во время ожидания запуска на противоположной стороне канала определена ошибка соединения.

Н.1.1 Ожидание запуска означает, что канальный интерфейс находится в любом из следующих состояний: "Перезагрузка", "Ожидание", "Готовность" или "Запуск".

Н.1.2 Если одна из сторон SpaceWire (допустим, сторона А канала SpaceWire) находится в состоянии "Ожидание запуска", а другая сторона канала (сторона Б канала SpaceWire) - в состоянии "Запуск" и на стороне Б возникла ошибка соединения, тогда в канале могут иметь место события в следующей последовательности:

а) сторона Б переходит в состояние "Перезагрузка" и прекращает передачу данных;

б) если сторона А находится в состоянии "Перезагрузка", то должны произойти нижеприведенные события:

1) обе стороны канала SpaceWire оказываются в состоянии "Перезагрузка",

2) обе стороны канала SpaceWire проходят через последовательность переходов в состояния "Перезагрузка", "Ожидание" и "Готовность" до тех пор, пока соединение в канале не будет установлено либо пока оба канальных интерфейса не будут отключены,

в) если сторона А находится в одном из состояний "Ожидание", "Готовность" или "Запуск", то должны произойти нижеприведенные события:

1) на стороне А истекает время ожидания NULL-кода со стороны Б, сторона А переходит в состояние "Перезагрузка", прекращает передачу данных, вызывая таким образом разъединение канала,

2) обе стороны канала SpaceWire находятся в состоянии "Перезагрузка",

3) обе стороны канала SpaceWire проходят через последовательность переходов в состояния "Перезагрузка", "Ожидание" и "Готовность" до тех пор, пока соединение в канале не будет установлено либо пока оба канальных интерфейса не будут отключены.

Н.1.3 Альтернативным вариантом ситуации с определением ошибки соединения является физическое разъединение канала. При физическом разъединении обе стороны, А и Б, канала пытаются восстановить соединение циклически, проходят последовательность перезагрузки до тех пор, пока обе стороны не будут отключены или пока соединение в канале не будет восстановлено.

Н.1.4 В таблицах Н.1 и Н.2 (о состояниях канальных интерфейсов) приведены последовательности событий в канале SpaceWire, которые могут иметь место при инициализации канала после определения ошибки соединения во время ожидания запуска на стороне А канала SpaceWire.

Таблица Н.1 - Сторона A в состоянии "Перезагрузка"

Cторона А

Сторона Б

Состояние канального интерфейса во время ожидания запуска

Событие или условие, которое является причиной перехода в новое состояние канального интерфейса

Состояние канального интерфейса

Событие или условие, которое является причиной перехода в новое состояние канального интерфейса

"Перезагрузка"

-

"Запуск"

Истечение времени ожидания NULL-кода от стороны А или определение ошибки соединения на стороне Б

"Перезагрузка"

-

Таблица Н.2 - Сторона A в состоянии "Ожидание", или "Готовность", или "Запуск"

Cторона А

Сторона Б

Состояние канального интерфейса

Событие или условие, которое является причиной перехода в новое состояние канального интерфейса

Состояние канального интерфейса

Событие или условие, которое является причиной перехода в новое состояние канального интерфейса

"Ожидание", или "Готовность", или "Запуск"

-

"Запуск"

На стороне Б определена ошибка соединения или закончился тайм-аут 12,8 мкс во время ожидания NULL-кода

На стороне Б остановлена передача Null-кодов. Определение ошибки соединения на стороне А

"Перезагрузка"

-

"Перезагрузка"

-

Н.2 Соединение в канале установлено только в одном направлении.

Н.2.1 Соединение в канале может оказаться установленным только в одном направлении как из-за временных различий при установке соединения по обоим направлениям, так и вследствие возникновения разъединения в канале.

Н.2.2 Последовательность событий, происходящих после того, как обе стороны перешли в состояние "Запуск" и при этом соединение от стороны А к стороне Б установлено, а соединение от стороны Б к стороне А не установлено, приведена в таблице Н.3.

Таблица Н.3 - Соединение в канале установлено только в одном направлении (A к Б)

Cторона А

Сторона Б

Состояние канального интерфейса

Событие или условие, которое является причиной перехода в новое состояние канального интерфейса

Состояние канального интерфейса

Событие или условие, которое является причиной перехода в новое состояние канального интерфейса

"Запуск"

Сторона Б отправляет NULL-коды стороне A, но сторона А их не получает, т.к. соединение в канале отсутствует в направлении от стороны Б к стороне А

"Запуск"

Сторона A отправляет NULL-коды на сторону Б. На стороне Б выполняется условие "Принят NULL-код", и до истечения 850 нс сторона Б переходит в состояние "Соединение"

Сторона Б отправляет NULL-коды и FCT-символы стороне A, но сторона А их не получает и по истечении 12,8 мс сторона A переходит в состояние "Перезагрузка"

"Соединение"

Сторона Б отправляет NULL-коды и FCT-символы стороне A и ожидает приема FCT-символов, но не получает их, т.к. сторона А не получила NULL-код

"Перезагрузка"

-

"Соединение"

Сторона A прекратила передачу данных. На стороне Б определяется ошибка соединения или истекает тайм-аут 12,8 мс, и сторона Б переходит в состояние "Перезагрузка"

"Перезагрузка"

-

"Перезагрузка"

-

Н.3 В процессе ожидания запуска канала SpaceWire определена ошибка контроля четности.

Н.3.1 Ошибка контроля четности может быть определена только после получения NULL-кода.

Н.3.2 Последовательности событий, которые могут иметь место в канале SpaceWire после определения в процессе ожидания запуска канала ошибки контроля четности и соединения, идентичные.

Н.4 Состояние канального интерфейса "Запуск" на одной стороне канала и разъединение канала на другой стороне

Последовательность событий, происходящих после того, как сторона А канала перешла в состояние "Запуск" в течение 12,8 мкс, до того момента, когда в состояние "Запуск" перешла сторона Б канала, представлена в таблице Н.4.

Таблица Н.4 - Запуск на одной стороне канала и разъединение на другой стороне

Cторона А

Сторона Б

Состояние канального интерфейса

Событие или условие, которое является причиной перехода в новое состояние канального интерфейса

Состояние канального интерфейса

Событие или условие, которое является причиной перехода в новое состояние канального интерфейса

"Запуск"

На стороне A NULL-код не принят, закончился тайм-аут соединения 12,8 мкс, сторона A переходит в состояние "Перезагрузка"

"Готовность"

Сторона Б, находясь в состоянии "Готовность", только что включена и совершает переход в состояние "Запуск"

"Перезагрузка"

-

"Запуск"

Сторона Б получила NULL-код от стороны A, когда сторона А была в состоянии "Запуск", и переходит в состояние "Соединение"

"Соединение"

Сторона A прекращает передачу, вызывает возникновение ошибки соединения на стороне Б. Сторона Б переходит в состояние "Перезагрузка"

"Перезагрузка"

-

Н.5 Соединение по линии D установлено, по линии S не установлено.

Н.5.1 Если соединение по линии
D
установлено, а по линии
S
не установлено, то сигнал тактовой синхронизации приемника будет соответствовать сигналу линии
D
таким образом, что при каждом изменении уровня сигнала на линии
D
будет появляться фронт импульса тактовой синхронизации приемника, и в результате приемник будет получать последовательность битов
.

Н.5.2 Если разъединение на линии S обнаружено в процессе инициализации канала SpaceWire, то должна происходить следующая последовательность событий:

- получение последовательности битов
, т.к. она не представляет собой NULL-код, определяют как ошибку последовательности символов;

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

Н.5.3 Если разъединение на линии
S
произошло в рабочем режиме после приема NULL-кода, то при приеме последовательности битов
должна происходить следующая последовательность событий:
- определена ошибка контроля четности в том случае, когда последовательность
будет рассмотрена как набор символов управления (по 4 бита), и тогда канальный интерфейс будет циклически проходить состояния "Перезагрузка", "Ожидание", "Готовность" и "Запуск" до тех пор, пока соединение по линии
S
не будет восстановлено либо пока канал SpaceWire не будет отключен;
- не определена ошибка контроля четности в том случае, когда последовательность
рассмотрена как 10 битов символа данных, и тогда канальный интерфейс будет получать непрерывную последовательность символов данных со значением AA16.

Примечание - При передаче символа данных младший значащий бит передается первым.

Н.6 Соединение по линии D не установлено, а по линии S установлено.

Н.6.1 Если соединение по линии
D
не установлено, а по линии
S
установлено, то сигнал тактовой синхронизации приемника будет соответствовать
S
-сигналу, т.е. при каждом изменении уровня
S-
сигнала на линии
S
будет появляться новый фронт импульса тактовой синхронизации приемника. Канальный приемник будет получать последовательность битов
, если сигнальный вход линии
D
замыкается при разъединении на логическую единицу, или последовательность битов
, если линия
D
заземлена.

Н.6.2 Если разъединение на линии D произошло в процессе инициализации канала SpaceWire, то должна происходить следующая последовательность событий:

- определена ошибка последовательности символов;

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

Н.6.3 Если разъединение на линии D произошло в рабочем состоянии после приема NULL-кода, тогда:

- возникает ошибка контроля четности как в случае извлечения управляющих символов из последовательности битов
, так и в случае извлечения символов данных из последовательности битов
;

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

Н.7 Разъединение одной стороны дифференциальной пары

Последствие разъединения одной стороны дифференциальной пары зависит от значений внутренних резисторов смещения канального интерфейса, длины кабеля заземляющих устройств. Возможны три случая:

- D- и S-сигналы принимаются корректно, но уровень помехоустойчивости значительно ниже. Канал SpaceWire продолжает работать с существенным увеличением количества выявленных ошибок контроля четности;

- S-сигнал установлен в значение "0" или "1". Этот случай аналогичен результату, когда соединение по линии D установлено, а по линии S не установлено;

- D-сигнал установлен в значение "0" или "1". Этот случай аналогичен результату, когда соединение по линии S установлено, а по линии D не установлено.

Приложение П

(справочное)

Рассогласование системного времени в сети SpaceWire-RUS

П.1 Величина рассогласования системного времени при распространении по сети зависит от количества тех каналов в сети, по которым происходит распространение, и от скорости работы каждого канала.

П.2 Задержка передачи Time-кода для каждого канала составляет не менее 14 битовых интервалов (задержка ESC-символа составляет не менее 4 битов и задержка символа данных - не менее 10 битов), необходимых каждому канальному интерфейсу на принятие Time-кода. В результате скос времени при передаче Time-кода по сети
вычисляют по формуле
, (П.1)
где
- количество каналов, через которые передается код времени;
- средняя скорость передачи (1 бита) по каналам.
П.3 Для каждого канального интерфейса существует джиттер, который возникает вследствие различий во времени передачи текущего символа или управляющего кода перед передачей Time-кода. Для каждого канала длительность данной задержки на передачу текущего символа или кода может составить от 0 до 10 битовых интервалов. При передаче по сети это дает увеличение суммарного джиттера,
определяют по формуле
. (П.2)
П.4 При передаче через десять каналов и средней рабочей скорости каждого канала, равной 100 Мбит/с, в соответствии с формулами (П.1) и (П.2) значение скоса времени
составит 1,4 мкс, а значение джиттера
- 1,0 мкс.

П.5 Реальные скос и джиттер могут превышать указанные выше значения в зависимости от реализации канального интерфейса. В сети с механизмом распространения системного времени с помощью Time-кодов рассогласование системного времени менее чем на 10 мкс трудно достижимо.

П.6 При использовании сигнала TICK_OUT в качестве сигнала тактирования возможны потери этого сигнала при потере Time-кода в сети.

П.7 Сигнал Tick_Out не следует использовать для обновления значения счетчика времени при проверке соответствия текущего значения счетчика времени системному времени.

П.8 При установке сигнала Tick_Out обновление значения счетчика времени в соответствии с системным временем должно производиться с помощью ФАПЧ.

Приложение Р

(справочное)

Реакция системы GigaSpaceWire на команду PHY_Enabled

Р.1 Если функционирование сигнального уровня на одной из сторон канала (сторона А) запрещено по команде PHY_Enabled в один из тех моментов, когда машины состояний уровня обмена канала на обеих сторонах канала находились в рабочем режиме, то возможны следующие последовательности событий на уровнях обмена обеих сторон канала:

- на стороне А уровень обмена данного канального интерфейса перестанет принимать символы от сигнального уровня и по этой причине обнаружит разъединение;

- машина состояний уровня обмена стороны А перейдет в состояние "Перезагрузка" в результате обнаружения или ошибки соединения, или ошибки декодирования;

- приемник сигнального уровня канального интерфейса противоположной стороны канала (сторона Б) потеряет битовую синхронизацию, и будет обнаружена или ошибка соединения, или ошибка декодирования;

- машина состояний уровня обмена стороны Б канала перейдет в состояние "Перезагрузка".

Р.2 Описанные последовательности событий на уровнях обмена обеих сторон канала представлены в таблице Р.1.

Таблица Р.1 - Пример реакции системы GigaSpaceWire на команду PHY_Enabled

Cторона А

Сторона Б

Состояние канального интерфейса

Событие или условие, которое является причиной перехода в новое состояние канального интерфейса

Состояние канального интерфейса

Событие или условие, которое является причиной перехода в новое состояние канального интерфейса

"Рабочий режим"

-

"Рабочий режим"

На стороне Б определена ошибка соединения или ошибка декодирования

Потеря битовой синхронизации на стороне А.

Определение ошибки соединения или ошибка декодирования на стороне А

"Перезагрузка"

-

"Перезагрузка"

-

Приложение С

(справочное)

Представление пакетов данных SpaceWire-RUS

С.1 Пакет данных в настоящем стандарте представляется в двух видах: графическом и тестовом.

С.1.1 При текстовом представлении каждое поле пакета данных заключается в скобки <>. Поля пакета записывают слева направо в порядке их передачи следующим образом:

<Первое поле> <Следующие поля> <Последнее поле>.

С.1.2 При графическом представлении пакета данных используют стиль, изображенный на рисунке С.1.

Рисунок С.1 - Графическое изображение пакета данных

С.1.3 При передаче данных в сети поле, изображенное на рисунке С.1 слева, передается первым.

Приложение Т

(справочное)

Сетевой уровень. Базовая концепция маршрутизации пакетов для сетей SpaceWire-RUS

Т.1 В сетях SpaceWire-RUS допускается использование следующих видов маршрутизации: червячной маршрутизации, маршрутизации с помощью удаления заголовка, маршрутизации с использованием виртуальных каналов, групповой адаптивной маршрутизации.

Т.1.1 Червячная маршрутизация - особый метод маршрутизации пакетов.

Т.1.1.1 Каждый пакет содержит заголовок с адресом назначения пакета, представляющий собой либо идентификатор получателя, либо путь по сети.

Т.1.1.2 Червячная маршрутизация, используемая в передаче пакета от одного узла сети SpaceWire-RUS до другого через МК, показана на рисунке Т.1.

а) МК принял заголовок пакета и проверяет требуемый выходной порт

б) Требуемый порт свободен. МК установил соединение между входным и выходным портами и передает пакет

в) Передав ЕОР-маркер, МК завершает соединение и освобождает выходной порт

Примечание - Заголовок пакета обозначен черным цветом, остальная часть - серым цветом.

Рисунок Т.1 - Червячная маршрутизация

Т.1.1.2.1 МК (рисунок Т.2) выполняет следующие действия:

- принимает заголовок - адрес;

- проверяет требуемый выходной порт.

Т.1.1.2.2 Если после проверки (Т.1.1.2.1) оказалось, что требуемый выходной порт свободен (рисунок Т.1), то МК выполняет следующие действия:

- устанавливает соединение между входным и выходным портами;

- принимает и передает пакет;

- если принимает символ конца пакета (EOP или EEP), то разрывает соединение и освобождает выходной порт для следующего пакета.

Т.1.1.2.3 Если после проверки (Т.1.1.2.1) оказалось, что требуемый выходной порт занят, то входной порт МК перестает посылать FCT-символы передатчику узла-источника и останавливает прием пакета до тех пор, пока выходной порт МК не закончит передачу текущего пакета и не освободится для передачи нового пакета.

Т.1.1.3 Червячная маршрутизация снижает требуемый размер буферов, используемых в каждом МК, по сравнению со способом передачи данных с промежуточным накоплением, когда сначала весь пакет сохраняется в буфере МК, а затем передается дальше.

Т.1.2 Удаление заголовка

Т.1.2.1 Удаление заголовка показано на рисунке Т.2.

Рисунок Т.2 - Удаление заголовка

Т.1.2.2 Первый идентификатор назначения в заголовке пакета использован для определения номера выходного порта МК. Когда пакет принят, проверяют первый идентификатор назначения для определения выходного порта. Затем первый идентификатор назначения удаляется, и пакет передается через МК без идентификатора. Следующий идентификатор назначения в заголовке (теперь он является первым) будет использован при последующей маршрутизации данного пакета.

Т.1.2.3 На рисунке Т.3 в качестве примера показана передача пакета с удалением заголовка через два МК. Адрес назначения пакета состоит из трех идентификаторов назначения. Первый МК использует первый идентификатор для определения номера требуемого выходного порта и затем удаляет его. Второй МК использует второй идентификатор для определения номера выходного порта и удаляет его. В итоге пакет прибывает к получателю с третьим идентификатором назначения в заголовке, который может быть использован для определения адреса назначения пакета внутри узла.

а) Удаление заголовка поддерживается всеми МК

б) Удаление заголовка поддерживается только некоторыми МК

Примечание - Адрес назначения пакета состоит из трех идентификаторов назначения.

Рисунок Т.3 - Удаление заголовка

Т.1.2.4 Удаление заголовка может поддерживаться или всеми МК сети, или только выбранными. В последнем случае МК не может выполнять удаление заголовка до тех пор, пока не получит информацию об адресах, к которым применимо удаление заголовка.

Т.1.3 Маршрутизация пакетов с использованием виртуальных каналов

Т.1.3.1 Многие пакеты, идущие от различных источников и предназначенные различным получателям, могут передаваться по одному физическому каналу. Каждая пара источник-получатель образует виртуальный канал, который отображается на физическую сеть, состоящую из каналов и МК.

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

Т.1.4 Групповая адаптивная маршрутизация

Т.1.4.1 Групповая адаптивная маршрутизация позволяет передавать пакеты по сети в требуемый узел-получатель различными путями. Пример групповой адаптивной маршрутизации показан на рисунке Т.4.

Рисунок Т.4 - Групповая адаптивная маршрутизация

Т.1.4.2 Узел B посылает пакет узлу D при использовании логической адресации. Пакет посылается узлом B и принимается МК Х. Таблица маршрутизации МК Х указывает, что для передачи данного пакета должен быть применен выходной порт с номером три. Выходной порт с номером три в данный момент занят передачей другого пакета. Если МК Х и Y соединены тремя каналами SpaceWire-RUS, то для передачи данного пакета может быть использован любой свободный канал SpaceWire-RUS из этих трех.

Т.1.4.3 Перенаправление пакета в один из допустимых эквивалентных каналов именуют групповой адаптивной маршрутизацией; каналы SpaceWire-RUS, подключенные к одному получателю (узлу или МК), - группой. Любой канал SpaceWire-RUS из группы может быть использован для передачи пакета получателю.

Т.1.4.4 Групповая адаптивная маршрутизация может быть реализована на основе тех конфигурационных регистров МК, которые содержат информацию об эквивалентных выходных портах. Распределение пакетов по выходным портам требует использования схемы арбитрирования, которая должны быть реализована в МК. Как только требуемый выходной порт освобождается, доступ к освободившемуся порту получает пакет с наибольшим приоритетом адреса назначения.

Т.1.4.5 Групповая адаптивная маршрутизация представляет собой средство регулирования пропускной способности каналов SpaceWire-RUS, обеспечивающее эффективное использование доступных ресурсов сети.

Приложение У

(справочное)

Сетевой уровень. Методы адресации пакетов. Примеры сетей SpaceWire-RUS

У.1 Путевая адресация

У.1.1 При путевой адресации адрес назначения - последовательность номеров выходных портов МК.

У.1.2 Путевая адресация простая, но требует небольшого количества вентилей для реализации.

У.1.3 Недостатки путевой адресации:

- большой размер адреса назначения;

- размер адреса назначения может изменяться;

- сложность на источнике, коммутаторы простые.

У.2 Логическая адресация

У.2.1 При логической адресации каждый получатель в сети имеет уникальный номер. Для поддержания логической адресации каждый МК должен иметь таблицу маршрутизации. Таблица маршрутизации приведена в таблице У.1.

Таблица У.1 - Таблица маршрутизации

ЛА

Выходной порт

ЛА

Выходной порт

1

8

4

1

2

1

3

3

У.2.1.1 При логической адресации принятый пакет с ЛА 1 (таблица У.1) должен быть направлен в выходной порт с номером 8. Пакеты с ЛА 2 и 4 должны быть направлены в выходной порт с номером 1. Пакет с ЛА 3 должен быть направлен в выходной порт с номером 3.

У.2.1.2 Для сети приемлемого размера с логической адресации таблица маршрутизации может оказаться довольно значительной. Инициализация таблиц маршрутизации может быть реализована несколькими способами. Например, посредством применения отдельных управляющих или конфигурационных каналов. При использовании логической адресации основная сложность реализации ложится на МК, а не на узлы-источники, как в случае путевой адресации.

У.3 Региональная логическая адресация

У.3.1 Эта адресация может быть использована совместно с удалением заголовка. Тогда в таблице маршрутизации должна храниться информация об удалении или неудалении заголовка для каждого ЛА, что приводит к появлению многоуровневых схем логической адресации. Для передачи пакета локальному получателю используется одиночный ЛА, тогда как для передачи пакета более удаленному получателю использованы два и более ЛА (в зависимости от сети). В последнем случае первый ЛА - регион получателя, а второй ЛА - адрес получателя внутри данного региона. Когда пакет доставлен в регион получателя, МК, передающий пакет, удаляет первый ЛА, после чего ЛА локального получателя становится видимым для последующей локальной маршрутизации.

У.3.2 Использование региональной логической адресации позволяет сократить размер таблиц маршрутизации по сравнению с логической адресацией, но увеличивает размер заголовка (два или более символов данных) при передаче пакета между регионами.

У.4 Маркировка интервалов

У.4.1 Маркировка интервалов основана на ЛА. Адреса получателей группируются в смежные интервалы, например 1-3, 4-9, 10-32. Каждый интервал соответствует выходному порту так, что в приведенном примере пакеты с ЛА 1, 2 и 3 будут направлены через один выходной порт. Маркировка интервалов сокращает размеры таблиц маршрутизации и увеличивает скорость декодирования ЛА в МК.

У.4.2 Реализация маркировки интервалов является более сложной, чем логической адресации, но позволяет использовать таблицы маршрутизации меньшего размера.

У.5 Пример сети без региональной адресации

У.5.1 Пример сети без разделения на регионы показан на рисунке У.1. Узлы SpaceWire-RUS пронумерованы от N1 до N9, каждый узел имеет только один канальный интерфейс. МК SpaceWire-RUS пронумерованы от R1 до R4 и имеют по четыре канальных интерфейса.

У.5.2 Для передачи данных от узла N1 к узлу N3 с использованием путевой адресации формат пакета должен быть следующим:

<3><передаваемые данные>< EOP>.

У.5.3 Для передачи данных от узла N1 к узлу N8 с использованием путевой адресации формат пакета должен быть следующим:

<4><3><2><передаваемые данные>< EOP>.

У.5.4 Для передачи данных от узла N1 к узлу N3 с использованием логической адресации формат пакета должен быть следующим:

<43><передаваемые данные>< EOP>.

У.5.5 Для передачи данных от узла N1 узлу N8 с использованием логической адресации формат пакета должен быть следующим:

<163><передаваемые данные>< EOP >.

Рисунок У.1 - Пример сети SpaceWire-RUS

У.5.6 Пример таблиц маршрутизации для каждого МК изображен на рисунке У.2.

Рисунок У.2 - Пример таблиц маршрутизации для МК R1-R4

У.6 Пример сети с региональной логической адресацией

У.6.1 На рисунке У.3 показан пример сети с региональной логической адресацией, т.е. логической адресацией с удалением заголовка в выходном порте, соединяющем два региона.

У.6.2 На рисунке У.3 сеть разделена на два региона. Узлы второго региона перенумерованы, но ЛА узлов остались теми же. Структура новой сети идентична структуре сети на рисунке У.1. Один символ данных использован для определения ЛА внутри региона. В одном регионе может быть адресовано до 224 узлов. Некоторые ЛА внутри региона применяют в качестве маршрута в другие регионы. Количество регионов в сети не ограничено.

Рисунок У.3 - Пример сети SpaceWire-RUS с региональной адресацией

У.6.3 Для передачи данных от узла 1 к узлу 3 (оба в регионе 1) формат пакета должен быть следующим:

<43>< передаваемые данные ><EOP>.

У.6.4 Для передачи данных от узла 1 к узлу 5 (оба в регионе 1) формат пакета должен быть следующим:

<130>< передаваемые данные ><EOP>.

У.6.5 Для передачи данных от узла 1 (регион 1) к узлу 3 (регион 2) формат пакета должен быть следующим:

<109><162>< передаваемые данные ><EOP>,

где <109> - это ЛА, введенный для перехода между регионами 1 и 2 (из порта 3 МК 4 в порт 4 МК 3).

У.6.6 МК 4 удаляет первый символ данных в заголовке любого пакета, отправляемого через порт 3 или порт 4. МК 3 удаляет первый символ данных в заголовке любого пакета, отправляемого через порт 4.

Приложение Ф

(рекомендуемое)

Обработка ошибок на прикладном уровне

Ф.1 Интерфейс приложения не определен в полном объеме настоящим стандартом.

Ф.2 Типовой интерфейс приложения может содержать следующие сервисы:

- открыть канал - запустить канальный интерфейс и попытаться установить соединение с канальным интерфейсом на другой стороне канала;

- закрыть канал - остановить канал и разорвать соединение;

- записать пакет - послать пакет через канальный интерфейс;

- прочитать пакет - прочитать пакет из канального интерфейса;

- статус и конфигурация - прочитать текущий статус канального интерфейса и установить новую конфигурацию канала.

Ф.3 К типовым ошибкам, проверка которых может быть реализована в типовом интерфейсе приложения, относят:

- истечение тайм-аута инициализации канала;

- истечение тайм-аута передачи пакета;

- истечение тайм-аута приема пакета.

Ф.3.1 Истечение тайм-аута инициализации канала

Ф.3.1.1 Приложение может установить период тайм-аут соединения при попытках открыть канал.

Ф.3.1.2 Если соединение по каналу не установлено за указанный период соединения, то данный канал должен считаться неработоспособным, и приложение должно провести попытку использования другого канала.

Ф.3.2 Истечение тайм-аута передачи пакета

Ф.3.2.1 Приложение может установить период тайм-аута передачи пакета при попытках записи пакета в канальный интерфейс.

Ф.3.2.2 Если пакет не полностью передан за указанный период, то передатчик считается заблокированным и канальный интерфейс отключается.

Ф.3.2.3 Отключение канального интерфейса вызывает ошибку соединения и сброс канала SpaceWire.

Ф.3.2.4 После сброса канала канальный интерфейс включается повторно для переустановки соединения.

Ф.3.3 Истечение тайм-аута приема пакета

Ф.3.3.1 Приложение может установить период тайм-аута приема пакета при попытках приема пакета из канального интерфейса.

Ф.3.3.2 Если пакет не полностью принят за период тайм-аута приема пакета, то передатчик считается заблокированным и канальный интерфейс отключается.

Ф.3.3.3 Отключение канального интерфейса вызывает ошибку соединения и сброс канала.

Ф.3.3.4 После сброса канала канальный интерфейс включается повторно для переустановки соединения.

Приложение Х

(справочное)

Механизм распределенных прерываний. Общие сведения

Х.1 Технология SpaceWire может быть использована для построения интегрированной сетевой инфраструктуры для бортовых систем КА. В отличие от сетей предыдущего поколения в сетях SpaceWire могут одновременно передаваться потоки данных различных типов, такие как данные пользовательских приложений, данные для распределенной обработки в узлах сети, управляющие и служебные данные. Кроме того, сети SpaceWire предоставляют сервис передачи системного времени в той же коммуникационной среде, по которой осуществляется передача пользовательских и служебных данных. Данный сервис передачи в других сетевых стандартах, как правило, реализован посредством использования выделенных линий передачи.

Х.2 Можно выделить следующие причины, вследствие которых служебные сигналы реального времени принято передавать по выделенным линиям:

- служебные сигналы реального времени необходимо передавать с очень низкими задержками (как правило, максимально допустимая задержка составляет несколько микросекунд), так как они могут быть использованы для управления системой в критических ситуациях;

- на распространение служебных сигналов реального времени не должны влиять потоки данных других типов, передаваемых между узлами системы для обеспечения низкой задержки передачи данных и надежности;

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

Х.3 В целях упрощения и ускорения передачи и обработки служебных сигналов, передаваемых по выделенным линиям, их количество должно быть ограничено.

Х.4 Механизм распределенных прерываний стандарта SpaceWire наследует преимущества служебных сигналов реального времени, передаваемых по выделенным линиям, используя для передачи таких сигналов не выделенные линии, а единую коммуникационную среду.

Х.5 Ключевыми особенностями механизма распределенных прерываний являются низкая задержка передачи, простое конфигурирование и высокая надежность доставки информации.

Х.5.1 Низкая задержка передачи сигналов достигается благодаря небольшому размеру сигнала (14 битов), высокому приоритету по отношению к другим SpaceWire-кодам и возможности передавать такой сигнал даже по тем каналам SpaceWire, которые заблокированы передаваемыми по ним пакетами данных.

Х.5.2 Простое конфигурирование механизма означает отсутствие таблиц маршрутизации в коммутаторах сети, что снижает вероятность ошибочного конфигурирования и, следовательно, повышает надежность передачи сигналов реального времени.

Х.5.3 Высокая надежность доставки сигналов распределенных прерываний достигается использованием широковещательной рассылки сигналов распределенных прерываний, выполняемой в каждом коммутаторе, что обеспечивает информационную избыточность в сетях с аппаратной избыточностью и повышает вероятность результативной доставки сигналов.

Х.6 Механизм распределенных прерываний SpaceWire предназначен в первую очередь для передачи служебных сигналов реального времени, которые в стандартах предыдущих поколений передавались по выделенным линиям.

Х.7 Данный механизм не предназначен для передачи команд с параметрами, сигналов синхронизации, генерируемых с высокой (свыше 1 МГц) частотой, и т.д. Для решения этих задач необходимо разрабатывать другие механизмы.

Библиография

[1]

Стандарт Европейского космического агентства

ECSS-E-ST-50-12C

SpaceWire - Каналы, узлы, маршрутизаторы и сети

(SpaceWire - Links, nodes, routers and networks)

[2]

Спецификации Европейского

космического агентства

ESCC 3902/003

Кабель SpaceWire гибкий, c круглым сечением, четырехполосный, симметричный (от -200°С до +180°С)

(Сable, "spacewire", round, quad using symmetriccables, fexible, -200 to +180°С)

[3]

Стандарт Европейского космического агентства

ESCC 3401/071

Соединители электрические микроминиатюрные, паяные, с гнездовыми контактами, с корпусом EMI MDM-типа

(Connectors, Electrical, Rectangular, Microminiature, Solder Buckert Contacts with EMI Backshell)

[4]

Стандарт Европейского космического агентства

ESCC 3401/077

Соединители электрические, прямоугольные, микроминиатюрные, со съемными обжимными контактами MDM-типа

(Сonnectors, electrical, rectangular, microminiature, removable crimp contacts based on type MDM)

[5]

Ассоциация телекоммуникационной промышленности

ANSI/TIA/ EIA-644

Электрические характеристики дифференциальных сигналов низкого напряжения (LVDS) цепей интерфейсов

(Electrical Characteristics of Low Voltage Differential Signaling (LVDS) Interface Circuits)

[6]

Европейский центр космических исследований

и технологий ESTEC

С.М.Паркс. Высокая скорость, низкое напряжение, хорошая ЭМС - LVDS для обработки данных на борту. Материалы 6-го международного семинара по методам цифровой обработки сигналов для космических применений

(Parkes SM. High-Speed, Low-Power, Excellent EMC: LVDS for On-Board Data Handling, Proceedings of the 6th International Workshop on Digital Signal Processing Techniques for Space Applications)

[7]

Стандарт IEEE

Межсоединения с низким временем задержки и низкой себестоимостью, масштабируемые для построения параллельных систем

Standard 1355-1995

(Low-Cost, Low-Latency Scalable Serial Interconnect for Parallel System Construction)

[8]

Спецификации Европейского космического агентства

ESCC 3902/004

Кабели SpaceWire, облегченные по массе, гибкие, с круглым сечением, четырехполосные, симметричные (от -100°С до +150°С)

(Сable, low mass, "SpaceWire", round, quad using symmetric cables, fexible -100 to +150°С)

УДК 629.7:006.354

ОКС 49.090

Ключевые слова: интерфейсы и протоколы, информационный обмен, комплексирование бортовых систем, космический аппарат, SpaceWire-RUS, передача данных