Вы можете открыть актуальную версию документа прямо сейчас.
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.
Приложение Н
(справочное)
Описание и обработка исключений на уровне обмена 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 - Сторона А в состоянии "Перезагрузка"
Сторона А |
Сторона Б |
||
Состояние канального интерфейса во время ожидания запуска |
Событие или условие, которое является причиной перехода в новое состояние канального интерфейса |
Состояние канального интерфейса |
Событие или условие, которое является причиной перехода в новое состояние канального интерфейса |
"Перезагрузка" |
- |
"Запуск" |
Истечение времени ожидания NULL-кода от стороны А или определение ошибки соединения на стороне Б |
"Перезагрузка" |
- |
Таблица Н.2 - Сторона А в состоянии "Ожидание", или "Готовность", или "Запуск"
Сторона А |
Сторона Б |
||
Состояние канального интерфейса |
Событие или условие, которое является причиной перехода в новое состояние канального интерфейса |
Состояние канального интерфейса |
Событие или условие, которое является причиной перехода в новое состояние канального интерфейса |
"Ожидание", или "Готовность", или "Запуск" |
- |
"Запуск" |
На стороне Б определена ошибка соединения или закончился тайм-аут 12,8 мкс во время ожидания NULL-кода |
На стороне Б остановлена передача Null-кодов. Определение ошибки соединения на стороне А |
"Перезагрузка" |
- |
|
"Перезагрузка" |
- |
Н.2 Соединение в канале установлено только в одном направлении.
Н.2.1 Соединение в канале может оказаться установленным только в одном направлении как из-за временных различий при установке соединения по обоим направлениям, так и вследствие возникновения разъединения в канале.
Н.2.2 Последовательность событий, происходящих после того, как обе стороны перешли в состояние "Запуск" и при этом соединение от стороны А к стороне Б установлено, а соединение от стороны Б к стороне А не установлено, приведена в таблице Н.3.
Таблица Н.3 - Соединение в канале установлено только в одном направлении (А к Б)
Сторона А |
Сторона Б |
||
Состояние канального интерфейса |
Событие или условие, которое является причиной перехода в новое состояние канального интерфейса |
Состояние канального интерфейса |
Событие или условие, которое является причиной перехода в новое состояние канального интерфейса |
"Запуск" |
Сторона Б отправляет NULL-коды стороне А, но сторона А их не получает, т.к. соединение в канале отсутствует в направлении от стороны Б к стороне А |
"Запуск" |
Сторона А отправляет NULL-коды на сторону Б. На стороне Б выполняется условие "Принят NULL-код", и до истечения 850 нс сторона Б переходит в состояние "Соединение" |
Сторона Б отправляет NULL-коды и FCT-символы стороне А, но сторона А их не получает и по истечении 12,8 мс сторона А переходит в состояние "Перезагрузка" |
"Соединение" |
Сторона Б отправляет NULL-коды и FCT-символы стороне А и ожидает приема FCT-символов, но не получает их, т.к. сторона А не получила NULL-код |
|
"Перезагрузка" |
- |
"Соединение" |
Сторона А прекратила передачу данных. На стороне Б определяется ошибка соединения или истекает тайм-аут 12,8 мс, и сторона Б переходит в состояние "Перезагрузка" |
"Перезагрузка" |
- |
"Перезагрузка" |
- |
Н.3 В процессе ожидания запуска канала SpaceWire определена ошибка контроля четности.
Н.3.1 Ошибка контроля четности может быть определена только после получения NULL-кода.
Н.3.2 Последовательности событий, которые могут иметь место в канале SpaceWire после определения в процессе ожидания запуска канала ошибки контроля четности и соединения, идентичные.
Н.4 Состояние канального интерфейса "Запуск" на одной стороне канала и разъединение канала на другой стороне
Последовательность событий, происходящих после того, как сторона А канала перешла в состояние "Запуск" в течение 12,8 мкс, до того момента, когда в состояние "Запуск" перешла сторона Б канала, представлена в таблице Н.4.
Таблица Н.4 - Запуск на одной стороне канала и разъединение на другой стороне
Сторона А |
Сторона Б |
||
Состояние канального интерфейса |
Событие или условие, которое является причиной перехода в новое состояние канального интерфейса |
Состояние канального интерфейса |
Событие или условие, которое является причиной перехода в новое состояние канального интерфейса |
"Запуск" |
На стороне А NULL-код не принят, закончился тайм-аут соединения 12,8 мкс, сторона А переходит в состояние "Перезагрузка" |
"Готовность" |
Сторона Б, находясь в состоянии "Готовность", только что включена и совершает переход в состояние "Запуск" |
Состояние канального интерфейса |
Событие или условие, которое является причиной перехода в новое состояние канального интерфейса |
Состояние канального интерфейса |
Событие или условие, которое является причиной перехода в новое состояние канального интерфейса |
"Перезагрузка" |
- |
"Запуск" |
Сторона Б получила NULL-код от стороны А, когда сторона А была в состоянии "Запуск", и переходит в состояние "Соединение" |
"Соединение" |
Сторона А прекращает передачу, вызывает возникновение ошибки соединения на стороне Б. Сторона Б переходит в состояние "Перезагрузка" |
||
"Перезагрузка" |
- |
Н.5 Соединение по линии D установлено, по линии S не установлено.
Н.5.1 Если соединение по линии D установлено, а по линии S не установлено, то сигнал тактовой синхронизации приемника будет соответствовать сигналу линии D таким образом, что при каждом изменении уровня сигнала на линии D будет появляться фронт импульса тактовой синхронизации приемника, и в результате приемник будет получать последовательность битов 0101010101 2.
Н.5.2 Если разъединение на линии S обнаружено в процессе инициализации канала SpaceWire, то должна происходить следующая последовательность событий:
- получение последовательности битов 0101010101 2, т.к. она не представляет собой NULL-код, определяют как ошибку последовательности символов;
- канальный интерфейс циклически проходит состояния "Перезагрузка", "Ожидание", "Готовность" и "Запуск" до тех пор, пока не будет установлено полное соединение в канале либо пока канал SpaceWire не будет отключен.
Н.5.3 Если разъединение на линии S произошло в рабочем режиме после приема NULL-кода, то при приеме последовательности битов 0101010101 2 должна происходить следующая последовательность событий:
- определена ошибка контроля четности в том случае, когда последовательность 01010101010 2 будет рассмотрена как набор символов управления (по 4 бита), и тогда канальный интерфейс будет циклически проходить состояния "Перезагрузка", "Ожидание", "Готовность" и "Запуск" до тех пор, пока соединение по линии S не будет восстановлено либо пока канал SpaceWire не будет отключен;
- не определена ошибка контроля четности в том случае, когда последовательность 01010101010 2 рассмотрена как 10 битов символа данных, и тогда канальный интерфейс будет получать непрерывную последовательность символов данных со значением АА16.
Примечание - При передаче символа данных младший значащий бит передается первым.
Н.6 Соединение по линии D не установлено, а по линии S установлено.
Н.6.1 Если соединение по линии D не установлено, а по линии S установлено, то сигнал тактовой синхронизации приемника будет соответствовать S-сигналу, т.е. при каждом изменении уровня S-сигнала на линии S будет появляться новый фронт импульса тактовой синхронизации приемника. Канальный приемник будет получать последовательность битов 1111111111 2, если сигнальный вход линии D замыкается при разъединении на логическую единицу, или последовательность битов 00000000000 2, если линия D заземлена.
Н.6.2 Если разъединение на линии D произошло в процессе инициализации канала SpaceWire, то должна происходить следующая последовательность событий:
- определена ошибка последовательности символов;
- канальный интерфейс циклически проходит состояния "Перезагрузка", "Ожидание", "Готовность", "Запуск" до тех пор, пока не будет восстановлено полное соединение в канале либо пока канал SpaceWire не будет отключен.
Н.6.3 Если разъединение на линии D произошло в рабочем состоянии после приема NULL-кода, тогда:
- возникает ошибка контроля четности как в случае извлечения управляющих символов из последовательности битов 00000000000 2, так и в случае извлечения символов данных из последовательности битов 1111111111 2;
- канальный интерфейс будет циклически проходить состояния "Перезагрузка", "Ожидание", "Готовность", "Запуск" до тех пор, пока не будет восстановлено полное соединение в канале либо пока канал SpaceWire не будет отключен.
Н.7 Разъединение одной стороны дифференциальной пары
Последствие разъединения одной стороны дифференциальной пары зависит от значений внутренних резисторов смещения канального интерфейса, длины кабеля заземляющих устройств. Возможны три случая:
- D- и S-сигналы принимаются корректно, но уровень помехоустойчивости значительно ниже. Канал SpaceWire продолжает работать с существенным увеличением количества выявленных ошибок контроля четности;
- S-сигнал установлен в значение "0" или "1". Этот случай аналогичен результату, когда соединение по линии D установлено, а по линии S не установлено;
- D-сигнал установлен в значение "0" или "1". Этот случай аналогичен результату, когда соединение по линии S установлено, а по линии D не установлено.
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.