61626

[i] SpaceWire, разрыв соединения


В МК К1986ВЕ8Т используем интерфейс SpaceWire. Скажите, пожалуйста, как действия выполняет контроллер SpaceWire при разрыве соединения? Интересует момент, когда разрыв соединения попадает на приём и передачу пакета.

Разрыв соединения вызовет переход из состояния Run (Рабочий режим) в состояние ErrorReset (Сброса). Это может произойти в случае возникновения ошибок или путём принудительного разрыва соединения (бит LINKDIS в регистре CONTROL). При этом действия контроллера SpaceWire при разрыве соединения регламентируются стандартом ECSS-E-ST-50-12C.

Если во время приёма пакета интерфейс канала переходит в состояние ErrorReset (Сброса), то приём пакета прекращается и выполняется заполнение текущего дескриптора приёмника:
записывается количество принятых символов N-Chars, тип конца пакета принудительно устанавливается EEP. Флаг RXDESC в регистре STATUS в этом случае не устанавливается.

Если во время передачи пакета интерфейс канала переходит в состояние ErrorReset (Сброса), при этом установленное в дескрипторе передатчика количество байт пакета не было передано,
то остаток пакета, который не был передан, не отбрасывается. После восстановления соединения передатчик досылает оставшуюся часть пакета, при этом в конце потока передаваемых данных принудительно отправляется символ конца пакета EEP, независимо от того, что было указано в дескрипторе передатчика.

Документация

Теги

Был ли ответ полезным?