RU175049U9 - COMMUNICATION INTERFACE DEVICE SpaceWire - Google Patents
COMMUNICATION INTERFACE DEVICE SpaceWire Download PDFInfo
- Publication number
- RU175049U9 RU175049U9 RU2016132606U RU2016132606U RU175049U9 RU 175049 U9 RU175049 U9 RU 175049U9 RU 2016132606 U RU2016132606 U RU 2016132606U RU 2016132606 U RU2016132606 U RU 2016132606U RU 175049 U9 RU175049 U9 RU 175049U9
- Authority
- RU
- Russia
- Prior art keywords
- output
- data
- input
- spacewire
- unit
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
Abstract
Полезная модель «устройство коммуникационных интерфейсов SpaceWire» относится к цифровой вычислительной технике, а именно к высокоскоростным локальным вычислительным сетям для бортовых комплексов.Техническим результатом является создание сетевых структур для сбора и передачи данных от множества датчиков на базе технологии SpaceWire путем последовательного соединения двухпортовых устройств коммуникационных интерфейсов SpaceWire между собой. К каждому устройству через интерфейс шины АНВ может подключаться контроллер датчика. При этом достигается способность реализации передачи данных от произвольного множества датчиков в один порт SpaceWire, полностью используя его пропускную способность, чтобы загрузить подключенный к нему процессор обработки данных максимально полно. Устройство поддерживает коммутацию пакетов SpaceWire и протокол транспортного уровня RMAP для конфигурации самого устройства и доступа к данным контроллера датчика.Ближайшим к заявляемому является устройство коммуникационного интерфейса (Патент РФ на изобретение №2460124), которое представляет собой порт SpaceWire и содержит блок выдачи данных, блок приема данных, блок управления, блок управления потоком данных и связи.Технический результат достигается тем, что в устройство введены второй порт SpaceWire, блок коммутации пакетов данных, два блока управления скоростью передачи, два блока формирования синхросигналов передачи, блок регистров режима/состояния, блок регистров маршрутизации, селектор пакетов, формирователь протокола RMAP, контроллер интерфейса АНВ Master и контроллер интерфейса АНВ Slave и новые связи. 1 з.п. ф-лы, 12 ил., 26 табл.The utility model “SpaceWire communication interface device” refers to digital computing, namely, high-speed local area networks for airborne systems. The technical result is the creation of network structures for collecting and transmitting data from multiple sensors based on SpaceWire technology by serial connection of two-port communication interface devices SpaceWire among themselves. A sensor controller can be connected to each device via the ANV bus interface. At the same time, the ability to implement data transfer from an arbitrary set of sensors to one SpaceWire port is achieved, fully using its bandwidth to load the data processor connected to it as fully as possible. The device supports packet switching SpaceWire and the transport layer protocol RMAP for configuring the device itself and accessing the sensor controller data. The closest to the claimed device is a communication interface device (RF Patent for the invention No. 2460124), which is a SpaceWire port and contains a data output unit, a receiving unit data, control unit, data and communication flow control unit. The technical result is achieved by the fact that a second SpaceWire port, a data packet switching unit, two control units are introduced into the device transmission speed, two blocks for generating transmission clock signals, a block of mode / status registers, a block of routing registers, a packet selector, an RMAP protocol shaper, an ANV Master interface controller and an ANV Slave interface controller, and new communications. 1 s.p. crystals, 12 ill., 26 tab.
Description
Настоящая полезная модель представляет собой устройство (систему) коммуникационных интерфейсов и относится к цифровой вычислительной технике, а именно к высокоскоростным коммуникационным системам для многопроцессорных вычислительных систем с распределенной обработкой информации и локальным вычислительным сетям, создаваемых на базе технологии SpaceWire [ECSS Standard ECSS-E-50-12A, "SpaceWire, Links, Nodes, Routers and Networks", Issue 1, European Cooperation for Space Data Standardization, February 2003]. Данное устройство предназначено, в частности, для сбора информации от множества датчиков и других подобных модулей, не имеющих процессорного управления, при построении распределенных вычислительных систем, используемых во встраиваемых применениях, в том числе в бортовых вычислительных комплексах.This utility model is a device (system) of communication interfaces and relates to digital computing, namely to high-speed communication systems for multiprocessor computing systems with distributed information processing and local area networks based on SpaceWire technology [ECSS Standard ECSS-E-50 -12A, "SpaceWire, Links, Nodes, Routers and Networks",
В качестве аналога из уровня техники известно устройство коммуникационного интерфейса [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 0458648 A2] для использования в коммуникационной системе, соединяющей как минимум два компьютера, причем устройство коммуникационного интерфейса, содержащее блок выдачи данных, блок приема данных, блок управления и блок управления потоком данных.As an analogue from the prior art, a communication interface device is known [PATENT GB No. 91304711.4. Communication interface for serial transmission of variable length data tokens / Priority 05/25/90, No. 9011700. Data of filing 05/24/91. Data of
В данном устройстве использование DS-кодирования позволяет несколько снизить энергопотребление без снижения скоростных характеристик по сравнению с ранее известными аналогами за счет того, что в один момент времени может происходить изменение только одного сигнала, либо на линии стробирования S, либо на линии данных D коммуникационного интерфейса. Используемый в устройстве способ DS-кодирования характеризуется тем, что сигналы данных на линии данных D являются последовательным потоком битов данных, представляющих собой последовательность изменений сигнала. только когда биты данных изменяют свое значение, в то время как сигнал строба на линии стробирования S изменяет значение только на границе битов в те моменты, когда сигнал данных не изменяет свое состояние, таким образом, исключая одновременные изменения в последовательном потоке сигналов данных и стробов. В блоке приема данных путем объединения D-сигнала и S-сигнала по функции XOR формируется синхросигнал, изменяющий свое состояние в каждом битовом интервале, что позволяет его использование для приема сигналов данных с линии данных D и дальнейшей обработки битовых данных в устройстве коммуникационного интерфейса, как это требуется в соответствии со стандартом SpaceWire.In this device, the use of DS-coding allows you to slightly reduce power consumption without reducing speed characteristics compared to previously known analogues due to the fact that only one signal can change at a time, either on gating line S or on data line D of the communication interface . The DS encoding method used in the device is characterized in that the data signals on the data line D are a sequential stream of data bits representing a sequence of signal changes. only when the data bits change their value, while the strobe signal on the gating line S changes the value only at the bit boundary at those moments when the data signal does not change its state, thus eliminating simultaneous changes in the serial flow of data and strobe signals. In the data receiving unit, by combining the D-signal and S-signal using the XOR function, a clock signal is generated that changes its state in each bit interval, which allows its use to receive data signals from data line D and further process bit data in a communication interface device, such as this is required by the SpaceWire standard.
Недостатком этого устройства являются ограниченные функциональные возможности при организации сбора информации от датчиков в распределенной вычислительной системе. Это связанно с тем, что данное устройство, реализуя функции порта ввода-вывода, предназначено для применения в коммуникационной системе, связывающей в распределенной системе два компьютера, либо два процессорных модуля, либо другие подобные узлы, имеющие программное управление, между которыми требуется передавать на высокой скорости в обе стороны большие потоки информации. В этом случае обе взаимодействующие стороны реализуют симметричный интерфейс и могут эффективно использовать возможности своих портов для высокоскоростного приема-передачи данных. Если к высокоскоростному порту компьютера необходимо подключить другой тип модуля, обеспечивающего с помощью данного устройства коммуникационного интерфейса передачу информации от низкоскоростного датчика, то высокоскоростной порт компьютера будет использоваться неэффективно, поскольку его пропускная способность позволяет принимать информацию от множества подобных датчиков. Однако подключить к одному порту компьютера или процессорного блока более одного датчика не позволяют ограниченные функциональные возможности данного устройства коммуникационного интерфейса.The disadvantage of this device is the limited functionality when organizing the collection of information from sensors in a distributed computing system. This is due to the fact that this device, realizing the functions of an input / output port, is intended for use in a communication system that connects two computers in a distributed system, or two processor modules, or other similar nodes that have software control, between which you want to transfer at high speeds in both directions are large flows of information. In this case, both interacting parties implement a symmetric interface and can effectively use the capabilities of their ports for high-speed data reception and transmission. If you need to connect another type of module to the high-speed port of the computer, which can transmit information from the low-speed sensor using this communication interface device, then the high-speed port of the computer will be used inefficiently, since its throughput allows you to receive information from many similar sensors. However, to connect more than one sensor to one port of a computer or processor unit does not allow the limited functionality of this communication interface device.
Известно коммутационное устройство, обеспечивающее коммутировать данные между несколькими портами - коммутатор LINK-портов [Патент RU №2405196 С1. Коммутатор LINK-портов / Заявка №2009116950/08, 04.05.2009. Опубл. 27.11.2010. Бюл. №33], содержащий N LINK-портов, N контроллеров LINK-портов, коммутационную матрицу, блок регистров, дешифратор протокола выдачи адреса, формирователь ответного сообщения, схема сравнения, константа, счетчик номера LINK-портов, формирователь протокола RCP-2.Known switching device that provides data switching between multiple ports - switch LINK ports [Patent RU No. 2405196 C1. LINK Port Switch / Application No. 2009116950/08, 05/04/2009. Publ. 11/27/2010. Bull. No. 33], containing N LINK ports, N LINK port controllers, a switching matrix, a register block, an address issuing protocol decoder, a response message shaper, a comparison circuit, a constant, a LINK port number counter, an RCP-2 protocol shaper.
Недостатком данного коммутатора LINK-портов является то, что он не может коммутировать данные, представленные в последовательном коде в соответствии со стандартом SpaceWire, имеет большое энергопотребление и поэтому имеет ограниченное применение, так как не может использоваться в бортовых вычислительных комплексах и во встраиваемых применениях.The disadvantage of this LINK port switch is that it cannot switch the data presented in a serial code in accordance with the SpaceWire standard, has high power consumption and therefore has limited use, since it cannot be used in on-board computer systems and in embedded applications.
Ближайшим аналогом к заявляемому является устройство коммуникационного интерфейса [Патент RU №2460124 С1. Устройство коммуникационного интерфейса / Заявка №2010121016, 26.05.2010. Опубл. 27.08.2012. Бюл. №24, 2012], являющееся портом ввода-вывода из хост-системы в последовательный канал в соответствии со стандартом SpaceWire и содержит блок выдачи данных, блок приема данных, блок управления и блок управления потоком данных, выход запроса на выдачу символа управления потоком которого соединен с одноименным входом блока выдачи данных, выход готовности выдачи символа управления потоком которого соединен с одноименным входом блока управления потоком данных, входы подтверждения приема символа управления потоком и подтверждения приема информационного символа которого соединены соответственно с одноименными выходами блока приема данных и одноименными входами блока управления, выход ошибки кодировки символа которого является выходом ошибки кодировки символа системного интерфейса порта SpaceWire, вход сброса системного интерфейса порта SpaceWire является входом сброса блока управления, первый и второй выходы сброса которого соединены с входами сброса соответственно блока выдачи данных и блока приема данных, выход «получен NULL» которого соединен с одноименным входом блока управления, вход чтения данных системного интерфейса порта SpaceWire является одноименным входом блока приема данных, выходы данных для приема и готовности данных для приема которого являются соответствующими выходами системного интерфейса порта SpaceWire, выход ошибки кредитования системного интерфейса порта SpaceWire является одноименным выходом блока управления потоком данных и соединен с одноименным входом блока управления, третий выход сброса которого соединен с входом сброса блока управления потоком данных, входы подтверждения выдачи информационного символа и разрешения приема данных которого соединены с одноименными выходами соответственно блока выдачи данных и блока приема данных, выход готовности выдачи данных системного интерфейса устройства является одноименным выходом блока выдачи данных, входы записи и данных для выдачи системного интерфейса порта SpaceWire являются соответствующими входами блока выдачи данных.The closest analogue to the claimed is a communication interface device [Patent RU No. 2460124 C1. Communication Interface Device / Application No.2012121016, 05.26.2010. Publ. 08/27/2012. Bull. No. 24, 2012], which is an input-output port from the host system to the serial channel in accordance with the SpaceWire standard and contains a data output unit, a data reception unit, a control unit and a data flow control unit, the output of the request for the output of the flow control symbol of which is connected with the input of the data output unit of the same name, the output of the readiness for issuing the flow control symbol which is connected to the input of the data flow control unit of the same name, inputs for acknowledging the receipt of the flow control symbol and acknowledging the information the symbol of which is connected respectively to the outputs of the data receiving unit and the inputs of the control unit of the same name, the output of the character encoding error of which is the output of the character encoding error of the SpaceWire port system interface, the reset input of the SpaceWire port system interface is the reset input of the control unit, the first and second reset outputs of which connected to the reset inputs, respectively, of the data issuing unit and the data receiving unit, the “received NULL” output of which is connected to the same input of the control unit, input for reading data of the SpaceWire port system interface, the input of the data receiving unit of the same name, data outputs for receiving and data readiness for receiving which are the corresponding outputs of the SpaceWire port system interface, the credit error of the SpaceWire port system interface is the same output of the data flow control unit and connected to the same the input of the control unit, the third output of the reset of which is connected to the reset input of the control unit of the data flow, inputs confirm the issuance of information from mvola and permits reception of which data are connected with similar yields, respectively, the block data output and the data receiving unit, an output ready dispensing system interface device data is the same name output data output unit inputs data recording and for discharging port system interface SpaceWire are appropriate data output unit inputs.
Данное устройство обеспечивает работу на частотах до 400 МГц в соответствии со стандартом SpaceWire, поддерживает кодирование байтов данных, полученных в пакете данных через системный интерфейс порта, в виде символов SpaceWire и их последующую передачу в последовательный коммуникационный интерфейс порта (линк SpaceWire), а также декодирование символов SpaceWire при приеме их из коммуникационного интерфейса порта и последующую выдачу полученных байтов данных в виде пакетов данных через системный интерфейс порта. То есть это устройство, представляющее собой один порт SpaceWire, позволяет передавать и принимать пакеты данных произвольного размера в виде потока битов данных и стробов через линк SpaceWire. Однако оно может передавать в коммуникационный интерфейс SpaceWire информацию, полученную от одного датчика, так как к системному интерфейсу порта имеется возможность подключения одной хост-системы.This device provides operation at frequencies up to 400 MHz in accordance with the SpaceWire standard, supports encoding of data bytes received in the data packet through the system port interface in the form of SpaceWire characters and their subsequent transmission to the serial communication port interface (SpaceWire link), as well as decoding SpaceWire characters when they are received from the communication interface of the port and the subsequent output of the received bytes of data in the form of data packets through the system interface of the port. That is, this device, which is a single SpaceWire port, allows you to send and receive data packets of arbitrary size in the form of a stream of data bits and gates through the SpaceWire link. However, it can transmit information received from one sensor to the SpaceWire communication interface, since it is possible to connect one host system to the port system interface.
Недостатком данного технического решения являются ограниченные функциональные возможности при организации сбора информации от датчиков в распределенной вычислительной системе, поскольку на основе двух данных устройств можно создать высокоскоростной коммуникационный канал (линк SpaceWire, обслуживаемый двумя портами ввода-вывода) между двумя хост-системами: процессорными модулями, либо другими подобными узлами, имеющими программное управление. Когда же одна хост-система представляет собой процессорный модуль сбора и обработки данных и через линк принимает поток информации от датчика, контроллером которого является вторая хост-система, то, как правило, скорость поступающих от датчика данных во много раз меньше пропускной способности линка SpaceWire (400 Мбит/с) и процессорный модуль обработки данных в этом случае остается незагруженным. Увеличить поток за счет объединения передаваемых данных от некоторого множества низкоскоростных датчиков через линк и порт ввода-вывода процессорного модуля обработки данных для эффективного использования его вычислительной мощности не позволяют ограниченные функциональные возможности второго порта на другом конце линка. Данное техническое решение, используемое для реализации порта ввода-вывода, не позволяет подключить к его системному интерфейсу более одной хост-системы, поэтому несколько контроллеров датчиков не могут быть объединены в один пул.The disadvantage of this technical solution is the limited functionality when organizing the collection of information from sensors in a distributed computing system, because on the basis of two of these devices you can create a high-speed communication channel (SpaceWire link served by two input / output ports) between two host systems: processor modules, or other similar nodes with software control. When one host system is a processor module for collecting and processing data and through the link receives a stream of information from the sensor, the controller of which is the second host system, then, as a rule, the speed of data coming from the sensor is many times less than the bandwidth of the SpaceWire link ( 400 Mbps) and the processor module for data processing in this case remains unloaded. The limited functionality of the second port on the other end of the link does not allow to increase the flow by combining the transmitted data from a certain set of low-speed sensors through the link and the input / output port of the processor data processing module for efficient use of its processing power. This technical solution used to implement the I / O port does not allow connecting more than one host system to its system interface, therefore several sensor controllers cannot be combined into one pool.
Преодоление этих ограничений позволяет применяемая в технологии SpaceWire коммутация пакетов с использованием коммутатора SpaceWire, который дополнительно включается в состав коммутационной системы и ставится в разрыв линка между двумя хост-системами. Как правило, такие коммутаторы имеют достаточное число портов, что позволяет подключить к ним требуемое количество контроллеров датчиков. Однако коммутатор SpaceWire является отдельным внешним устройством по отношению к данному техническому решению. Это существенно более сложное и энергопотребляющее устройство, и поэтому не во всех проектах его применение будет оправдано не только с технической, но и с экономической точки зрения.Overcoming of these limitations allows the packet switching used in SpaceWire technology using the SpaceWire switch, which is additionally included in the switching system and puts the link between the two host systems in break. As a rule, such switches have a sufficient number of ports, which allows you to connect the required number of sensor controllers to them. However, the SpaceWire switch is a separate external device in relation to this technical solution. This is a much more complex and energy-consuming device, and therefore not in all projects its use will be justified not only from a technical, but also from an economic point of view.
Другое функциональное ограничение проявляется при организации взаимодействия данного технического решения с хост-системой. Через системный интерфейс порта SpaceWire и хост-системы передается поток байтов, принимаемый или передаваемый в виде пакетов данных. Поэтому хост-система должна быть способной поддерживать функции сетевого уровня и более высокого транспортного уровня эталонной модели OSI, а также решать задачи администрирования, связанные с настройкой и конфигурирования порта, для реализации протоколов линка SpaceWire. Такой круг задач решается, если хост-система представляет собой компьютер или процессорный модуль с программным управлением. Для управления работой датчика достаточно контроллера с автоматом управления на жесткой логике, и использование в этом случае процессорного модуля с программным управлением является избыточным вариантом, не оправданным ни с технической, ни с экономической точки зрения, а для бортовых комплексов является и вовсе неприемлемым.Another functional limitation is manifested when organizing the interaction of this technical solution with the host system. Through the system interface of the SpaceWire port and the host system, a stream of bytes is received, received or transmitted as data packets. Therefore, the host system must be able to support the functions of the network layer and the higher transport layer of the OSI reference model, as well as solve the administrative tasks associated with setting up and configuring the port for implementing the SpaceWire link protocols. This range of tasks is solved if the host system is a computer or processor module with software control. To control the operation of the sensor, a controller with a control logic based on strict logic is sufficient, and the use of a processor module with program control in this case is an excess option that is not justified from a technical or economic point of view, but is completely unacceptable for on-board systems.
В основу настоящей полезной модели поставлена задача разработки устройства коммуникационных интерфейсов SpaceWire (двухпортового), с обеспечением возможности коммутации пакетов между портами, а также подключения терминальных узлов (хост-систем) в облегченном варианте исполнения без программного управления и требующего наличие только управляющего автомата на жесткой логике, что присуще контроллерам датчиков.The present utility model is based on the task of developing the SpaceWire communication interface device (two-port), with the possibility of packet switching between ports, as well as connecting terminal nodes (host systems) in a lightweight version without software control and requiring only a control machine with hard logic that is inherent in sensor controllers.
Техническим результатом предлагаемого решения является расширение области применения устройства коммуникационных интерфейсов SpaceWire благодаря расширению функциональных возможностей устройства: обеспечивается возможность построения различных конфигураций путем последовательного соединения двухпортовых устройств коммуникационных интерфейсов SpaceWire между собой и, как следствие, достигается способность реализации передачи данных от произвольного множества датчиков в один порт SpaceWire, полностью используя его пропускную способность, чтобы загрузить подключенный к нему процессор сбора и обработки данных максимально полно. Кроме того, такие коммуникационные системы обладают свойством масштабирования, позволяя соединять произвольное множество процессоров сбора и обработки данных с требуемым числом датчиков.The technical result of the proposed solution is to expand the scope of the SpaceWire communication interface device by expanding the device’s functionality: it is possible to build various configurations by connecting the SpaceWire communication interface devices two-way in series with each other and, as a result, the ability to implement data transmission from an arbitrary set of sensors to one port is achieved SpaceWire, making full use of its bandwidth, To download the connected data acquisition and processing engine as fully as possible. In addition, such communication systems have the ability to scale, allowing you to connect an arbitrary set of processors for collecting and processing data with the required number of sensors.
Технический результат достигается тем, что в предложенном решении устройства коммуникационных интерфейсов SpaceWire для использования в коммуникационной системе, объединяющей как минимум один компьютер или процессор обработки данных с одним или более терминальным узлом, обеспечивается последовательное соединение устройств через коммуникационный канал SpaceWire, причем в устройстве коммуникационных интерфейсов SpaceWire, содержащем порт SpaceWire, в который входит блок выдачи данных, блок приема данных, блок управления и блок управления потоком данных, выход запроса на выдачу символа управления потоком которого соединен с одноименным входом блока выдачи данных, выход готовности выдачи символа управления потоком которого соединен с одноименным входом блока управления потоком данных, входы подтверждения приема символа управления потоком и подтверждения приема информационного символа которого соединены соответственно с одноименными входами блока управления и одноименными выходами блока приема данных, выход ошибки кодировки символа которого является выходом ошибки кодировки символа системного интерфейса порта и соединен с одноименным входом блока управления, первый и второй выходы сброса которого соединены с входами сброса соответственно блока выдачи данных и блока приема данных, входы данных и стробирования которого являются входами коммуникационного канала приема порта SpaceWire, коммуникационного канала выдачи порта SpaceWire являются выходами данных и стробирования блока выдачи данных, вход синхронизации выдачи данных которого является входом синхронизации выдачи данных системного интерфейса порта, вход чтения данных системного интерфейса приемника порта является одноименным входом блока приема данных, выходы данных для приема и готовности данных для приема которого являются соответствующими выходами системного интерфейса приемника порта, выход ошибки кредитования системного интерфейса порта является одноименным выходом блока управления потоком данных и соединен с одноименным входом блока управления, третий выход сброса которого соединен с входом сброса блока управления потоком данных, входы подтверждения выдачи информационного символа и разрешения приема данных которого соединены с одноименными выходами соответственно блока выдачи данных и блока приема данных, вход сброса системного интерфейса порта является входом сброса блока управления, выход готовности выдачи данных системного интерфейса передатчика порта является одноименным выходом блока выдачи данных, входы записи и данных для выдачи системного интерфейса порта являются соответствующими входами блока выдачи данных, вход локальной синхронизации порта соединен с входами локальной синхронизации блока управления, блока управления потоком данных, блока приема данных, блока выдачи данных, вход разрешения передачи символов управления потоком которого соединен с одноименным выходом блока управления, выход ошибки рассоединения блока приема данных соединен с одноименным входом блока управления и является выходом ошибки рассоединения системного интерфейса порта, выход установления соединения системного интерфейса порта является выходом установления соединения блока приема данных и соединен с одноименным входом блока управления, введены второй порт SpaceWire, блок коммутации пакетов данных, два блока управления скоростью передачи, два блока формирования синхросигналов передачи, блок регистров режима/состояния, блок регистров маршрутизации, селектор пакетов, формирователь протокола RMAP, контроллер интерфейса АНВ Master и контроллер интерфейса АНВ Slave, причем выходы системного интерфейса каждого из двух портов SpaceWire соединены соответственно с группами входов состояния одноименного порта блока регистров режима/состояния, а также соединены соответственно с входами наличия синхронизации блоков управления скоростью передачи, выходы изменения скорости которых соединены соответственно с входами блоков формирования синхросигналов передачи, выходы которых соединены с входами синхронизации выдачи данных каждого из двух портов SpaceWire, в каждом из которых входы управления состоянием блока управления являются одноименными входами каждого из двух портов SpaceWire и соединены соответственно с первым и вторым выходами управления состоянием блока регистров режима/состояния, первый и второй входы-выходы состояния которого соединены соответственно с входами-выходами состояния каждого из блоков управления скоростью, третий вход-выход состояния блока регистров режима/состояния соединен с входом-выходом состояния блока коммутации пакетов данных, первый и второй входы-выходы передачи которого соединены соответственно с одноименными входами-выходами каждого порта SpaceWire, входы-выходы приема которых соединены соответственно с первым и вторым входами-выходами приема блока коммутации пакетов данных, вход-выход адресации которого соединен с одноименным входом-выходом блока регистров маршрутизации, информационный вход-выход которого соединен с первым управляющим входом-выходом контроллера интерфейса АНВ Slave, второй управляющий вход-выход которого соединен с информационным входом-выходом блока регистров режима/состояния, четвертый вход-выход состояния которого соединен с входом-выходом состояния формирователя протокола RMAP, первый и второй информационные входы-выходы которого соединены соответственно с первым информационным входом-выходом контроллера интерфейса АНВ Master и с входом-выходом данных селектора пакетов, вход-выход пакетных данных которого соединен с одноименным входом-выходом блока коммутации пакетов данных, входы-выходы интерфейса шины АНВ устройства являются одноименными входами-выходами контроллера интерфейса АНВ Master, второй информационный вход-выход которого соединен с информационным входом-выходом контроллера интерфейса АНВ Slave, вход сброса которого соединен с входами сброса контроллера интерфейса АНВ Slave, формирователя протокола RMAP, селектора пакетов, блока регистров маршрутизации, блока регистров режима/состояния, двух блоков управления скоростью передачи и с входами сброса каждого из двух портов SpaceWire и является входом начальной установки устройства, вход локальной синхронизации которого соединен с входами локальной синхронизации каждого из двух портов SpaceWire и с входами синхронизации двух блоков управления скоростью передачи, блока регистров режима/состояния, блока регистров маршрутизации, селектора пакетов, формирователя протокола RMAP, контроллера интерфейса АНВ Master и контроллера интерфейса АНВ Slave.The technical result is achieved by the fact that in the proposed solution, the SpaceWire communication interface device for use in a communication system that combines at least one computer or data processor with one or more terminal nodes, provides a serial connection of devices through the SpaceWire communication channel, and in the device of the SpaceWire communication interfaces containing the SpaceWire port, which includes a data output unit, a data reception unit, a control unit, and a data flow control unit s, the output of the request for issuing a flow control symbol which is connected to the input of the data output unit of the same name, the output of the readiness of issuing the flow control symbol of which is connected to the input of the data flow control unit of the same name, the inputs of acknowledging the receipt of the flow control symbol and confirming receipt of the information symbol of which are connected respectively with the same name inputs of the control unit and the same outputs of the data receiving unit, the output of the character encoding error of which is the output of the coding error the port of the system interface of the port and is connected to the input of the control unit of the same name, the first and second reset outputs of which are connected to the reset inputs of the data output unit and data reception unit, the data and gating inputs of which are inputs of the communication channel for receiving the SpaceWire port, the communication channel for issuing the SpaceWire port are data outputs and gates of the data output unit, the input of the data output synchronization of which is the input of the data output synchronization of the port system interface, the input is read The data of the system interface of the port receiver is the input of the data receiving unit of the same name, the data outputs for receiving and readiness of data for receiving which are the corresponding outputs of the system interface of the port receiver, the credit error output of the port system interface is the same output of the data flow control unit and is connected to the unit input of the same name control, the third output of the reset of which is connected to the reset input of the data flow control unit, inputs confirm the issuance of informational sim ol and data reception permissions of which are connected to the outputs of the same data output unit and data reception unit, the port system interface reset input is the control unit reset input, the port transmitter system interface readiness output output is the same output as the data output unit, recording and data inputs for the output of the system interface of the port are the corresponding inputs of the data output unit, the input of the local port synchronization is connected to the inputs of the local synchronization unit board, data flow control unit, data receiving unit, data output unit, the flow control symbol transmitting permission input of which is connected to the same output of the control unit, the disconnect error output of the data receiving unit is connected to the same input of the control unit and is the output of the disconnection of the port system interface the output of the connection of the system interface of the port is the output of the connection of the data receiving unit and connected to the input of the control unit of the same name, introduced the second SpaceWire port, a data packet switching unit, two transmission rate control units, two transmission clock generation units, a mode / status register unit, a routing register unit, a packet selector, RMAP protocol shaper, an ANV Master interface controller and an ANV Slave interface controller, with outputs the system interface of each of the two SpaceWire ports are connected respectively to the status input groups of the same name port of the mode / status register block, and are also connected respectively to the presence of sync inputs onization of the transmission rate control units, the speed change outputs of which are connected respectively to the inputs of the transmit clock generation units, the outputs of which are connected to the data output synchronization inputs of each of the two SpaceWire ports, in each of which the status control inputs of the control unit are the inputs of the same name of each of the two SpaceWire ports and connected respectively to the first and second outputs of the state control of the block of registers of the mode / state, the first and second inputs and outputs of the state of which are connected respectively to the status input / output of each of the speed control units, the third status input / output of the mode / status register block is connected to the status input / output of the data packet switching unit, the first and second transmission inputs and outputs of which are connected respectively to the same input / output of each SpaceWire ports, the input-output of which are connected respectively to the first and second input-output of the receiving unit of the packet switching data packets, the input-output addressing of which is connected to the same input the output of the routing register block, the information input-output of which is connected to the first control input-output of the ANV Slave interface controller, the second control input-output of which is connected to the information input-output of the mode / state register block, the fourth status input-output of which is connected to the input- status output of the RMAP protocol shaper, the first and second information inputs / outputs of which are connected respectively to the first information input / output of the ANV Master interface controller and input / output of the packet selector, the input-output of the packet data of which is connected to the input-output of the packet data switching unit of the same name, the inputs and outputs of the ANV bus interface are the same inputs and outputs of the ANV Master interface controller, the second information input-output of which is connected to the information input-output the Slave ANV interface controller, the reset input of which is connected to the reset inputs of the Slave ANV interface controller, RMAP protocol shaper, packet selector, routing register block, re register block the mode / state of the two transfer rate control units and with the reset inputs of each of the two SpaceWire ports and is the input of the initial installation of the device, the local synchronization input of which is connected to the local synchronization inputs of each of the two SpaceWire ports and with the synchronization inputs of the two transfer speed control units, block mode / status registers, routing register block, packet selector, RMAP protocol shaper, ANV Master interface controller and ANV Slave interface controller.
Предпочтительно, блок коммутации пакетов данных содержит блок адаптивной коммутации, блок широковещания, коммутационную матрицу, два контроллера портов SpaceWire, каждый из которых состоит из блоков управления приемом и передачей порта SpaceWire, и контроллер порта FIFO, состоящий из блоков управления приемом и передачей, причем входы сброса и локальной синхронизации блока коммутации пакетов соединены соответственно с одноименными входами блока адаптивной маршрутизации, блока широковещания, блоков управления приемом и передачей контроллера порта FIFO и каждого из двух контроллеров порта SpaceWire, первые входы-выходы блоков управления приемом контроллеров первого и второго портов SpaceWire являются соответственно первым и вторым входом-выходом приема блока коммутации пакетов данных, первые входы-выходы блоков управления передачей контроллеров первого и второго портов SpaceWire являются соответственно первым и вторым входом-выходом передачи блока коммутации пакетов данных, вторые входы-выходы блоков управления приемом контроллеров первого и второго портов SpaceWire и порта FIFO соединены соответственно с первым, вторым и третьим входами-выходами приема коммутационной матрицы, вторые входы-выходы блоков управления передачей контроллеров первого и второго портов SpaceWire и порта FIFO соединены соответственно с первым, вторым и третьим входами-выходами передачи коммутационной матрицы, первые входы-выходы блоков управления приемом и передачей контроллера порта FIFO соединены с входом-выходом пакетных данных блока коммутации пакетов данных, входы-выходы адресной информации блоков управления приемом и передачей контроллеров первого и второго портов SpaceWire, блоков управления приемом и передачей контроллера порта FIFO, блоков адаптивной маршрутизации и широковещания соединены с входом-выходом адресации блока коммутации пакетов данных, вход-выход состояния которого соединен с одноименными входами-выходами блоков управления приемом и передачей контроллера порта FIFO, блоков управления приемом и передачей контроллеров первого и второго портов SpaceWire, блоков адаптивной маршрутизации и широковещания, выходы запроса блоков управления приемом контроллеров первого и второго портов SpaceWire соединены с соответствующими разрядами шины запросов, которые соединены соответственно с входами запросов блоков управления передачей контроллеров первого и второго портов SpaceWire, выходы подтверждения блоков управления передачей контроллеров первого и второго портов SpaceWire соединены с соответствующими разрядами шины подтверждений, которые соединены соответственно с входами подтверждений блоков управления приемом контроллеров первого и второго портов SpaceWire, входы-выходы селекции которых соединены соответственно с первым и вторым входами-выходами селекции блока адаптивной маршрутизации, третий вход-выход селекции которого соединен с входом-выходом селекции блока управления приемом контроллера порта FIFO, входы-выходы регулирования блоков управления приемом контроллеров первого и второго портов SpaceWire которых соединены соответственно с первым и вторым входами-выходами регулирования блока широковещания, третий и четвертый выходы регулирования которого соединены соответственно с входами регулирования блоков управления передачей контроллеров первого и второго портов SpaceWire, пятый вход-выход регулирования блока широковещания соединен с входом-выходом регулирования блока управления приемом контроллера порта FIFO, шестой выход регулирования блока широковещания соединен с входом регулирования блока управления передачей контроллера порта FIFO.Preferably, the data packet switching unit comprises an adaptive switching unit, a broadcasting unit, a switching matrix, two SpaceWire port controllers, each of which consists of SpaceWire port transmit and receive control units, and a FIFO port controller, consisting of transmit and receive control units, the inputs the reset and local synchronization of the packet switching unit are connected respectively to the inputs of the adaptive routing unit, the broadcasting unit, and the controller receiving and transmitting control units via the FIFO and each of the two SpaceWire port controllers, the first inputs and outputs of the control units for receiving controllers of the first and second SpaceWire ports are the first and second input and output of the receiving unit for switching data packets, the first inputs and outputs of the control units for transmitting controllers of the first and second SpaceWire ports are respectively the first and second input-output of the transmission unit for switching data packets, the second inputs and outputs of the control units for receiving controllers of the first and second SpaceWire ports and the FIFO port are connected respectively respectively, with the first, second, and third inputs and outputs of the switching matrix, the second inputs and outputs of the transmission control units of the controllers of the first and second SpaceWire ports and the FIFO port are connected respectively to the first, second, and third inputs and outputs of the switching matrix, the first inputs and outputs of the blocks the control of reception and transmission of the FIFO port controller are connected to the input-output of packet data of the data packet switching unit, the input-output addresses of the address information of the control units of the first and second controllers the second SpaceWire ports, control units for receiving and transmitting the FIFO port controller, adaptive routing and broadcasting blocks are connected to the input-output addresses of the data packet switching unit, the status input-output of which is connected to the input-outputs of the FIFO port controller receiving and transmitting control units of the same name, blocks control of reception and transmission of controllers of the first and second ports of SpaceWire, adaptive routing and broadcasting blocks, request outputs of control units of reception of controllers of the first and second SpaceWire mouths are connected to the corresponding bits of the request bus, which are connected respectively to the request inputs of the transmission control units of the controllers of the first and second SpaceWire ports, confirmation outputs of the transmission control units of the controllers of the first and second SpaceWire ports are connected to the corresponding bits of the confirmation bus, which are connected respectively to the acknowledgment inputs of the blocks control reception of the controllers of the first and second ports of SpaceWire, the inputs and outputs of the selection of which are connected respectively to the first and the second inputs and outputs of the selection of the adaptive routing unit, the third input-output of the selection of which is connected to the input-output of the selection of the reception control unit of the FIFO port controller, the control inputs and outputs of the control units of the controllers of the first and second SpaceWire ports which are connected respectively to the first and second inputs control outputs of the broadcasting unit, the third and fourth control outputs of which are connected respectively to the control inputs of the transmission control units of the controllers of the first and orogo ports SpaceWire, fifth input-output broadcast regulation block connected to the input-output port regulation reception FIFO control unit controller, the sixth broadcast regulation block output is connected to the input port of FIFO controller regulating the transmission control unit.
Предлагаемое в рамках настоящей полезной модели устройство предназначено для организации высокоскоростной передачи информации от одного или произвольного множества модулей сбора данных (датчиков) к процессору обработки данных или компьютеру по дуплексному последовательному коммуникационному каналу - коммуникационному интерфейсу SpaceWire, и может быть использовано при создании бортовых вычислительных комплексов и сетей для применения в широких областях, а также в различных встраиваемых применениях, требующих пониженного энергопотребления и высокого быстродействия. В предлагаемом техническом решении обеспечивается возможность для повышения скорости передачи данных через коммуникационный канал SpaceWire, то есть выдачи и приема данных в устройстве коммуникационного интерфейса при одновременном ограничении роста энергопотребления за счет разделения всех элементов устройства на два временных домена. Первый временной домен включает элементы передатчика в порте SpaceWire устройства, непосредственно осуществляющие выдачу и работающие на частоте выдачи данных в коммуникационный интерфейс, а также элементы приемника в порте SpaceWire устройства, непосредственно обеспечивающие прием битов данных из коммуникационного канала и работающие на частоте принимаемых сигналов из коммуникационного интерфейса. Второй временной домен, в который включены элементы устройства, осуществляющие подготовку выдаваемых символов данных и обработку принимаемых символов данных, работает на частоте локальной синхронизации устройства. Для повышения пропускной способности коммуникационного интерфейса SpaceWire частота выдачи данных может быть увеличена в несколько раз по сравнению с частотой локальной синхронизации. Поскольку минимизируется число триггеров, работающих на максимальной частоте передачи данных, то это способствует снижению потребляемой мощности. Данное устройство может быть эффективно использовано для создания распределенных бортовых комплексов сбора и обработки больших объемов данных, получаемых от датчиков. За счет расширения функциональных возможностей данного технического решения значительно упрощаются требования к структуре аппаратно-программных средств терминальных модулей сбора информации, которые обеспечивают подключение датчиков к коммуникационному интерфейсу SpaceWire. Сложность таких контроллеров датчиков может быть существенно уменьшена, поскольку их функции по подключению к коммуникационному интерфейсу SpaceWire упрощаются и могут быть реализованы на основе автомата с жесткой логикой. Данное устройство обеспечивает возможность самостоятельного считывания данных от датчика, накопленных в памяти модуля сбора информации (контроллера датчика), через интерфейс шины АНВ, формирования пакеты данных в соответствии со стандартом SpaceWire и отправление их в один из двух или в оба коммуникационных канала SpaceWire для передачи в процессор(ы) обработки данных. Кроме того, для того чтобы полностью использовать пропускную способность коммуникационного канала SpaceWire для загрузки процессора обработки данных в него необходимо коммутировать потоки данных более чем от одного датчика. Решение этой проблемы обеспечивается при последовательном соединении предлагаемых устройств по линкам SpaceWire в конфигурации типа шина или кольцо, в результате чего достигается возможность коммутировать потоки данных от требуемого числа датчиков для полной загрузки коммуникационного канала SpaceWire, к которому подключается процессор обработки данных.The device proposed in the framework of this utility model is intended for organizing high-speed transmission of information from one or an arbitrary set of data acquisition modules (sensors) to a data processor or computer via a duplex serial communication channel - the SpaceWire communication interface, and can be used to create on-board computer systems and networks for use in wide areas, as well as in various embedded applications requiring low power consumption laziness and high speed. The proposed technical solution provides the opportunity to increase the speed of data transfer through the SpaceWire communication channel, that is, the issuance and reception of data in the communication interface device while limiting the growth of energy consumption by dividing all elements of the device into two temporary domains. The first time domain includes transmitter elements in the SpaceWire port of the device that directly issue and operate at the frequency of data output to the communication interface, as well as receiver elements in the SpaceWire port of the device that directly receive data bits from the communication channel and operate at the frequency of received signals from the communication interface . The second time domain, which includes elements of the device that prepares the output data characters and processes the received data characters, operates at the local clock frequency of the device. To increase the throughput of the SpaceWire communication interface, the frequency of data output can be increased several times in comparison with the frequency of local synchronization. Since the number of triggers operating at the maximum data transfer frequency is minimized, this helps to reduce power consumption. This device can be effectively used to create distributed on-board systems for collecting and processing large amounts of data received from sensors. By expanding the functionality of this technical solution, the requirements for the structure of hardware and software of terminal information collection modules are simplified, which provide the connection of sensors to the communication interface of SpaceWire. The complexity of such sensor controllers can be significantly reduced, since their functions of connecting to the SpaceWire communication interface are simplified and can be implemented on the basis of a machine with strict logic. This device provides the ability to independently read data from the sensor, stored in the memory of the data acquisition module (sensor controller), via the ANV bus interface, form data packets in accordance with the SpaceWire standard and send them to one of two or both SpaceWire communication channels for transmission to data processor (s). In addition, in order to fully use the bandwidth of the SpaceWire communication channel to load the data processor into it, it is necessary to switch data streams from more than one sensor. The solution to this problem is provided by connecting the proposed devices in series via SpaceWire links in a bus or ring type configuration, as a result of which it is possible to switch data streams from the required number of sensors to fully load the SpaceWire communication channel to which the data processing processor is connected.
Отдельные элементы устройства могут быть реализованы стандартными средствами из данной области техники (схемотехнические решения), при этом только системное решение, предложенное в рамках настоящей полезной модели, позволяет достигнуть соответствующего технического результата, поскольку только совокупность признаков, предложенных в формуле полезной модели, обеспечивает указанные преимущества по сравнению с аналогами из уровня техники.Individual elements of the device can be implemented by standard means from the given field of technology (circuitry solutions), and only the system solution proposed in the framework of this utility model allows to achieve the corresponding technical result, since only the totality of the features proposed in the utility model formula provides these advantages in comparison with analogues of the prior art.
Детально сущность данного технического решения поясняется описанием со ссылками на чертежи, где на фиг. 1 представлена структурная схема устройства, на фиг. 2 - структурная схема блока коммутации пакетных данных, на фиг. 3 - функциональная схема порта SpaceWire, на фиг. 4 - функциональная схема блока управления приемом, на фиг. 5 - функциональная схема блока управления передачей, на фиг. 6 приведен граф машины состояния, описывающий режимы функционирования порта SpaceWire, на фиг. 7 - автомат состояний блока управления приемом контроллера порта SpaceWire, на фиг. 8 - автомат состояний блока управления передачей контроллера порта SpaceWire, на фиг. 9 - временные диаграммы выполнения команд записи и чтения протокола RMAP, на фиг. 10 - примеры формирования путевого адреса пакетов данных SpaceWire, на фиг. 11 - примеры сетевых структур с применением данных устройств, на фиг. 12 - вариант последовательного включения устройств в структуре типа «цепочка».The essence of this technical solution is explained in detail by the description with reference to the drawings, where in FIG. 1 is a structural diagram of a device; FIG. 2 is a block diagram of a packet data switching unit; FIG. 3 is a functional diagram of the SpaceWire port, in FIG. 4 is a functional diagram of a reception control unit; FIG. 5 is a functional diagram of a transmission control unit; FIG. 6 is a state machine graph describing the operating modes of the SpaceWire port; FIG. 7 is a state machine of the reception control unit of the SpaceWire port controller, in FIG. 8 is a state machine of a transmission control unit of a SpaceWire port controller; FIG. 9 is a timing chart for executing RMAP write and read commands; FIG. 10 illustrates examples of generating the path address of SpaceWire data packets; FIG. 11 - examples of network structures using these devices, FIG. 12 is an embodiment of sequentially connecting devices in a “chain” type structure.
Как показано на фиг. 1, предлагаемое устройство содержит блок 1 коммутации пакетов данных, два порта 2 и 3 SpaceWire, два блока 4 и 5 управления скоростью, два блока 6 и 7 формирования синхросигналов передачи, блок 8 регистров режима/состояния, блок 9 регистров маршрутизации, селектор 10 пакетов, формирователь 11 протокола RMAP, контроллер 12 интерфейса АНВ Master, контроллер 13 интерфейса АНВ Slave, входы 14 коммуникационного канала приема первого линка SpaceWire, выходы 15 коммуникационного канала выдачи первого линка SpaceWire, входы 16 коммуникационного канала приема второго линка SpaceWire, выходы 17 коммуникационного канала выдачи второго линка SpaceWire, входы-выходы 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 изменения скорости.As shown in FIG. 1, the proposed device contains a
Блок 1 коммутации пакетов данных (см. фиг. 2) содержит блок 46 адаптивной коммутации, блок 47 широковещания, коммутационную матрицу 48, два контроллера 49 и 50 портов SpaceWire, контроллер 51 порта FIFO, блок 52 управления приемом, входящий в состав каждого из контроллеров 49, 50 и 51, блок 53 управления передачей, входящий в состав каждого из контроллеров 49, 50 и 51, вторые входы-выходы 54 приема и 55 передачи контроллера 49 первого порта SpaceWire, вторые входы-выходы 56 приема и 57 передачи контроллера 50 второго порта SpaceWire, вторые входы-выходы 58 приема и 59 передачи контроллера 51 порта FIFO, шина 60 запросов, шина 61 подтверждений, первый 64 и второй 65 входы-выходы селекции, третий 66 вход-выход селекции, первый 68 и второй 69 входы-выходы регулирования, третий 70 и четвертый 71 выходы регулирования, пятый 72 вход-выход регулирования и шестой 73 выход регулирования.
Порт 2 (3) SpaceWire содержит (см. фиг. 3) блок 75 выдачи данных, блок 76 приема данных, блок 77 управления потоком данных, блок 78 управления, выход 79 подтверждения приема символа управления потоком, выход 80 подтверждения приема информационного символа, выход 81 запроса на выдачу символа управления потоком, первый выход 82 сброса, второй выход 83 сброса, третий выход 84 сброса, выход 85 ошибки рассоединения, выход 86 готовности выдачи символа управления потоком, вход 87 синхронизации выдачи данных, входы 88 данных и 89 стробирования, выходы 90 данных и 91 стробирования, выход 92 готовности выдачи данных, вход 93 записи, вход 94 данных для выдачи, вход 95 чтения данных, выход 96 данных для приема, выход 97 готовности данных для приема, вход 98 локальной синхронизации, вход 99 сброса, выход 100 ошибки кредитования, выход 101 ошибки кодировки символа, выход 102 установления соединения, выход 103 разрешения передачи символа управления потоком, выход 104 подтверждения выдачи информационного символа, выход 105 разрешения приема данных.The SpaceWire port 2 (3) contains (see FIG. 3) a
Блок 52 управления приемом содержит (см. фиг. 4) блок 106 трансляции и буферизации данных, блок 107 управления входным интерфейсом, блок 108 селекции выходных портов, блок 109 запросов выходных портов, блок 110 управления коммутацией каналов, вход 111 принятых данных (Data_in), вход 112 установки данных (Valid_in), выход 113 готовности (Re_out), выход 114 данных (Data_out), выход 115 установки данных (Valid_out), вход 116 готовности (Re_in), выход 117 запросов, вход 118 подтверждения, выход 119 заголовка пакета, выход 120 текущего состояния, выход 121 признака удаления, выход 122 исходного набора портов, выход 123 признака получения грантов, выход 124 признака проключения канала, выход 125 ошибочного адреса пакета, выход 126 вектора выходных портов.The reception control unit 52 contains (see FIG. 4) a data translation and
Блок 53 управления передачей содержит (см. фиг. 5) блок 127 арбитража, блок 128 состояния, вход 62 запросов, выход 63 подтверждения, выход 129 проключения канала, выход 130 текущего состояния.The
Блок 1 коммутации пакетов данных предназначен для коммутации пакетов в соответствии со стандартом SpaceWire либо между первыми входами-выходами приема 27 и передачи 28 с одной стороны и вторыми входами-выходами приема 29 и передачи 30 с другой стороны, либо между первыми входами-выходами приема 27 и передачи 28 с одной стороны и входом-выходом 35 пакетных данных с другой стороны, либо, наконец, между вторыми входами-выходами приема 29 и передачи 30 с одной стороны и входом-выходом 35 пакетных данных с другой стороны. Первый вход-выход приема 27 блока 1 коммутации пакетов данных соединен с входом-выходом приема первого порта 2 SpaceWire. Первый вход-выход передачи 28 блока 1 коммутации пакетов данных соединен с входом-выходом передачи первого порта 2 SpaceWire. Второй вход-выход приема 29 блока 1 коммутации пакетов данных соединен с входом-выходом приема второго порта 3 SpaceWire. Второй вход-выход передачи 30 блока 1 коммутации пакетов данных соединен с входом-выходом передачи второго порта 3 SpaceWire. Вход-выход пакетных данных 35 блока 1 коммутации пакетов данных соединен с входом-выходом пакетных данных селектора 10 пакетов. Вход сброса блока 1 является входом 19 начальной установки устройства. Вход локальной синхронизации блока 1 является входом 20 локальной синхронизации устройства.The packet
Порт 2 (3) SpaceWire предназначен для приема пакета данных из коммуникационного канала и передачи пакета данных в коммуникационный канал в соответствии со стандартом SpaceWire. Входы данных и стробирования порта 2 (3) SpaceWire являются входами 14 (16) коммуникационного канала приема первого (второго) линка SpaceWire устройства. Выходы данных и стробирования порта 2 (3) SpaceWire являются выходами 15 (17) коммуникационного канала выдачи первого (второго) линка SpaceWire устройства. Выходы 21 (22) системного интерфейса порта 2 (3) SpaceWire соединены с группой входов состояния первого (второго) порта блока 8 регистров режима/состояния и с входами наличия синхронизации блока 4 (5) управления скоростью передачи. Вход 31 сброса порта 2 (3) SpaceWire является входом 19 начальной установки устройства. Вход 32 локальной синхронизации порта 2 (3) SpaceWire является входом 20 локальной синхронизации устройства.Port 2 (3) SpaceWire is designed to receive a data packet from a communication channel and transfer a data packet to a communication channel in accordance with the SpaceWire standard. The data and gating inputs of SpaceWire port 2 (3) are inputs 14 (16) of the communication channel for receiving the first (second) link of the SpaceWire device. The data and gating outputs of SpaceWire port 2 (3) are outputs 15 (17) of the communication channel for issuing the first (second) link of the SpaceWire device. The outputs 21 (22) of the system interface of port 2 (3) SpaceWire are connected to the group of status inputs of the first (second) port of the
Блок 4 (5) управления скоростью предназначен для динамического регулирования скорости выдачи битов данных в линк SpaceWire через порт 2 (3) в процессе работы устройства с целью достижения максимально высокой пропускной способности коммуникационного канала 15 (17) передачи, при которой связанные им два устройства устойчиво обмениваются данными. Выход 44 (45) изменения скорости блока 4 (5) управления скоростью соединен с входом блока 6 (7) формирования синхросигналов передачи. Вход сброса блока 4 (5) является входом 19 начальной установки устройства. Вход локальной синхронизации блока 4 (5) является входом 20 локальной синхронизации устройства.The speed control unit 4 (5) is designed to dynamically control the speed of outputting data bits to the SpaceWire link through port 2 (3) during operation of the device in order to achieve the highest possible throughput of the communication channel 15 (17) of transmission, at which the two devices are connected stably exchange data. The output 44 (45) of the speed change of the speed control unit 4 (5) is connected to the input of the transmission clock generation unit 6 (7). The reset input of block 4 (5) is the
Блок 6 (7) формирования синхросигналов передачи обеспечивает в соответствии с коэффициентами скорости, определяемыми блоком 4 (5), генерацию последовательности синхросигналов Tx_PLL, задающих тактовую скорость выдачи битов данных в порте 2 (3) SpaceWire. Выход блока 6 (7) формирования синхросигналов передачи соединен с входом 23 (24) синхронизации выдачи данных порта 2 (3) SpaceWire.Block 6 (7) of the formation of the transmission clock signals provides, in accordance with the speed coefficients determined by block 4 (5), the generation of a sequence of Tx_PLL clock signals that specify the clock bit rate of the data bits in the SpaceWire port 2 (3). The output of the transmission clock generation unit 6 (7) is connected to the input 23 (24) of the synchronization of the data output of the port 2 (3) SpaceWire.
Блок 8 регистров режима/состояния образует конфигурационную память устройства и предназначен для фиксации признаков состояния блоков устройства и хранения программно задаваемых параметров настроек, необходимых для управления режимами работы устройства. Первый (второй) выход 25 (26) управления состоянием блока 8 регистров режима/состояния соединен с входом управления состоянием порта 2 (3) SpaceWire. Первый (второй) вход-выход 42 (43) состояния блока 8 регистров режима/состояния соединен с входом-выходом состояния блока 4 (5) управления скоростью. Третий вход-выход состояния блока регистров 8 режима/состояния соединен с входом-выходом 33 состояния блока 1 коммутации пакетов данных. Четвертый вход-выход состояния блока регистров 8 режима/состояния соединен с входом-выходом 38 состояния формирователя 11 протокола RMAP. Вход сброса блока 8 является входом 19 начальной установки устройства. Вход локальной синхронизации блока 8 является входом 20 локальной синхронизации устройства. Перечень регистров блока 8 приведены в табл. 1.
Блок 9 регистров маршрутизации предназначен для хранения адресов терминальных узлов сети SpaceWire, используемых для выбора маршрутов при коммутации пакетов в соответствии со стандартом SpaceWire. Вход-выход адресации блока 9 регистров маршрутизации соединен с входом-выходом 34 адресации содержит блока 1 коммутации пакетов данных. Вход сброса блока 9 регистров маршрутизации является входом 19 начальной установки устройства. Вход локальной синхронизации блока 9 является входом 20 локальной синхронизации устройства.
Селектор 10 пакетов предназначен для поддержки функций конфигурационного порта в данном устройстве и обеспечивает прием из сети SpaceWire пакетов данных, содержащих RMAP команду для данного устройства и передачу в сеть SpaceWire пакетов данных, содержащих ответ на RMAP команду. Вход-выход 36 данных селектора 10 пакетов соединен с вторым информационным входом-выходом формирователя 11 протокола RMAP. Вход сброса селектора 10 пакетов является входом 19 начальной установки устройства. Вход локальной синхронизации селектора 10 является входом 20 локальной синхронизации устройства.The
Формирователь 11 протокола RMAP предназначен для интерпретации команд RMAP протокола, адресованных данному устройству, и обеспечивает выполнение транзакций (операций чтения/записи) с регистрами конфигурационного пространства данного устройства или памятью терминального узла через интерфейс шины АНВ и посылку ответов на выполненные команды. Первый информационный вход-выход 37 формирователя 11 протокола RMAP соединен с первым информационным входом-выходом контроллера интерфейса АНВ Master. Вход сброса формирователя 11 является входом 19 начальной установки устройства. Вход локальной синхронизации формирователя 11 является входом 20 локальной синхронизации устройства.The
Контроллер 12 интерфейса АНВ Master обеспечивает разделение потока транзакций на транзакции, адресованные к внутреннему конфигурационному пространству устройства, и внешние транзакции к памяти терминального узла, подключенной к шине АНВ. Второй информационный вход-выход контроллера 12 интерфейса АНВ Master соединен с информационным входом-выходом 39 контроллера 13 интерфейса АНВ Slave. Входы-выходы контроллера 12 интерфейса АНВ Master являются входами-выходами 18 интерфейса шины АНВ устройства. Вход сброса контроллера 12 интерфейса АНВ Master является входом 19 начальной установки устройства. Вход локальной синхронизации контроллера 12 интерфейса АНВ Master является входом 20 локальной синхронизации устройства.The ANV
Контроллер 13 интерфейса АНВ Slave обеспечивает преобразование однословных и пакетных транзакций, поступающих по интерфейсу АНВ, в обращения на чтение и запись к синхронной адресной памяти внутреннего конфигурационного пространства устройства. Первый управляющий вход-выход контроллера 13 интерфейса АНВ Slave соединен с информационным входом-выходом 40 блока 9 регистров маршрутизации. Второй управляющий вход-выход контроллера 13 интерфейса АНВ Slave соединен с информационным входом-выходом 41 блока 8 регистров режима/состояния. Вход сброса контроллера 13 интерфейса АНВ Slave является входом 19 начальной установки устройства. Вход локальной синхронизации выход контроллера 13 интерфейса АНВ Slave является входом 20 локальной синхронизации устройства.The controller 13 of the ANA Slave interface converts single-word and batch transactions arriving on the ANV interface into read and write calls to the synchronous address memory of the device’s internal configuration space. The first control input-output of the controller 13 of the ANA Slave interface is connected to the information input-
В блоке 1 коммутации пакетов данных блок 46 адаптивной коммутации предназначен для выбора из множества эквивалентных портов номера порта, в который в текущий момент времени будет осуществляться передача пакета данных. Вход-выход состояния блока 46 адаптивной маршрутизации соединен с входом 33 состояния блока 1 коммутации пакетов данных. Вход-выход адресации блока 46 адаптивной маршрутизации соединен с входом-выходом 34 адресации блока 1 коммутации пакетов данных. Первый вход-выход селекции блока 46 адаптивной маршрутизации соединен с входом-выходом 64 селекции блока 52 управления приемом контроллера 49 первого порта SpaceWire. Второй вход-выход селекции блока 46 адаптивной маршрутизации соединен с входом-выходом 65 селекции блока 52 управления приемом контроллера 50 второго порта SpaceWire. Третий вход-выход селекции блока 46 адаптивной маршрутизации соединен с входом-выходом 66 селекции блока 52 управления приемом контроллера 51 порта FIFO. Вход сброса блока 46 адаптивной маршрутизации является входом 31 сброса блока 1 коммутации пакетов данных. Вход локальной синхронизации блока 46 адаптивной маршрутизации является входом 32 локальной синхронизации блока 1 коммутации пакетов данных устройства.In the data
Блок 47 широковещания обеспечивает контроль фаз обмена и смены уровней приоритетов портов. Вход-выход состояния блока 47 широковещания соединен с входом 33 состояния блока 1 коммутации пакетов данных. Вход-выход адресации блока 47 широковещания соединен с входом 34 адресации блока 1 коммутации пакетов данных. Первый вход-выход регулирования блока 47 широковещания соединен с входом-выходом 68 регулирования блока 52 управления приемом контроллера 49 первого порта SpaceWire. Второй вход-выход регулирования блока 47 широковещания соединен с входом-выходом 69 регулирования блока 52 управления приемом контроллера 50 второго порта SpaceWire. Третий выход регулирования блока 47 широковещания соединен с входом 70 регулирования блока 53 управления передачей контроллера 49 первого порта SpaceWire. Четвертый выход регулирования блока 47 широковещания соединен с входом 71 регулирования блока 53 управления передачей контроллера 50 второго порта SpaceWire. Пятый вход-выход регулирования блока 47 широковещания соединен с входом-выходом 72 регулирования блока 52 управления приемом контроллера 51 порта FIFO. Шестой выход регулирования блока 47 широковещания соединен с входом 73 регулирования блока 53 управления передачей контроллера 51 порта.
Коммутационная матрица 48 представляет собой неблокирующий кросс-коммутатор и обеспечивает коммутацию пакетов между контроллерами 49 и 50 портов SpaceWire, а также между ними и контроллером 51 порта FIFO. Первый вход-выход приема коммутационной матрицы 48 соединен с вторым входом-выходом 54 блока 52 управления приемом контроллера 49 первого порта SpaceWire. Первый вход-выход передачи коммутационной матрицы 48 соединен с вторым входом-выходом 55 блока 53 управления передачей контроллера 49 первого порта SpaceWire. Второй вход-выход приема коммутационной матрицы 48 соединен с вторым входом-выходом 56 блока 52 управления приемом контроллера 50 второго порта SpaceWire. Второй вход-выход передачи коммутационной матрицы 48 соединен с вторым входом-выходом 57 блока 53 управления передачей контроллера 50 второго порта SpaceWire. Третий вход-выход приема коммутационной матрицы 48 соединен со вторым входом-выходом 58 блока 52 управления приемом контроллера 51 порта FIFO. Третий вход-выход передачи коммутационной матрицы 48 соединен с вторым входом-выходом 59 блока 53 управления передачей контроллера 51 порта FIFO.The switching
Контроллеры 49 первого и 50 второго порта SpaceWire предназначены для управления приемом и передачей пакетов по линкам SpaceWire, подключенным соответственно к портам 2 и 3 SpaceWire. Контроллер 51 порта FIFO предназначен для управления приемом и передачей пакетов для транспортного уровня, формируемых или принимаемых формирователем 11 протокола RMAP. Каждый из контроллеров 49, 50 и 51 включает в себя блок 52 управления приемом и блок 53 управления передачей.The controllers 49 of the first and 50 second ports of SpaceWire are designed to control the reception and transmission of packets through the SpaceWire links connected to
Блок 52 управления приемом обеспечивает прием пакета из входного интерфейса соответствующего порта и передачу его на выходной интерфейс одного из портов, номер которого определяется в соответствии с используемым способом адресации. Первые входы-выходы блока 52 управления приемом контроллеров 49 и 50 являются соответственно первым 27 и вторым 29 входом-выходом приема блока 1 коммутации пакетов данных. Первый вход-выход блока 52 управления приемом контроллера 51 порта FIFO соединен с входом-выходом 35 пакетных данных блока 1 коммутации пакетов данных. Выход запроса блока 52 управления приемом контроллера 49 первого порта SpaceWire соединен с первым разрядом шины 60 запросов. Выход запроса блока 52 управления приемом контроллера 50 второго порта SpaceWire соединен со вторым разрядом шины 60 запросов. Выход запроса блока 52 управления приемом контроллера 51 порта FIFO соединен с третьим разрядом шины 60 запросов. Вход подтверждения блока 52 управления приемом контроллера 49 первого порта SpaceWire соединен с шиной 61 подтверждений. Вход подтверждения блока 52 управления приемом контроллера 50 второго порта SpaceWire соединен с шиной 61 подтверждений. Вход подтверждения блока 52 управления приемом контроллера 51 порта FIFO соединен с шиной 61 подтверждений. Вход сброса блока 52 управления приемом контроллеров 49, 50 и 51 соединен с входом 31 сброса блока 1 коммутации пакетов данных. Вход локальной синхронизации блока 52 управления приемом контроллеров 49, 50 и 51 соединен с входом локальной синхронизации блока 1 коммутации пакетов данных. Вход-выход адресации блока 52 управления приемом контроллеров 49, 50 и 51 соединен с одноименным входом-выходом 34 блока 1 коммутации пакетов данных. Вход-выход состояния блока 52 управления приемом контроллеров 49, 50 и 51 соединен с входом-выходом 33 состояния блока 1 коммутации пакетов данных.The reception control unit 52 receives the packet from the input interface of the corresponding port and transfers it to the output interface of one of the ports, the number of which is determined in accordance with the addressing method used. The first inputs and outputs of the reception control unit 52 of the
Блок 53 управления передачей в соответствии с поступившими от блоков 52 управления приемом других контроллеров запросами обеспечивает выбор номера входного порта, из которого осуществляет прием следующего пакета данных и его передачу в выходной интерфейс своего порта. Первые входы-выходы блока 53 управления передачей контроллеров 49 и 50 являются соответственно первым 28 и вторым 30 входом-выходом передачи блока 1 коммутации пакетов данных. Вход запроса блока 53 управления передачей контроллера 49 первого порта SpaceWire соединен с шиной 60 запросов. Вход запроса блока 53 управления передачей контроллера 50 второго порта SpaceWire соединен с шиной 60 запросов. Вход запроса блока 52 управления передачей контроллера 51 порта FIFO соединен с шиной 60 запросов. Выход подтверждения блока 53 управления передачей контроллера 49 первого порта SpaceWire соединен с первым разрядом шины 61 подтверждений. Выход подтверждения блока 53 управления передачей контроллера 50 второго порта SpaceWire соединен с вторым разрядом шины 61 подтверждений. Выход подтверждения блока 53 управления передачей контроллера 51 порта FIFO соединен с третьим разрядом шины 61 подтверждений. Вход сброса блока 53 управления передачей контроллеров 49, 50 и 51 соединен с входом 31 сброса блока 1 коммутации пакетов данных. Вход локальной синхронизации блока 53 управления передачей контроллеров 49, 50 и 51 соединен с входом локальной синхронизации блока 1 коммутации пакетов данных. Вход-выход адресации блока 53 управления передачей контроллеров 49, 50 и 51 соединен с одноименным входом-выходом 34 блока 1 коммутации пакетов данных. Вход-выход состояния блока 53 управления передачей контроллеров 49, 50 и 51 соединен с входом-выходом 33 состояния блока 1 коммутации пакетов данных.The
В порте 2 (3) SpaceWire (см фиг. 3) блок 75 выдачи данных предназначен для формирования и выдачи в коммуникационный интерфейс символов данных из пакетов данных, поступающих через вход 94 данных для выдачи, соединенного с первым (вторым) входом-выходом передачи 28 (30) порта 2 (3) SpaceWire, а также управляющих символов по требованию, поступающему с выхода 83 запроса на выдачу символа управления потоком блока 77 управления потоком данных на одноименный вход блока 75. Форматы символов, передаваемых через коммуникационный интерфейс, приведены в табл. 2. Вход 93 записи блока 75 выдачи данных соединен с первым (вторым) входом-выходом передачи 28 (30) порта 2 (3) SpaceWire. Выход 92 готовности выдачи данных блока 75 выдачи данных соединен с первым (вторым) входом-выходом передачи 28(30) порта 2 (3) SpaceWire. Выход 92 и входы 93 и 94 предназначены для реализации стандартного механизма записи символов пакетных данных в блок 75 выдачи данных из блока 1 коммутации пакетов данных. Запись символов пакетных данных в блок 75 тактируется с его входа синхронизации, соединенного с входом 98 локальной синхронизации порта 2 (3) SpaceWire. Выходы 86 готовности выдачи символа управления потоком и 104 подтверждения выдачи информационного символа блока 75 соединены с одноименными входами блока 77 управления потоком данных и предназначены для реализации механизма кредитования, необходимого для организации передачи и приема символов данных через коммуникационный интерфейс без переполнения буферов приема у взаимодействующих устройств.In port 2 (3) SpaceWire (see Fig. 3), the
Блок 75 выдачи данных обеспечивает DS-кодирование символов данных, управляющих символов и кодов и их передачу на выходы 90 данных и 91 стробирования, которые соединены с выходом 15 (17) коммуникационного канала выдачи первого (второго) линка SpaceWire. Выдача данных осуществляется со скоростью, определяемой частотой синхросигнала с входа синхронизации выдачи данных блока 75, соединенного с одноименным входом 87 порта 2 (3) SpaceWire. Если одновременно установлено два или три запроса к блоку 75на передачу символов, то их выдача в канал осуществляется в соответствии с приоритетом: самый высокий приоритет имеет управляющий символ FCT, потом - информационный символ Nchar. Если во время отсылки, например, FCT, снова пришел запрос на отсылку символа управления потоком, то после отсылки первого символа FCT, формируется и выдается следующий FCT, несмотря ни на какие другие запросы и время очередности установки запросов. Если на момент выдачи текущих символов в канал не было сформировано никаких запросов, то блок 75 выдачи данных формирует и выдает в канал управляющий NULL код для поддержки соединения в линке SpaceWire.The
Блок 76 приема данных обеспечивает инициализацию соединения и получение битового потока от другого устройства через входы 88 данных и 89 стробирования коммуникационного интерфейса устройства, декодирование принятых сигналов и выделение из потока битов символов данных и их передачи в блок 1 коммутации пакетов данных через выход 96 данных для приема, который соединен с первым (вторым) входом-выходом 28 (30) приема порта 2 (3) SpaceWire. Представление информации в пакете данных, поступающем в блок 1 коммутации пакетов данных из блока 76 приема данных через выход 96 данных для приема, показано в табл. 3.Block 76 receiving data provides the initialization of the connection and receiving the bit stream from another device through the inputs 88 of data and 89 gating the communication interface of the device, decoding the received signals and extracting data symbols from the bit stream and transmitting them to block 1 switching data packets through the
Выход 97 готовности данных для приема блока 76 приема данных соединен с первым (вторым) входом-выходом 28 (30) приема порта 2 (3) SpaceWire. Вход 95 чтения данных блока 76 приема данных соединен с первым (вторым) входом-выходом 28 (30) приема порта 2 (3) SpaceWire. Чтение символов пакетных данных из блока 76 тактируется с его входа синхронизации, соединенного с входом 98 локальной синхронизации порта 2 (3) SpaceWire. Выход 79 приема символа управления потоком блока 76 приема данных соединен с одноименными входами блока 78 управления и блока 77 управления потоком данных и обеспечивает формирование сигнала о приеме управляющего символа управления потоком. Выход 80 подтверждения приема информационного символа блока 76 приема данных соединен с одноименными входами блока 78 управления и блока 77 управления потоком данных. Выход 85 ошибки рассоединения блока 76 приема данных соединен с одноименным входом блок 4 управления и с выходом 21 (22) системного интерфейса порта 2 (3) SpaceWire. Выход 101 ошибки кодировки символа блока 76 приема данных соединен с одноименным входом блока 78 управления и с выходом 21 (22) системного интерфейса порта 2 (3) SpaceWire. Выход 102 установления соединения блока 76 приема данных соединен с одноименным входом блока 78 управления и с выходом 21 (22) системного интерфейса порта 2 (3) SpaceWire и предназначен для передачи сигнала об обнаружении контрольной последовательности битов, принятой из коммуникационного интерфейса от другого устройства и инициирующей с ним соединение. Выход 105 разрешения приема данных блока 76 приема данных, соединенный с одноименным входом блока 77 управления потоком данных, предназначен для извещения о наличии достаточного свободного пространства в буфере приема данных.The
Блок 77 управления потоком данных предназначен для реализации механизма кредитования, необходимого при обмене пакетными данными в дуплексном режиме между двумя устройствами через коммуникационные интерфейсы двунаправленного линка SpaceWire, соединяющего эти два устройства, с учетом ограниченного объема буферной памяти для приема данных, имеющейся у каждого устройства в блоке 77 приема данных. Выход 81 запроса на выдачу символа управления потоком блока 77, соединенный с одноименным входом блока 75 выдачи данных, предназначен для инициализации выдачи блоком 75 управляющего символа FCT управления потоком, подтверждающего наличие в блоке 76 приема данных свободного буферного пространства, необходимого для приема определенного числа символов данных. В описываемом устройстве величина кредита, предоставляемого при выдаче одного символа управления потоком, в соответствии со стандартом SpaceWire принято равным восьми. Выход 100 ошибки кредитования блока 77 управления потоком данных соединен с одноименным входом блока 4 управления и с выходом 21 (22) системного интерфейса порта 2 (3) SpaceWire. Блок 77 управления потоком данных тактируется с входа синхронизации, соединенного с входом 98 локальной синхронизации порта 2 (3) SpaceWire.The data flow control unit 77 is designed to implement the lending mechanism required when exchanging packet data in duplex mode between two devices through the communication interfaces of the bidirectional SpaceWire link connecting these two devices, taking into account the limited amount of buffer memory for receiving data available for each device in the unit 77 receiving data. The
Блок 78 управления предназначен для отслеживания состояния устройства при поступлении из блока 76 приема данных сигналов об изменении его статуса и выработки управляющих сигналов под воздействием машины состояний и сигнала начальной установки с входа сброса, соединенного с входом 99 сброса порта 2(3) SpaceWire. Выход 103 разрешения передачи символа управления потоком блока 78 управления соединен с одноименным входом блока 75 выдачи данных и предназначен для извещения о том, что машина состояния блока 78 управления перешла в режим, разрешающий выдачу символов управления потоком. Вход 25 (26) управления состоянием порта 2 (3) SpaceWire является одноименным входом блока 78 управления. Первый 82, второй 83 и третий 84 выходы сброса блока 78 управления соединены с входами сброса соответственно блока 75 выдачи данных, блока 76 приема данных и блока 77 управления потоком данных и предназначены для их перевода в начальное состояние. Тактирование блока 78 управления осуществляется с входа синхронизации, соединенного с входом 98 локальной синхронизации порта 2 (3) SpaceWire.The
В блоке 52 управления приемом блок 106 трансляции и буферизации данных (см. фиг. 4) предназначен для передачи символов данных из своего входного порта в каналы коммутационной матрицы 48 к блокам 53 управления передачей других выходных портов. Вход 111 принятых данных блока 106 трансляции и буферизации данных соединен с одноименными входами блока 107 управления входным интерфейсом и блока 108 селекции выходных портов и является входом Data_in блока 52 управления приемом. Вход 112 установки данных блока 106 трансляции и буферизации данных соединен с одноименными входами блока 107 управления входным интерфейсом и блока 108 селекции выходных портов и является входом Valid_in блока 52 управления приемом. Выход 113 готовности является выходом Reout блока 52 управления приемом. Входы Data_in и Valid_in и выход Re_out составляют первый (второй) вход-выход 27 (29) приема блока 52 управления приемом контроллеров 49 (50) первого (второго) порта SpaceWire и контроллера 51 порта FIFO. Выход 114 данных (Data_out), выход 115 установки данных (Valid_out) и вход 116 готовности (Re_in) блока 106 трансляции и буферизации данных соединены с вторым входом-выходом 54(56,58) приема блока 52 управления приемом. Выход 119 заголовка пакета блока 106 трансляции и буферизации данных соединен с одноименным входом блока 107 управления входным интерфейсом. Вход сброса блока 106 трансляции и буферизации данных является входом 31 сброса блока 52 управления приемом и соединен с одноименными входами блока 107 управления входным интерфейсом, блока 108 селекции выходных портов, блока 109 запросов выходных портов и блока НО управления коммутацией каналов. Вход локальной синхронизации блока 106 трансляции и буферизации данных является входом 32 локальной синхронизации блока 52 управления приемом и соединен с одноименными входами блока 107 управления входным интерфейсом, блока 108 селекции выходных портов, блока 109 запросов выходных портов и блока 110 управления коммутацией каналов.In the reception control unit 52, the data translation and buffering unit 106 (see FIG. 4) is intended for transmitting data symbols from its input port to the channels of the switching
Блок 107 управления входным интерфейсом предназначен для определения текущего и следующего состояния в соответствии со схемой, представленной на фиг. 7, и выдачи значения текущего и предыдущего состояния на все остальные блоки. Выход 120 текущего состояния блока 107 управления входным интерфейсом соединен с одноименными входами блока 106 трансляции и буферизации данных, блока 108 селекции выходных портов, блока 109 запросов выходных портов и блока 110 управления коммутацией каналов. Выход 125 ошибочного адреса пакета соединен с входом-выходом 33 состояния блока 52 управления приемом.The input
Блок 108 селекции выходных портов предназначен для формирования корректного набора выходных портов для выдачи принимаемого пакета данных в соответствии с информацией из таблицы маршрутизации. Выход 121 признака удаления блока 108 селекции выходных портов соединен с одноименным входом блока 107 управления входным интерфейсом. Выход 122 исходного набора портов блока 108 селекции выходных портов соединен с одноименным входом блока 109 запросов выходных портов. Выход адреса Rt_addr и выход установки Rt_valid блока 108 селекции выходных портов, вход маршрутной информации Rt_data и вход готовности Rt_ready блока 108 селекции выходных портов образуют вход-выход 34 адресации блока 52 управления приемом. Выход исходного набора портов Port_nums блока 108 селекции выходных портов соединен с входом-выходом 64 (65,66) селекции блока 52 управления приемом. Вход коррекции Term_p_reg блока 108 селекции выходных портов соединен с входом-выходом 33 состояния блока 52 управления приемом.
Блок 109 запросов выходных портов предназначен для формирования запросов для выходных портов в соответствии с текущим состоянием, получаемым от блока 107 управления входным интерфейсом, и номером фазы обработки, получаемым от блока 47 широковещания. Вход номера фазы Cur_phase блока 109 запросов выходных портов соединен с одноименным входом блока 107 управления входным интерфейсом и соединен с входом-выходом регулирования 68 (70,72) блока 52 управления приемом. Выход сигналов запроса Reqs и выход сигналов квитирования грантов Gnt_ack блока 109 запросов выходных портов образуют выход 117 запросов блока 52 управления приемом. Вход сигналов грантов Gnts блока 109 запросов выходных портов является входом 118 подтверждения блока 52 управления приемом. Выход 123 признака получения грантов блока 109 запросов выходных портов соединен с одноименным входом блока 110 управления коммутацией каналов. Выход 126 вектора выходных портов блока 109 запросов выходных портов соединен с входом-выходом режима 68 (70, 72) блока 52 управления приемом. Вход признаков отсутствия соединений Err_reg блока 109 запросов выходных портов соединен с одноименным входом блока 110 управления коммутацией каналов и соединен с входом-выходом 33 состояния блока 52 управления приемом.The output
Блок 110 управления коммутацией каналов предназначен для проключения каналов коммутационной матрицы от блоков 53 управления передачей выходных портов к данному блоку 52 управления приемом входного порта в соответствии с текущим состоянием, вектором набора портов eq_port_nums, полученным от блока 46 адаптивной групповой маршрутизации, и состоянием Err_regs регистра ошибок портов, полученным от блока 8 регистров режима/состояния. Выход 124 признака проключения канала блока 110 управления коммутацией каналов соединен с одноименным входом блока 107 управления входным интерфейсом и с входом-выходом регулирования 68 (70, 72) блока 52 управления приемом. Выход управление мультиплексорами back_id блока 110 управления коммутацией каналов соединен с вторым входом-выходом приема 54 (56, 58) блока 52 управления приемом.The circuit
В блоке 53 управления передачей блок 127 арбитража предназначен для определения по схеме с динамическими циклическими приоритетами номера входного порта, от которого будет принимать следующий пакет данных, в соответствии с поступившими от блоков 52 управления приемом этих портов запросами. Вход сигналов запросов Reqs блока 127 арбитража соединен с входом 62 запросов блока 53 управления передачей. Вход сигналов подтверждения грантов Ack_gnt блока 127 арбитража соединен с входом 62 запросов блока 53 управления передачей. Выход сигналов грантов Gnts блока 127 арбитража является выходом 63 запросов блока 53 управления передачей. Выход 129 проключения канала блока 127 арбитража соединен с одноименным входом блока 128 состояния. Выход управления коммутацией Forward_in блока 127 арбитража соединен с вторым входом-выходом 55 (57,59) передачи блока 53 управления передачей. Вход номера фазы Cur_phase блока 127 арбитража соединен с одноименным входом блока 128 состояния и соединен с входом регулирования 68 (70, 72) блока 53 управления передачей. Вход номера приоритетного порта блока 127 арбитража соединен с входом регулирования 68 (70, 72) блока 53 управления передачей. Вход сброса блока 127 арбитража является входом 31 сброса блока 53 управления приемом и соединен с одноименным входом блока 128 состояния. Вход локальной синхронизации блока 127 арбитража является входом 32 локальной синхронизации блока 53 управления передачей и соединен с одноименным входом блока 128 состояния.In the
Блок 128 состояния предназначен для определения текущего состояния выходного интерфейса порта в соответствии с схемой автомата состояний, представленной на фиг. 8. Вход данных Data, вход установки данных Valid и выход готовности Ready блока 127 состояния соединены с вторым входом-выходом 55(57,59) передачи блока 53 управления передачей. Выход 130 текущего состояния блока 127 арбитража соединен с одноименным входом блока 127 арбитража. Выход данных Data_out, выход установки данных Valid_out и вход готовности Ready блока 128 состояния составляют первый вход-выход 28 (30) передачи блока 53 управления передачей контроллера первого 49 (второго 50) порта SpaceWire и контроллера 51 порта FIFO.The
Устройство коммуникационных интерфейсов SpaceWire работает следующим образом. В соответствии со стандартом SpaceWire устройство обеспечивает формирование, передачу и коммутацию пакетов данных. Устройство, содержащее два порта 2 и 3 SpaceWire, осуществляет коммутацию пакетов между этими портами, а также между ними и селектором 10 пакетов, обеспечивающим выделение RMAP пакетов для формирователя 11 протокола RMAP. Протокол RMAP используется удаленной хост-системой (например, администратором сети) для конфигурации сети SpaceWire, то есть для управления коммутаторами, данными устройствами коммуникационных интерфейсов SpaceWire и терминальными узлами, выполняющими, например, функции контроллеров датчика. Посредством его выполняется конфигурация коммутаторов и заявляемых устройств путем задания их рабочих параметров и настройки их таблиц маршрутизации. Протокол RMAP может применяться также для сбора информации с терминальных узлов, подключенных к устройствам коммуникационных интерфейсов SpaceWire. Все операции записи и чтения, определенные в протоколе RMAP разработаны так, что отправитель не ожидает приема подтверждающих пакетов, и поэтому пакеты, содержащие, команды записи и чтения, могут быть высланы в любое время.The communication interface device SpaceWire operates as follows. In accordance with the SpaceWire standard, the device provides the formation, transmission and switching of data packets. A device containing two
Формирователь 11 протоколом RMAP обеспечивает обработку RMAP пакетов, адресованных данному устройству, и отправку ответных RMAP пакетов. Устройство обеспечивает взаимодействие с удаленной хост-системой посредством выполнения команд записи и чтения протокола RMAP, которые формируются, например, администратором сети, и выполняются на данном устройстве. Устройство поддерживает при этом обращение извне к своей конфигурационной памяти, содержащей регистры настройки и таблицу маршрутизации, с помощью команд протокола RMAP, которые обрабатываются формирователем 11 протокола RMAP. Кроме того, с помощью команд записи и чтения протокола RMAP удаленная хост-система имеет возможность обращаться к памяти терминального узла, подключенного к данному устройству через интерфейс шины АНВ.
Порты 2 и 3 SpaceWire обеспечивают подключение данного устройства к сети через линки SpaceWire. Блок 1 коммутации пакетов данных, включающий в себя (см. фиг. 2) два контроллера 49 и 50 порта SpaceWire, контроллер 51 порта FIFO (к нему подключается селектор 10 пакетов), обеспечивает коммутацию пакетов в соответствии со стандартом SpaceWire с помощью неблокирующей коммутационной матрицы 48. Пакеты, поступающие из сети SpaceWire и адресованные данному устройству или терминальному узлу, подключенному к интерфейсу 18 шины АНВ, устройства, передаются в контроллер 51 порта и оттуда поступают через селектор 10 пакетов в формирователь 11 протокола RMAP. Пакеты, адресованные другим абонентам сети, передаются далее в сеть через порты 2 и/или 3 SpaceWire. Пакеты от формирователя 11 протокола RMAP через селектор 10 пакетов и контроллер 51 порта FIFO поступают в коммутационную матрицу 48 и передаются в сеть через порты 2 и 3 SpaceWire. Блок 1 коммутации пакетов данных поддерживает режим широковещания и адаптивной групповой маршрутизации.
Интерфейс 18 шины АНВ используется контроллером 12 интерфейса АНВ master для выполнения RMAP команд с логическим адресом, отличным от 0. Команды с логическим адресом "0" являются обращениями в пространство конфигурации самого устройства. При поступлении в формирователь 11 корректной RMAP команды контроллер 12 интерфейса АНВ master выполняет последовательность транзакций на шине АНВ, соответствующих этой команде.The
В соответствии со стандартом SpaceWire при коммутации пакетов данных устройство поддерживает путевую, логическую и регионально-логическую адресацию. Путевая адресация реализуется без использования таблицы маршрутизации. Допустимые значения путевого адреса "0", "1", "2". Пакеты с адресами "3" - "31" интерпретируются как пакеты с некорректным адресом и стираются. Логическая и регионально-логическая адресация реализуются с использованием регистров таблицы маршрутизации из блока 9 регистров маршрутизации. Таблица маршрутизации включает в себя 4 строки. Для каждой из строк задается адрес (адреса строк могут идти не подряд) и значение строки. Адреса строк таблицы маршрутизации задаются в регистре ADDRESS 1 адресного пространства таблицы маршрутизации. В данной реализации таблица маршрутизации реализована на базе пяти регистров (табл. 4).In accordance with the SpaceWire standard, when switching data packets, the device supports directional, logical and regional-logical addressing. Directional addressing is implemented without using a routing table. Valid path values are "0", "1", "2". Packets with addresses "3" - "31" are interpreted as packets with an invalid address and are erased. Logical and regional-logical addressing are implemented using the routing table registers from
Регистр ADDRESS 1 содержит значения адресов (см. табл. 5), которым соответствуют строки таблицы маршрутизации, расположенные в регистрах STR1_1 - STR1_4. Он реализован с доступом по чтению и по записи.The
После выхода устройства из состояния сброса значение этого регистра - "'0". В поля Addr1 - Addr4 могут быть записаны любые значения в интервале от "32" до "255". Значения могут идти в любом порядке, значения не должны повторяться. Четыре регистра строк маршрутизации 1…4 (STR1_1 - STR1_4) содержат 32-рзрядное значения строк маршрутизации, соответствующих адресам Addr1, …, Addr4 из регистра ADDRESS1.After the device exits from the reset state, the value of this register is "'0". In the fields Addr1 - Addr4 can be written any values in the range from "32" to "255". Values can go in any order, values should not be repeated. Four registers of
Четыре регистра строк маршрутизации 1…4 (STR1_1 - STR1_4) содержат 32-рзрядное значения строк маршрутизации, соответствующих адресам Addr1, …, Addr4 из регистра ADDRESS 1. Формат строки маршрутизации для каждого из регистров STR1_1 - STR1_4 приведен в табл. 6. Они реализованы с доступом по чтению и по записи. После выхода устройства из состояния сброса значение каждого из этих регистров равно "0".Four registers of
Управление широковещанием осуществляется с помощью регистра идентификации сетевых линков - ID_NET, находящемся в блоке 8 регистров режима/состояния. Этот двухразрядный регистр идентификации сетевых линков реализован с доступом по чтению и записи. Если к i-му порту SpaceWire подключен терминальный узел (процессор обработки данных), то разряд i этого регистра необходимо устанавливать в "0", если к этому порту подключен порт другого устройства или другого сетевого узла, например, коммутатора, то разряд i требуется устанавливать в "1". Если в i разряде этого регистра установлен "0", то для соответствующего порта SpaceWire i разрешено широковещание. Если в разряде i этого регистра установлена "1", то для i-го порта SpaceWire запрещено широковещание, т.е. пакеты, адресованные более чем одному линку (группе линков) в данный порт передаваться не будут. После выхода устройства из состояния сброса значение всех разрядов этого регистра равно "0".Broadcast control is carried out using the network links identification register - ID_NET, located in
Управление адаптивной групповой маршрутизации реализуется с использованием регистров адаптивной групповой маршрутизации (ADG_ROUT) из блока 8 регистров режима/состояния. В блоке 8 содержится два регистра адаптивной групповой маршрутизации - по одному для каждого порта SpaceWire. Регистр адаптивной групповой маршрутизации доступен по чтению и записи. Регистр предназначен для хранения дополнительной информации об альтернативных линках для соответствующего порта SpaceWire. Устройство осуществляет групповую адаптивную маршрутизацию, управляемую от таблицы маршрутизации при использовании этой дополнительной информации в соответствии со стандартом SpaceWire. Формат регистра ADG_ROUT показан в Таблица. 7.Adaptive group routing control is implemented using adaptive group routing registers (ADG_ROUT) from
Каждый регистр ADG_ROUT содержит суперпозицию унитарных кодов номеров портов SpaceWire, альтернативных данному порту, указанному в таблице маршрутизации. Групповая адаптивная маршрутизация позволяет направлять пакет по одному из ряда альтернативных каналов, соединяющих смежные коммутаторы и/или терминальные узлы. Групповая адаптивная маршрутизация помогает обеспечивать поддержку для совместного использования пропускной способности линков и/или отказоустойчивости в сети SpaceWire. Начальное значение всех разрядов регистра адаптивной групповой маршрутизации после выхода устройства из состояния сброса соответствует тому, что каждый порт образует отдельную группу.Each ADG_ROUT register contains a superposition of unitary codes of SpaceWire port numbers, alternative to this port specified in the routing table. Group adaptive routing allows you to route a packet along one of a number of alternative channels connecting adjacent switches and / or terminal nodes. Group adaptive routing helps provide support for sharing link bandwidth and / or fault tolerance on a SpaceWire network. The initial value of all bits of the adaptive group routing register after the device exits the reset state corresponds to the fact that each port forms a separate group.
Регистр арбитража - SPEC_ARB доступен хост-системе по чтению и записи. В данном регистре хранятся параметры для арбитража портов в устройстве. Для определения порта с наивысшим приоритетом по умолчанию используется схема с динамическими циклическими приоритетами. Для сетевых конфигураций, в которых по некоторым из портов никогда не приходят пакеты (вследствие того, что этот порт не подключен, либо в силу специфики решаемой задачи) используется специальная схема приоритетов, чтобы такой порт никогда не получал наивысший приоритет. Это позволяет лучшим образом сбалансировать схему смены приоритетов. В противном случае система приоритетов окажется несбалансированной в том плане, что порт, следующий непосредственно за портом, по которому не поступают пакеты, будет самым приоритетным фактически дважды.Arbitration Register - SPEC_ARB is available to the host system for reading and writing. This register stores the parameters for port arbitration in the device. To determine the port with the highest priority, the scheme with dynamic cyclic priorities is used by default. For network configurations in which packets never arrive on some ports (due to the fact that this port is not connected, or due to the specifics of the task being solved), a special priority scheme is used so that such a port never gets the highest priority. This allows you to better balance the scheme of changing priorities. Otherwise, the priority system will be unbalanced in that the port immediately following the port through which packets are not received will be the highest priority almost twice.
Регистр SPEC_ARB позволяет указать номера портов, которые необходимо пропустить в очередности смены приоритетов (порты, которые никогда не получат наивысшего приоритета). Разряды регистра SPEC_ARB соответствуют портам устройства согласно их порядковым номерам (разряд 0 соответствует контроллеру 49 первого порта SpaceWire, разряд 1 - контроллеру 50 второго порта SpaceWire, разряд 2 - контроллеру 51 порта FIFO). Если соответствующий разряд установить в "1", то порт будет пропущен. Начальное значение всех разрядов регистра после сброса устройства - "0".The SPEC_ARB register allows you to specify the port numbers that must be skipped in the order of priority changes (ports that will never receive the highest priority). The bits of the SPEC_ARB register correspond to the device ports according to their serial numbers (
За обработку принятого RMAP пакета и выполнение команд протокола RMAP отвечает формирователь 11 протокола RMAP. С использованием команд протокола RMAP осуществляется организация чтения/записи в конфигурационную память устройства. Список команд и ответных пакетов RMAP приведен в табл. 8.The
По команде записи данные принятые в пакете RMAP будут записаны по заданному в ней адресу либо в область конфигурации устройства, либо в область памяти внешнего терминального узла через шину АНВ. При команде чтения пакет RMAP содержит адрес и указание количества байт, которые нужно прочитать либо из области конфигурации устройства, либо из области памяти через интерфейс АНВ.By the write command, the data received in the RMAP packet will be written to the address specified in it either in the device configuration area or in the memory area of the external terminal node via the ANV bus. When a read command is issued, the RMAP packet contains the address and the number of bytes to be read either from the device configuration area or from the memory area via the ANV interface.
Ответный пакет на команду чтения содержит требуемые данные. В случае ошибке при выполнении команд код ошибки содержится в заголовке ответного пакета. Возможно отсутствие реакции на принятый пакет, если в составе пакета формирователь 11 не обнаружил признаков, по которым пакет мог бы быть идентифицирован как пакет RMAP. Такая ситуация возможна, например, когда CRC заголовка не совпадает с ожидаемым значением (недействительный заголовок RMAP).The response packet to the read command contains the required data. In case of an error when executing commands, the error code is contained in the header of the response packet. There may be no reaction to the received packet, if the shaper 11 did not detect signs in the packet that could identify the packet as an RMAP packet. This situation is possible, for example, when the CRC header does not match the expected value (invalid RMAP header).
Форматы пакетов RMAP, выполняемые формирователем 11, приводятся в таблицах 9-16.The RMAP packet formats performed by the
В табл. 17 показан формат основных полей принимаемого пакета RMAP, с которыми работает формирователь 11 RMAP. В формирователь 11 протокола RMAP поступают пакеты с путевым адресом "0" или с логическими адресами, для которых в регистрах маршрутизации STR1_I нулевой разряд установлен в "1".In the table. 17 shows the format of the main fields of the received RMAP packet with which the
Если тип пакета, поступившего в формирователь 11, не определяется как RMAP, то пакет стирается. Если тип пакета определяется как RMAP, но это не RMAP команда, a RMAP ответ, то пакет стирается. Формирователь 11 протокола RMAP исполняет команды RMAP, приходящие в пакетах SpaceWire. Выполняется проверка корректности заголовка пакета, если пакет содержит поле данных, то проверяется корректность поля данных.If the type of packet received by the
При поступлении корректного пакета RMAP команды, если пакет имеет логический адрес "0", то он интерпретируется как обращение в пространство конфигурации устройства. Если логический адрес отличен от "0", то команда преобразуется в одну или несколько транзакций на шине АНВ через контроллер 12 интерфейса АНВ Master для обращения к памяти обслуживаемого терминального узла системы.Upon receipt of a valid RMAP command packet, if the packet has a logical address "0", then it is interpreted as a call to the device configuration space. If the logical address is other than "0", then the command is converted to one or more transactions on the ANV bus through the ANV
Если RMAP команда является командой чтения, то из прочитанных в результате выполнения команды данных формирователь 11 протокола RMAP образует ответный пакет и через блок 1 коммутации пакетов данных отправляет его в порт 2(3) SpaceWire. Если RMAP команда является командой записи с подтверждением, то после завершения выполнения команды формирователь 11 так же формирует ответный пакет и отправляет его в сеть SpaceWire.If the RMAP command is a read command, then from the data read as a result of the execution of the command, the
При обращении к памяти содержимое поля «Адрес записи/чтения», расположенного в заголовке пакета RMAP, используется в качестве адреса ячейки памяти. Этот адрес при пакетной пересылке блока данных в память (BURST) увеличивается на "4" для адресации следующего слова. Возможно выполнение команд RMAP без инкремента адреса. Длина пакета в команде RMAP согласно описанию протокола задается в байтах, поэтому количество слов, передаваемых в память, будет меньше примерно в 4 раза.When accessing the memory, the contents of the Write / Read Address field located in the header of the RMAP packet is used as the address of the memory cell. This address when batch transferring a data block to memory (BURST) is incremented by "4" to address the next word. It is possible to execute RMAP commands without an address increment. The packet length in the RMAP command according to the protocol description is specified in bytes, so the number of words transferred to the memory will be approximately 4 times less.
Если в RMAP контроллер поступает пакет с ошибкой CRC заголовка, то он отбрасывается. Если в RMAP контроллер поступает пакет с корректным заголовком, но с некорректным CRC поля данных, некорректной длиной поля данных или заканчивающийся символом ошибочного конца пакета ЕЕР, то формирователь 11 протокола RMAP автоматически формирует ответный пакет с указанием кода ошибки.If a packet with a CRC header error arrives at the RMAP controller, it is discarded. If a packet with a correct header, but with an incorrect data field CRC, an incorrect data field length, or ending with the symbol of an erroneous end of an EEP packet arrives in the RMAP controller, then the
Логический адрес получателя (DLA) - это адрес, по которому формирователь 11 протокола RMAP определяет, что пакет адресован одному из его компонентов. Формирователь 11 считает, что пакет адресован ему и начинает разбор пакета, если в этом поле DLA содержится адрес 0×00 (rmap_configuration_addr, RCA) или отличный от нуля адрес (rmap_logical_addr, RLA). Адрес RCA считается адресом конфигурации, по которому данные направляются в/из области регистров конфигурации устройства. Адрес RLA, считающийся адресом для обращения к памяти, когда данные направляются через интерфейс шины АНВ в/из памяти внешнего узла. Адрес RLA по умолчанию задается равным 0×FE, и может быть заменен новым значением путем обращения к этому регистру в области регистров конфигурации командой RMAP. Если DLA содержит значение, отличное от упомянутых адресов, то весь пакет отбрасывается.The recipient logical address (DLA) is the address at which the
Если DLA содержит допустимый адрес, то анализируется байт идентификатора протокола. Если идентификатор соответствует коду протокола RMAP, то происходит обработка данных в соответствии с выбранным протоколом. Если идентификатор не соответствует поддерживаемому протоколу (RMAP), то весь данный пакет SpaceWire отбрасывается. После анализа идентификатора формирователь 11 читает заголовок пакета RMAP и проверяет его на корректность контрольной суммы CRC. Каждому полю RMAP выделяется регистр соответствующей разрядности (область регистров RMAP_REGS). Если контрольная сумма заголовка корректна, то проверяется корректность данных в полях заголовка на предмет возможности выполнения команды RMAP в формирователе 11 протокола RMAP. Если все данные корректны, то содержимое регистров RMAP_REGS, содержащие всю информацию о команде RMAP, используются формирователем 11 для выполнения команды.If the DLA contains a valid address, then the protocol identifier byte is analyzed. If the identifier corresponds to the code of the RMAP protocol, then data is processed in accordance with the selected protocol. If the identifier does not comply with the supported protocol (RMAP), then the entire given SpaceWire packet is discarded. After analyzing the identifier, the
Устройство поддерживает путевую адресацию согласно описанию протокола RMAP (см. табл. 18). В формирователь 11 пакет поступает без байтов путевого адреса, эти байты удаляются контроллером порта 2 (3) SpaceWire при доставке пакета в селектор 10 пакетов. Поэтому CRC заголовка считается только по полям пакета от байта DLA до байта Длина данных (LS) как командного, так и ответного пакетов RMAP.The device supports directional addressing as described in the RMAP protocol (see table 18). Former 11 receives a packet without bytes of the path address; these bytes are deleted by the SpaceWire port 2 (3) controller when the packet is delivered to the
Двухбитовое значение «Длины путевого адреса отправителя» (SPAL) в поле «Тип пакета» содержит информацию о формате поля «Путевого адреса отправителя» (SPA). Двухбитовое значение SPAL трактуется следующим образом:The two-bit “Sender Waypoint Address Lengths” (SPAL) value in the “Package Type” field contains information about the format of the “Sender Waypoint Address” (SPA) field. The two-bit SPAL value is interpreted as follows:
- если SPAL=00b, то байты SPA отсутствуют в ответной команде RMAP. Это эквивалентно логической адресации при работе с командами RMAP. Путевая адресация не используется и формирователь 11 начнет ответный пакет байтом «Логического адреса отправителя» (SLA).- if SPAL = 00b, then SPA bytes are not in the RMAP response command. This is equivalent to logical addressing when working with RMAP commands. Directional addressing is not used and the
- если значение SPAL не равно 00b, то это означает использование путевой адресации в ответной команде RMAP. Это так же указывает на то, что в команде RMAP отведено 4 байта (SPAL=01b), 8 байт (SPAL=10b) или 12 байт (SPAL=11b) для размещения путевого адреса от формирователя 11 к отправителю.- if the value of SPAL is not equal to 00b, then this means the use of directional addressing in the RMAP response command. This also indicates that 4 bytes (SPAL = 01b), 8 bytes (SPAL = 10b) or 12 bytes (SPAL = 11b) were allocated in the RMAP command to place the path address from the shaper 11 to the sender.
Размещение путевого адреса в полях SPA (при их наличии) подчиняется следующим требованиям. Все ведущие нулевые байты поля SPA игнорируются формирователем 11 (они должны присутствовать в командном пакете RMAP). Исключение составляет SPA, содержащий все байты со значением 0×00. Это трактуется как путевой адрес, содержащий 1 байт со значением 0×00. Этот нулевой байт будет выслан первым перед передачей логического адреса источника в ответном пакете. Все остальные байты, начиная с первого не равного 0×00, до последнего байта в SPA трактуются как адрес SPA. Они будут переданы в линк SpaceWire перед ответным пакетом RMAP в порядке их следования в поле SPA (см. табл. 19).Placing a travel address in the SPA fields (if any) is subject to the following requirements. All leading null bytes of the SPA field are ignored by the shaper 11 (they must be present in the RMAP command package). An exception is a SPA containing all bytes with a value of 0 × 00. This is treated as a path address containing 1 byte with a value of 0 × 00. This zero byte will be sent first before transmitting the source logical address in the response packet. All other bytes, starting from the first non-equal 0 × 00, to the last byte in the SPA are treated as the SPA address. They will be transferred to the SpaceWire link before the RMAP response packet in the order of their sequence in the SPA field (see table 19).
Формирователь 11 протокола RMAP высылает ответный пакет с информацией о результате выполнения команды, если в команде RMAP был установлен бит подтверждения АСК в поле типа команды. Ответный пакет высылается после завершения выполнения передачи данных в память или при обнаружении ошибки в принятом пакете. Коды ошибок, возвращаемых в ответном пакете, задаются в поле «Статус»и приведены в табл. 20.
Формирователь 11 протокола RMAP в данном устройстве выступает в роли адресата (получателя) команды RMAP, которую посылает удаленное устройство - отправитель (рис. 9а,б), получив запрос на выполнение команды RMAP от своего внешнего узла (например, администратора сети). Формирователь 11 протокола RMAP, получив команду и проверив ее на корректность, выставляет запрос памяти (Запрос записи данных - рис. 9а / Запрос чтения данных - рис. 9б). Получив доступ к памяти (Авторизация записи данных, Ответ чтения данных) от контроллера 12 интерфейса АНВ Master, формирователь 11 выполняет запись данных в память своего внешнего узла или передачу данных из его памяти в линк SpaceWire. После выполнения транзакции записи, формирователь 11 отсылает удаленному устройству - отправителю ответный пакет с информацией об успешном выполнении команды RMAP.
Пакеты данных, которые принимает и передает формирователь 11 протокола RMAP, могут быть длиной 0…224-1. Выполнение предварительной буферизации с проверкой CRC данных возможно при длине области данных пакета RMAP, не превышающего числа 28 байт. Если в заголовке указано большее значение, чем 28, а бит «Проверить данные» установлен, пакет отбрасывается, а отправителю будет отправлен ответный пакет с кодом ошибки 9 (в табл. 20 - буфер не вмещает заявленное количество байт для проверки CRC).The data packets that are received and transmitted by the
Независимо от того, производится или нет предварительная буферизация данных, передача байт принятого (или передаваемого) пакета в память происходит транзакциями, размер которых может быть задан в регистре MAX_TRAN в блоке 8 регистров режима/состояния. Число, записанное в этот регистр, задает максимальное количество 32-разрядных слов, которое будет передаваться в одной транзакции в память. Таким образом, весь пакет принятых или передаваемых данных передается заданными порциями. Последняя транзакция будет содержать MAX_TRAN или меньшее количество слов.Regardless of whether or not preliminary data buffering is performed, the bytes of the received (or transmitted) packet are transferred to the memory by transactions, the size of which can be set in the MAX_TRAN register in
Для некоторых применений RMAP может потребоваться запись/чтение данных без увеличения адреса при обращении к памяти, т.е. работы с группой данных по фиксированному адресу. Протокол RMAP позволяет это делать с использованием настройки бита «Инкремент» в поле «Тип пакета» (см. табл. 10, 12, 14, 16). Данные посредством команды RMAP можно передать по фиксированному адресу, при этом формирователь 11 может использовать разные режимы передачи данных, выбор которых можно произвести в регистре настройки RMAP:For some RMAP applications, it may be necessary to write / read data without increasing the address when accessing memory, i.e. working with a data group at a fixed address. The RMAP protocol allows this to be done using the “Increment” bit setting in the “Package Type” field (see tab. 10, 12, 14, 16). Data using the RMAP command can be transmitted to a fixed address, while the
Доступ к программно-доступным регистрам конфигурационного пространства устройства может осуществляться из удаленного устройства сети SpaceWire с использованием RMAP команд записи и чтения строго 4 байт данных. Попытка использования для доступа к программно-доступным регистрам RMAP команд записи и чтения длиной отличной от 4 байт данных возвратит ошибку с кодом 10 (см. табл. 20). В поле логического адреса этих команд должно быть установлено значение "0". Если администратор сети непосредственно подключен к интерфейсу SpaceWire данного (конфигурируемого) устройства, то в этом случае длина путевого адреса в RMAP пакетах, адресованных данному устройству должна быть нулевой (см. фиг. 10а). Если администратор сети подключен к интерфейсу SpaceWire данного (конфигурируемого) устройства через один или цепочку коммутаторов, то длина путевого адреса в RMAP пакетах, адресованных данному устройству должна быть отличной от "0". При формировании адреса может использоваться путевая и регионально-логическая адресация (см. фиг. 10б, в). Адрес должен быть сформирован таким образом, чтобы при прохождении ответного RMAP пакета от конфигурируемого устройства к администратору данный адрес был отделен от пакета полностью. Если используется путевая адресация, то при прохождении каждого коммутатора происходит отделение первого байта заголовка. Если используется регионально-логическая адресация, то первый байт заголовка - логический адрес "57" (см. фиг. 10в) может отделяться или не отделяться в зависимости от настроек таблицы маршрутизации коммутатора.Access to program-accessible registers of the device’s configuration space can be carried out from a remote SpaceWire network device using RMAP commands for writing and reading strictly 4 bytes of data. Attempting to use write and read commands other than 4 bytes of data to access programmable RMAP registers will return an error with code 10 (see table 20). In the logical address field of these commands should be set to "0". If the network administrator is directly connected to the SpaceWire interface of this (configurable) device, then in this case the length of the path address in RMAP packets addressed to this device should be zero (see Fig. 10a). If the network administrator is connected to the SpaceWire interface of this (configurable) device through one or a chain of switches, then the length of the path address in RMAP packets addressed to this device must be other than "0". When forming the address, directional and regional-logical addressing can be used (see Fig. 10b, c). The address must be configured in such a way that when passing the response RMAP packet from the configurable device to the administrator, this address should be completely separated from the packet. If directional addressing is used, then when passing through each switch, the first byte of the header is separated. If regional-logical addressing is used, then the first byte of the header — logical address “57” (see Fig. 10c) may or may not separate depending on the settings of the switch routing table.
Порт 2(3) SpaceWire изменяет свои режимы работы в соответствии с диаграммой состояния (см. фиг. 6), реализуемой блоком 78 управления. Изменение состояний первого и второго портов SpaceWire осуществляется под оперативным контролем соответствующих регистров статуса - STATUS_1 и STATUS_2, находящихся в блоке 8 регистров режима/статуса. Он обеспечивает оперативную фиксацию фаз работы и текущего состояния порта 2 (3) SpaceWire. Каждому порту SpaceWire соответствуют следующие регистры.Port 2 (3) SpaceWire changes its operating modes in accordance with the state diagram (see Fig. 6) implemented by the
Регистр STATUS доступен хост-системе (например, администратору сети) по чтению и записи с использованием команд протокола RMAP. Запись в каждый отдельный разряд регистра выполняется по сигналам с выхода 21 (22) порта 2 (3) SpaceWire. Сброс ряда разрядов регистра может осуществляться хост-системой путем записи в них "1". Формат регистра состояния приведен в табл. 21.The STATUS register is accessible to the host system (for example, the network administrator) for reading and writing using RMAP protocol commands. Recording to each separate bit of the register is performed according to the signals from the output 21 (22) of port 2 (3) SpaceWire. The reset of a number of bits of the register can be carried out by the host system by writing "1" to them. The format of the status register is given in table. 21.
Регистры режима работы - MODE_CR1 и MODE_CR2 (для первого и второго портов SpaceWire соответственно) доступны хост-системе по чтению и записи. После выхода устройства из состояния сброса из данного регистра будет прочитываться значение 0 до тех пор, пока администратор сети не запишет в него какое-либо значение. Формат регистра приведен в табл. 22.The operation mode registers MODE_CR1 and MODE_CR2 (for the first and second SpaceWire ports, respectively) are accessible to the host system for reading and writing. After the device exits the reset state from this register, the
Блок 78 управления реализует логику машины состояний, выполняющей функцию автомата, переходящего под воздействием входных сигналов в различные состояния и обеспечивает выработку управляющих сигналов, с помощью которых машина состояний переводит блок 75 выдачи данных, блок 76 приема данных, и блок 77 управления потоком данных в исходные состояния, позволяя обеспечить корректную работу порта SpaceWire в целом. Формирование тайм-аутов необходимо для правильного функционирования машины состояний при установлении и поддержании соединения с удаленной стороной через коммуникационный канал SpaceWire. Из показанной на фиг. 6 примерной реализации графа машины состояний видна необходимость в реализации двух тайм-аутов Т1 и Т2. В соответствии с требованиями стандарта SpaceWire реализованы следующие величины тайм-аутов: Т1=6,4 мкс, Т2=12,8 мкс.The
Регистры коэффициента скорости передачи - TX_SPEED1 и TX_SPEED2 доступны хост-системе по чтению и по записи. Данные регистры предназначены для задания коэффициента скорости передачи, который поступает на блок 4 (5) управления скоростью, отвечающий за формирование синхросигналов передачи блоком 6 (7) с требуемой частотой для первого и второго портов SpaceWire соответственно. Формат регистра показан в табл. 23The bit rate coefficient registers TX_SPEED1 and TX_SPEED2 are available to the host system for reading and writing. These registers are designed to set the transmission rate coefficient, which is sent to the speed control block 4 (5), which is responsible for generating the transmission clock by block 6 (7) with the required frequency for the first and second SpaceWire ports, respectively. The register format is shown in table. 23
Десятиразрядный регистр коэффициента скорости приема - RX_SPEED доступен хост-системе по чтению и по записи. Значению 0×3 FF этого регистра соответствует значение 800 Мбит/с в линке SpaceWire. Значению 0×00 этого регистра соответствует значение 0 Мбит/с в линке. Остальные значения скорости в линке SpaceWire отражает прямая зависимость между значением регистра и реальной скорости в линке. Значение регистра RX_SPEED обновляется каждые 2048 тактов локальной частоты устройства (100 МГц) в соответствии с оценкой текущей скорости приема. При изменении скорости во время этого периода в 2048 тактов состояние регистра будет соответствовать некоторому смежному значению скорости между скоростью, на которой шла передача данных в линке SpaceWire и на которую сделано переключение в линке.A ten-bit receive rate coefficient register - RX_SPEED is available to the host system for reading and writing. The
Регистр тайм-аутов данных - SWITCH_CONN_TOUTS доступен хост-системе по чтению и записи. В данном регистре хранятся значения таймаутов данных. В поле G_DAT_TOUT задается значение глобального периода подсчета таймаутов данных. Если значение данного поля равно "0", то режим подсчета всех таймаутов данных отключен. Период подсчета задается в мкс в основном режиме (поле T_MODE=1) и в тактах локальной частоты устройства в отладочном режиме. Если используется основной режим подсчета, то в поле MAIN_KOEFF10 другого регистра SWITCH_CONN_TOUTS2 необходимо задать значение коэффициента локальной частоты устройства. Формат регистра SWITCH_CONN_TOUTS показан в Таблице 24. Начальное значение всех разрядов регистра после сброса устройства - "0".Data timeout register - SWITCH_CONN_TOUTS is available to the host system for reading and writing. This register stores data timeout values. The G_DAT_TOUT field sets the value of the global period for calculating data timeouts. If the value of this field is "0", then the counting mode of all data timeouts is disabled. The counting period is set in microseconds in the main mode (field T_MODE = 1) and in cycles of the local frequency of the device in debug mode. If the main counting mode is used, then in the field MAIN_KOEFF10 of another register SWITCH_CONN_TOUTS2 it is necessary to set the value of the coefficient of the local frequency of the device. The format of the register SWITCH_CONN_TOUTS is shown in Table 24. The initial value of all bits of the register after resetting the device is "0".
В поле L_CONN_TOUT задается значение тайм-аута, по истечении которого считается, что при установке соединения в режиме AutoStart переход на заданную базовую скорость прошел успешно и можно передавать данные по этому каналу. Данный тайм-аут подсчитывается в периодах, заданных в поле G_DAT_TOUT.The timeout value is set in the L_CONN_TOUT field, after which it is considered that when the connection was established in AutoStart mode, the transition to the specified base speed was successful and data can be transmitted via this channel. This timeout is calculated in the periods specified in the G_DAT_TOUT field.
В поле L_SYMB_TOUT задается значение таймаута ожидания символа данных (ожидания приема или отправки очередного символа пакета). Данный тайм-аут подсчитывается в периодах, заданных в поле G_DAT_TOUT. Разрешение механизма тайм-аутов при приеме символа данных осуществляется установкой в "1" поля R_SYMB_F регистра SWITCH_CONN_TOUTS2. Разрешение механизма таймаутов при приеме символа данных осуществляется установкой в "1" поля T_SYMB_F регистра SWITCH_CONN_TOUTS2.In the L_SYMB_TOUT field, the value of the timeout period for waiting for a data symbol (waiting for receiving or sending the next packet symbol) is set. This timeout is calculated in the periods specified in the G_DAT_TOUT field. The resolution of the timeout mechanism when receiving a data symbol is carried out by setting the register RIT_SONM_TOUTS2 in the "1" field R_SYMB_F. The resolution of the timeout mechanism when receiving a data symbol is carried out by setting the register TIT_SYMB_F of the register SWITCH_CONN_TOUTS2 to "1".
Регистр тайм-аутов SWITCH_CONN_TOUTS2 доступен хост-системе по чтению и записи. Формат регистра SWITCH_CONN_TOUTS2 показан в табл. 25. Начальное значение всех разрядов регистра после выхода устройства из состояния сброса - "0". В поле MAIN_KOEFF10 указывается значение коэффициента локальной частоты устройства. Коэффициент локальной частоты MAIN_KOEFF10=LCLK(МГц)/10. Например, если локальная частота 100 Мгц, то в этом поле необходимо указать значение 10.The timeout register SWITCH_CONN_TOUTS2 is accessible to the host system for reading and writing. The format of the register SWITCH_CONN_TOUTS2 is shown in the table. 25. The initial value of all bits of the register after the device exits the reset state is "0". The field MAIN_KOEFF10 indicates the value of the local frequency coefficient of the device. Local frequency coefficient MAIN_KOEFF10 = LCLK (MHz) / 10. For example, if the local frequency is 100 MHz, then in this field you must specify the
Регистр флагов тайм-аутов - SWITCH_WAIT_FLS доступен хост-системе по чтению и записи. В данном регистре хранятся флаги, указывающие, что истекли тайм-ауты ожидания приема или передачи символов данных. Формат регистра SWITCH_WAIT_FLS показан в табл. 26.Timeout flag register - SWITCH_WAIT_FLS is available to the host system for reading and writing. Flags are stored in this register, indicating that timeouts have elapsed waiting for the reception or transmission of data characters. The format of the register SWITCH_WAIT_FLS is shown in the table. 26.
Начальное значение всех разрядов регистра после выхода устройства из состояния сброса - "0". В поле REC_FLS записываются флаги от блоков 52 управления приемом контроллеров первого и второго портов 49 и 52 SpaceWire. Если истек тайм-аут ожидания приема очередного символа пакета, то соответствующий разряд устанавливается в "1" (разряд 0 - от контроллера 49 первого порта, разряд 1 - от контроллера 50 второго порта). В поле TRANS_FLS записываются флаги от блоков 53 управления передачей контроллеров первого и второго портов 49 и 52 SpaceWire. Если истек тайм-аут ожидания отправки очередного символа пакета, то соответствующий разряд устанавливается в "1" (разряд 2 - от контроллера 49 первого порта, разряд 3 - от контроллера 50 второго порта). Для сброса i разряда нужно записать значение "1" в i разряд данного регистра.The initial value of all bits of the register after the device exits the reset state is "0". Flags from the reception control units 52 of the controllers of the first and second ports 49 and 52 of SpaceWire are recorded in the REC_FLS field. If the timeout period has elapsed for receiving the next packet symbol, the corresponding bit is set to "1" (bit 0 - from the controller 49 of the first port, bit 1 - from the
В блоке 76 приема данных порта 2 (3) SpaceWire в принятом потоке битов декодером SpaceWire распознаются символы данных, управляющие символы и коды в соответствии с кодированием, показанном в табл. 1, и из них выделяются информационные и канальные символы, поскольку символы, передаваемые через линк SpaceWire, подразделяются на канальные и информационные символы. К информационным символам относятся символ данных (Nchar) и символы конца пакета (ЕОР, ЕЕР). Канальные символы (FCT, ESC) вместе с управляющим кодом NULL предназначены для управления состоянием коммуникационного канала SpaceWire и в блок 52 управления приемом своего порта 50 (49) SpaceWire не передаются. NULL код предназначен для сохранения активности коммуникационного канала и постоянно передается, если линк не занят передачей других символов. Об их приеме или прекращении приема информируется блок 77 управления для воздействия на машину состояний. При получении FCT символа блок 76 приема данных информирует об этом блок 77 управления потоком данных (который должен увеличить на восемь свой счетчик, определяющий кредит передачи). Сигналы о принятии всех управляющих символов (FCT) передаются также к машине состояний в блок 78 управления с выхода 79 подтверждения приема символа управления потоком. Для управления механизмом кредитования также используется сигнал разрешения приема данных на выходе 31 блока 76 приема данных, извещающий блок 77 управления потоком данных о наличии восьми свободных ячеек в буферном пространстве блока 76 приема данных.In the data receiving unit 76 of the SpaceWire port 2 (3) in the received bit stream, the SpaceWire decoder recognizes data symbols, control symbols, and codes in accordance with the encoding shown in the table. 1, and informational and channel symbols are distinguished from them, since the symbols transmitted through the SpaceWire link are divided into channel and informational symbols. Information symbols include the data symbol (Nchar) and end-of-packet symbols (EOP, EEP). Channel symbols (FCT, ESC) together with the NULL control code are used to control the status of the SpaceWire communication channel and are not transmitted to the reception control unit 52 of their port 50 (49) SpaceWire. NULL code is designed to preserve the activity of the communication channel and is constantly transmitted if the link is not busy transmitting other characters. The control unit 77 is informed of their reception or termination of reception to influence the machine state. Upon receipt of the FCT symbol, the data receiving unit 76 informs the data flow control unit 77 (which should increase by eight its counter determining the transfer credit). The acceptance of all control symbols (FCTs) is also transmitted to the state machine to the
Блок 76 приема данных может находиться в одном из следующих состояний:The data receiving unit 76 may be in one of the following states:
- Сброс. Блок 76 приема данных ничего не делает.- Reset. The data receiving unit 76 does nothing.
- Запуск. Блок 76 приема данных запущен и ожидает приема первого бита.- Launch. The data receiving unit 76 is started and is awaiting receipt of the first bit.
- Получен бит. Блок 76 приема данных получил первый бит. Механизм обнаружения рассоединения включен. Блок 76 приема данных может принимать только NULL коды.- Received a bit. The data receiving unit 76 received the first bit. The disconnect detection mechanism is enabled. Block 76 receive data can only accept NULL codes.
- Получен NULL код. Блок 76 приема данных получил NULL код и может получать NULL код, FCT символы и информационные символы. Включен механизм обнаружения ошибок рассоединения и кодирования (в том числе ошибки четности и расширения).- Received NULL code. The data receiving unit 76 received a NULL code and can receive a NULL code, FCT symbols, and information symbols. A mechanism for detecting disconnect and coding errors (including parity and extension errors) is included.
Принятые информационные символы Nchar буферизируются в блоке 76 приема данных (см. фиг 5), из которого через первый 27 (второй 29) вход-выход считываются в блок 1 коммутации пакетов данных под управлением блока 52 управления приемом соответствующего контроллера порта 49 (50) SpaceWire. Выдача данных из буфера блока 76 приема данных с выхода 96 обеспечивается по принципу «первым принят, первым считан» в сопровождении сигнала готовности данных на выходе 97 готовности данных для приема и при наличии установленного сигнала чтения на входе 95 чтения данных блока 76 приема данных. При этом обеспечивается побайтное считывание принимаемых пакетов данных, разделенных управляющими символами конца пакета.The received Nchar information symbols are buffered in the data receiving unit 76 (see FIG. 5), from which through the first 27 (second 29) input-output are read into the data
Кодер SpaceWire в блоке 75 выдачи данных в соответствии с правилами DS-кодирования стандарта SpaceWire осуществляет формирование сигналов стробирования S, сопровождающих сигналы данных D. Выдача битовых потоков сигналов данных D по линии 90 и сигналов стробирования S по линии 91 в коммуникационный канал (см. фиг. 3) осуществляется блоком 75 выдачи данных на любой скорости, задаваемой частотой синхронизации выдачи данных на входе 87 порта 2 (3) SpaceWire.The SpaceWire encoder in the
Блок 75 выдачи данных получает пакеты данных от блока 53 управления передачей своего контроллера 49(50) порта SpaceWire в виде последовательности 8-разрядных данных, заканчивающейся признаком конца пакета. Каждый байт данных сопровождается нулевым управляющим флагом в соответствии с табл. 2. Восемь битов данных перед выдачей упаковываются в блоке 75 выдачи данных в отдельный 10-битовый символ данных Nchar. Единичный управляющий флаг служит признаком конца пакета и означает необходимость выдачи символа конца пакета (ЕОР). Когда блок 75 выдачи данных готов передать очередной информационный символ, он выставляет блоку 53 сигнал готовности на выходе 92 (см. фиг. 3). По установленному сигналу готовности блок 53 выставляет восемь битов данных вместе с управляющим флагом на входе 94 данных для выдачи и выдает сигнал записи на вход 93 системного интерфейса устройства. Блок 75 выдачи данных, получив информационный символ, снимает свой сигнал готовности на выходе 92. Если для передачи нет ни информационных символов, ни FCT символов, блок 75 выдачи данных посылает в канал NULL коды. Блок 75 выдачи данных (стороны А) передает информационные символы только в том случае, если на стороне Б в буфере блока 76 приема данных имеется свободное место. Наличие свободного места определяется посылкой со стороны Б символа FCT управления потоком, показывающего, что в буфере 52 его блока 2 приема данных есть место для восьми информационных символов.The
Блок 75 выдачи данных на стороне А также отвечает за посылку FCT символов, когда буфер в блоке 76 приема данных свободен для приема восьми информационных символов. При этом блок 76 приема данных (стороны А) формирует сигнал разрешения приема данных на выходе 105, только когда в его буфере приема есть место для восьми информационных символов (не зарезервированное для приема переданными до этого FCT символами). Тогда блок 77 управления потоком данных формирует запрос на посылку FCT символа на выходе 81. Блок 75 выдачи данных может передавать FCT символы, только если он находится в состоянии Соединение (Передача FCTs/NULLs) или Рабочий режим (Передача FCTs/Nchars/NULLs).The
Блок 75 выдачи данных может находиться в одном из четырех состояний (см. фиг. 6):The
- Сброс. Блок 75 выдачи данных ничего не делает.- Reset. The
- Передача NULL кодов. Блок 75 выдачи данных посылает только NULL коды. Он не готов передавать информационные символы и не передает FCT символы.- Transmission of NULL codes. The
- Передача FCT символов/NULL кодов. Блок 75 выдачи данных посылает FCT символы или NULL коды и не готов передавать информационные символы.- Transmission of FCT characters / NULL codes. The
- Передача FCT символов/Nchars/NULL кодов. Обычный режим работы блока 75 выдачи данных. Он посылает FCT символы, NULL коды и информационные символы (Nchars).- Transmission of FCT characters / Nchars / NULL codes. Normal operation of the
После сброса или ошибки в канале устройство находится в состоянии «Сброс», при этом сигналы данных и стробирования устанавливаются в "0". После перехода в состояние Запуск блок 75 выдачи данных начинает передавать NULL коды. При выдаче первого NULL кода вначале должен быть передан бит контроля символа. Значение этого бита должно равняться нулю. Поэтому сначала изменится состояние сигнала на выходе 91 стробирования блока 75 выдачи данных.After a reset or an error in the channel, the device is in the “Reset” state, while the data and gating signals are set to “0”. After the transition to the Start state, the
Если выдаваемый информационный символ содержит управляющий флаг, равный единице, то это означает признак конца пакета. Признак конца пакета свидетельствует о том, что предыдущий выданный байт данных был последним в пакете. При этом блок 75 выдачи данных формирует и выдает в канал код управляющего символа ЕОР.If the issued information symbol contains a control flag equal to one, then this means a sign of the end of the packet. The end of packet sign indicates that the previous byte of data issued was the last in the packet. In this case, the
По умолчанию при инициализации в устройстве включен режим автоматической установки соединения на скорости 10 Мбит/с.Соединение будет автоматически установлено при разрешенной автоматической установке соединения во втором, удаленном устройстве. Для настройки установки соединения в устройстве используются регистры MODE_CR1 и MODE_CR2 (см. табл. 22), расположенные в блоке 8 регистров режима/ состояния по адресам 0×448 и 0×44С для первого (2) и второго (3) портов SpaceWire соответственно. Установка в "1" нулевого бита LinkDisabled регистра MODE_CR запрещает установку соединения. Установка в "1" седьмого бита AUTO_SPEED регистра MODE_CR разрешает автоматическую установку соединения. При установленном первом бите AutoStart в регистре MODE_CR устройство будет находиться в состоянии Ready до получения NULL-кода через линк SpaceWire от второго устройства. При установленном втором бите LinkStart в регистре MODE_CR устройство перейдет в состояние «Запуск» и начнет отправлять NULL-коды в линк. Значения этих битов по умолчанию AutoStart=0, LinkStart=1. Для установления соединения необходимо чтобы одно из устройств находилось в состоянии LinkStart, а другое в AutoStart или LinkStart. Соединение устанавливается на скорости 10 Мбит/с, далее происходит переход на базовую скорость передачи.By default, during initialization, the device is set to automatically establish a connection at a speed of 10 Mbit / s. The connection will be automatically established when automatic connection is enabled in a second, remote device. To configure the connection, the device uses the MODE_CR1 and MODE_CR2 registers (see Table 22) located in the
Для настройки скорости передачи в устройстве используются два регистра TX_SPEED1 и TX_SPEED2 (см. табл. 23), расположенные в блоке 8 регистров режима/ состояния по адресам 0×450 и 0×454 для первого (2) и второго (3) портов SpaceWire соответственно. Соединение устанавливается на скорости 10 Мбит/с, далее происходит переход на базовую скорость передачи. Значение коэффициента скорости передачи задается в регистре TX_SPEED в разрядах 0..7 (TX_SPEED.SEL). Значение коэффициента скорости передачи, необходимое для настройки желаемой скорости, зависит от используемой схемы PLL в блоке 6(7) формирования синхросигналов передачи.To configure the transmission speed, two TX_SPEED1 and TX_SPEED2 registers are used in the device (see Table 23), located in
Таким образом, введение второго порта SpaceWire в данное устройство делает возможным несколько вариантов системного применения такого двухпортового устройства коммуникационных интерфейсов SpaceWire. При проектировании сетевых структур наличие двух портов SpaceWire в устройстве позволяет обеспечивать с наименьшими затратами достижения двух целей: либо повышение надежности каналов передачи данных, либо повышение пропускной способности при передаче больших потоков данных от высокоскоростных датчиков, либо и то, и другое. На фиг. 11а приведен простой пример структуры, когда линки SpaceWire связывают два порта устройства непосредственно с процессором обработки данных (например, MULTIFORCE MC24RT фирмы ЭЛВИИС), имеющим встроенные порты SpaceWire. В терминальном узле, выполняющем функции контроллера датчика, данные, формируемые датчиком, накапливаются в памяти терминального узла. По запросам процессора данные считываются из памяти терминального узла через интерфейс шины АНВ в устройство, из которого в виде пакетов RMAP по линкам SpaceWire передаются в процессор обработки данных. На фиг. 11б приведен пример структуры, в которой сеть SpaceWire на основе коммутаторов и концентраторов обеспечивает как надежное подключение группы устройств к процессору обработки данных, так и высокую суммарную пропускную способность для передачи по линкам SpaceWire пакетов с данными от высокоскоростных датчиков. Наиболее эффективно возможности устройства используются при формировании каскадных структур. На фиг. 12 показана группа устройств, образующих цепочку (daisy-chain), в которой два порта SpaceWire каждого устройства подключены к соседним устройствам в цепочке. Крайние устройства в цепочке могут подключаться к портам коммутатора, либо напрямую к процессору обработки данных.Thus, the introduction of the second SpaceWire port into this device makes it possible for several system applications of such a two-port SpaceWire communication interface device. When designing network structures, the presence of two SpaceWire ports in the device allows achieving two goals at the lowest cost: either improving the reliability of data transmission channels, or increasing throughput when transmitting large data streams from high-speed sensors, or both. In FIG. 11a shows a simple example of a structure where SpaceWire links connect two device ports directly to a data processor (for example, ELVIIS MULTIFORCE MC24RT) that has integrated SpaceWire ports. In the terminal node, which acts as the sensor controller, the data generated by the sensor is accumulated in the memory of the terminal node. At the request of the processor, data is read from the memory of the terminal node via the ANV bus interface to the device, from which they are transferred to the data processor in the form of RMAP packets via SpaceWire links. In FIG. Figure 11b shows an example of a structure in which a SpaceWire network based on switches and hubs provides both reliable connection of a group of devices to a data processor and a high total throughput for transmitting packets with data from high-speed sensors through SpaceWire links. The most effective features of the device are used in the formation of cascade structures. In FIG. 12 shows a group of devices forming a chain (daisy-chain), in which two SpaceWire ports of each device are connected to neighboring devices in the chain. The extreme devices in the chain can connect to the switch ports, or directly to the data processor.
С учетом того факта, что для управления работой датчика достаточно контроллера с автоматом управления на жесткой логике, использование в этом случае двухпортового устройства коммуникационных интерфейсов SpaceWire является эффективным вариантом, оправданным как с технической, так и с экономической точки зрения, а для бортовых комплексов является наиболее целесообразным.Taking into account the fact that a controller with a control unit based on strict logic is enough to control the sensor’s operation, the use of the SpaceWire dual-port communication device in this case is an effective option that is justified both from a technical and economic point of view, and for on-board systems is the most appropriate.
Техническим результатом данного решения является расширение области применения устройства коммуникационных интерфейсов SpaceWire благодаря расширению функциональных возможностей устройства: обеспечивается возможность построения различных сетевых конфигураций путем последовательного соединения двухпортовых устройств коммуникационных интерфейсов SpaceWire между собой. При этом достигается способность реализации передачи данных от произвольного множества датчиков в один порт SpaceWire процессора обработки данных, полностью используя его пропускную способность, чтобы загрузить систему сбора и обработки данных максимально полно.The technical result of this solution is to expand the scope of the SpaceWire communication interface device due to the expansion of the device’s functionality: it is possible to build various network configurations by connecting the SpaceWire communication interface devices with two ports in series. At the same time, the ability to implement data transfer from an arbitrary set of sensors to one SpaceWire port of the data processor is achieved, fully using its bandwidth to load the data acquisition and processing system as fully as possible.
Предложенное устройство имеет значительные функциональные преимущества перед известными аналогами.The proposed device has significant functional advantages over known analogues.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2016132606U RU175049U9 (en) | 2016-08-09 | 2016-08-09 | COMMUNICATION INTERFACE DEVICE SpaceWire |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2016132606U RU175049U9 (en) | 2016-08-09 | 2016-08-09 | COMMUNICATION INTERFACE DEVICE SpaceWire |
Publications (2)
Publication Number | Publication Date |
---|---|
RU175049U1 RU175049U1 (en) | 2017-11-16 |
RU175049U9 true RU175049U9 (en) | 2018-04-19 |
Family
ID=60328851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2016132606U RU175049U9 (en) | 2016-08-09 | 2016-08-09 | COMMUNICATION INTERFACE DEVICE SpaceWire |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU175049U9 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU186199U1 (en) * | 2018-05-17 | 2019-01-11 | Акционерное общество "Российская корпорация ракетно-космического приборостроения и информационных систем" (АО "Российские космические системы") | Program-temporary and routing device of on-board equipment of command-measuring system |
RU187642U1 (en) * | 2018-06-19 | 2019-03-14 | Закрытое акционерное общество Научно-производственный Центр "Микропроцессорные технологии" (ЗАО НПЦ "МиТ") | GIGASPACEWIRE COMMUNICATION INTERFACE DEVICE |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0458648B1 (en) * | 1990-05-25 | 2000-04-26 | STMicroelectronics Limited | Communication interface for serial transmission of variable length data tokens |
RU2405196C1 (en) * | 2009-05-04 | 2010-11-27 | Федеральное государственное унитарное предприятие научно-исследовательский институт "Субмикрон" | Link-port switch |
RU2460124C2 (en) * | 2010-05-26 | 2012-08-27 | Закрытое акционерное общество "Электронно-вычислительные информационные и инструментальные системы" | Communication interface device |
-
2016
- 2016-08-09 RU RU2016132606U patent/RU175049U9/en active IP Right Revival
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0458648B1 (en) * | 1990-05-25 | 2000-04-26 | STMicroelectronics Limited | Communication interface for serial transmission of variable length data tokens |
RU2405196C1 (en) * | 2009-05-04 | 2010-11-27 | Федеральное государственное унитарное предприятие научно-исследовательский институт "Субмикрон" | Link-port switch |
RU2460124C2 (en) * | 2010-05-26 | 2012-08-27 | Закрытое акционерное общество "Электронно-вычислительные информационные и инструментальные системы" | Communication interface device |
Also Published As
Publication number | Publication date |
---|---|
RU175049U1 (en) | 2017-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100687659B1 (en) | Network interface of controlling lock operation in accordance with axi protocol, packet data communication on-chip interconnect system of including the network interface, and method of operating the network interface | |
US5600799A (en) | Status batching and filtering in a media access control/host system interface unit | |
KR0169248B1 (en) | Message sending apparatus and message sending controlling method in packet internetwork | |
US7177307B2 (en) | Device and method for transmission in a switch | |
JP4571671B2 (en) | Method and apparatus for accessing data in message memory of communication module | |
US6519268B1 (en) | Asynchronous data pipe for automatically managing asynchronous data transfers between an application and a bus structure | |
RU2390053C2 (en) | Massage handler and method of controlling data access in message memory of communication component | |
JPH118636A (en) | Fiber channel switching system and its method | |
JP2008508826A (en) | FlexRay communication module | |
US6982976B2 (en) | Datapipe routing bridge | |
CN101282860A (en) | Method for connecting a flexray-user comprising a microcontroller to a flexray-communication connection via a flexray-communication control device, and flexray-communication control device, flexray-us | |
US7035956B2 (en) | Transmission control circuit, reception control circuit, communications control circuit, and communications control unit | |
JP2009512259A (en) | Subscriber interface that connects FlexRay communication module and FlexRay subscriber device, and message transmission method via subscriber interface that connects FlexRay communication module and FlexRay subscriber device | |
US5771227A (en) | Method and system for routing massages in a multi-node data communication network | |
WO2003102805A2 (en) | Inter-chip processor control plane | |
RU175049U9 (en) | COMMUNICATION INTERFACE DEVICE SpaceWire | |
US20020196745A1 (en) | Method for the broadcasting of a data packet within a switched network based on an optimized calculation of the spanning tree | |
JPH0716204B2 (en) | Packet switching method | |
US6219353B1 (en) | Message hub | |
EP0353249A4 (en) | Parallel networking architecture | |
JPH11167560A (en) | Data transfer system, switching circuit used to the transfer system, adapter, integrated circuit having the transfer system and data transfer method | |
US6912566B1 (en) | Memory device and method for operating the memory device | |
US6973093B1 (en) | Switching fabric for interfacing a host processor and a plurality of network modules | |
US20080181242A1 (en) | Communications gateway between two entities | |
CN115827524A (en) | Data transmission method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TK9K | Amendment to the publication (utility model) |
Free format text: CORRECTION TO CHAPTER -FG4K- IN JOURNAL 32-2017 FOR INID CODE(S) (73) |
|
TH91 | Specification republication (utility model) | ||
MM9K | Utility model has become invalid (non-payment of fees) |
Effective date: 20180810 |
|
NF9K | Utility model reinstated |
Effective date: 20200110 |