Устройство коммуникационного интерфейса для сети spacewire
Иллюстрации
Показать всеИзобретение относится к цифровой вычислительной технике, а именно к высокоскоростным ЛВС для бортовых комплексов. Техническим результатом является обеспечение передачи управляющих сигналов системного уровня и использования схемы кодирования, обеспечивающей выравнивание длины передаваемых символов и позволяющей передавать биты данных по кабелю, содержащему только одну линию передачи данных в каждую сторону. В устройство коммуникационного интерфейса для сети SpaceWire дополнительно введены преобразователи передаваемых и принимаемых символов, блоки кодирования и декодирования 8b/10b, блоки передачи и приема битов, блок проверки соединения, регистры передачи и приема управляющих кодов. 2 з.п. ф-лы, 19 ил., 4 табл.
Реферат
Изобретение представляет собой устройство (систему) коммуникационного интерфейса и относится к цифровой вычислительной технике, а именно к высокоскоростным коммуникационным системам для высокопроизводительных многопроцессорных вычислительных систем с распределенной обработкой информации, и локальным вычислительным сетям, создаваемых на базе технологии SpaceWire [ECSS Standard ECSS-E-50-12A, "SpaceWire, Links, Nodes, Routers and Networks", Issue 1, European Cooperation for Space Data Standardization, February 2003]. Данное устройство предназначено, в частности, для использования при построении многопроцессорных вычислительных систем с распределенной архитектурой, используемых во встраиваемых применения, в том числе в бортовых вычислительных комплексах, а также бортовых локальных сетей.
В качестве аналога из уровня техники известен коммуникационный интерфейс, описанный в стандарте 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 06977599B2. 8B/10B encoding and decoding for high speed applications, Apr 30, 2002], используемое в стандарте FibreChannel. Устройство содержит блок кодирования 8b/10b, выходной 10-разрядный сдвиговый регистр, обеспечивающий преобразование параллельных 10-битовых кодов в последовательный поток битов, выдаваемых в коммуникационный интерфейс, входной 10-разрядный сдвиговый регистр, обеспечивающий обратное преобразование последовательного потока битов в параллельные 10-битовые коды, и блок декодирования 8b/10b. Устройство работает на локальной частоте в 10 раз меньшей частоты передачи битов в коммуникационном интерфейсе. Применение кода 8b/10b позволяет использовать в коммуникационном канале одну передающую линию данных, так как при кодировании 8b/10b имеется возможность передачи наряду с символами данных специального встроенного символа тактирования, предназначенного для синхронизации взаимодействующих устройств.
В качестве недостатка необходимо отметить, что устройство не обеспечивает передачу в реальном масштабе времени различных специальных управляющих кодов (системных прерываний, маркеров системного времени и других управляющих сигналов, необходимых для управления на системном уровне), поскольку отсутствует возможность вставить управляющий код внутрь последовательности передаваемых восьмибитовых символов данных одного кадра. Необходимость ожидания окончания передачи очередного кадра данных проводит к существенным временным задержкам при выполнении системных функций. Кроме того, невозможность реализации системных механизмов в реальном масштабе времени значительно сужает область применения.
Известен последовательный коммуникационный интерфейс, реализующий способ 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-сигналами в физическом канале. DS-кодирование из-за необходимости использования двух линий для передачи битов данных и сигналов стробирования предъявляет достаточно жесткие требования к скосу (фазовому сдвигу) и джиттеру 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] для использования в коммуникационной системе, соединяющей как минимум два компьютера, причем устройство коммуникационного интерфейса, содержащее блок управления, блок управления потоком данных, блок выдачи данных и блок приема данных, входы данных и стробирования которого являются соответственно входами данных и стробирования интерфейса устройства с каналом приема информации, выходы данных и стробирования интерфейса устройства с каналом выдачи информации являются соответственно выходами данных и стробирования блока выдачи данных. Блок управления потоком устройства с помощью специальных управляющих символов управления потоком FCT (Flow Control Token) реализует механизм кредитования, позволяющий использовать буферы ограниченного размера для приема и передачи пакетов неограниченной длины.
Недостатком данного устройства коммуникационного интерфейса является ограничение расстояния между взаимодействующими сторонами и отсутствие гальванической развязки, что может вызывать отказы и неисправности из-за коротких замыканий.
Ближайшим аналогом к заявляемому является устройство коммуникационного интерфейса [Решение о выдаче Патента РФ на изобретение от 30.03.2012 по заявке №2010121016/08(029872). Устройство коммуникационного интерфейса. Заявл. 26.05.2010, H04L 1/00 (2006.01)], обеспечивающее передачу данных из хост-системы в последовательный канал в соответствии со стандартом SpaceWire и содержащее блок выдачи данных, блок приема данных, блок управления и блок управления потоком данных, выход запроса на выдачу символа управления потоком которого соединен с одноименным входом блока выдачи данных, выход готовности выдачи символа управления потоком которого соединен с одноименным входом блока управления потоком данных, входы подтверждения приема символа управления потоком и подтверждения приема информационного символа которого соединены соответственно с одноименными выходами блока приема данных и одноименными входами блока управления, выход ошибки кодировки символа которого является выходом ошибки кодировки символа системного интерфейса устройства, вход сброса системного интерфейса устройства является входом сброса блока управления, первый и второй выходы сброса которого соединены с входами сброса соответственно блока выдачи данных и блока приема данных, выход «получен NULL» которого соединен с одноименным входом блока управления, вход чтения данных системного интерфейса устройства является одноименным входом блока приема данных, выходы данных для приема и готовности данных для приема которого являются соответствующими выходами системного интерфейса устройства, выход ошибки кредитования системного интерфейса устройства является одноименным выходом блока управления потоком данных и соединен с одноименным входом блока управления, третий выход сброса которого соединен с входом сброса блока управления потоком данных, входы подтверждения выдачи информационного символа и разрешения приема данных которого соединены с одноименными выходами соответственно блока выдачи данных и блока приема данных, выход готовности выдачи данных системного интерфейса устройства является одноименным выходом блока выдачи данных, входы записи и данных для выдачи системного интерфейса устройства являются соответствующими входами блока выдачи данных, который содержит блок арбитража выдачи символов, буфер выдачи данных, выход готовности выдачи данных которого является одноименным выходом блока выдачи данных, входы записи и данных для выдачи которого являются соответствующими входами буфера выдачи данных, выходы подтверждения выдачи информационного символа и готовности выдачи символа управления потоком блока выдачи данных являются соответственно одноименными выходами блока арбитража выдачи символов, вход запроса на выдачу символа управления потоком которого является одноименным входом блока выдачи данных, вход сброса которого является входом сброса блока арбитража выдачи символов и соединен с входом сброса буфера выдачи данных, выход готовности данных которого соединен с одноименным входом блока арбитража выдачи символов, вход синхронизации которого соединен с входом синхронизации буфера выдачи данных и является входом синхронизации блока выдачи данных, входы разрешения выдачи и разрешения передачи символа управления потоком которого является одноименными входами блока арбитража выдачи символов, выход чтения данных которого соединен с одноименным входом буфера выдачи данных, выход признака конца пакета которого соединен с одноименным входом блока арбитража выдачи символов; блок приема данных содержит буфер приема данных и дешифратор преобразованного кода, выход подтверждения приема символа управления потоком и выход «получен NULL» которого являются одноименными выходами блока приема данных, выход принятых данных которого является одноименным выходом буфера приема данных, выходы разрешения приема данных и готовности принятых данных которого являются соответственно одноименными выходами блока приема данных, вход чтения данных которого является входом чтения буфера приема данных, вход разрешения записи, буфера приема данных соединен с выходом подтверждения приема информационного символа дешифратора преобразованного кода и является одноименным выходом блока приема данных, вход сброса которого является входом сброса буфера приема данных.
Данное устройство поддерживает работу на частотах до 400 МГц с локальной частотой в 2 раза меньше, чем частота передачи и приема битов. То есть оно позволяет передавать поток битов данных и стробов в коммуникационном интерфейсе на частоте в два раза большей локальной частоты, на которой работают все остальные блоки устройства. Однако различное некратное кодирование символов SpaceWire, имеющих различную длину, не позволяет эффективно увеличить скорость передачи битов относительно частоты локальной синхронизации.
Недостатком данного технического решения является ограниченные функциональные возможности. С одной стороны, такое ограничение связано с отсутствием возможности передачи управляющих сигналов в реальном масштабе времени поверх потока передаваемых пакетных данных. С другой стороны, имеется ограничение скорости передачи битов и расстояния между взаимодействующими устройствами коммуникационного интерфейса, а также уменьшение надежности из-за отсутствия возможности применения гальванической изоляции устройств друг от друга, что не позволяет предотвращать отказы и неисправности из-за коротких замыканий.
В основу настоящего изобретения поставлена задача разработки устройства коммуникационного интерфейса, обеспечивающего расширение функциональных возможностей за счет реализации возможности передачи в реальном масштабе времени системных управляющих сигналов наряду с передачей битов пакетных данных; повышение скорости передачи и приема битов данных; преодоление ограничений взаимодействия устройств на больших расстояниях и возможность применения гальванической изоляции взаимодействующих устройств.
Техническим результатом предлагаемого изобретения является расширение области применения устройства коммуникационного интерфейса за счет обеспечения передачи управляющих сигналов системного уровня и использования схемы кодирования, обеспечивающей выравнивание длины передаваемых символов и позволяющей передавать биты данных по кабелю, содержащему только одну линию передачи данных в каждую сторону, а также увеличивать длину кабеля коммуникационного интерфейса при достижении более высоких показателей быстродействия и надежности по сравнению с известными аналогами.
Технический результат достигается тем, что в предложенном устройстве коммуникационного интерфейса для сети SpaceWire, содержащем блок выдачи данных, блок приема данных, блок управления и блок управления потоком данных, выход запроса на выдачу символа управления потоком которого соединен с одноименным входом блока выдачи данных, выход готовности выдачи символа управления потоком которого соединен с одноименным входом блока управления потоком данных, входы подтверждения приема символа управления потоком и подтверждения приема информационного символа которого соединены соответственно с одноименными выходами блока приема данных и одноименными входами блока управления, выход ошибки кодировки символа которого является выходом ошибки кодировки символа системного интерфейса устройства, вход сброса системного интерфейса устройства является входом сброса блока управления, первый и второй выходы сброса которого соединены с входами сброса соответственно блока выдачи данных и блока приема данных, выход «получен NULL» которого соединен с одноименным входом блока управления, вход чтения данных системного интерфейса устройства является одноименным входом блока приема данных, выходы данных для приема и готовности данных для приема которого являются соответствующими выходами системного интерфейса устройства, выход ошибки кредитования системного интерфейса устройства является одноименным выходом блока управления потоком данных и соединен с одноименным входом блока управления, третий выход сброса которого соединен с входом сброса блока управления потоком данных, входы подтверждения выдачи информационного символа и разрешения приема данных которого соединены с одноименными выходами соответственно блока выдачи данных и блока приема данных, выход готовности выдачи данных системного интерфейса устройства является одноименным выходом блока выдачи данных, входы записи и данных для выдачи системного интерфейса устройства являются соответствующими входами блока выдачи данных, который содержит блок арбитража выдачи символов, буфер выдачи данных, выход готовности выдачи данных которого является одноименным выходом блока выдачи данных, входы записи и данных для выдачи которого являются соответствующими входами буфера выдачи данных, выходы подтверждения выдачи информационного символа и готовности выдачи символа управления потоком блока выдачи данных являются соответственно одноименными выходами блока арбитража выдачи символов, вход запроса на выдачу символа управления потоком которого является одноименным входом блока выдачи данных, вход сброса которого является входом сброса блока арбитража выдачи символов и соединен с входом сброса буфера выдачи данных, выход готовности данных которого соединен с одноименным входом блока арбитража выдачи символов, вход синхронизации которого соединен с входом синхронизации буфера выдачи данных и является входом синхронизации блока выдачи данных, входы разрешения выдачи и разрешения передачи символа управления потоком которого является одноименными входами блока арбитража выдачи символов, выход чтения данных которого соединен с одноименным входом буфера выдачи данных, выход признака конца пакета которого соединен с одноименным входом блока арбитража выдачи символов; блок приема данных содержит буфер приема данных и дешифратор преобразованного кода, выход подтверждения приема символа управления потоком и выход «получен NULL» которого являются одноименными входами блока управления, выход принятых данных которого является одноименным выходом буфера приема данных, выходы разрешения приема данных и готовности принятых данных которого являются соответственно одноименными выходами блока приема данных, вход чтения данных которого является входом чтения буфера приема данных, вход разрешения записи буфера приема данных соединен с выходом подтверждения приема информационного символа дешифратора преобразованного кода и является одноименным выходом блока приема данных, вход сброса которого является входом сброса буфера приема данных, дополнительно введены преобразователь передаваемых символов, блок кодирования 8b/10b, блок передачи битов, блок приема битов, блок декодирования 8b/10b, буфер символов 8b, преобразователь принимаемых символов, блок проверки соединения, выход ошибки рассоединения которого соединен с одноименным входом блока управления, первый выход сброса соединен с одноименными входами преобразователя передаваемых символов и блока кодирования 8b/10b, информационный вход которого соединен с выходом данных символа 8b преобразователя передаваемых символов, выход готовности выдачи символа которого соединен с вход готовности блока выдачи данных, информационный выход и выход типа символа которого соединены соответственно с входами данных и типа символа преобразователя передаваемых символов, выход признака спецсимвола которого соединен с входом признака типа символа блока кодирования 8b/10b, выход кодированных данных которого соединен с одноименным входом блока передачи битов, выход битовых сигналов которого является одноименным выходом коммуникационного интерфейса устройства, выход локальной синхронизации блока передачи битов соединен с одноименными входами блока кодирования 8b/10b, преобразователя передаваемых символов, буфера символов 8b, преобразователя принимаемых символов, блока управления, блока приема данных и блока выдачи данных, вход записи управляющего кода которого является одноименным входом системного интерфейса устройства, выход готовности выдачи управляющего кода которого является одноименным выходом блока выдачи данных, вход управляющего кода для выдачи которого является одноименным входом системного интерфейса устройства, выход принятого управляющего кода которого является одноименным выходом блока приема данных, выход готовности принятого управляющего кода которого является одноименным выходом системного интерфейса устройства, вход чтения управляющего кода которого является одноименным входом блока приема данных, информационный вход и вход типа символа которого соединены соответственно с одноименными входами преобразователя принимаемых символов, информационный вход и вход признака спецсимвола которого соединены соответственно с одноименными выходами буфера символов 8b, вход разрешения записи соединен с одноименным выходом блока декодирования 8b/10b, выход символа 8b которого соединен с информационными входами буфера символов 8b и блока проверки соединения, вход признака спецсимвола которого соединен с одноименным входом буфера символов 8b и с одноименным выходом блока декодирования 8b/10b, выход ошибки кодирования которого соединен с одноименным входом блока управления, вход установления соединения которого соединен с одноименным выходом блока проверки соединения, вход признака соединения которого соединен с одноименным входом преобразователя принимаемых символов и с одноименным выходом блока приема битов, выход синхронизации приема данных которого соединен с входом синхронизации приема буфера символов 8b, с входом синхронизации блока проверки соединения и с входом синхронизации блока декодирования 8b/10b, информационный вход которого соединен с выходом принятых кодированных данных блока приема битов, вход битовых сигналов которого является одноименным входом коммуникационного интерфейса устройства, причем в блок выдачи данных введен регистр выдачи управляющего кода, выход готовности выдачи управляющего кода которого является одноименным выходом блока выдачи данных, вход записи которого является входом записи регистра выдачи управляющего кода, вход управляющего кода для выдачи которого является одноименным входом блока выдачи данных, входы сброса и синхронизации которого соединены соответственно с входами сброса и синхронизации регистра выдачи управляющего кода, выход готовности управляющего кода которого соединен с одноименным входом блока арбитража выдачи символов, выход чтения управляющего кода которого соединен с одноименным входом регистра выдачи управляющих кодов, выход управляющего кода которого соединен со вторым информационным входом мультиплексора данных; в блок приема данных введен регистр приема управляющего кода, информационный вход которого является одноименным входом блока приема данных, входы сброса и локальной синхронизации которого соединены соответственно с входами сброса и локальной синхронизации регистра приема управляющего кода, выходы готовности принятого управляющего кода и принятого управляющего кода которого являются соответственно одноименными выходами блока приема данных, вход чтения управляющего кода которого является одноименным входом регистра приема управляющего кода, входы разрешения записи и синхронизации которого соединены соответственно с входом синхронизации блока приема данных и с выходом селекции управляющего кода дешифратора преобразованного кода.
Предпочтительно, преобразователь передаваемых символов содержит регистр выходных данных, первый регистр типа символа, селектор управляющего кода, триггер управляющего кода, первое ПЗУ констант, выходной мультиплексор, первый счетчик, первый элемент И, второй элемент И, третий элемент И, выход готовности выдачи символа которого является одноименным выходом преобразователя передаваемых символов, вход данных которого является входом данных регистра выходных данных, выход которого соединен с первым информационным входом выходного мультиплексора, выход данных символа 8b которого является одноименным выходом преобразователя передаваемых символов, вход локальной синхронизации которого соединен с входами синхронизации первого регистра типа символа, первого триггера управляющего кода, со счетным входом первого счетчика и с входом синхронизации регистра входных данных, вход сброса преобразователя соединен с входами сброса регистра выходных данных, первого регистра типа символа, первого триггера управляющего кода и первого счетчика, выход переноса которого соединен со вторым входом первого ПЗУ констант, со вторым инверсным входом второго элемента И, с вторым входом первого элемента И, выходе запрета которого соединен с инверсным входом сброса первого счетчика, вход типа символа преобразователя передаваемых символов является входом данных первого регистра типа символа, выход первого регистра типа символа соединен с первым входом первого ПЗУ констант и с входом селектора управляющего кода, выход селекции управляющего кода которого соединен с первым входом третьего элемента И, выход установки флага которого соединен с входом данных триггера управляющего кода, прямой выход которого соединен с первым входом первого элемента И, с первым инверсным входом второго элемента И, с третьим входом первого ПЗУ констант, выход кода спецсимвола которого соединен с вторым информационным входом выходного мультиплексора. Выход признака спецсимвола первого ПЗУ констант является одноименным выходом преобразователя передаваемых символов и соединен с управляющим входом выходного мультиплексора, инверсный выход триггера соединен со вторым входом третьего элемента И.
Предпочтительно, преобразователь принимаемых символов содержит второе ПЗУ констант, второй регистр типа символа, второй триггер управляющего кода, входной мультиплексор, регистр типа входного символа, регистр входных данных, выход типа принятого символа которого является одноименным выходом преобразователя принимаемых символов, информационный вход которого соединен с входом данных регистра входных данных и с первым входом второго ПЗУ констант, второй вход второго ПЗУ констант является входом признака спецсимвола преобразователя принимаемых символов, разрешающий вход ПЗУ является входом признака соединения преобразователя принимаемых символов, выход типа символа второго ПЗУ констант соединен с входом данных второго регистра типа символа и с первым информационным входом входного мультиплексора, выход селекции управляющего кода второго ПЗУ констант соединен с входом данных второго триггера управляющего кода и с входом сброса регистра типа входного символа, вход данных которого соединен с выходом входного мультиплексора, второй информационный вход которого соединен с выходом задержанного типа символа второго регистра типа символа, вход синхронизации которого является входом локальной синхронизации преобразователя принимаемых символов и соединен с входами синхронизации второго триггера управляющего кода, регистра типа входного символа и регистра входных данных, выход которого является информационным выходом преобразователя принимаемых символов.
В данном устройстве коммуникационного интерфейса технический результат обеспечивается за счет применения дополнительного преобразования символов технологии SpaceWire в символы формата 8b с последующим кодированием 8b/10b перед их передачей в виде последовательности битовых сигналов в удаленное устройство по выделенному коммуникационному каналу, имеющему одну линию передачи в каждом направлении. Кроме символов пакетных данных сети SpaceWire данное устройство дополнительно обеспечивает передачу управляющих сигналов реального времени для поддержки системных механизмов (метки системного времени, прерывания и др.). В результате данного технического решения появились условия для передачи данных между устройствами в сети SpaceWire на расстояниях, значительно превышающих значения, определяемые для кабелей в стандарте SpaceWire, при одновременном снятии ограничений на повышение скорости передачи данных в коммуникационном канале. Использование для передачи данных только одной линии существенно уменьшает влияние джиттера сигнала на ограничение скорости передачи, так как джиттер сигнала будет зависеть только от одного передатчика. Использование кодирования 10b/8b позволяет повысить скорость передачи битовых сигналов в коммуникационном канале относительно частоты локальной синхронизации в десять раз и упростить реализацию устройства на частоте локальной синхронизации в силу одинаковой кратности символов 8b/10b в отличие от заложенной в стандарте неодинаковой кодировки символов SpaceWire. Кроме того, обеспечиваемая при этом возможность использования гальванической развязки на входе и выходе коммуникационного интерфейса позволяет повысить надежность работы устройства.
Детально сущность данного технического решения поясняется описанием со ссылками на фигуры чертежей, где на фиг.1 представлена структурная схема устройства, на фиг.2 - функциональная схема блока выдачи данных, на фиг.3 - функциональная схема блока приема данных. На фиг.4 и 5 представлены возможные варианты реализации функциональных схем блока управления потоком данных и блока управления. На фиг.6 приведена функциональная схема преобразователя передаваемых символов. На фиг.7 приведен вариант возможной реализации функциональной схемы блока передачи битов. На фиг.8 приведен вариант возможной реализации функциональной схемы блока приема битов. На фиг.9 приведена функциональная схема преобразователя принимаемых символов. На фиг.10 приведена функциональная схема блока проверки соединения. На фиг.11 показан автомат состояний физического уровня обмена сигналами (PHY). На фиг.12 приведены временные диаграммы, иллюстрирующие процедуру выравнивания символов 10b. На фиг.13 изображен автомат уровня адаптации SpaceWire. На фиг.14 приведены временные диаграммы, иллюстрирующие передачу спецсимвола поддержки связи среди других символов. На фиг.15 представлен граф машины состояния, описывающий режимы функционирования устройства на уровне обмена SpaceWire. На фиг.16 приведены временные диаграммы передачи байтов пакетных данных, на фиг.17 - временные диаграммы приема символов данных, управляющих символов и управляющих кодов, на фиг.18 - временные диаграммы передачи управляющего кода, на фиг.19 - временные диаграммы передачи управляющего кода и спецсимвола поддержки связи.
Как показано на фиг.1, предлагаемое устройство содержит блок 1 выдачи данных, блок 2 приема данных, блок 3 управления потоком данных, блок 4 управления, преобразователь 5 передаваемых символов, блок 6 кодирования 8b/10b, блок 7 передачи битов, блок 8 приема битов, блок 9 декодирования 8b/10b, буфер 10 символов 8b, преобразователь 11 принимаемых символов, блок 12 проверки соединения, вход 13 синхронизации системного интерфейса, вход 14 сброса системного интерфейса, выход 15 готовности выдачи данных системного интерфейса, вход 16 записи данных системного интерфейса, вход 17 данных для выдачи системного интерфейса, выход 18 готовности принятых данных системного интерфейса, выход 19 принятых данных системного интерфейса, вход 20 чтения данных системного интерфейса, выход 21 готовности выдачи управляющего кода системного интерфейса, вход 22 записи управляющего кода системного интерфейса, вход 23 управляющего кода для выдачи системного интерфейса, выход 24 готовности принятого управляющего кода системного интерфейса, выход 25 принятого управляющего кода системного интерфейса, вход 26 чтения управляющего кода системного интерфейса, выход 27 установления соединения системного интерфейса, выход 28 ошибки рассоединения системного интерфейса, выход 29 ошибки кодировки символа системного интерфейса, выход 30 ошибки кредитования системного интерфейса, выход 31 подтверждения приема символа управления потоком, выход 32 подтверждения приема информационного символа, выход 33 запроса на выдачу символа управления потоком, первый выход 34 сброса, второй выход 35 сброса, третий выход 36 сброса, выход 37 готовности выдачи символа управления потоком, выход 38 разрешения передачи символа управления потоком, выход 39 подтверждения выдачи информационного символа, выход 40 разрешения приема данных, выход 41 разрешения выдачи данных, информационный выход 42, выход 43 типа символа, выход 44 готовности выдачи символа, выход 45 признака спецсимвола, выход 46 данных символа 8b, выход 47 кодированных данных, выход 48 локальной синхронизации, выход 49 битовых сигналов коммуникационного интерфейса, вход 50 битовых сигналов коммуникационного интерфейса, выход 51 принятых кодированных данных, выход 52 синхронизации приема данных, выход 53 признака соединения, выход 54 символа 8b, выход 55 признака спецсимвола, выход 56 разрешения записи, выход 57 ошибки кодирования, информационный выход 58, выход 59 признака спецсимвола, выход 60 ошибки рассоединения, выход 61 установления соединения, информационный выход 62, выход 63 типа принятого символа, выход 127 «Получен NULL».
Блок 1 выдачи данных (см. фиг.2) содержит блок 64 арбитража выдачи символов, буфер 65 выдачи данных, регистр 66 выдачи управляющего кода, мультиплексор 67 данных, вход 68 сброса, вход 69 разрешения выдачи, вход 70 синхронизации выдачи, вход 71 запроса на выдачу символа управления потоком, вход 72 разрешения передачи символа управления потоком, вход 73 готовности, выход 74 готовности данных, выход 75 чтения данных, выход 76 признака конца пакета, выход 77 данных, выход 78 чтения управляющего кода, выход 79 селекции информации, выход 80 готовности управляющего кода, выход 81 управляющего кода, вход 13 синхронизации, выход 15 готовности выдачи данных, вход 16 записи, вход 17 данных для выдачи, выход 21 готовности выдачи управляющего кода, вход 22 записи управляющего кода, вход 23 управляющего кода для выдачи, выход 37 готовности выдачи символа управления потоком, выход 39 подтверждения выдачи информационного символа, информационный выход 42, выход 43 типа символа.
Блок 2 приема данных (см. фиг.3) содержит дешифратор 82 преобразованного кода, буфер 83 приема данных, регистр 84 приема управляющего кода, информационный вход 85, вход 86 типа символа, вход 87 сброса, вход 88 локальной синхронизации, выход 89 селекции управляющего кода, выход 127 «Получен NULL», вход 13 синхронизации системного интерфейса, выход 18 готовности принятых данных, выход 19 принятых данных, вход 20 чтения данных системного интерфейса, выход 24 готовности принятого управляющего кода, выход 25 принятого управляющего кода, вход 26 чтения управляющего кода системного интерфейса, выход 31 подтверждения приема символа управления потоком, выход 32 подтверждения приема информационного символа, выход 40 разрешения приема данных.
Блок 3 управления потоком данных содержит (см. фиг.4) формирователь 90 запросов кредитования, счетчик 91 принятых символов, счетчик 92 переданных символов, детектор 93 ошибки кредитования, вход 94 разрешения приема данных, вход 95 сброса, вход 96 готовности выдачи символа управления потоком, вход 97 подтверждения приема информационного символа, вход 98 подтверждения приема символа управления потоком, вход 99 подтверждения выдачи информационного символа, выход 100 состояния счетчика, выход 101 ошибки кредита приема, выход 102 ошибки кредита выдачи, вход 13 синхронизации, выход 26 ошибки кредитования, выход 33 запроса на выдачу символа управления потоком, выход 41 разрешения выдачи данных.
Блок 4 управления содержит (см. фиг.5) регистр 103 состояния, блок 104 формирования нового состояния, формирователь 105 управляющих сигналов, блок 106 задержки, вход 107 установления соединения, вход 108 ошибки кредитования, вход 109 ошибки рассоединения, вход 110 ошибки кодировки символа, вход 111 подтверждения приема символа управления потоком, вход 112 подтверждения приема информационного символа, вход 113 локальной синхронизации, выход 114 состояния, выход 115 управления состоянием, управляющий выход 116, вход 178 «Получен NULL», вход 13 синхронизации системного интерфейса, вход 14 сброса системного интерфейса, выход 27 установления соединения системного интерфейса, выход 28 ошибки рассоединения системного интерфейса, выход 29 ошибки кодировки символа системного интерфейса, первый выход 34 сброса, второй выход 35 сброса, третий выход 36 сброса, выход 38 разрешения передачи символа управления потоком.
Преобразователь 5 передаваемых символов (см. фиг.6) содержит регистр 117 выходных данных, первый регистр 118 типа символа, селектор 119 управляющего кода, триггер 120 управляющего кода, первое ПЗУ 121 констант, выходной мультиплексор 122, первый счетчик 123, первый элемент 124 И, второй элемент 125 И, третий элемент 126 И, вход 128 данных, вход 129 типа символа, вход 130 локальной синхронизации, вход 131 сброса, выход 132 типа символа, выход 133 селекции символа данных, выход 134 селекции управляющего кода, инверсный выход 135 флага управляющего кода, выход 136 установки флага, прямой выход 137 управляющего кода, выход 138 запрета счета, выход 139 переноса, выход 140 кода сп