КОММУНИКАЦИОННОЕ УСТРОЙСТВО ДЛЯ ГАЛЬВАНИЧЕСКОЙ РАЗВЯЗКИ DS-ЛИНКА
COMMUNICATION DEVICE FOR DS-LINK GALVANIC ISOLATION

Изобретение представляет собой коммуникационное устройство (систему) для гальванической развязки DS-линка, расширяющее возможности применения коммуникационного интерфейса SpaceWire [ECSS Standard ECSS-E-50-12А, "SpaceWire, Links, Nodes, Routers and Networks", Issue 1, European Cooperation for Space Data Standardization, February 2003] и относится к цифровой вычислительной технике, а именно к высокоскоростным коммуникационным системам для высокопроизводительных многопроцессорных вычислительных систем с распределенной обработкой информации и локальным вычислительным сетям. Данное устройство предназначено, в частности, для использования при создании многопроцессорных вычислительных систем с распределенной архитектурой, используемых во встраиваемых применения, в том числе в распределенных бортовых вычислительных комплексах, а также при построении бортовых локальных сетей.
Известен параллельный коммуникационный интерфейс, используемый в коммутаторе LINK-портов для передачи и коммутации данных, представленных в виде байтов [Патент РФ на изобретение RU №2405196 C1. Коммутатор LINK-портов. Опубл. 27.11.2010 Бюл. №33, заявл. 04.05.2009, G06F 15/173 (2006.01)]. Задачей коммутатора является коммутация байтовых данных, поступающих по параллельному интерфейсу в виде сообщений, длина которых задается в заголовке сообщения. Коммутатор LINK-портов обеспечивает множественность путей доставки сообщений, исключение зацикливания сообщений и исключение блокировки сообщений за счет введения механизма таймаутов.
Недостатком данного подхода является необходимость использования сложного протокола коммутации сообщений, при котором через параллельный коммуникационный интерфейс передается значительный объем служебной информации в заголовке сообщения, что определяет высокий процент накладных расходов, снижающий пропускную способность коммуникационного интерфейса при передаче собственно данных. Кроме того, параллельный коммуникационный интерфейс имеет ограничение по длине кабеля, используемого только для соединения близко расположенных устройств на расстояниях, не превышающих нескольких метров.
В качестве другого аналога из уровня техники известен коммуникационный интерфейс, описанный в стандарте FibreChannel [Fibre Channel - Physical Interfaces - 2 (FC-PI-2), ISO 1.25.13.], в котором при передаче данных по последовательному коммуникационному каналу используется преобразование 8b/10b для представления восьмибитовых символов в виде 10-битовых кодов. В устройствах, взаимодействующих через данный коммуникационный интерфейс каждые восемь битов исходной последовательности заменяются 10 битами в соответствии с определенными правилами. В результате для 256 возможных комбинаций из восьми входных битов получается 1024 возможные комбинации для 10 выходных битов. Но разрешенными из этих 1024 комбинаций являются только 256, а остальные - запрещенными. Как правило, такая избыточность используется для того, чтобы повысить помехоустойчивость кодирования (если при приеме обнаруживается запрещенная последовательность, то распознается ошибка передачи). Кроме того, такая избыточность улучшает самосинхронизирующие свойства кода, поскольку исключает возможность появления в цепочке передаваемых битов длинных последовательностей нулей и единиц, что способствует, в конечном счете, повышению надежности работы устройства. При приеме данных осуществляется декодирование 8b/10b, то есть каждой группе из 10 битов сопоставляется восемь битов.
Известно устройство преобразования 8b/10b [US Patent 06977 5 99 B2. 8B/10B encoding and decoding for high speed applications, Apr 30, 2002]. Устройство содержит блок кодирования 8b/10b, выходной 10-разрядный сдвиговый регистр, обеспечивающий преобразование параллельных 10-битовых кодов в последовательный поток битов, выдаваемых в коммуникационный интерфейс, входной 10-разрядный сдвиговый регистр, обеспечивающий обратное преобразование последовательного потока битов в параллельные 10-битовые коды и блок декодирования 8b/10b. Устройство работает на локальной частоте в 10 раз меньшей частоты передачи битов в коммуникационном интерфейсе. Кодирование 8b/10b позволяет применять данный коммуникационный интерфейс для передачи данных в виде последовательности битов по одной линии в каждом направлении на большие расстояния по электрическим кабелям, достигающим несколько сотен метров, а по волоконно-оптическим кабелям - на расстояния порядка километра.
Недостаток устройств, использующих этот коммуникационный интерфейс для передачи кадров, состоит в том, что при этом в заголовке кадра передается значительный объем служебной информации. В случаях, когда в заголовке кадра задана малая длина поля данных, то этот заголовок определяет высокий процент накладных расходов, снижающий пропускную способность коммуникационного интерфейса при передаче собственно данных.
Известен последовательный коммуникационный интерфейс - DS-линк, реализующий способ DS-кодирования (Data-Strobe coding) в соответствии со стандартом SpaceWire [ECSS Standard ECSS-E-50-12A, "SpaceWire, Links, Nodes, Routers and Networks", Issue 1, European Cooperation for Space Data Standardization, February 2003] и широко применяемый для передачи потоков битов между обрабатывающими узлами в бортовых распределенных вычислительных комплексах. Использование в коммуникационном интерфейсе линий данных и строба (D- и S-сигналов) в каждом направлении позволяет обеспечить высокоскоростную передачу битов данных в широком диапазоне скоростей от 2 Мбит/с до 400 Мбит/с. Простая реализация процедуры формирования пакетов данных, основанная на применении служебных (управляющих) символов конца пакета ЕОР (End Of Packet), позволяет передавать символы данных в виде пакетов произвольной длины с низким процентом накладных расходов. Такая возможность упрощает структуру коммутационных узлов (коммутаторов и концентраторов), применяемых для передачи и коммутации битовых потоков от бортовых датчиков к обрабатывающим узлам в распределенных вычислительных комплексах и позволяет повысить пропускную способность интерфейса при передаче собственно данных.
Недостатком интерфейса SpaceWire является наличие джиттера D- и S-сигналов, что затрудняет его использование на расстояниях более 10 метров без ухудшения скоростных параметров интерфейса. Также наличие двух линий осложняет применение гальванической развязки из-за возникающих разных задержек на самой развязке, что существенно уменьшает надежность работы устройств SpaceWire в бортовых распределенных вычислительных комплексах.
Известно устройство коммуникационного интерфейса [PATENT GB №91304711.4. Communication interface for serial transmission of variable length data tokens / Priority 25.05.90, №9011700. Data of filing 24.05.91. Data of publication 27.11.91. Bulletin 91/48 of European Patent Office. Publication number 0458648A2] для использования в коммуникационной системе, обеспечивающей DS-кодирование при передаче данных в последовательном виде и соединяющей, как минимум, два компьютера, причем устройство коммуникационного интерфейса имеет входы данных и стробирования, которые соединены соответственно с линиями данных и стробирования канала приема информации, а выходы данных и стробирования устройства соединены соответственно с линиями данных и стробирования канала выдачи информации коммуникационного интерфейса. Устройство с помощью специальных управляющих символов управления потоком FCT (Flow Control Token) реализует механизм кредитования, позволяющий использовать буферы ограниченного размера для приема и передачи пакетов неограниченной длины.
Недостатком данного устройства коммуникационного интерфейса является ограничение расстояния между взаимодействующими сторонами и отсутствие гальванической развязки, что может вызывать отказы и неисправности из-за коротких замыканий.
Наиболее близким аналогом к заявляемому техническому решению является коммуникационная система, использующая для соединения двух хост-систем (компьютеров) в соответствии со стандартом SpaceWire соответственно два устройства коммуникационного интерфейса, взаимодействующих через DS-линк [Патент РФ по заявке на полезную модель №103013. Устройство коммуникационного интерфейса. Опубл. 20.03.2011, заявл. 26.05.2010, H04L 1/00 (2006.01)], каждое из которых имеет соединение с группой выходов системного интерфейса соответствующей хост-системы для передачи данных в DS-линк и соединение с группой входов системного интерфейса этой же хост-системы для передачи в нее принимаемых данных из DS-линка, причем устройство коммуникационного интерфейса (DS-макроячейка) содержит блок выдачи данных, блок приема данных, блок управления и блок управления потоком данных, выход запроса на выдачу символа управления потоком которого соединен с одноименным входом блока выдачи данных, выход готовности выдачи символа управления потоком которого соединен с одноименным входом блока управления потоком данных, входы подтверждения приема символа управления потоком и подтверждения приема информационного символа которого соединены соответственно с одноименными выходами блока приема данных и одноименными входами блока управления, выход статуса которого является одноименным выходом системного интерфейса DS-макроячейки, вход сброса системного интерфейса DS-макроячейки является входом сброса блока управления, первый и второй выходы сброса которого соединены с входами сброса соответственно блока выдачи данных и блока приема данных, вход чтения данных системного интерфейса DS-макроячейки является одноименным входом блока приема данных, выходы принятых данных и состояния буфера приема данных которого являются соответствующими выходами системного интерфейса DS-макроячейки, выход ошибки кредитования блока управления потоком данных соединен с одноименным входом блока управления, третий выход сброса которого соединен с входом сброса блока управления потоком данных, входы подтверждения выдачи информационного символа и разрешения приема данных которого соединены с одноименными выходами соответственно блока выдачи данных и блока приема данных, выход состояния буфера выдачи данных системного интерфейса DS-макроячейки является одноименным выходом блока выдачи данных, входы записи и данных для выдачи системного интерфейса DS-макроячейки являются соответствующими входами блока выдачи данных, вход разрешения передачи символа управления потоком которого соединен с одноименным выходом блока управления, вход состояния которого соединен с одноименным выходом блока приема данных, вход синхронизации которого является входом синхронизации системного интерфейса DS-макроячейки и соединен с одноименными входами блока управления, блока управления потоком данных и блока выдачи данных, выходы данных и стробирования которого являются соответственно выходами данных и стробирования коммуникационного интерфейса DS-макроячейки, входы данных и стробирования которого являются соответственно входами данных и стробирования блока приема информации.
Данное устройство коммуникационного интерфейса (DS-макроячейка) поддерживает в коммуникационной системе, пример построения которой показан на фиг.1а, передачу битов на скоростях до 400 Мбит/с. При этом оно позволяет передавать поток битов данных и стробов в DS-линке (коммуникационном интерфейсе) на частоте в два раза большей локальной частоты, на которой работают все остальные блоки устройства. Однако различное некратное кодирование символов SpaceWire, имеющих различную длину, не позволяет эффективно уменьшить локальную скорость относительно скорости передачи битов.
Недостатком этой коммуникационной системы является ограничение расстояния между взаимодействующими устройствами коммуникационного интерфейса в пределах до 10 метров, на котором обеспечивается максимум быстродействия при передаче данных по DS-линку, однако при превышении этого предела имеет место пропорциональное уменьшение пропускной способности DS-линка. Кроме того, отсутствие возможности использования гальванической изоляции устройств друг от друга, что не позволяет предотвращать отказы и неисправности из-за коротких замыканий.
В основу настоящего изобретения поставлена задача разработки коммуникационного устройства (системы) для гальванической развязки DS-линка, обеспечивающего за счет использования иной схемы кодирования возможность для известных устройств коммуникационного интерфейса в рамках существующих коммуникационных систем, построенных в соответствии со стандартом SpaceWire, осуществлять передачу битов данных на существенно большие расстояния по одножильному кабелю в каждую сторону при сохранении максимально возможного быстродействия, а также повышения надежности за счет возможности применения гальванической изоляции взаимодействующих устройств. Для этого два коммуникационных устройства, связанные кабелем требуемой длины, подключаются в разрыв DS-линка. При этом функции, структура известных устройств коммуникационного интерфейса и схема соединения каждого из них с хост-системой в модулях SpaceWire, определяемые стандартом SpaceWire, а также их скоростные характеристики не претерпевают никаких изменений.
Техническим результатом предлагаемого изобретения является расширение области применения известных устройств коммуникационного интерфейса, полностью соответствующих стандарту SpaceWire, благодаря обеспечению возможности взаимодействия на расстояниях, которые более чем на порядок превышают ограничения, предусмотренные стандартом SpaceWire, а также достижение более высоких показателей надежности и быстродействия по сравнению с известными аналогами. Предлагаемое коммуникационное устройство может применяться для связи любых устройств, имеющих интерфейс SpaceWire.
Технический результат достигается тем, что в предложенном коммуникационном устройстве для гальванической развязки DS-линка, содержащем DS-макроячейку, выходы данных и стробирования которой являются соответственно выходами данных и стробирования интерфейса DS-линка устройства, входы данных и стробирования которого являются соответственно входами данных и стробирования DS-макроячейки, причем DS-макроячейка содержит блок выдачи данных, блок приема данных, блок управления и блок управления потоком данных, выход запроса на выдачу символа управления потоком которого соединен с одноименным входом блока выдачи данных, выход готовности выдачи символа управления потоком которого соединен с одноименным входом блока управления потоком данных, входы подтверждения приема символа управления потоком и подтверждения приема информационного символа которого соединены соответственно с одноименными выходами блока приема данных и одноименными входами блока управления, выход статуса которого является одноименным выходом системного интерфейса DS-макроячейки, вход сброса системного интерфейса DS-макроячейки является входом сброса блока управления, первый и второй выходы сброса которого соединены с входами сброса соответственно блока выдачи данных и блока приема данных, вход чтения данных системного интерфейса DS-макроячейки является одноименным входом блока приема данных, выходы данных и состояния буфера приема данных которого являются соответствующими выходами системного интерфейса DS-макроячейки, выход ошибки кредитования блока управления потоком данных соединен с одноименным входом блока управления, третий выход сброса которого соединен с входом сброса блока управления потоком данных, входы подтверждения выдачи информационного символа и разрешения приема данных которого соединены с одноименными выходами соответственно блока выдачи данных и блока приема данных, выход состояния буфера выдачи данных системного интерфейса DS-макроячейки является одноименным выходом блока выдачи данных, входы записи и данных системного интерфейса DS-макроячейки являются соответствующими входами блока выдачи данных, вход разрешения передачи символа управления потоком которого соединен с одноименным выходом блока управления, вход состояния которого соединен с одноименным выходом блока приема данных, вход синхронизации которого является входом синхронизации системного интерфейса DS-макроячейки и соединен с одноименными входами блока управления, блока управления потоком данных и блока выдачи данных, выходы данных и стробирования которого являются соответственно выходами данных и стробирования коммуникационного интерфейса DS-макроячейки, входы данных и стробирования которого являются соответственно входами данных и стробирования блока приема информации, введены блок передачи, кодек 8b/10b, блок управления соединением, блок гальванической развязки и блок синхронизации, первый и второй выходы синхронизации которого соединены с входами синхронизации соответственно кодека 8b/10b и DS-макроячейки, выходы данных и признака конца принятого пакета которой соединены соответственно с входами данных и признака конца пакета блока передачи, выход запроса на чтение данных которого соединен с входом чтения данных DS-макроячейки, выходы состояния буфера выдачи и состояния буфера приема которого соединены соответственно с одноименными входами блока передачи, входы разрешения чтения и установления соединения которого соединены соответственно с одноименными выходами блока управления соединением, выходы разрешения записи и признака конца пакета которого соединены соответственно с входами записи и признака конца пакета для выдачи DS-макроячейки, вход данных которой соединен с входом принятого символа 8b блока управления соединением и с информационным выходом кодека 8b/10b, вход сброса которого соединен с входом сброса DS-макроячейки и с выходом сброса блока управления соединением, входы начальной установки и признака символа синхронизации которого соединены соответственно с входом начальной установки устройства и выходом признака символа синхронизации кодека 8b/10b, выход подтверждения синхронизации которого соединен с одноименным входом блока управления соединением, вход синхронизации которого соединен с выходом локальной синхронизации кодека 8b/10b и входом синхронизации блока передачи, выходы символа 8b и признака типа символа которого соединены соответственно с одноименными входами кодека 8b/10b, выход кодированных данных которого соединен с входом блока гальванической развязки, выход битового сигнала Out которого является одноименным выходом устройства, вход битового сигнала In которого является одноименным входом блока гальванической развязки, выход принятых кодированных данных которого соединен с одноименным входом кодека 8b/10b.
Предпочтительно блок передачи содержит первый счетчик, ПЗУ, мультиплексор, первый элемент И, второй элемент И, три входа которого являются соответственно входом разрешения чтения, входом установления соединения и входом состояния буфера приема блока передачи, выход второго элемента И соединен с первым входом первого элемента И и с первым разрешающим входом ПЗУ, управляющий вход которого является входом признака конца пакета блока передачи, вход состояния буфера передачи которого является вторым разрешающим входом ПЗУ, выход запроса на чтение данных блока передачи является выходом первого элемента И, второй инверсный вход которого соединен с третьим разрешающим входом ПЗУ и с выходом переноса первого счетчика, счетный вход которого является входом синхронизации блока передачи, вход данных которого является первым информационным входом мультиплексора, второй информационный вход которого соединен с выходом констант ПЗУ, выход признака типа символа которого является одноименным выходом блока передачи и соединен с управляющим входом мультиплексора, выход которого является выходом символа 8b блока передачи.
Предпочтительно блок управления соединением содержит дешифратор, триггер разрешения передачи, триггер установления соединения, второй счетчик, первый элемент ИЛИ, второй элемент ИЛИ, схему сброса, выход которой является выходом сброса блока установления соединения, первый вход схемы сброса соединен с выходом ошибки второго элемента ИЛИ и с первым входом сброса триггера установления соединения, выход установления соединения которого соединен со вторым входом схемы сброса и является выходом установления соединения блока управления соединением, вход начальной установки которого соединен с первым входом сброса триггера разрешения передачи, с третьим входом схемы сброса и со вторым входом сброса триггера установления соединения, вход синхронизации которого соединен со счетным входом второго счетчика и входом синхронизации блока управления соединением, входы принятого символа 8b и признака символа синхронизации которого соединены соответственно с первым и вторым входами дешифратора, выход селекции первого символа синхронизации которого соединен с первым входом первого элемента ИЛИ и с входом установки триггера разрешения передачи, выход селекции второго символа синхронизации дешифратора соединен со вторым входом первого элемента ИЛИ и вторым входом сброса триггера разрешения передачи, выход которого является выходом разрешения чтения блока управления соединением, выходы разрешения записи и признака конца пакета которого являются одноименными выходами дешифратора, разрешающий вход которого соединен с входом подтверждения синхронизации блока управления соединением и с первым инверсным входом второго элемента ИЛИ, второй вход которого соединен с выходом переноса второго счетчика, вход сброса которого соединен с выходом первого элемента ИЛИ и с входом установки триггера установления соединения.
Данное техническое решение обеспечивает результат за счет применения в коммуникационном устройстве для гальванической развязки DS-линка дополнительного преобразования с помощью 8b/10b кодирования символов SpaceWire, изначально передаваемых по DS-линку. Символы SpaceWire перекодируются в 10-битовые последовательности и передаются из этого коммуникационного устройства в одножильный коммуникационный канал. При приеме последовательности битовых сигналов из одножильного коммуникационного канала в удаленном устройстве осуществляются обратное выделение символов 10b, последующее их преобразование в символы SpaceWire и передача в DS-линк.
Таким образом, минуя два коммуникационных устройства для гальванической развязки DS-линка, взаимосвязанные двумя одножильными кабелями требуемой длины все символы канального и сетевого уровня стандарта SpaceWire без изменения и изъятия передаются из одного модуля SpaceWire в другой в прозрачном режиме, как если бы они были связаны просто DS-линком. В качестве модулей SpaceWire могут применяться как компьютеры (процессорные узлы), так и коммутаторы, порты которых связаны с помощью DS-линков в соответствии со стандартом SpaceWire. В результате этого решения появились условия для удаленного взаимодействия модулей SpaceWire в рамках бортовых распределенных вычислительных комплексов на расстояниях, значительно превышающих разрешенные параметры для кабелей по стандарту SpaceWire. Возможность использования одножильных кабелей для двустороннего соединения предлагаемых коммуникационных устройств создает условия для установки гальванической развязки на входе и выходе каждого из этих устройств. Кроме того, введение в предлагаемом коммуникационном устройстве для гальванической развязки DS-линка кодирования 8b/10b позволило понизить частоту локальной синхронизации относительно передающей в десять раз и упростило реализацию коммуникационного устройства на частоте локальной синхронизации в силу одинаковой кратности символов 8b/10b в отличие от изначально неодинаковой кодировки символов SpaceWire.
Детально сущность данного технического решения поясняется описанием со ссылками на чертежи, где на фиг.1 представлены варианты соединения модулей SpaceWire: а - непосредственное соединение через DS-линк; б - соединение через коммуникационные устройства для гальванической развязки DS-линка. На фиг.2 приведена структурная схема коммуникационного устройства для гальванической развязки DS-линка. На фиг.3 приведена функциональная схема блока передачи. На фиг.4 представлена функциональная схема блока управления соединением. На фиг.5 приведена реализация структурной схемы DS-макроячейки. На фиг.6 приведены временные диаграммы, поясняющие процесс установления соединения в коммуникационном устройстве, на фиг.7 - временные диаграммы, поясняющие процесс управления передачей символов 8b блоком передачи, на фиг.8 - временные диаграммы приема символов 8b в коммуникационном устройстве. На фиг.9(10) - представлена диаграмма состояний коммуникационного устройства. На фиг.10(11) приведен граф машины состояния, описывающий режимы функционирования DS-макроячейки.
Как показано на фиг.2, предлагаемое коммуникационное устройство 1 для гальванической развязки DS-линка содержит DS-макроячейку 2, блок 3 синхронизации, блок 4 передачи, кодек 5 8b/10b, блок 6 управления соединением, блок 7 гальванической развязки, вход 8 сигнала данных D in, вход 9 сигнала стробирования S in, выход 10 сигнала данных D out, выход 11 сигнала стробирования S out, вход 12 начальной установки, выход 13 битового сигнала Out, вход 14 битового сигнала In, выход 15 данных, выход 16 признака конца принятого пакета, выход 17 состояния буфера выдачи, выход 18 состояния буфера приема, первый выход 19 синхронизации, второй выход 20 синхронизации, выход 21 запроса на чтение данных, выход 22 символа 8b, выход 23 признака типа символа, выход 24 признака конца пакета, выход 25 разрешения записи, выход 26 разрешения чтения, выход 27 установления соединения, информационный выход 28, выход 29 признака символа синхронизации, выход 30 подтверждения синхронизации, выход 31 локальной синхронизации, выход 32 кодированных данных, выход 33 принятых кодированных данных, выход 34 сброса.
Блок 4 передачи (см. фиг.3) содержит первый счетчик 35, первый элемент 36 И, второй элемент 37 И, ПЗУ 38, мультиплексор 39, вход 40 данных, вход 41 признака конца пакета, вход 42 состояния буфера выдачи, вход 43 разрешения чтения, вход 44 установления соединения, вход 45 состояния буфера приема, вход 46 синхронизации, выход 47 констант, выход 48 переноса, выход 49 второго элемента 37 И, выход 21 запроса на чтение данных, выход 22 символа 8b, выход 23 признака типа символа.
Блок 6 управления соединением (см. фиг.4) содержит дешифратор 52, триггер 53 разрешения передачи, триггер 54 установления соединения, второй счетчик 55, первый элемент 56 ИЛИ, второй элемент 57 ИЛИ, схему 58 сброса, вход 59 принятого символа 8b, вход 60 признака символа синхронизации, вход 61 синхронизации, вход 62 подтверждения синхронизации, выход 63 селекции первого символа синхронизации, выход 64 селекции второго символа синхронизации, выход 65 поддержки соединения, выход 66 переноса, выход 67 ошибки соединения, вход 12 начальной установки, выход 24 признака конца пакета, выход 25 разрешения записи, выход 26 разрешения чтения, выход 27 установления соединения, выход 34 сброса.
DS-макроячейка 2 (см. фиг.5) содержит блок 70 выдачи данных, блок 71 приема данных, блок 72 управления потоком данных, блок 73 управления, выход 74 подтверждения приема символа управления потоком, выход 75 подтверждения приема информационного символа, выход 76 запроса на выдачу символа управления потоком, первый выход 77 сброса, второй выход 78 сброса, третий выход 79 сброса, выход 80 готовности выдачи символа управления потоком, вход 81 записи, вход 82 данных, вход 83 признака конца пакета для выдачи, вход 84 чтения данных, выход 85 данных, вход 86 синхронизации, выход 87 ошибки кредитования, выход 88 разрешения передачи символа управления потоком, выход 89 состояния, выход 90 подтверждения выдачи информационного символа, выход 91 разрешения приема данных, вход 92 сброса, вход 8 сигнала данных D in, вход 9 сигнала стробирования S in, выход 10 сигнала данных D out, выход 11 сигнала стробирования S out, выход 15 данных, выход 16 признака конца принятого пакета, выход 17 состояния буфера выдачи, выход 18 состояния буфера приема.
На временных диаграммах (см. фиг.6) для процесса установления соединения в коммуникационном устройстве 1 показано: a - изменение сигнала на выходе 31 локальной синхронизации, b - состояние данных на информационном выходе 28, c - изменение сигнала на выходе 29 признака символа синхронизации, d - изменение состояния выхода 27 установления соединения, e - изменение состояния выхода 26 разрешения чтения, f - изменение состояния выхода 34 сброса.
На временных диаграммах (см. фиг.7) для процесса управления передачей символов в блоке 4 передачи показано: a - изменение сигнала на выходе 46 синхронизации, b - состояние данных из DS-макроячейки 2 на входе 40 данных, c - изменение сигнала Not Empty на входе 45 состояния буфера приема, d - изменение состояния входа 41 признака конца пакета, e - изменение состояния выхода 48 переноса, f - изменение состояния выхода 21 запроса на чтение данных, g - изменение состояния данных на выходе 22 символа 8b, h - изменение сигнала на выходе 23 признака типа символа.
На временных диаграммах (см. фиг.8) для процесса приема символов 8b в коммуникационном устройстве 1 показано: а - изменение сигнала на выходе 31 локальной синхронизации, b - состояние данных на информационном выходе 28, c - изменение сигнала на выходе 29 признака символа синхронизации, d - изменение сигнала WE на выходе 25 разрешения записи, e - изменение сигнала признака ЕОР на выходе 24 признака конца пакета, f - состояние данных, записываемых в буфер выдачи данных с входа 82 данных DS-макроячейки 2.
DS-макроячейка 2 предназначена для управления высокоскоростными приемом и передачей пакетов байтовых данных по DS-линку в дуплексном режиме с использованием DS-кодирования символов в соответствии со стандартом SpaceWire. Входы 8 и 9 сигнала данных D in и сигнала стробирования S in коммуникационного устройства 1 DS-линка являются соответственно одноименными входами DS-макроячейки и предназначены для приема последовательных битовых данных, сопровождаемых сигналами стробирования, состояние которых меняется каждый раз, когда состояния двух смежных битовых сигналов не меняются. Выходы 10 и 11 сигнала данных D out и сигнала стробирования S out коммуникационного устройства 1 являются одноименными выходами DS-макроячейки и предназначены для выдачи последовательных битовых данных, сопровождаемых сигналами стробирования. Выход 15 данных DS-макроячейки 2 предназначен для очередной выдачи байта данных принятого пакета и соединен с входом 41 данных блока 4 передачи. Выход 16 признака конца принятого пакета (ЕОР) соединен с входом 42 признака конца пакета блока 4 передачи и представляет собой битовый сигнал, единичное значение которого свидетельствует о том, что предыдущий принятый байт данных на выходе 15 являлся последним в принятом пакете. Представление данных на этих выходах системного интерфейса DS-макроячейки 2 показано в табл.1.
Таблица 1
Кодирование пакетных данных в системном интерфейсе DS-макроячейки 2
Управляющий флаг
Биты данных (ст. … мл.)
Описание
0
X<sub>7</sub>X<sub>6</sub>X<sub>5</sub>X<sub>4</sub>X<sub>3</sub>X<sub>2</sub>X<sub>1</sub>X<sub>0</sub>
8 битов данных
1
(Не имеет значения)
Управляющий флаг, показывающий, что предыдущий байт данных является последним в пакете
Состояние выхода 15 данных в том битовом интервале, когда признак ЕОР равен «1», может использоваться для определения дополнительной служебной информации и байтом данных не является. Выход 17 состояния буфера выдачи DS-макроячейки соединен с одноименным входом 42 блока 4 передачи и определяет, заполнен ли буфер выдачи в DS-макроячейке хотя бы наполовину - Half Full (HF). Если буфер выдачи заполнен более чем наполовину, на выходе 17 сигнал HF=1, в противном случае HF=0. Выход 18 состояния буфера приема DS-макроячейки соединен с одноименным входом 45 блока 4 передачи и определяет, состояние «не пусто» - Not Empty (NEm) - буфера приема в DS-макроячейке. Если буфер приема DS-макроячейки не пуст, то на выходе 18 сигнал NEm=1, в противном случае NEm=0.
Блок 3 синхронизации обеспечивает формирование последовательностей синхросигналов, необходимых как для приема-передачи символов SpaceWire по DS-линку, так и для приема-передачи символов 10b в коммуникационный канал In-Out. Первый выход 19 синхронизации соединен с входом 86 синхронизации DS-макроячейки и предназначен для передачи синхросигналов, определяющих как скорость выдачи битовых сигналов DS-линк, так и скорость буферизации символов. Второй выход 20 синхронизации соединен с входом синхронизации кодека 5 8b/10b и предназначен для передачи синхросигналов, определяющих скорость выдачи битовых сигналов в коммуникационный канал Out.
Блок 4 передачи предназначен для формирования из байтов данных принимаемого пакета символов 8b и подготовки последовательности их выдачи из коммуникационного устройства 1 в канал Out. Выход 21 запроса на чтение данных блока 4 передачи соединен с входом 84 чтения данных DS-макроячейки. Выход 22 символа 8b блока 4 передачи соединен с одноименным входом кодека 5 8b/10b и предназначен для передачи восьмиразрядного символа 8b, который соответствует либо считанному из DS-макроячейки байту данных, либо коду специального символа синхронизации. Выход 23 признака типа символа соединен с одноименным входом кодека 5 8b/10b и определяет, какой тип символа 8b выставлен на выходе 22. Если однобитовый признак типа равен «О», то в качестве символа 8b передается символ данных, при значении признака, равного «1», в кодек 5 передается один из нескольких используемых специальных символов синхронизации.
Кодек 5 8b/10b предназначен для преобразования восьмиразрядных символов в 10-разрядные символы стандарта 8b/10b и обратно, а также обеспечивает поддержку синхронизации в коммуникационном канале In-Out. Информационный выход 28 кодека 5 8b/10b соединен с входом 80 данных DS-макроячейки 2 и с входом 60 принятого символа 8b блока 6 управления соединением и предназначен для передачи сформированного восьмиразрядного символа 8b. Выход 29 признака символа синхронизации кодека 5 8b/10b соединен с одноименным входом 59 блока 6 управления соединением и определяет, какие символы 8b на выходе 28 не являются байтами данных. Выход 30 подтверждения синхронизации кодека 5 8b/10b соединен с одноименным входом 63 блока 6 управления соединением. Единичное значение сигнала на этом выходе означает наличие синхронизации, которая выделена в кодеке 5 из последовательности битовых сигналов, поступающих из коммуникационного канала In. Выход 31 локальной синхронизации кодека 5 8b/10b соединен с входом 46 синхронизации блока 4 передачи и входом 62 синхронизации блока 6 управления соединением и обеспечивает передачи синхросигналов, определяющих скорость приема символов 8b. Выход 32 кодированных данных кодека 5 8b/10b соединен с входом блока 7 гальванической развязки и обеспечивает выдачу битовых сигналов сформированных 10-разрядных символов 10b. Вход принятых кодированных данных кодека 5 8b/10b соединен с одноименным выходом 33 блока 7 гальванической развязки и обеспечивает прием битовых сигналов 10-разрядных символов 10b. Формат символов 8b, которые поступают в кодек 5 8b/10b из блока 4 передачи и выдаются из кодека 5 8b/10b в блок 6 управления соединением и DS-макроячейку 2, приведен в табл.2.
Блок 6 управления соединением предназначен для выделения в потоке принимаемых символов 8b специальных символов синхронизации для поддержки связи между взаимодействующими через коммуникационный канал In-Out коммуникационными устройствами 1. Выход 25 разрешения записи блока 6 управления соединением соединен с входом 81 записи DS-макроячейки 2 и предназначен для разрешения записи, когда на выходе 28 кодека 5 8b/10b выставлен очередной байт данных. Выход 24 признака конца пакета блока 6 управления соединением соединен с входом 83 признака конца пакета для выдачи DS-макроячейки 2 и определяет, что предыдущий байт данных, выставленный на выходе 28 кодека 5 8b/10b, был последним в пакете. Выход 26 разрешения чтения блока 6 управления соединением соединен с одноименным входом 43 блока 4 передачи. Единичное значение на выходе 26 означает наличие свободного буферного пространства в устройстве-приемнике, достаточного для приема через коммуникационный канал In-Out байтов данных, выдаваемых из блока 4 передачи. Выход 27 установления соединения блока 6 управления соединением соединен с одноименным входом 44 блока 4 передачи. Единичное значение на выходе 27 означает, что имеется соединение между взаимодействующими коммуникационными устройствами 1 и возможна выдача информации. Вход 12 начальной установки устройства 1 является входом начальной установки блока 6 управления соединением и предназначен для его инициализации при включении питания. Выход 34 сброса блока 6 управления соединением обеспечивает сброс в исходное состояние блоков устройства 1 в случае ошибки потери синхронизации при приеме входных битов в кодеке 5 и соединен с входом 92 сброса DS-макроячейки и с входом сброса кодека 5 8b/10b.
Блок 7 гальванической развязки предназначен для электрической изоляции взаимодействующих через коммуникационный канал In-Out коммуникационных устройств 1. Выход 13 блока 7 гальванической развязки является выходом Out битового сигнала устройства. Вход 14 блока 7 гальванической развязки является входом In битового сигнала устройства.
В DS-макроячейке 2 блок 70 выдачи данных (см. фиг.5) предназначен для формирования и выдачи в DS-линк символов данных из пакетных данных, поступающих через вход данных для выдачи, соединенного с входом 82 данных, а также управляющих символов по требованию, поступающему с выхода 76 запроса на выдачу символа управления потоком блока 72 управления потоком данных на одноименный вход блока 70 выдачи данных. Перечень символов, используемых DS-макроячейкой для передачи данных в DS-линке в соответствии со стандартом SpaceWire, приведен в табл.3.
Таблица 3
Основные символы SpaceWire, используемые в DS-линке
Наименование символа
Обозначение символа
Комментарий
Символ данных
Nchar
Содержит байт данных X<sub>0</sub>…X<sub>7</sub>
Символ управления потоком
FCT
Обеспечивает кредит на прием восьми байтов
Символ конца пакета
ЕОР
Предшествующий принятый символ данных содержит последний байт пакета данных
NULL код
NULL
Передается в DS-линке при отсутствии данных для поддержки соединения
Вход 83 признака конца пакета для выдачи DS-макроячейки 2 является входом признаком конца пакета блока 70 выдачи данных. Однобитовый признак ЕОР записывается в качестве девятого бита в ячейки буфера блока 70 выдачи данных. Вход 81 записи DS-макроячейки является одноименным входом блока 70 выдачи данных, выход 17 состояния буфера выдачи которого является одноименным выходом DS-макроячейки 2. Выход 17 состояния буфера выдачи и вход 81 записи DS-макроячейки 2 предназначены для реализации механизма записи пакетных данных в буфер блока 70 выдачи данных из коммуникационного канала In, при котором запись байтов данных осуществляется до тех пор, пока на выходе 17 не выработается сигнал HF=1. Запись пакетных данных в буфер выдачи данных блока 70 тактируется с его входа синхронизации, соединенного с входом 86 синхронизации DS-макроячейки 2. Выходы 80 готовности выдачи символа управления потоком и 90 подтверждения выдачи информационного символа блока 70 соединены с одноименными входами блока 72 управления потоком данных и предназначены для реализации механизма кредитования, необходимого для организации передачи и приема данных через DS-линк без переполнения буферов приема у устройств, взаимодействующих в соответствии со стандартом SpaceWire. Блок 70 выдачи данных обеспечивает DS-кодирование символов данных, управляющих символов и кодов и их передачу на выходы 10 данных и 11 стробирования DS-макроячейки и далее на соответствующие выходы коммуникационного устройства 1 D out и S out, являющиеся линиями выходного канала DS-линка. Вход 92 сброса DS-макроячейки 2 является входом сброса блока 73 управления.
Блок 71 приема данных обеспечивает инициализацию соединения и получение битового потока от другого устройства коммуникационного интерфейса SpaceWire (DS-макроячейки) через входы D in и S in устройства 1 и соответствующие входы 8 данных и 9 стробирования DS-макроячейки 2, декодирование принятых сигналов и выделение из потока битов символов данных и их передачи в коммуникационный интерфейс In-Out устройства 1 через выход 85 данных DS-макроячейки 2. Выход 16 признака конца принятого пакета является одноименным выходом DS-макроячейки 2 и обеспечивает выдачу однобитового признака ЕОР из девятого разряда ячейки буфера приема данных блока 71. Выход 18 состояния буфера приема блока 71 является одноименным выходом DS-макроячейки, вход 84 чтения данных которой является одноименным входом блока 71 приема данных. Выход 74 подтверждения приема символа управления потоком блока 71 соединен с одноименными входами блока 72 управления потоком данных и блока 73 управления. Выход 75 подтверждения приема информационного символа блока 71 соединен с одноименными входами блока 72 управления потоком данных и блока 73 управления и предназначен для извещения о получении из DS-линка байта данных пакета. Выход 89 состояния блока 71 приема данных соединен с одноименным входом блока 73 управления и обеспечивает формирование сигналов состояния и ошибок. Выход 91 разрешения приема данных блока 71 приема данных, соединенный с одноименным входом блока 72 управления потоком данных, предназначен для извещения о наличии достаточного свободного пространства в буфере приема данных. Вход синхронизации блока 71 приема данных, соединенный с одноименным входом 86 DS-макроячейки 2, предназначен для синхронизации записи и чтения байтов данных принимаемых пакетов из буфера приема данных.
Блок 72 управления потоком данных предназначен для реализации механизма кредитования, необходимого при обмене пакетными данными в дуплексном режиме между двумя устройствами коммуникационного интерфейса через DS-линк, соединяющим эти два устройства в соответствии со стандартом SpaceWire, с учетом ограниченного объема буферной памяти для приема данных, имеющейся у каждого устройства в блоке 71 приема данных. Выход 76 запроса на выдачу символа управления потоком блока 72 управления потоком данных, соединенный с одноименным входом блока 70 выдачи данных, предназначен для инициализации выдачи блоком 70 управляющего символа управления потоком, подтверждающего наличие в блоке 71 приема данных свободного буферного пространства, необходимого для приема определенного числа байтов данных. В соответствии со стандартом SpaceWire величина кредита, предоставляемого при выдаче одного символа управления потоком, принята равной восьми байтам данных. Выход 87 ошибки кредитования блока 72 управления потоком данных соединен с одноименным входом блока 73 управления. Блок 72 управления потоком данных тактируется с входа синхронизации, соединенного с входом 86 синхронизации DS-макроячейки 2.
Блок 73 управления предназначен для отслеживания состояния DS-макроячейки при поступлении из блока 71 приема данных сигналов об изменении его статуса и выработки управляющих сигналов под воздействием машины состояний и сигнала начальной установки с входа сброса, соединенного с входом 92 сброса DS-макроячейки 2. Выход 88 разрешения передачи символа управления потоком блока 73 управления соединен с одноименным входом блока 70 выдачи данных и предназначен для извещения о том, что машина состояния блока 73 управления перешла в режим, разрешающий выдачу символов управления потоком. Первый 77, второй 78 и третий 79 выходы сброса блока 3 управления соединены с входами сброса соответственно блока 70 выдачи данных, блока 71 приема данных и блока 72 управления потоком данных и предназначены для их перевода в начальное состояние. Тактирование блока 73 управления осуществляется с входа синхронизации, соединенного с входом 86 синхронизации DS-макроячейки 2. Выход статуса блока 73 управления (на фиг.5 не показан) является одноименным выходом системного интерфейса DS-макроячейки 2 и предназначен для передачи управляющей информации о ее состоянии, которая необходима в том случае, когда DS-макроячейка используется в качестве устройства коммуникационного интерфейса SpaceWire для подключения хост-системы в модуле SpaceWire к DS-линку.
В блоке 4 передачи первый счетчик 35 (см. фиг.3) предназначен для определения временного интервала Т3, через который блоком 4 передачи для поддержания состояния соединения между устройствами 1 должен генерироваться один из двух специальных символов синхронизации ССС1 или ССС2 (для их реализации из 13 предусмотренных кодированием символов 8b используются К28.5 и К28.7). Разрядность первого счетчика 35 выбрана равной пяти, поэтому интервал Т3 равен 32 тактам локальной синхронизации. Счетный вход первого счетчика 35 соединен с входом 46 синхронизации блока 4 передачи. Выход 48 переноса первого счетчика 35 соединен с третьим разрешающим входом ПЗУ 38 и с вторым инверсным входом первого элемента 36 И и обеспечивает формирование единичного сигнала через каждые 32 периода синхросигнала.
Первый элемент 36 И обеспечивает запрет запроса на чтение данных из буфера приема данных DS-макроячейки 2 при наличии требования на формирование символа синхронизации от первого счетчика 35. Выход первого элемента 36 И является выходом 21 запроса на чтение данных блока 4 передачи.
Второй элемент 37 И формирует запрос чтения очередного байта данных из буфера приема данных DS-макроячейки 2 при наличии разрешения чтения, установки соединения между устройствами 1 и при условии, что буфер приема данных не пуст. Первый, второй и третий входы второго элемента 37 И являются соответственно входом 43 разрешения чтения, входом 44 установления соединения и входом 45 состояния буфера приема блока 4 передачи. Выход второго элемента 37 И соединен с первым входом первого элемента 36 И и с первым разрешающим входом ПЗУ 38.
ПЗУ 38 обеспечивает хранение кодов специальных символов синхронизации, определяемых кодированием символов 8b. Второй разрешающий вход ПЗУ 38 является входом 42 состояния буфера выдачи блока 4 передачи. Управляющий вход ПЗУ 38 соединен с входом 41 признака конца пакета блока 4 передачи. Выход 47 констант ПЗУ 38 соединен со вторым информационным входом мультиплексора 39 и обеспечивает передачу восьмиразрядных констант, определяющих при кодировании символов 8b специальные символы синхронизации. Выход 23 признака типа символа ПЗУ 38 является одноименным выходом блока 4 передачи и соединен с управляющим входом мультиплексора 39. Единичное значение на выходе 23 ПЗУ 38 указывает на то, что считываемый при этом с выхода 48 констант ПЗУ 38 один из специальных символов синхронизации должен выдаваться с выхода 22 мультиплексора 39. Правила формирования констант на выходах ПЗУ 38 показаны в табл.4.
Мультиплексор 39 предназначен для выбора типа символа 8b, передаваемого на его выход, являющийся выходом 22 символа 8b блока 4 передачи, в зависимости от признака типа символа на управляющем входе, соединенном с выходом 23 ПЗУ 38. При нулевом значении признака типа символа на выход 22 мультиплексора 39 выдается байт данных с первого информационного входа мультиплексора 39, являющегося входом 40 данных блока 4 передачи.
В блоке 6 управления соединением дешифратор 52 предназначен для селекции символов 8b, формируемых кодеком 5 8b/10b из принимаемых от удаленного устройства 1 символов 10b. Разрешающий вход дешифратора 52 соединен с входом 62 подтверждения синхронизации блока 6 управления соединением. Нулевой уровень сигнала на этом входе обеспечивает запрет работы дешифратора 52, при котором все выходы дешифратора находятся в пассивном нулевом состоянии. Единичный уровень сигнала подтверждения синхронизации активирует работу дешифратора 52. Первый вход 59 дешифратора 52 является входом принятого символа 8b блока 6 управления соединением и обеспечивает поступление в дешифратор восьмиразрядного двоичного кода символа 8b, декодируя который дешифратор формирует сигнал селекции на одном из своих выходов. Второй вход дешифратора 52 является входом 61 признака символа синхронизации блока 6 управления соединением и обеспечивает подачу одноразрядного управляющего сигнала, единичное значение которого настраивает дешифратор 52 на декодирование поступившего двоичного кода на его первый вход, как специального символа синхронизации. При нулевом значении признака символа синхронизации дешифратор 52 игнорирует двоичный код на первом входе, поскольку этот двоичный код является символом данных, который необходимо записывать в буфер выдачи данных DS-макроячейки 2. Выход 63 селекции первого символа синхронизации дешифратора 52 соединен с первым входом первого элемента 56 ИЛИ и с входом установки триггера 53 разрешения передачи. Единичное значение на выходе 63 свидетельствует о дешифрации первого символа синхронизации ССС1, предназначенного для подтверждения, во-первых, установления соединения с удаленным устройством 1 и, во-вторых, разрешения передачи символов данных в удаленное устройство 1. Выход 64 селекции второго символа синхронизации дешифратора 52 соединен со вторым входом первого элемента 56 ИЛИ и вторым входом сброса триггера 53 разрешения передачи. Единичное значение на выходе 64 свидетельствует о дешифрации второго символа синхронизации ССС2, предназначенного, во-первых, для подтверждения установления соединения с удаленным устройством 1 и, во-вторых, для запрещения передачи символов данных в удаленное устройство 1. Первый элемент 56 ИЛИ обеспечивает формирование объединенного сигнала на своем выходе 65 поддержки соединения, который соединен с входом сброса второго счетчика 55 и с входом установки триггера 54 установления соединения. Выход 24 признака конца пакета дешифратора 52 является одноименным выходом блока 6 управления соединением. Единичное значение на выходе 24 означает селекцию третьего символа синхронизации (ССС3), принимаемого из удаленного устройства и используемого для передачи признака окончании пакета (ЕОР). Выход 25 разрешения записи дешифратора 52 является одноименным выходом блока 6 управления соединением и обеспечивает разрешение записи символа 8b в качестве байта данных в DS-макроячейку 2. Единичное значение на выходе 25 вырабатывается при нулевом значении признака символа синхронизации на втором входе дешифратора 52, за исключением того случая, когда при получении символа синхронизации СССЗ формируется признак ЕОР, который вместе с байтовым кодом символа записывается в буфер выдачи данных DS-макроячейки 2. Поэтому одновременно с единичным признаком ЕОР на 24 выходе вырабатывается единичный сигнал WE на выходе 25. Формирование сигналов селекции на выходах дешифратора 52 осуществляется в соответствии правилами, показанными в табл.5.
Триггер 53 разрешения передачи предназначен для фиксации разрешения передачи данных в удаленное устройство 1. Первый вход сброса триггера 53 разрешения передачи соединен с входом 12 начальной установки блока 6 управления соединением и обеспечивает сброс триггера 53 в нулевое состояние при включении коммуникационного устройства 1. Вход установки триггера 53 является асинхронным и обеспечивает перевод триггера в единичное состояние при наличии сигнала селекции на выходе 63 дешифратора 52. Второй вход триггера 53 сброса является асинхронным и обеспечивает перевод триггера в нулевое состояние при наличии сигнала селекции на выходе 64 дешифратора 52. Выход 26 разрешения чтения триггера 53 разрешения передачи является одноименным выходом блока 6 управления соединением, присутствие единичного уровня на котором обеспечивает разрешение чтения блоком 4 передачи байта данных из буфера приема данных DS-макроячейки 2. Этот сигнал свидетельствует о возможности записи данных в буфер выдачи данных DS-макроячейки 2 удаленного устройства 1, так как сигнал о его состоянии (Half Empty) на выходе 17 DS-макроячейки 2 стоит в «1» (буфер выдачи данных пуст наполовину и гарантированно может буферировать данные, принимаемые кодеком 5 из удаленного устройства 1).
Таблица 5
Правила формирования сигналов селекции на выходах дешифратора 52
Разрешающий вход 62
Второй вход 60
Первый вход 59
Выход 25 Данные
Выход 24 ССС3
Выход 63 ССС1
Выход 64 ССС2
Назначение
0
X
Х…Х
0
0
0
0
Нет синхронизации
1
0
Х…Х
1
0
0
0
Разрешение записи байта данных
1
1
01111100
1
1
0
0
Признак конца пакета
1
1
10111100
0
0
1
0
Разрешение передачи
1
1
11111100
0
0
0
1
Запрет передачи
1
1
00011100
0
0
0
0
Null-код
Триггер 54 установления соединения предназначен для фиксации состояния установки соединения, при котором становится возможным обмен данными между взаимосвязанными коммуникационными устройствами 1. Первый вход сброса триггера 54 установления соединения соединен с выходом 68 ошибки второго элемента 57 ИЛИ и является синхронным. При наличии единичного уровня на этом входе триггер 54 переходит в нулевое состояние только по возрастающему входу синхросигнала на входе синхронизации триггера 54, который соединен с входом 61 синхронизации блока 6 управления соединением. Второй вход сброса триггера 54 разрешения передачи соединен с входом 12 начальной установки блока 6 управления соединением, является асинхронным и предназначен для перевода триггера 54 в исходное нулевое состояние. Вход установки триггера 54 установления соединения является синхронным и соединен с выходом первого элемента 56 ИЛИ, который обеспечивает формирование сигнала поддержки соединения. При единичном значении на входе установки триггер 54 установления соединения по возрастающему входу синхросигнала переходит в единичное состояние, которое свидетельствует об установлении соединения. Выход 27 установления соединения триггера 54 установления соединения соединен со вторым входом схемы 58 сброса и является выходом установления соединения блока 6 управления соединением.
Второй счетчик 55 предназначен для отслеживания временного интервала, в течение которого для поддержания соединения от удаленного устройства 1 должен поступить первый специальный символ синхронизации ССИ1 или второй специальный символ синхронизации ССИ2. В данной реализации разрядность счетчика 55 равна шести, поэтому если в течение 64 тактов не поступает ни одного из указанных символов синхронизации, то второй счетчик 55 обеспечивает формирование сигнала переноса, извещающего об ошибке рассоединения. Счетный вход второго счетчика 55 соединен с входом 62 синхронизации блока 6 управления соединением. По возрастающему фронту синхросигнала состояние счетчика инкрементируется от нуля до максимального значения. Если до достижения максимального значения первый элемент 56 ИЛИ сформирует единичный уровень на своем выходе 65 поддержки соединения, то второй счетчик 55 досрочно перейдет в нулевое состояние. Выход 66 переноса второго счетчика 55 соединен со вторым входом второго элемента 57 ИЛИ. Первый инверсный вход второго элемента 57 ИЛИ соединен с входом 62 подтверждения синхронизации блока 6 управления соединением. Второй элемент 57 ИЛИ обеспечивает формирование объединенного сигнала ошибки как в случае потери синхронизации при нулевом значении сигнала подтверждения синхронизации на входе 62, так и при ошибке рассоединения при единичном значении сигнала переноса на выходе 66. Выход 67 ошибки второго элемента 57 ИЛИ соединен как с первым входом сброса триггера 54, так и с первым входом схемы 58 сброса.
Третий вход схемы 58 сброса соединен с входом 12 начальной установки блока 6 управления соединением. Схема 58 сброса обеспечивает формирование сигнала сброса для DS-макроячейки 2 и кодека 5 8b/10b как при инициализации устройства 1, так и в случае возникновения ошибки при работе устройства 1 в соответствии с логическим выражением Х∪Y∩Z. В этом выражении приняты следующие обозначения: Х - сигнал на входе 12 начальной установки, Y - сигнал на выходе 68 ошибки, Z - сигнал на выходе 27 установления соединения. Выход схемы 59 сброса является выходом сброса блока 6 установления соединения.
Коммуникационное устройство 1 для гальванической развязки DS-линка работает следующим образом. Основной задачей коммуникационного устройства 1 является реализация обмена данными между модулями SpaceWire на расстояниях, значительно превышающих предельно допустимые длины для кабелей стандарта SpaceWire и обеспечение при этом гальванической развязки. Каждый из модулей SpaceWire состоит из хост-системы (компьютера или процессорного узла, имеющего локальную память данных) и локального устройства коммуникационного интерфейса SpaceWire (DS-макроячейки) для передачи и приема пакетных данных по DS-линку (см. фиг.1,а). DS-линк образован выходными симплексными линиями данных D (выход 10 данных DS-макроячейки) и стробирования S (выход 12 стробирования DS-макроячейки) и входными симплексными линиями данных D (вход 8 данных DS-макроячейки) и стробирования S (вход 9 стробирования DS-макроячейки), при этом в соответствии с требованиями стандарта SpaceWire каждый из четырех сигналов должен передаваться в кабеле по симметричной двухпроводной линии (на чертежах не показано), для которой формирование дифференциального сигнала осуществляется в соответствии со спецификацией LVDS. Приемник линии определяет логический уровень, сравнивая эти два сигнала между собой и, например, разница в 250 мВ воспринимается как достоверный логический уровень. Дифференциальный драйвер передатчика обеспечивает ток по двум линиям. Это обеспечивает высокую устойчивость линии к помехам по сравнению с однополярной схемой передачи. Таким образом, обеспечение гальванической развязки для DS-линка становится трудноразрешимой проблемой из-за невозможности на практике соблюсти требования на дрожание сигналов, скос фронтов и их разбег по различным линиям. Использование коммуникационных устройств 1 позволяет преодолеть эти проблемы, причем их включение в разрыв существующего соединения, как показано на фиг.1,б, является прозрачным для взаимодействующих хост-систем.
DS-макроячейка 2 коммуникационного устройства 1 изменяет свои режимы работы в соответствии с диаграммой состояния, реализуемой блоком 73 управления (см. фиг.5) и полностью соответствующей диаграмме состояния блока управления в прототипе - устройстве коммуникационного интерфейса. Изменение состояний блока 70 выдачи данных и блока 71 приема данных осуществляется в соответствии с диаграммой машины состояний (см. фиг.10): от инициализации устройства по сигналу начальной установки, начинающейся со сброса одной из сторон, соединенных DS-линком, до состояния нормальной работой, в котором обеспечивается передача данных в обоих направлениях.
Из состояния Сброс, в котором блок 71 приема данных ничего не делает, он переходит в состояние Запуск. В этом состоянии блок 71 запущен и ожидает приема первого бита. Когда блок 71 приема данных получит первый бит, он переходит в режим Соединение, при этом включается механизм обнаружения рассоединения и разрешается принимать только NULL коды. После получения первого NULL кода через DS-линк от устройства коммуникационного интерфейса SpaceWire, входящего в состав модуля SpaceWire, блок 71 приема данных переходит в состояние Run и может получать NULL коды, FCT символы и информационные символы, включающие символы данных Nchar и символы конца пакета ЕОР, которые посылает DS-макроячейка модуля SpaceWire. В этом состоянии в блоке 71 включен механизм обнаружения ошибок рассоединения и кодирования (в том числе ошибки четности и кодирования символов).
После сброса или ошибки в канале блок 70 выдачи данных находится в состоянии Сброс и при инициализации соединения по DS-линку может находиться в одном из четырех состояний:
1. Сброс. Блок 70 выдачи данных ничего не делает, при этом сигналы данных и стробирования устанавливаются в «0».
2. Запуск. Блок 1 выдачи данных посылает только NULL коды. Он не готов передавать информационные символы и не передает FCT символы.
3. Передача FCT символов/NULL кодов. Блок 1 выдачи данных посылает FCT символы или NULL коды и не готов передавать информационные символы.
4. Run - обычный режим работы блока 70 выдачи данных (передача FCT символов/Nchars/NULL кодов). Он посылает FCT символы, NULL коды и информационные символы (Nchars/EOP).
Блок 73 управления выполняет в устройстве функцию управляющего автомата, которым является машина состояний, граф которой представлен на фиг.10. Он контролирует работу блока 70 выдачи данных и блока 71 приема данных устройства, получая от них сигналы о состоянии и рассылая им управляющие сигналы. Машина состояний может находиться в различных состояниях, отражающих ход взаимодействия двух DS-макроячеек через DS-линк в зависимости от условий. В качестве событий или условий, вызывающих переходы из состояния в состояние, служат два типа сигналов: внешние (например, сброс) и внутренние управляющие сигналы. Внутренними управляющими сигналами, вызывающими переходы между состояниями, являются:
- Прошло Т мкс - сигналы от таймеров в блоке 83 задержки вызывают переходы «Прошло 6,4 мкс» или «Прошло 12,8 мкс» и показывают наступления события - тайм-аута (временной задержки), после которого осуществляется переход из одного состояния в другое. Времена задержек выбраны в качестве номинальных величин для рассматриваемой реализации DS-макроячейки 2 в соответствии с требованиями стандарта SpaceWire.
- Получен NULL-код - сигнал устанавливается на выходе 89 состояния блока 71 приема данных (см фиг.5), когда принят первый NULL-код.
- Получен FCT символ - сигнал устанавливается на выходе 74 подтверждения приема символа управления потоком блока 71 приема данных и означает факт принятия FCT символа. Прием FCT символа является корректным только в состояниях Соединение или Рабочий режим. Прием FCT символа в других состояниях воспринимается как ошибка.
- Получен Nchar - сигнал устанавливается на выходе 75 подтверждения приема информационного символа блока 71 приема данных и означает факт принятия информационного символа. Прием информационного символа в любом состоянии кроме состояния Run воспринимается как ошибка.
- Ошибка рассоединения - сигнал на выходе 89 состояния блока 71 приема данных означает отсутствие изменения сигналов на входе 8 данных и на входе 9 стробирования интерфейса DS-макроячейки с DS-линком в течение некоторого интервала времени Т3 (в рассматриваемой реализации DS-макроячейки по стандарту SpaceWire номинальное значение Т3=850 нс). Механизм определения ошибки рассоединения в блоке 71 запускается при первом изменении сигнала на одном из входов 8 или 9 (D in или S in) после выхода машины состояний из состояния Сброс.
- Ошибка кодировки - сигнал на выходе 89 состояния блока 71 приема данных означает определение ошибки четности в принятом символе либо ошибки из-за неправильного кодирования. Определение ошибки кодирования разрешается только при запущенном блоке 71 приема данных и после получения первого NULL-кода.
- Ошибка кредитования - сигнал на выходе 87 ошибки кредитования блока 72 управления потоком данных означает, что приняты информационные символы, которые не ожидаются DS-макроячейкой 2 (т.е. прием информационного символа в момент, когда уже приняты все информационные символы в ответ на отправленные FCT символы). Также ошибка кредитования возникает при приеме FCT символа в момент, когда увеличение кредита превысит максимальное значение, которое по стандарту SpaceWire должно быть равным хотя бы 56 байтам).
Кроме внутренних управляющих сигналов, формируемых в блоке 71 приема данных и блоком 73 управления, машина состояний вырабатывает следующие внутренние условия для переходов:
- Ошибка приема - это условие обозначает возникновение ошибки рассоединения или сигнала ошибки кодирования.
- Ошибка последовательности символов - это условие формируется машиной состояний по-разному в зависимости от текущего состояния:
a. Любые символы, принятые до первого NULL кода, игнорируются. В состояниях Ожидание и Готовность это приводит к ошибке, по которой осуществляется переход в состояние Сброс. На диаграмме состояний (см. фиг.13) указаны события «Получен FCT» и «Получен Nchar».
b. После получения первого NULL-кода получение FCT символа до отправки первого NULL-кода (то есть в состоянии Запуск) воспринимается как ошибка.
c. Информационный символ может быть принят только после того, как принят NULL-код и FCT символ, в противном случае ситуация является ошибочной. Поэтому в состояние Соединение событие «Получен Nchar» вызывает сброс устройства. Таким образом, информационные символы могут приниматься только в рабочем режиме.
В буфере приема блока 71 приема данных могут храниться принятые данные, принадлежащие как одному, так и нескольким пакетам. Байты данных разных пакетов разделяются признаком конца пакета, которые записываются в буфер после приема символа ЕОР из DS-линка. Формат информации на выходе 15 данных DS-макроячейки 2 (см. фиг.2), считываемой из каждой ячейки памяти буфера приема данных, соответствует табл.1.
Коммуникационные устройства 1, взаимосвязанные коммуникационным каналом In-Out, изменяют свои режимы работы в соответствии с диаграммой состояния, приведенной на фиг.9. Изменение состояний устройства 1 осуществляется в соответствии с этой диаграммой машины состояний: от сброса по сигналу начальной установки, начинающейся со сброса каждой из сторон, соединенных коммуникационным каналом In-Out, до рабочего режима, в котором обеспечивается передача данных в обоих направлениях.
При включении питания кодек 5 начинает формировать на выходе 31 локальной синхронизации последовательность тактовых сигналов. Тактовые сигналы генерируются кодеком 5 на основе синхроимпульсов базовой частоты, поступающей со второго выхода 20 синхронизации блока 3 синхронизации. Локальная синхронизация определяет в устройстве 1 как скорость приема символов 8b в кодек 5 и последующей их буферизации в DS-макроячейке, так и скорость считывания байтов данных из DS-макроячейки, формирования на их основе символов 8b в блоке 4 и их последующей передачи в кодек 5.
Из состояния Сброс после снятия сигнала начальной установки устройство 1 переходит в состояние Запуск. В этом состоянии устройство 1 инициирует процедуру установления соединение, которая начинается кодеком 5 8b/10b и фиксируется блоком 6 управления соединением. Кодеки 5 двух удаленных устройств 1 должны установить синхронизацию. Для этого они посылают друг другу первичные символы синхронизации формата, определенные как символы D10.2. После кодирования на выходе 32 кодека 5 он имеет вид «1010101010». После включения кодеки 5 в каждом из устройств 1 отправляют в канал Out символы синхронизации D10.2 в течение определенного интервала времени (не менее 20 мкс), после которого кодек переходит в состояние Ожидание. В этом состоянии продолжается отправка D10.2, и кодек ожидает синхронизации приема. После установления синхронизации кодек переходит в состояние Готовность. Кодек 5 на выходе 30 выставляет единичный уровень сигнала подтверждения синхронизации.
После подтверждения синхронизации кодеку 5 необходимо осуществить выравнивание, то есть разделить входной поток битов, поступающий с выхода 33 блока 7, на 10-разрядные символы. Для этого используются специальные символы синхронизации ССС1, регулярно генерируемые блоком 4 передачи в формате 8b после включения для установления и поддержки соединения. Блок 4 формирует символ ССС1 на своем выходе 22 одновременно с единичным сигналом на выходе 23 признака типа символа через каждые 32 периода локальной синхронизации. То, что из ПЗУ 38 считывается именно символ ССС1, определяется тем фактором, что после сброса буфер выдачи данных в DS-макроячейке 2 находится в исходном (пустом) состоянии. В состоянии Готовность кодек 5 начинает передавать такие символы синхронизации, перекодировав их в формат 10b. После приема хотя бы одного аналогичного символа 10b из потока битов, получаемого по каналу In из удаленного коммуникационного устройства, устройство 1 на данной стороне переходит в состояние Run (рабочий режим). Кодек 5 формирует единичный сигнал на выходе 29 признака символа синхронизации, что свидетельствует об осуществлении синхронизации с частотой поступления принимаемых битовых сигналов.
Формируемый на информационном выходе 28 код символа 8b вместе с единичным сигналом на выходе 29 (см. фиг.6, диаграммы b и с) поступаЕт в блок 6, где дешифрируется на дешифраторе 52 (см. фиг.4). Если код символа 8b на входе 59 совпадает с кодом ССС1 (см. табл.5), то на выходе 63 селекции первого симвода синхронизации дешифратора 52 формируется единичный сигнал. При этом устанавливаются в единичное состояние триггер 54 установления соединения и триггер 53 разрешения чтения, каждый из которых по сигналу сброса до этого был переведен в исходное нулевое состояние. Как только блок 6 управления соединением, зафиксировав прием ССС1, выставит единичные уровни на выходе 27 установления соединения и на выходе 26 разрешения чтения (см. фиг.6, диаграммы d и е), блок 4 передачи получает разрешение на выдачу символов данных по мере их накопления в буфере приема данных в DS-макроячейки 2 после поступления из DS-линка. Одновременно с этим кодек 5 может осуществлять выравнивание всех принимаемых из удаленного устройства 1 символов 10b, их перекодирование в формат 8b и выдачу с информационного выхода 28 в DS-макроячейку 2. Таким образом, коммуникационное устройство 1 в рабочем режиме имеет возможность передавать и принимать символы данных, наряду с периодическим обменом специальными символами синхронизации.
Передачу данных в коммуникационный канал Out в рабочем режиме устройство 1 осуществляет последовательно, считывая байты пакетных данных из буфера приема данных DS-макроячейки 2 по мере их поступления из DS-линка. При наличии разрешения чтения данных в виде единичного уровня на выходе 49 второго элемента 37 И в блоке 4 передачи (см. фиг.3) очередной байт данных считывается с выхода 15 данных DS-макроячейки 2, поступает на вход 40 данных блока 4 и далее на первый информационный вход мультиплексора 39 (см. фиг.7, диаграмма b). Байт данных проходит на выход 22 символа 8b блока 4 (см. фиг.7, диаграмма g), так как с выхода 23 ПЗУ 38 на управляющий вход мультиплексора 39 подается нулевой уровень. Нулевой сигнал признака типа символа на выходе 23 подтверждает, что в кодеке 5 поступающий в текущем такте символ 8b должен интерпретироваться как символ данных (см. фиг.7, диаграмма h). Каждый байт данных пакета, считываемый из DS-макроячейки 2, сопровождается нулевым признаком конца пакета на выходе 25, который подается на вход 41 блока 4 передачи. Если очередной переданный байт данных был последним в пакете, то в следующем такте признак конца пакета на выходе 25 DS-макроячейки 2 примет единичное значение (см. фиг.7, диаграмма d), в результате чего ПЗУ 38 на своем выходе 47 констант сформирует код символа 8b ССС3, который сопровождается единичным признаком типа символа на выходе 23 (см. фиг.7, диаграмма h). Co второго информационного входа мультиплексора 39 восьмиразрядный код этого специального символа 8b передается на его выход 22 (см. фиг.7, диаграмма g), поскольку на управляющем входе присутствует единичное значение.
Когда буфер приема данных в DS-макроячейке 2 пуст и происходит приостановка передачи байтов данных через коммуникационное устройство 1 на другую сторону соединения, сигнал запроса чтения данных на выходе второго элемента 37 И принимает нулевое значение, так как сигнал Not Empty на входе 45 состояния буфера приема сбрасывается в ноль (см. фиг.7, диаграмма с). Чтобы не потерять синхронизацию соединения устройств 1, ПЗУ 38 в этой ситуации формирует другой специальный символ - ССС4 (см. фиг.7, диаграмма g), означающий передачу NULL-кода (см. табл.4). Другой причиной, по которой в рабочем режиме блок 4 передачи формирует код ССС4, является сброс триггера 53 разрешения передачи вследствие приема от удаленного устройства 1 кода ССС2 (см. фиг.6, диаграмма
b, е), означающего запрет передачи данных из данного коммуникационного устройства 1. При этом, как и в первой ситуации, сигнал запроса чтения данных на выходе второго элемента 37 И в блоке 4 принимает нулевое значение. Выдача ССС4 осуществляется каждый такт локальной синхронизации до тех пор, пока удаленное устройство 1 не выдаст разрешение на продолжение передачи символов данных, передав ССС1 по коммуникационному каналу In-Out. При селекции данного специального символа 8b на дешифраторе 52 в блоке 6 триггер 53 снова буден установлен в единичное состояние. В результате на первом разрешающем входе ПЗУ 38 появится единичное значение, разрешающее передавать символы данных и признаки ЕОР.
Если сигнал переноса на выходе 48 первого счетчика 35 примет единичное значение (см. фиг.7, диаграмма е), то ПЗУ 38 констант в текущем такте передает специальный символ для поддержки синхронизации соединения (ССС1 или ССС2). Тип спецсимвола выбирается в зависимости от состояния буфера передачи DS-макроячейки 2. Если сигнал Half Full равен «0», то генерируется код ССС1, если Half Full равен «1», то - ССС2. Кроме функции поддержки соединения, периодически выполняемой через определенный временной интервал (в данной реализации период между посылкой этих спецсимволов равен 32 такта локальной синхронизации), символ ССС1 разрешает противоположной стороне передачу данных, а ССС2 ее запрещает. Таким образом, передача символа ССС1 или ССС2 прерывает передачу байтов данных, и чтение из буфера не должно осуществляться в текущем такте. Поэтому сигнал переноса с выхода 48 запрещает прохождение через первый элемент 36 И запроса чтения данных. Так как на выходе 21 запроса на чтение данных присутствует нулевой уровень (см. фиг.7, диаграмма f), состояние буфера не изменяется и в следующем такте из него будет считан тот же байт данных, который будет передан в кодек 5 вслед за символом синхронизации (см. фиг.7, диаграмма b).
При приеме битового потока кодек 5 8b/10b после декодирования выдает символы 8b на информационный выход 28 (см. фиг.2). Каждый символ 8b сопровождается битовым признаком символа синхронизации на выходе 29 (см. фиг.8, диаграммы b, с). Этот признак и байтовый код символа поступают на дешифратор 52 в блоке 6 управления соединением, в котором происходит дешифрирование символа. Если символ не является специальным символом синхронизации, вырабатывается сигнал WE на выходе 25 разрешения записи блока 6 (см. фиг.8, диаграммы d) для загрузки байта данных в буфер выдачи данных DS-макроячейки 2. Если символ 8b является специальным символом, который декодируется как единичный признак конца пакета на выходе 24 блока 6 (см. фиг.8, диаграмма е, такт 3), то дополнительно вырабатывается единичный сигнал WE на выходе 25 (см. фиг.8, диаграмма d). Поэтому признак конца пакета и данные с информационного выхода 28 кодека 5 буферизируются в DS-макроячейке 2 (см. фиг.8, диаграмма f). Если символ 8b декодируется как символ ССС1 или ССС2, то сигнал WE не вырабатывается (см. фиг.8, диаграмма d, такты 7 и 9), так как они предназначены для выравнивания символов в кодекс 5, а также используются блоком 6 для реализации механизма управления потоком данных в коммуникационном канале In-Out. Если символ 8b декодируется как символ ССС4, который используется для передачи NULL-кода, то сигнал WE также не формируется и запись в буфер DS-макроячейки 2 не происходит (см. фиг.8, диаграммы b, d, такт 10). Единственное предназначение NULL-кода - это поддержка синхронизации в кодеке 5 в течение пауз в передаче данных по коммуникационному каналу In-Out, поэтому никакой другой блок в устройстве 1 на него не реагирует.
Коммуникационное устройство 1 переходит в состояние Сброс при обнаружении ошибки соединения (см. диаграмму состояний на фиг.9), которая возникает в двух случаях: при потере синхронизации или выравнивания символов. В случае потери синхронизации кодек 5 8b/10b сбрасывает единичный уровень сигнала подтверждения синхронизации на выходе 30. В блоке 6 управления соединением (см. фиг.4) нулевой сигнал подтверждения синхронизации с входа 62 поступает на первый инверсный вход второго элемента 57 ИЛИ. Единичный сигнал ошибки с выхода 67 второго элемента 57 ИЛИ подается на первый вход сброса триггера 54 установления соединения, вызывая в следующем такте сброс в ноль сигнала установления соединения на выходе 27 триггера 54 (см. фиг.6, диаграмма d). Схема 58 сброса при этом формирует сигнал сброса на выходе 34 блока 6 управления соединением (см. фиг.6, диаграмма f), что приводит к сбросу кодека 4 и DS-макроячейки 2 и, как следствие, к новой инициализации соединения между всеми взаимосвязанными устройствами.
При другом варианте возникновение ошибки соединения может быть вызвано потерей выравнивания символов из-за слишком длительного отсутствия специальных символов синхронизации ССС1 или ССС2, интервал Т3 поступления которых от удаленного устройства 1 выбран равным 32 тактам локальной синхронизации (ЛС). Для контроля этой ситуации второй счетчик 55 в блоке 6 управления соединением каждый такт ЛС инкрементирует свое состояние. Счетчик 55 сбрасывается в ноль при приеме любого из символов ССС1 или ССС2. Если символ ССС1 или ССС2 долгое время не поступает от устройства 1 с другой стороны соединения, то в итоге второй счетчик 55 достигает своего конечного состояния, которое превышает допустимое значение контролируемого интервала ожидания в два раза, что гарантирует надежное распознавание ошибки соединения из-за потери выравнивания символов. В этом состоянии счетчика 55 на его выходе 66 формируется единичный сигнал переноса, в результате чего на выходе 67 второго элемента 57 ИЛИ устанавливается сигнал ошибки, вызывающий сброс всего коммуникационного устройства 1.
В рассматриваемой коммуникационной системе модули SpaceWire, к каждому из которых подключается устройство 1, могут иметь свой собственный блок питания. Взаимодействующие коммуникационные устройства 1 зачастую могут находиться на большом расстоянии друг от друга (порядка нескольких десятков и даже сотен метров). Поэтому блок 7 реализует функции гальванической развязки, благодаря чему обеспечиваются разрыв общей «земляной» цепи между взаимодействующими устройствами, защита всей коммуникационной системы от высоковольтных переходных процессов, уменьшение помех и искажений сигналов, а также увеличение степени электробезопасности. Гальваническая изоляция в устройстве 1 применяется для защиты от больших токов или напряжений, вызванных высоковольтными помехами и возникающих при наличии замкнутых цепей заземления. Такие замкнутые петли могут присутствовать в любой коммуникационной системе, где имеется несколько заземлений. Заземления в различных модулях бортовой распределенной вычислительной системы, связанных длинным кабелем, будут иметь различный потенциал, поэтому ток заземления будет проходить по соединительному кабелю. В отсутствие изоляции этот ток может создать дополнительные шумы, ухудшить качество канала или даже вывести из строя компоненты бортового комплекса. Токи, наводимые в длинных кабелях в условиях бортовых комплексов, например при включении и выключении большого числа электромоторов и других исполнительных механизмов, при электростатических разрядах или при внешних электромагнитных воздействиях, могут вызвать быстрые изменения потенциала заземления величиной в сотни или тысячи вольт. При этом на информационный сигнал, передаваемый по каналу, накладывается высоковольтный импульс. При отсутствии изоляции этот высоковольтный импульс может нарушить передачу сигнала или даже вывести систему из строя. Подключение всех модулей, связанных общим интерфейсом, к одному заземлению сможет защитить распределенный бортовой комплекс от таких разрушающих воздействий, а изоляция коммуникационных устройств друг от друга позволяет избавиться от замкнутых «петлевых» заземлений.
В блоке 7 гальванической развязки может использоваться любой из основных вариантов обеспечения гальванической развязки, позволяющих блокировать протекание тока от одного коммуникационного устройства 1 к другому, и при этом обеспечить передачу информации. Известными и широко применяемыми средствами гальванической изоляции являются трансформаторы и развязывающие конденсаторы, оптопары и блоки реализации волоконно-оптических линий связи, а также другие устройства гальванической развязки цифрового сигнала.
В макетных образцах коммуникационного устройства 1 для гальванической развязки DS-линка, входящих в коммуникационную систему (см фиг.1, а), для реализации блока 7 гальванической развязки использован TM1062DSA1 [http://www.digchip.com/datasheets/parts/datasheet/383/TM1062DSA.php] - модуль линейного интерфейса (приемопередатчик), обеспечивающий гальваническую развязку на основе трансформатора при передаче электрических сигналов по твинаксиальному кабелю или по экранированной витой паре. Скорость передачи электрических сигналов составляет 1,0625 Гбод. Длина соединительного кабеля между устройствами 1 в макете коммуникационной системы равна 100 м.
Кодек 5 8b/10b реализован на базе микросхемы CYV15G0101DXB [http://www.chipfind.ru/datasheet/cypress/cyp15g0101dxb.htm] - одноканального приемопередатчика серии HOTLink II. В данной реализации устройства 1 базовая частота синхросигналов, подаваемых из блока 3 синхронизации на вход синхронизации кодека 5, равна 40 МГц. Скорость выдачи дифференциальных сигналов, представляющих биты кодированных данных, из кодека 5 с выхода 32 составляет 1 МГбит/с. Частота локальной синхронизации на выходе 31 кодека 5 составляет 100 МГц. На частоте локальной синхронизации, равной 100 МГц, работает большинство блоков DS-макроячейки 2, при этом блок 70 выдачи данных и блок 71 приема данных поддерживают передачу и прием данных в DS-линке на частотах в диапазоне от 2 до 400 МГц.
Таким образом, экспериментальный образец коммуникационной системы, содержащей два макета предлагаемого коммуникационного устройства, связанных 100-метровым кабелем, подтверждает реализуемость предлагаемого технического решения для обеспечения гальванической изоляции модулей SpaceWire, взаимодействующих на больших расстояниях, существенно превышающих ограничения, предусмотренные стандартом SpaceWire. При этом взаимодействие модулей SpaceWire осуществляется на максимально возможной скорости передачи и приема данных в DS-линке, равной 400 Мбит/с. Данное техническое решение способствует достижению более высоких показателей надежности и быстродействия по сравнению с известными аналогами, а также существенному увеличению области применения модулей SpaceWire, что является важным фактором при использовании данных устройств в бортовых и встраиваемых применениях. Поэтому предложенное коммуникационное устройство для гальванической развязки DS-линка имеет значительные функциональные преимущества перед известными аналогами и может применяться для связи любых устройств, имеющих интерфейс SpaceWire.