RU2460124C2 - Communication interface device - Google Patents
Communication interface device Download PDFInfo
- Publication number
- RU2460124C2 RU2460124C2 RU2010121016/08A RU2010121016A RU2460124C2 RU 2460124 C2 RU2460124 C2 RU 2460124C2 RU 2010121016/08 A RU2010121016/08 A RU 2010121016/08A RU 2010121016 A RU2010121016 A RU 2010121016A RU 2460124 C2 RU2460124 C2 RU 2460124C2
- Authority
- RU
- Russia
- Prior art keywords
- data
- input
- output
- unit
- symbol
- Prior art date
Links
- 238000004891 communication Methods 0.000 title claims abstract description 72
- 239000000872 buffer Substances 0.000 claims abstract description 114
- 238000006243 chemical reaction Methods 0.000 claims abstract description 42
- 239000008186 active pharmaceutical agent Substances 0.000 claims abstract description 36
- 230000007704 transition Effects 0.000 claims abstract description 30
- 230000005540 biological transmission Effects 0.000 claims description 43
- 230000008859 change Effects 0.000 claims description 34
- 238000012546 transfer Methods 0.000 claims description 26
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 12
- 230000003750 conditioning effect Effects 0.000 claims description 10
- 230000000694 effects Effects 0.000 abstract description 4
- 238000005516 engineering process Methods 0.000 abstract description 2
- 239000000126 substance Substances 0.000 abstract 1
- 230000015572 biosynthetic process Effects 0.000 description 25
- 101000888552 Xenopus laevis CLIP-associating protein 1-B Proteins 0.000 description 18
- 238000012790 confirmation Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 9
- 238000012937 correction Methods 0.000 description 8
- 230000000630 rising effect Effects 0.000 description 7
- 230000007423 decrease Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 238000000034 method Methods 0.000 description 5
- 150000001875 compounds Chemical class 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012432 intermediate storage Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 208000024891 symptom Diseases 0.000 description 2
- 101100368149 Mus musculus Sync gene Proteins 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 244000309464 bull Species 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 230000021715 photosynthesis, light harvesting Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Landscapes
- Communication Control (AREA)
Abstract
Description
Настоящее изобретение относится к цифровой вычислительной технике, а именно к высокоскоростным коммуникационным системам для высокопроизводительных многопроцессорных вычислительных систем с распределенной обработкой информации. Данное устройство предназначено, в частности, для применения при построении многопроцессорных вычислительных систем с распределенной архитектурой, используемых, в том числе, в бортовых вычислительных комплексах.The present invention relates to digital computing, and in particular to high-speed communication systems for high-performance multiprocessor computing systems with distributed information processing. This device is intended, in particular, for use in the construction of multiprocessor computing systems with a distributed architecture, used, inter alia, in on-board computer systems.
В качестве аналога из уровня техники известно устройство с параллельным коммуникационным интерфейсом [авт.свид. СССР №1211747. Устройство для сопряжения процессоров в многопроцессорной вычислительной системе / Горбачев С.В., Сакун Л.И. Заявлено 04.07.1984. Опубл. бюл. №6, 1986], содержащее блок передачи данных, блок приема данных, блок управления, блок определения готовности приемников, блок выделения приоритетного запроса.As an analogue from the prior art, a device with a parallel communication interface is known [autosvid. USSR No. 1211747. A device for interfacing processors in a multiprocessor computing system / Gorbachev S.V., Sakun L.I. Declared 07/04/1984. Publ. bull. No. 6, 1986], comprising a data transmission unit, a data receiving unit, a control unit, a receiver readiness determination unit, a priority request allocation unit.
В силу параллельного характера используемого коммуникационного интерфейса он имеет громоздкую физическую реализацию, так как кроме линий синхронизации содержит большое число линий приема и передачи данных. Возникающие проблемы со сдвигом по фазе синхросигнала и битов данных на множестве линий данных из-за их физической неоднородности приводят к тому, что известный параллельный интерфейс может использоваться на ограниченных расстояниях (до нескольких метров) и имеет ограниченное быстродействие. Таким образом, недостаток этого устройства состоит в ограниченной области применения, что вызвано ограничениями по длине и быстродействию, а также из-за большого энергопотребления при использовании параллельной синхронизации. Соответствующие ограничения присутствуют и в отношении надежности устройства.Due to the parallel nature of the communication interface used, it has a cumbersome physical implementation, since in addition to synchronization lines it contains a large number of data transmission and reception lines. The problems that arise with the phase shift of the clock signal and data bits on many data lines due to their physical heterogeneity lead to the fact that the known parallel interface can be used at limited distances (up to several meters) and has limited speed. Thus, the disadvantage of this device is its limited scope, which is caused by limitations in length and speed, and also because of the large power consumption when using parallel synchronization. Corresponding restrictions are also present regarding the reliability of the device.
Ближайшим аналогом к заявляемому устройству является устройство коммуникационного интерфейса [patent GB №91304711.4. Int. Cl.5 H04L 1/00. 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] для использования в коммуникационной системе, соединяющей как минимум два компьютера, причем устройство коммуникационного интерфейса, содержащее блок выдачи данных, блок приема данных, блок управления и блок управления потоком данных, выход запроса на выдачу символа управления потоком которого соединен с одноименным входом блока выдачи данных, выход готовности выдачи символа управления потоком которого соединен с одноименным входом блока управления потоком данных, входы подтверждения приема символа управления потоком и подтверждения приема информационного символа которого соединены соответственно с одноименными входами блока управления и одноименными выходами блока приема данных, выход ошибки кодировки символа которого является выходом ошибки кодировки символа системного интерфейса устройства и соединен с одноименным входом блока управления, первый и второй выходы сброса которого соединены с входами сброса соответственно блока выдачи данных и блока приема данных, входы данных и стробирования которого являются соответственно входами данных и стробирования интерфейса устройства с каналом приема информации, выходы данных и стробирования интерфейса устройства с каналом выдачи информации являются соответственно выходами данных и стробирования блока выдачи данных, вход синхронизации выдачи данных которого является входом синхронизации выдачи данных системного интерфейса устройства, вход чтения данных системного интерфейса устройства является одноименным входом блока приема данных, выходы данных для приема и готовности данных для приема которого являются соответствующими выходами системного интерфейса устройства, выход ошибки кредитования системного интерфейса устройства является одноименным выходом блока управления потоком данных и соединен с одноименным входом блока управления, третий выход сброса которого соединен с входом сброса блока управления потоком данных, входы подтверждения выдачи информационного символа и разрешения приема данных которого соединены с одноименными выходами соответственно блока выдачи данных и блока приема данных, вход сброса системного интерфейса устройства является входом сброса блока управления, выход готовности выдачи данных системного интерфейса устройства является одноименным выходом блока выдачи данных, входы записи и данных для выдачи системного интерфейса устройства являются соответствующими входами блока выдачи данных, который содержит блок арбитража выдачи символов, формирователь символа, блок DS-кодирования символа, буфер выдачи данных, выход готовности выдачи данных которого является одноименным выходом блока выдачи данных, входы записи и данных для выдачи которого являются соответствующими входами буфера выдачи данных, выход которого соединен с входом информационного символа блока арбитража выдачи символов, выходы подтверждения выдачи информационного символа и готовности выдачи символа управления потоком которого являются соответственно одноименными выходами блока выдачи данных, вход запроса на выдачу символа управления потоком которого является одноименным входом блока арбитража выдачи символов, вход сброса которого является входом сброса блока выдачи данных и соединен с входами сброса формирователя символа, блока DS-кодирования символа и буфера выдачи данных, вход готовности передачи данных которого соединен с одноименным выходом блока арбитража выдачи символов, вход синхронизации которого соединен с входом синхронизации буфера выдачи данных и является входом локальной синхронизации блока выдачи данных, выходы данных и стробирования которого являются одноименными выходами блока DS-кодирования символа, вход полного кода символа которого соединен с одноименным выходом формирователя символа; блок приема данных содержит первый элемент ИСКЛЮЧАЮЩЕЕ ИЛИ, преобразователь в параллельный код, буфер приема данных, дешифратор преобразованного кода, причем вход локальной синхронизации блока приема данных является входом синхронизации буфера приема данных и дешифратора преобразованного кода, выходы ошибки кодировки символа и подтверждение приема символа управления потоком которого являются одноименными выходами блока приема данных, выход данных для приема которого является одноименным выходом буфера приема данных, выходы разрешения приема данных и готовности данных для приема которого являются соответственно одноименными выходами блока приема данных, вход чтения данных которого является входом чтения буфера приема данных, информационный вход которого соединен с выходом данных дешифратора преобразованного кода, выход подтверждения приема информационного символа которого соединен с одноименным входом буфера приема данных и является одноименным выходом блока приема данных, вход сброса которого является входом сброса дешифратора преобразованного кода и соединен с входом сброса буфера приема данных, вход данных блока приема данных соединен с первым входом первого элемента ИСКЛЮЧАЮЩЕЕ ИЛИ, вход стробирования блока приема данных соединен со вторым входом первого элемента ИСКЛЮЧАЮЩЕЕ ИЛИ.The closest analogue to the claimed device is a communication interface device [patent GB No. 91304711.4. Int. Cl. 5
В данном устройстве использование DS-кодирования позволяет несколько снизить энергопотребление без снижения скоростных характеристик по сравнению с ранее известными аналогами за счет того, что в один момент времени может происходить изменение только одного сигнала, либо на линии стробирования S, либо на линии данных D коммуникационного интерфейса. Используемый в устройстве способ DS-кодирования характеризуется тем, что сигналы данных на линии данных D являются последовательным потоком битов данных, представляющих собой последовательность изменений сигнала только когда биты данных изменяют свое значение, в то время как сигнал строба на линии стробирования S изменяет значение только на границе битов в те моменты, когда сигнал данных не изменяет свое состояние, таким образом, исключая одновременные изменения в последовательном потоке сигналов данных и стробов. В блоке приема данных путем объединения D-сигнала и S-сигнала по функции ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR) формируется синхросигнал, изменяющий свое состояние в каждом битовом интервале, что позволяет его использование для приема сигналов данных с линии данных D и дальнейшей обработки битовых данных в устройстве коммуникационного интерфейса.In this device, the use of DS-coding can 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 by the bit boundary at those moments when the data signal does not change its state, thus eliminating simultaneous changes in the sequential stream of data signals and gates. In the data receiving unit, by combining the D-signal and the S-signal using the EXCLUSIVE OR (XOR) function, a clock signal is generated that changes its state in each bit interval, which allows its use to receive data signals from the D data line and further process bit data in the device communication interface.
Недостатком этого устройства по-прежнему остается ограниченное быстродействие и относительно высокое энергопотребление. Это связано с тем, что все элементы устройства работают на одной локальной частоте, на которой осуществляется как выдача битовых данных, так и их прием, и последующее распознавание символа данных. Поэтому возможность повышения быстродействия устройства значительно ограничивается из-за пропорционального роста энергопотребления элементов всего устройства. При этом в домене формирования синхросигнала для приема битов данных имеет место эффект «завала фронтов» синхросигнала, поскольку он вырабатывается по функции XOR из сигналов с входных линий D и S коммуникационного интерфейса. В силу большой протяженности этих линий (порядка нескольких метров) они обладают значительными паразитными емкостями и индуктивностями, которые вызывают завал фронтов D- и S-сигналов. С другой стороны, формируемый в приемнике устройства синхросигнал имеет длинный путь (clock path), так как вырабатывается на основе D- и S-сигналов, поступающих из передатчика другого устройства через коммуникационный канал, что ограничивает возможность уменьшения периода изменения сигналов. Эти причины не позволяют повысить скорость передачи данных и существенно ограничивают быстродействие всего устройства коммуникационного интерфейса. В свою очередь, наличие в схеме устройства синхросигналов с продолжительным временем перехода от одного уровня к другому, в течение которого происходит дополнительное рассеивание энергии на триггерах и логических элементах, приводит к излишнему росту энергопотребления. Это сужает область применения устройства и, в частности, ограничивает использование в бортовых системах и для встраиваемых применений. Это также приводит к тому, что соответствующие ограничения присутствуют и в отношении надежности устройства.The disadvantage of this device is still limited performance and relatively high power consumption. This is due to the fact that all elements of the device operate at one local frequency, at which both bit data is received and received, and the data symbol is subsequently recognized. Therefore, the possibility of increasing the speed of the device is significantly limited due to the proportional increase in power consumption of the elements of the entire device. At the same time, in the domain of formation of the clock signal for receiving data bits, there is the effect of “blocking the edges” of the clock signal, since it is generated by the XOR function from signals from the input lines D and S of the communication interface. Due to the large length of these lines (of the order of several meters), they have significant stray capacitances and inductances, which cause a blockage of the D and S signal fronts. On the other hand, the clock signal generated in the device’s receiver has a long path (clock path), since it is generated on the basis of D- and S-signals coming from the transmitter of another device through the communication channel, which limits the possibility of reducing the period of change of signals. These reasons do not allow to increase the data transfer rate and significantly limit the speed of the entire communication interface device. In turn, the presence of clock signals in the device circuit with a long transition time from one level to another, during which additional energy dissipation occurs on triggers and logic elements, leads to an excessive increase in energy consumption. This narrows the scope of the device and, in particular, limits its use in on-board systems and for embedded applications. This also leads to the fact that the corresponding restrictions are present regarding the reliability of the device.
Техническим результатом предлагаемого изобретения является расширение области применения устройства за счет снижения энергопотребления и обеспечения возможности повышения быстродействия путем минимизации числа триггеров и других элементов устройства, работающих на частоте передачи данных, более высокой по сравнению с локальной частотой, а также вследствие устранения завала фронтов синхросигнала при приеме битов данных и повышения скорости распознавания символов данных из потока принимаемых битов данных. Также имеет место в качестве технического результата возможность относительного повышения надежности устройства.The technical result of the invention is to expand the scope of the device by reducing power consumption and providing the possibility of improving performance by minimizing the number of triggers and other elements of the device operating at a data transfer frequency higher than the local frequency, and also due to elimination of blockage of the signal fronts during reception data bits and increase the speed of recognition of data symbols from the stream of received data bits. Also, as a technical result, the possibility of a relative increase in the reliability of the device takes place.
Технический результат достигается тем, что в предложенном устройстве коммуникационного интерфейса, содержащем блок выдачи данных, блок приема данных, блок управления и блок управления потоком данных, выход запроса на выдачу символа управления потоком которого соединен с одноименным входом блока выдачи данных, выход готовности выдачи символа управления потоком которого соединен с одноименным входом блока управления потоком данных, входы подтверждения приема символа управления потоком и подтверждения приема информационного символа которого соединены соответственно с одноименными входами блока управления и одноименными выходами блока приема данных, выход ошибки кодировки символа которого является выходом ошибки кодировки символа системного интерфейса устройства и соединен с одноименным входом блока управления, первый и второй выходы сброса которого соединены с входами сброса соответственно блока выдачи данных и блока приема данных, входы данных и стробирования которого являются соответственно входами данных и стробирования интерфейса устройства с каналом приема информации, выходы данных и стробирования интерфейса устройства с каналом выдачи информации являются соответственно выходами данных и стробирования блока выдачи данных, вход синхронизации выдачи данных которого является входом синхронизации выдачи данных системного интерфейса устройства, вход чтения данных системного интерфейса устройства является одноименным входом блока приема данных, выходы данных для приема и готовности данных для приема которого являются соответствующими выходами системного интерфейса устройства, выход ошибки кредитования системного интерфейса устройства является одноименным выходом блока управления потоком данных и соединен с одноименным входом блока управления, третий выход сброса которого соединен с входом сброса блока управления потоком данных, входы подтверждения выдачи информационного символа и разрешения приема данных которого соединены с одноименными выходами соответственно блока выдачи данных и блока приема данных, вход сброса системного интерфейса устройства является входом сброса блока управления, выход готовности выдачи данных системного интерфейса устройства является одноименным выходом блока выдачи данных, входы записи и данных для выдачи системного интерфейса устройства являются соответствующими входами блока выдачи данных, который содержит блок арбитража выдачи символов, формирователь символа, блок DS-кодирования символа, буфер выдачи данных, выход готовности выдачи данных которого является одноименным выходом блока выдачи данных, входы записи и данных для выдачи которого являются соответствующими входами буфера выдачи данных, выход которого соединен с входом информационного символа блока арбитража выдачи символов, выходы подтверждения выдачи информационного символа и готовности выдачи символа управления потоком которого являются соответственно одноименными выходами блока выдачи данных, вход запроса на выдачу символа управления потоком которого является одноименным входом блока арбитража выдачи символов, вход сброса которого является входом сброса блока выдачи данных и соединен с входами сброса формирователя символа, блока DS-кодирования символа и буфера выдачи данных, вход готовности передачи данных которого соединен с одноименным выходом блока арбитража выдачи символов, вход синхронизации которого соединен с входом синхронизации буфера выдачи данных и является входом локальной синхронизации блока выдачи данных, выходы данных и стробирования которого являются одноименными выходами блока DS-кодирования символа, вход полного кода символа которого соединен с одноименным выходом формирователя символа; блок приема данных содержит первый элемент ИСКЛЮЧАЮЩЕЕ ИЛИ, преобразователь в параллельный код, буфер приема данных, дешифратор преобразованного кода, причем вход локальной синхронизации блока приема данных является входом синхронизации буфера приема данных и дешифратора преобразованного кода, выходы ошибки кодировки символа и подтверждение приема символа управления потоком которого являются одноименными выходами блока приема данных, выход данных для приема которого является одноименным выходом буфера приема данных, выходы разрешения приема данных и готовности данных для приема которого являются соответственно одноименными выходами блока приема данных, вход чтения данных которого является входом чтения буфера приема данных, информационный вход которого соединен с выходом данных дешифратора преобразованного кода, выход подтверждения приема информационного символа которого соединен с одноименным входом буфера приема данных и является одноименным выходом блока приема данных, вход сброса которого является входом сброса дешифратора преобразованного кода и соединен с входом сброса буфера приема данных, вход данных блока приема данных соединен с первым входом первого элемента ИСКЛЮЧАЮЩЕЕ ИЛИ, вход стробирования блока приема данных соединен со вторым входом первого элемента ИСКЛЮЧАЮЩЕЕ ИЛИ, введено соединение входа локальной синхронизации системного интерфейса устройства с входами локальной синхронизации блока управления, блока управления потоком данных, блока приема данных, блока выдачи данных, вход разрешения передачи символов управления потоком которого соединен с одноименным выходом блока управления, выход ошибки рассоединения блока приема данных соединен с одноименным входом блока управления и является выходом ошибки рассоединения системного интерфейса устройства, выход установления соединения системного интерфейса устройства является выходом установления соединения блока приема данных и соединен с одноименным входом блока управления, причем в блок приема данных введены блок формирования сигналов, детектор рассоединения, блок преобразования кода, детектор начала приема и блок перехода временного домена, в блок выдачи данных введен буфер передачи символов, вход локальной синхронизации которого соединен с входом локальной синхронизации блока выдачи данных, вход разрешения передачи символа управления потоком которого является одноименным входом блока арбитража выдачи символов, вход синхронизации выдачи данных блока выдачи данных является одноименным входом буфера передачи символов и соединен с входами синхронизации формирователя символа и блока DS-кодирования символа, вход сброса блока выдачи данных соединен с одноименным входом буфера передачи символов, выход готовности передачи символов которого соединен с одноименным входом блока арбитража выдачи символов, выходы записи и символов которого соединены соответственно с одноименными входами буфера передачи символов, выход которого соединен с информационным входом формирователя символа, выходы длины символа и записи длины символа которого соединены соответственно с одноименными входами блока DS-кодирования символа, выход готовности передачи символа которого соединен с одноименными входами формирователя символа и буфера передачи символов; выход ошибки рассоединения блока приема данных является выходом детектора рассоединения, управляющий вход которого соединен с выходом признака изменения уровня первого элемента ИСКЛЮЧАЮЩЕЕ ИЛИ, с входом синхронизации блока формирования сигналов и входом синхронизации детектора начала приема, выход корректировки фронта синхросигнала которого соединен с одноименным входом блока формирования сигналов, вход разрешения синхронизации которого соединен с одноименным выходом детектора начала приема и является выходом установления соединения блока приема данных, информационный выход и выход готовности преобразователя в параллельный код соединены соответственно с одноименными входами блока перехода временного домена, информационный выход и выход разрешения которого соединены соответственно с информационным входом и входом разрешения блока преобразования кода, выходы параллельного кода слова данных и разрядности слова данных которого соединены соответственно с одноименными входами дешифратора преобразованного кода, выход числа дешифрируемых битов которого соединен с одноименным входом блока преобразования кода, вход синхронизации которого соединен с входами синхронизации блока перехода временного домена, детектора рассоединения, детектора начала приема и входом локальной синхронизации блока приема данных, вход данных которого соединен с входом сигнала данных блока формирования сигналов и с информационным входом детектора начала приема, вход сброса блока приема данных соединен с управляющим входом детектора начала приема и с входами сброса детектора рассоединения, блока преобразования кода и блока формирования сигналов, выход битов данных которого соединен с одноименным входом преобразователя в параллельный код, вход синхронизации которого соединен с выходом сигнала синхронизации блока формирования сигналов.The technical result is achieved by the fact that in the proposed communication interface device containing a data output unit, a data reception unit, a control unit and a data flow control unit, a request for issuing a flow control symbol is connected to the input of the data output unit of the same name, a readiness output of the control symbol the flow of which is connected to the input of the data flow control unit of the same name, the acknowledgment inputs of the flow control symbol and the acknowledgment of receipt of the information symbol to are connected respectively to the inputs of the control unit of the same name and the outputs of the data receiving unit of the same name, the output of the character encoding error of which is the output of the character encoding error of the system interface of the device and 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, respectively and a data receiving unit, the data and gating inputs of which are respectively the data and gating inputs of the device interface with the channel at information flow, data outputs and gating of the device interface with the information output channel are respectively data and gating outputs of the data output unit, the data output synchronization input of which is the data output synchronization input of the device system interface, the data read input of the device system interface is 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 device system interface, output credit errors of the system interface of the device is the output of the data flow control unit of the same name and is connected to the input of the control unit of the same name, the third reset output of which is connected to the reset input of the data flow control unit, the information symbol confirmation and data reception permissions of which are connected to the outputs of the same name respectively data and the data receiving unit, the reset input of the system interface of the device is the reset input of the control unit, the readiness output is transferring data to the device’s system interface is the output of the data output unit of the same name, the recording and data inputs for issuing the device’s system interface are the corresponding inputs of the data output unit, which contains the symbol output arbitration unit, the character generator, the DS symbol encoding unit, the data output buffer, the readiness output the data output of which is the output of the same name of the data output unit, the recording and data inputs for the output of which are the corresponding inputs of the data output buffer, the output of which connected to the input of the information symbol of the arbitration unit for issuing symbols, the outputs for confirming the issuance of an information symbol and the readiness for issuing a flow control symbol are the same outputs of the data issuing unit, the input of the request for issuing a flow control symbol of which is the same input as the symbol arbitration unit, whose reset input is is a reset input of the data output unit and is connected to the reset inputs of the character generator, DS symbol encoding unit and data output buffer n, the input of readiness for data transmission which is connected to the output of the symbol issuing arbitration unit of the same name, the synchronization input of which is connected to the synchronization input of the data output buffer and is the local synchronization input of the data output unit, the data and gating outputs of which are the same outputs of the DS symbol encoding unit, the input the full symbol code of which is connected to the output of the symbol shaper of the same name; the data receiving unit contains the first EXCLUSIVE OR element, a parallel code converter, a data receiving buffer, a transformed code decoder, the local synchronization input of the data receiving unit being a synchronization input of the data receiving buffer and the decoded code decoder, symbol encoding error outputs and acknowledgment of the receipt of the flow control symbol which are the outputs of the same name of the data receiving unit, the data output for receiving which is the same name as the output of the data reception buffer, the outputs are enabled data reception and data readiness for receiving which are respectively the outputs of the same data receiving unit, the data read input of which is the read input of the data reception buffer, the information input of which is connected to the data output of the decoded code decoder, the output of which the information symbol is acknowledged is connected to the buffer input of the same name receiving data and is the same output of the data receiving unit, the reset input of which is the reset input of the decoder of the converted code and soy inen with a reset input buffer input, the data input of the data reception unit is connected to the first input of the first EXCLUSIVE OR element, the gating input of the data reception unit is connected to the second input of the first EXCLUSIVE OR element, the connection of the local synchronization input of the device system interface with the local synchronization inputs of the control unit , a data flow control unit, a data reception unit, a data output unit, the input of which allows the transmission of symbols for controlling the flow of which is connected to the output of the same name control window, the output error of the disconnection of the data receiving unit is connected to the same input of the control unit and is the output of the error of disconnecting the system interface of the device, the connection output of the system interface of the device is the output of the connection of the data receiving unit and connected to the input of the control unit of the same name, and to the data receiving unit a signal generation block, a disconnect detector, a code conversion block, a reception start detector and a temporary domain transition block, are introduced into the block a symbol transfer buffer is introduced, the local synchronization input of which is connected to the local synchronization input of the data output unit, the input of which the symbol for transmitting the flow control symbol is the input of the symbol arbitration unit of the same name, the data synchronization input of the data output unit is the symbol input of the same name and connected with the synchronization inputs of the character generator and the DS symbol encoding unit, the reset input of the data output unit is connected to the input of the buffer of the same name symbol delivery, the output of the symbol transfer readiness of which is connected to the input of the symbol issuing arbitration unit of the same name, the recording and symbol outputs of which are connected to the inputs of the symbol transfer buffer of the same name, the output of which is connected to the information input of the symbol generator, the symbol length and symbol length records of which are connected respectively with the inputs of the DS symbol encoding unit of the same name, the output of which symbol transmission is connected to the inputs of the symbol generator and the buffer of the same name character transfer; the output of the disconnect error of the data receiving unit is the output of the disconnect detector, the control input of which is connected to the output of the level change indicator of the first EXCLUSIVE OR element, with the synchronization input of the signal generation unit and the synchronization input of the reception start detector, the output of which the edge of the clock signal is connected to the input of the signal forming unit of the same name the synchronization enable input of which is connected to the output of the detector of reception reception of the same name and is the connection establishment output the data reception unit, the information output and the readiness output of the converter into parallel code are connected respectively to the inputs of the transition block of the temporary domain of the same name, the information output and the resolution output of which are connected respectively to the information input and resolution input of the code conversion unit, outputs of the data code parallel code and word length the data of which are connected respectively with the same inputs of the decoder of the converted code, the output of the number of decryptable bits of which is connected nen with the input of the code conversion unit of the same name, the synchronization input of which is connected to the synchronization inputs of the transition block of the temporary domain, the disconnection detector, the detector of the beginning of reception and the local synchronization input of the data reception unit, the data input of which is connected to the data signal input of the signal generation unit and to the information input of the detector the start of reception, the reset input of the data reception unit is connected to the control input of the detector of the start of reception and to the reset inputs of the disconnect detector, code conversion unit as well as a signal generating unit, the output of whose data bits is connected to the converter input of the same name in parallel code, the synchronization input of which is connected to the output of the synchronization signal of the signal generating unit.
Предпочтительно, блок формирования сигналов содержит триггер первого бита, триггер второго бита, регистр выделенных сигналов, первый триггер деления частоты, второй триггер деления частоты, первый элемент НЕ, второй элемент НЕ, второй элемент ИСКЛЮЧАЮЩЕЕ ИЛИ, третий элемент ИСКЛЮЧАЮЩЕЕ ИЛИ, выход которого соединен с входом синхронизации регистра выделенных сигналов и является выходом сигнала синхронизации блока формирования сигналов, вход синхронизации которого соединен с одноименными входами триггеров первого и второго битов, первого и второго триггеров деления частоты, вход сигнала данных блока формирования сигналов соединен с входами данных триггеров первого и второго битов, вход разрешения синхронизации блока формирования сигналов является входом разрешения регистра выделенных сигналов, входы первого и второго битов соединены соответственно с выходами триггеров первого и второго битов, выход регистра выделенных сигналов является выходом битов данных блока формирования сигналов, вход корректировки фронта синхросигнала которого является первым входом третьего элемента ИСКЛЮЧАЮЩЕЕ ИЛИ, второй вход которого соединен с выходом второго элемента ИСКЛЮЧАЮЩЕЕ ИЛИ, первый вход которого соединен с выходом первого триггера деления частоты и с входом первого элемента НЕ, выход которого соединен с входом данных первого триггера деления частоты, вход сброса которого является входом сброса блока формирования сигналов и соединен с одноименным входом второго триггера деления частоты, выход которого соединен со вторым входом второго элемента ИСКЛЮЧАЮЩЕЕ ИЛИ и с входом второго элемента НЕ, выход которого соединен с входом данных второго триггера деления частоты. Блок преобразования кода содержит сдвигающий регистр выборки, регистр первого байта, регистр второго байта, регистр третьего байта, регистр четвертого байта, блок сдвига данных, регистр управления сдвигом, первый сумматор, регистр управления чтением, второй сумматор, регистр константы, выход которого соединен с первым входом сложения второго сумматора, выход которого соединен с информационным входом регистра управления чтением, выход состояния которого соединен со вторым входом сложения второго сумматора, вход вычитания которого является входом числа дешифрируемых битов блока преобразования кода и соединен с первым входом сложения первого сумматора, второй вход сложения которого соединен с выходом состояния регистра управления сдвигом, информационный вход которого соединен с выходом первого сумматора, управляющий выход регистра управления сдвигом соединен с управляющим входом блока сдвига данных, выход которого является выходом параллельного кода слова данных блока преобразования кода, вход сброса которого соединен с одноименными входами регистра управления сдвигом, регистра управления чтением и сдвигового регистра выборки, вход синхронизации которого является входом синхронизации блока преобразования кода и соединен с одноименными входами регистров первого, второго, третьего и четвертого байтов, регистра управления сдвигом и регистра управления чтением, выход разрядности слова данных которого является одноименным выходом блока преобразования кода, вход разрешения которого соединен с разрешающими входами регистра управления сдвигом, регистра управления чтением и сдвигающего регистра выборки, выход которого соединен с собственным последовательным входом, с входами выборки регистров первого, второго, третьего и четвертого байтов, информационные входы которых соединены с информационным входом блока преобразования кода, выходы регистров первого, второго, третьего и четвертого байтов соединены соответственно с первым, вторым, третьим и четвертым информационными входами блока сдвига данных.Preferably, the signal generating unit comprises a first bit trigger, a second bit trigger, a selected signal register, a first frequency division trigger, a second frequency division trigger, a first element NOT, a second element NOT, a second element EXCLUSIVE OR, a third element EXCLUSIVE OR, the output of which is connected to the synchronization input of the register of selected signals and is the output of the synchronization signal of the signal generation unit, the synchronization input of which is connected to the inputs of the triggers of the first and second bits of the same name, the first o and the second triggers of dividing the frequency, the data signal input of the signal conditioning unit is connected to the data inputs of the triggers of the first and second bits, the synchronization enable signal input of the signal conditioning unit is the enable signal register enable input, the inputs of the first and second bits are connected respectively to the outputs of the triggers of the first and second bits , the output of the register of selected signals is the output of the data bits of the signal generation unit, the input of the adjustment of the clock edge of which is the first input third of its EXCLUSIVE OR element, the second input of which is connected to the output of the second EXCLUSIVE OR element, the first input of which is connected to the output of the first frequency division trigger and to the input of the first element NOT, the output of which is connected to the data input of the first frequency division trigger, the reset input of which is the reset input signal conditioning unit and is connected to the same input of the second trigger of the frequency division, the output of which is connected to the second input of the second element EXCLUSIVE OR and to the input of the second element NOT, the output of which connected to the input of the second frequency dividing the trigger data. The code conversion block contains a shift register, a first byte register, a second byte register, a third byte register, a fourth byte register, a data shift block, a shift control register, a first adder, a read control register, a second adder, a constant register whose output is connected to the first the addition input of the second adder, the output of which is connected to the information input of the read control register, the status output of which is connected to the second input of the addition of the second adder, the subtraction input of which is is the input of the number of decryptable bits of the code conversion unit and connected to the first addition input of the first adder, the second addition input of which is connected to the output of the state of the shift control register, the information input of which is connected to the output of the first adder, the control output of the shift control register is connected to the control input of the data shift unit , the output of which is the parallel code output of the data word of the code conversion unit, the reset input of which is connected to the inputs of the same name of the control register with by a whig, a read control register and a shift register of selection, the synchronization input of which is a synchronization input of the code conversion unit and connected to the inputs of the same register, the first, second, third and fourth bytes, the shift control register and the read control register, the output of the word length of the data word of which is the same output a code conversion unit, whose permission input is connected to the enable inputs of the shift control register, the read control register, and the shift register in samples, the output of which is connected to its own serial input, with the inputs of the sample registers of the first, second, third and fourth bytes, the information inputs of which are connected to the information input of the code conversion unit, the outputs of the registers of the first, second, third and fourth bytes are connected respectively to the first, second , the third and fourth information inputs of the data shift block.
Предлагаемое изобретение предназначено для организации высокоскоростного обмена информацией между процессорными узлами или компьютерами по дуплексному последовательному коммуникационному каналу, образованному симплексными каналами выдачи и приема информации, и может быть использовано при создании высокопроизводительных многопроцессорных вычислительных систем для применения в широких областях, требующих пониженного энергопотребления и повышения быстродействия. В предлагаемом техническом решении обеспечивается возможность для повышения скорости передачи данных через коммуникационный канал, то есть выдачи и приема данных в устройстве коммуникационного интерфейса при одновременном ограничении роста энергопотребления за счет разделения всех элементов устройства на два временных домена. Первый временной домен, в который включены элементы устройства, осуществляющие подготовку выдаваемых символов данных и обработку принимаемых символов данных, работает на частоте локальной синхронизации устройства. Второй временной домен включает элементы устройства, непосредственно осуществляющие выдачу и работающие на частоте выдачи данных в коммуникационный интерфейс, а также элементы устройства, непосредственно обеспечивающие прием битов данных и работающие на частоте принимаемых сигналов из коммуникационного интерфейса. Для повышения пропускной способности коммуникационного интерфейса частота выдачи данных может быть увеличена в несколько раз по сравнению с частотой локальной синхронизации. Поскольку в данном техническом решении имеется возможность минимизировать число триггеров, работающих на максимальной частоте передачи данных, то это способствует снижению потребляемой мощности по сравнению с прототипом при одинаковых значениях скорости передачи данных. Уменьшение задержек при приеме данных за счет формирования внутренних синхросигналов без завала фронтов и одновременного выделения двух смежных битов из входной линии данных способствует увеличению скорости приема данных и снижению потребляемой мощности. Возможность декодирования из последовательности принимаемых битов данных более одного символа за один такт локальной частоты обеспечивает повышение скорости приема данных и способствует выравниванию скорости приема со скоростью выдачи бит данных. Это является одним из факторов, способствующих снижению частоты локальной синхронизации по отношению к частоте выдачи данных, что приводит к уменьшению энергопотребления при обеспечении возможности одновременного увеличения скорости передачи битов данных в коммуникационном канале по сравнению с прототипом. Таким образом, данное устройство может быть эффективно использовано для создания распределенных бортовых вычислительных комплексов, а также в различных встраиваемых применениях. Отдельные элементы устройства могут быть реализованы стандартными средствами из данной области техники, при этом только системное решение, предложенное в рамках настоящего изобретения, позволяет достигнуть соответствующего технического результата.The present invention is intended to organize high-speed exchange of information between processor nodes or computers via a duplex serial communication channel formed by simplex channels of information delivery and reception, and can be used to create high-performance multiprocessor computing systems for use in wide areas that require reduced power consumption and increased speed. The proposed technical solution provides an opportunity to increase the speed of data transmission through a communication channel, that is, the issuance and reception of data in a communication interface device while limiting the growth of energy consumption by dividing all elements of the device into two temporary domains. The first temporary 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. The second time domain includes device elements that directly issue and operate at the frequency of data output to the communication interface, as well as device elements that directly receive data bits and operate at the frequency of received signals from the communication interface. To increase the throughput of the communication interface, the frequency of data output can be increased several times in comparison with the frequency of local synchronization. Since in this technical solution it is possible to minimize the number of triggers operating at the maximum data transfer frequency, this helps to reduce the power consumption compared to the prototype at the same data rate. Reducing delays in receiving data due to the formation of internal clock signals without blocking the edges and simultaneous separation of two adjacent bits from the input data line helps to increase the speed of data reception and reduce power consumption. The ability to decode from a sequence of received data bits more than one symbol per clock cycle of the local frequency provides an increase in the data reception rate and helps align the reception rate with the data bit output rate. This is one of the factors contributing to a decrease in the frequency of local synchronization with respect to the frequency of data output, which leads to a decrease in power consumption while providing the possibility of simultaneously increasing the transmission speed of data bits in a communication channel compared to the prototype. Thus, this device can be effectively used to create distributed on-board computer systems, as well as in various embedded applications. Individual elements of the device can be implemented by standard means from the given field of technology, and only the system solution proposed in the framework of the present invention allows to achieve the corresponding technical result.
Детально сущность данного технического решения поясняется описанием со ссылками на чертежи, где на фиг.1 представлена структурная схема устройства, на фиг.2 - функциональная схема блока выдачи данных, на фиг.3 - функциональная схема блока приема данных. На фиг.4 и фиг.5 представлены возможные варианты реализации функциональных схем блока управления потоком данных и блока управления. На фиг.6 показана функциональная схема блока формирования сигналов. На фиг.7 приведена возможная реализация функциональной схемы детектора начала приема. На фиг.8 приведен пример реализации детектора рассоединения. На фиг.9 приведена структура блока преобразования кода. На фиг.10 представлена возможная реализация структуры блока DS-кодирования символа. На фиг.11 приведен граф машины состояния, описывающий режимы функционирования устройства. На фиг.12 показаны временные диаграммы, поясняющие правила формирования при DS-кодировании D- и S-сигналов в коммуникационном интерфейсе устройства. На фиг.13 показаны временные диаграммы, поясняющие работу блока формирования сигналов. На фиг.14 показаны временные диаграммы, поясняющие работу детектора рассоединения. На фиг.15 показаны области смежных символов, охватываемые битами контроля символа. На фиг.16 показаны сигналы данных и стробирования в момент запуска устройства. На фиг.17 проиллюстрирован пример графа переходов при инициализации взаимодействия через коммуникационный канал между двумя устройствами.The essence of this technical solution is explained in detail by the description with reference to the drawings, in which Fig. 1 shows a block diagram of a device, Fig. 2 is a functional diagram of a data output unit, and Fig. 3 is a functional diagram of a data reception unit. Figure 4 and figure 5 presents possible options for the implementation of functional circuits of the data flow control unit and the control unit. Figure 6 shows a functional diagram of a signal generation unit. Figure 7 shows a possible implementation of the functional diagram of the detector start reception. On Fig shows an example implementation of the detector disconnection. Figure 9 shows the structure of the code conversion unit. Figure 10 shows a possible implementation of the structure of the block DS symbol encoding. Figure 11 shows a graph of the state machine that describes the operating modes of the device. 12 is a timing chart explaining the rules for generating DS and D signals in the communication interface of a device. 13 is a timing chart explaining the operation of the signal generating unit. 14 is a timing chart explaining the operation of the disconnect detector. 15 shows regions of adjacent symbols spanned by symbol control bits. On Fig shows the data signals and gating at the time of starting the device. On Fig illustrates an example of a graph of transitions when initializing interaction through a communication channel between two devices.
Как показано на фиг.1, предлагаемое устройство содержит блок 1 выдачи данных, блок 2 приема данных, блок 3 управления потоком данных, блок 4 управления, выход 5 подтверждения приема символа управления потоком, выход 6 подтверждения приема информационного символа, выход 7 запроса на выдачу символа управления потоком, первый выход 8 сброса, второй выход 9 сброса, третий выход 10 сброса, выход 11 ошибки рассоединения, выход 12 готовности выдачи символа управления потоком, вход 13 синхронизации выдачи данных, входы 14 данных и 15 стробирования, выходы 16 данных и 17 стробирования, выход 18 готовности выдачи данных, вход 19 записи, вход 20 данных для выдачи, вход 21 чтения данных, выход 22 данных для приема, выход 23 готовности данных для приема, вход 24 локальной синхронизации, вход 25 сброса, выход 26 ошибки кредитования, выход 27 ошибки кодировки символа, выход 28 установления соединения, выход 29 разрешения передачи символа управления потоком, выход 30 подтверждения выдачи информационного символа, выход 31 разрешения приема данных.As shown in figure 1, the proposed device contains a
Блок 1 выдачи данных содержит (см. фиг.2) блок 32 арбитража выдачи символов, буфер 33 выдачи данных, формирователь 34 символа, блок 35 DS-кодирования символа, буфер 36 передачи символов, выход 30 подтверждения выдачи информационного символа, вход 37 разрешения передачи символа управления потоком, вход 38 сброса, выходы 16 данных и 17 стробирования, вход 39 запроса на выдачу символа управления потоком, выходы 12 готовности выдачи символа управления потоком и 18 готовности выдачи данных, входы 19 записи и 20 данных для выдачи, входы 13 синхронизации выдачи данных и 24 локальной синхронизации, выход 40 полного кода символа, выход 41 готовности передачи символов, выход 42 записи, выход 43 символа, выход 44 готовности передачи символа, выход 45 длины символа, выход 46 записи длины символа, выход 47 буфера 33 выдачи данных, выход 48 готовности передачи данных, выход 49 буфера 36 передачи символов.The
Блок 2 приема данных содержит (см. фиг.3) первый элемент 50 ИСКЛЮЧАЮЩЕЕ ИЛИ, преобразователь 51 в параллельный код, буфер 52 приема данных, дешифратор 53 преобразованного кода, блок 54 формирования сигналов, детектор 55 начала приема, детектор 56 рассоединения, блок 57 перехода временного домена, блок 58 преобразования кода, входы 14 данных и 15 стробирования, выход 27 ошибки кодировки символа, выходы 22 данных для приема и 23 готовности данных для приема, вход 21 чтения данных, выход 11 ошибки рассоединения, вход 24 локальной синхронизации, вход 59 сброса, информационный выход 60, выход 61 разрешения, выход 62 данных, выход 63 признака изменения уровня, выход 64 битов данных, выход 65 сигнала синхронизации, выход 28 установления соединения, выход 66 корректировки фронта синхросигнала, выход 67 параллельного кода слова данных, выход 68 разрядности слова данных, выход 69 числа дешифрируемых битов, выход 5 подтверждение приема символа управления потоком, выход 6 подтверждения приема информационного символа, выход 31 разрешения приема данных.The
Блок 3 управления потоком данных содержит (см. фиг.4) формирователь 70 запросов кредитования, счетчик 71 принятых символов, счетчик 72 переданных символов, детектор 73 ошибки кредитования, вход 74 разрешения приема данных, вход 75 сброса, вход 76 готовности выдачи символа управления потоком, вход 24 локальной синхронизации, вход 77 подтверждения приема информационного символа, вход 78 подтверждения приема символа управления потоком, вход 79 подтверждения выдачи информационного символа, выход 7 запроса на выдачу символа управления потоком, выход 26 ошибки кредитования.The data
Блок 4 управления содержит (см. фиг.5) регистр 80 состояния, блок 81 формирования нового состояния, формирователь 82 управляющих сигналов, блок 83 задержки, вход 24 локальной синхронизации, вход 25 сброса, вход 84 установления соединения, вход 85 ошибки кредитования, вход 86 ошибки рассоединения, вход 87 ошибки кодировки символа, первый выход 90 сброса, второй выход 91 сброса, третий выход 92 сброса, вход 88 подтверждения приема символа управления потоком, вход 89 подтверждения приема информационного символа, выход 29 разрешения передачи символа управления потоком.The
Блок 54 формирования сигналов содержит (см. фиг.6) триггер 93 первого бита, триггер 94 второго бита, регистр 95 выделенных сигналов, первый триггер 96 деления частоты, второй триггер 97 деления частоты, первый элемент 98 НЕ, второй элемент 99 НЕ, второй элемент 100 ИСКЛЮЧАЮЩЕЕ ИЛИ, третий элемент 101 ИСКЛЮЧАЮЩЕЕ ИЛИ, вход 59 сброса, вход 102 сигнала данных, вход 103 синхронизации, вход 104 корректировки фронта синхросигнала, вход 105 разрешения синхронизации, выход 64 битов данных, выход 65 сигнала синхронизации.The
Детектор 55 начала приема содержит (см. фиг.7) первый сдвигающий регистр 106, второй сдвигающий регистр 107, компаратор 108 нулевого символа, блок 109 константы нулевого символа, триггер 110 разрешения, триггер 111 коррекции, информационный вход 112, вход 113 синхронизации, управляющий вход 114, выход 115 разрешения синхронизации, выход 66 корректировки фронта синхросигнала.The reception start detector 55 comprises (see FIG. 7) a
Детектор 56 рассоединения содержит (см. фиг.8) первый 116 и второй 117 триггеры сброса, счетчик 119 тайм-аута, компаратор 121 тайм-аута, блок 120 константы тайм-аута, элемент 118 ИЛИ, триггер 266 ошибки, вход 59 сброса, управляющий вход 122, вход синхронизации 123, выход 124 детектора.Disconnect detector 56 contains (see FIG. 8) first 116 and second 117 reset triggers,
Блок 58 преобразования кода содержит (см. фиг.9) сдвигающий регистр 125 выборки, регистр 126 первого байта, регистр 127 второго байта, регистр 128 третьего байта, регистр 129 четвертого байта, блок 130 сдвига данных, регистр 131 управления сдвигом, первый сумматор 132, регистр 133 управления чтением, второй сумматор 134, регистр 135 константы, вход 59 сброса, вход 136 синхронизации, вход 137 разрешения, информационный вход 138, вход 139 числа дешифрируемых битов, выход 67 параллельного кода слова данных, выход 68 разрядности слова данных.The
Блок 35 DS-кодирования символа содержит (см. фиг.10) третий сдвигающий регистр 140, указатель 141 числа битов, формирователь 142 строба, триггер 143 выдачи D-сигнала, триггер 144 выдачи S-сигнала, вход 38 сброса, вход 145 полного кода символа, вход 146 длины символа, вход 147 записи длины символа, вход 13 синхронизации выдачи данных, выход 16 данных, выход 17 стробирования, выход 44 готовности передачи символа.The DS
На временных диаграммах (см. фиг.13) для блока 54 формирования сигналов показано: а - изменение сигнала на входе 102 синхронизации, b - состояние сигнала на входе 59 сброса, с - изменение сигнала на входе 101 сигнала данных, d - изменение состояния выхода триггера 93 первого бита, е - изменение состояния выхода триггер 94 второго бита, f - изменение сигнала на выходе первого триггера 96 деления частоты, g - изменение сигнала на выходе второго триггера 97 деления частоты, h - состояние сигнала на выходе второго элемента 100 ИСКЛЮЧАЮЩЕЕ ИЛИ, i - изменение сигнала на входе 103 корректировки фронта синхросигнала, j - изменение сигнала на выходе 65 сигнала синхронизации, k - состояние сигнала на входе 105 разрешения синхронизации, m - состояние сигнала на выходе 64 битов данных.On the time diagrams (see Fig. 13) for the
На временных диаграммах (см. фиг.14) для детектора 56 рассоединения показано: а - изменение сигнала на входе 123 синхронизации детектора, b - состояние сигнала на управляющем входе 122 детектора, с - изменение сигнала на выходе первого триггера 116 сброса, d - изменение состояния выхода второго триггера 117 сброса, е - изменение состояния выхода элемента 118 ИЛИ, f - изменение сигнала на выходе счетчика 119 тайм-аута, g - состояние сигнала на выходе 124 детектора, h - состояние сигнала на входе 59 сброса детектора.In the time diagrams (see Fig. 14) for the disconnect detector 56 it is shown: a - a signal change at the
Блок 1 выдачи данных предназначен для формирования и выдачи в коммуникационный интерфейс символов данных из пакетных данных, поступающих через вход данных для выдачи, соединенного с одноименным входом 20 устройства, являющимся частью системного интерфейса с хост-системой (компьютером), а также управляющих символов по требованию, поступающему с выхода 7 запроса на выдачу символа управления потоком блока 3 управления потоком данных на одноименный вход блока. Вход 19 записи системного интерфейса устройства является одноименным входом блока 1 выдачи данных, выход готовности выдачи данных которого является одноименным выходом 18 системного интерфейса устройства. Выход 18 и вход 19 системного интерфейса предназначены для реализации стандартного механизма записи пакетных данных в блок 1 выдачи данных из хост-системы. Запись пакетных данных в блок 1 тактируется с его входа синхронизации, соединенного с входом 24 локальной синхронизации системного интерфейса устройства. Выходы 12 готовности выдачи символа управления потоком и 30 подтверждения выдачи информационного символа блока 1 соединены с одноименными входами блока 3 управления потоком данных и предназначены для реализации механизма кредитования, необходимого для организации передачи и приема данных через коммуникационный интерфейс без переполнения буферов приема у взаимодействующих устройств. Блок 1 выдачи данных обеспечивает DS-кодирование символов данных, управляющих символов и кодов и их передачу на выходы 16 данных и 17 стробирования коммуникационного интерфейса устройства. Выдача данных осуществляется со скоростью, определяемой частотой синхросигнала с входа синхронизации выдачи данных блока 1, соединенного с одноименным входом 13 системного интерфейса устройства.The
Блок 2 приема данных обеспечивает инициализацию соединения и получение битового потока от другого устройства через входы 14 данных и 15 стробирования коммуникационного интерфейса устройства, декодирование принятых сигналов и выделение из потока битов символов данных и их передачи в хост-систему через выход данных для приема, являющийся одноименным выходом 22 системного интерфейса устройства. Выход готовности данных для приема блока 2 приема данных является одноименным выходом 23 системного интерфейса устройства, вход 21 чтения данных которого является одноименным входом блока 2 приема данных. Блок 2 приема данных обеспечивает извещение блока 3 управления потоком данных через выход 5 приема символа управления потоком, соединенный с одноименным входом блока 3, о приеме управляющего символа управления потоком и через выход 6 подтверждения приема информационного символа, соединенный с одноименным входом блока 3, о получении извне информационного символа. Блок 2 приема данных обеспечивает формирование сигналов ошибок и выдачу их через выход ошибки рассоединения, соединенный с одноименным входом блок 4 управления и являющийся выходом 11 системного интерфейса устройства, и через выход ошибки кодировки символа, соединенный с одноименным входом блок 4 управления и являющийся выходом 27 системного интерфейса устройства. Выход установления соединения блока 2 приема данных, соединенный с одноименным входом блока 4 управления и являющийся одноименным выходом 28 системного интерфейса устройства, предназначен для передачи сигнала об обнаружении контрольной последовательности битов, принятой из коммуникационного интерфейса от другого устройства. Выход 31 разрешения приема данных блока 2 приема данных, соединенный с одноименным входом блока 3 управления потоком данных, предназначен для извещения о наличии достаточного свободного пространства в буфере приема данных.The
Блок 3 управления потоком данных предназначен для реализации механизма кредитования, необходимого при обмене пакетными данными в дуплексном режиме между двумя устройствами через коммуникационные интерфейсы с двунаправленным каналом, соединяющим эти два устройства, с учетом ограниченного объема буферной памяти для приема данных, имеющейся у каждого устройства в блоке 2 приема данных. Выход 7 запроса на выдачу символа управления потоком блока 3 управления потоком данных, соединенный с одноименным входом блока 1 выдачи данных, предназначен для инициализации выдачи блоком 1 выдачи данных управляющего символа управления потоком, подтверждающего наличие в блоке 2 приема данных свободного буферного пространства, необходимого для приема определенного числа символов данных. В описываемом устройстве величина кредита, предоставляемого при выдаче одного символа управления потоком, принята равной восьми. Выход ошибки кредитования блока 3 управления потоком данных соединен с одноименным входом блока 4 управления и является одноименным выходом 26 системного интерфейса устройства. Блок 3 управления потоком данных тактируется с входа синхронизации, соединенного с входом 24 локальной синхронизации системного интерфейса устройства.The data
Блок 4 управления предназначен для отслеживания состояния устройства при поступлении из блока 2 приема данных сигналов об изменении его статуса и выработки управляющих сигналов под воздействием машины состояний и сигнала начальной установки с входа сброса, соединенного с входом 25 сброса системного интерфейса устройства. Выход 29 разрешения передачи символа управления потоком блока 4 управления соединен с одноименным входом блока 1 выдачи данных и предназначен для извещения о том, что машина состояния блока 4 управления перешла в режим, разрешающий выдачу символов управления потоком. Первый 8, второй 9 и третий 10 выходы сброса блока 4 управления соединены с входами сброса соответственно блока 1 выдачи данных, блока 2 приема данных и блока 3 управления потоком данных и предназначены для их перевода в начальное состояние. Тактирование блока 4 управления осуществляется с входа синхронизации, являющегося входом 24 локальной синхронизации системного интерфейса устройства.The
В блоке 1 выдачи данных буфер 33 выдачи данных (см. фиг.2) предназначен для промежуточного хранения пакетных данных, поступающих на вход данных для выдачи буфера 33, соединенный с одноименным входом 20 блока 1 выдачи данных. Представление информации в пакете данных, поступающем из системного интерфейса устройства на этот вход блока 1 выдачи данных, показано в табл.1. Буфер 33 выдачи данных обеспечивает их выдачу вместе с запросом на передачу с выхода 47, соединенного с входом информационного символа блока 32 арбитража выдачи символов, по мере его готовности. Выход готовности выдачи данных буфера 33 выдачи данных, являющийся одноименным выходом 18 блока 1 выдачи данных, предназначен для уведомления о возможности буферизации очередного байта данных, которая осуществляется при подаче сигнала записи на вход записи буфера 33 выдачи данных, являющийся входом 19 записи блока 1 выдачи данных. Буферизация данных обеспечивается при тактировании с входа синхронизации буфера 33 выдачи данных, соединенного с входом 24 локальной синхронизации блока 1 выдачи данных, вход 38 сброса которого соединен с входом сброса буфера 33 выдачи данных и предназначен для его инициализации.In the
Блок 32 арбитража выдачи символов предназначен для регулирования формирования и порядка выдачи символов данных, управляющих символов и управляющих кодов по требованиям от блока 3 управления потоком данных в зависимости от заданного приоритета. С входа 39 запроса на выдачу символа управления потоком блока 1 выдачи данных, соединенного с одноименным входом блока 32, поступает требование выдачи управляющего символа управления потоком. Выход 48 готовности передачи данных блока 32 арбитража выдачи символов, соединенный с одноименным входом буфера 33 выдачи данных, предназначен для управления темпом поступления данных из буфера 33 для формирования внутреннего кода символов данных в блоке 32. Внутреннее кодирование загружаемых в буфер 36 символов показано в табл.2. Вход 37 разрешения передачи символа управления потоком блока 1 выдачи данных, являющийся одноименным входом блока 32 арбитража выдачи символов, предназначен для первоначального разрешения выдачи символов управления потоком после установления соединения с другим устройством. Выход готовности выдачи символа управления потоком блока 32, являющийся одноименным выходом 12 блока 1 выдачи данных, предназначен для извещения блока 3 управления потоком о возможности выдачи очередного символа управления потоком. Выход подтверждения выдачи информационного символа, являющийся одноименным выходом 30 блока 1 выдачи данных, предназначен для извещения блока 3 управления потоком о выдаче очередного информационного символа с целью управления кредитным счетчиком переданных символов. Выход 43 символа блока 32 арбитража выдачи символов, соединенный с входом символа буфера 36 передачи символов, и выход 42 записи блока 32, соединенный с входом записи буфера 36, обеспечивают загрузку необходимой информации о выдаваемом символе в буфер 36 передачи символов. Код типа символа сопровождается дополнительным битом (xor_bit), получаемым в блоке 32 как результат операции XOR над всеми битами выдаваемого символа. Кроме того, как показано в табл.2, тип символа данных сопровождается самим байтом данных. Тактирование блока 32 арбитража выдачи символов осуществляется с входа синхронизации, соединенного с входом 24 локальной синхронизации блока 1 выдачи данных, вход 38 сброса которого соединен с входом сброса блока 32 и предназначен для его инициализации.The block 32 of the arbitration of the issuance of characters is designed to regulate the formation and order of issuance of data characters, control characters and control codes according to the requirements of
Буфер 36 передачи символов предназначен для минимизации задержек при выдаче сформированных символов и кодов в канал и обеспечивает буферизацию очередных k (в описываемой реализации устройства k=4) символов, подготовленных для выдачи блоком 32 арбитража выдачи символов. Загрузка кода типа символов вместе с дополнительным битом и байтом данных для символа данных в буфер 36 обеспечивается по разрешающему сигналу на выходе 41 готовности передачи символа буфера 36, соединенного с одноименным входом блока 32 арбитража выдачи символов, при наличии тактирования на входе локальной синхронизации буфера 36, соединенного с одноименным входом 24 блока 1 выдачи данных. Выход 49 буфера 36 передачи символов соединен информационным входом формирователя 34 символа. Считывание кода типа символов из буфера 36 в формирователь 34 символа тактируется с входа синхронизации выдачи данных, являющегося одноименным входом 13 блока 1 выдачи данных, вход 38 сброса которого соединен с входом сброса буфера 36 и предназначен для его инициализации.The
Формирователь 34 символа предназначен для образования полного кода символов в соответствии с типом символа, который считывается из буфера 36 передачи символов, и добавления бита контроля символа на четность. Форматы символов, передаваемых через коммуникационный интерфейс, приведены в табл.3. Бит контроля добавляется во все символы данных и управляющие символы для определения ошибок передачи по каналу. Бит контроля охватывает часть предыдущего символа (8 бит данных для символа данных или 2 бита кода для управляющего символа), бит контроля текущего символа и флаг управления текущего символа, как показано на фиг.15. Бит контроля символа выполняет проверку нечетности, его значение устанавливается таким образом, чтобы количество единиц в области, охватываемой этим битом (включая сам бит контроля), было нечетным. Полный код символа передается с выхода 40 полного кода символа формирователя 34 на одноименный вход блока 35 DS-кодирования символа, а его длина - с выхода 45 длины символа формирователя 34 на одноименный вход блока 35 DS-кодирования символа. Выход 46 записи длины символа соединен с одноименным входом блока 35. Считывание символов в блок 35 тактируется с входа синхронизации формирователя 34, являющегося входом 13 синхронизации выдачи данных блока 1 выдачи данных, вход 38 сброса которого соединен с входом сброса формирователя 34 и предназначен для его инициализации.
Блок 35 DS-кодирования символа обеспечивает кодированное представление полного кода символа, загружаемого из формирователя 34, в виде DS-кода, представляющего собой последовательность сигналов данных (D-сигналов), совпадающих по уровню с соответствующими битами данных и выдаваемых через выход данных, являющийся выходом 16 данных блока 1 выдачи данных, и сопровождающих их сигналов стробирования (S-сигналов), изменяющих свое состояние всякий раз, когда очередной D-сигнал не изменяет свое состояние по сравнению с предыдущим (см. фиг.12), и выдаваемых через выход стробирования, являющийся выходом 17 стробирования блока 1 выдачи данных.The DS
Считывание очередного символа в формирователь 34 и из него в блок 35 обеспечивается при наличии сигнала на выходе 44 готовности передачи символа блока 35 DS-кодирования символа, соединенного с одноименными входами буфера 36 передачи символов и формирователя 34 символа. Сигнал на выходе 44 блока 35 свидетельствует о его готовности к получению следующего символа для последующего DS-кодирования и выдачи в канальный интерфейс. DS-кодирование символов и их выдача тактируется с входа синхронизации блока 35, являющегося входом 13 синхронизации выдачи данных блока 1 выдачи данных, вход 38 сброса которого соединен с входом сброса блока 35 и предназначен для его инициализации.The reading of the next symbol to and from the
В блоке 2 приема первый элемент 50 ИСКЛЮЧАЮЩЕЕ ИЛИ (см. фиг.3) из входных сигналов данных, поступающих на первый вход, являющийся входом 14 данных блока 2 приема данных, и на второй вход, являющийся входом 15 стробирования блока 2 приема данных, обеспечивает формирование синхропоследовательности с изменением уровня сигнала в каждом битовом интервале, которая выдается на выход 63 признака изменения уровня, соединенный с входами синхронизации блока 54 формирования сигналов и детектора 55 начала приема и с управляющим входом детектора 56 рассоединения.In the receiving
Блок 54 формирования сигналов предназначен для выработки внутренних синхроимпульсов на выходе 65 сигнала синхронизации, который соединен с входом синхронизации преобразователя 51 в параллельный код, и для формирования из последовательности сигналов данных, поступающих на одноименный вход с входа 14 данных блока 2 приема данных, двух смежных битов данных, которые одновременно выдаются на выход 64 битов данных, соединенный с одноименным входом преобразователя 51 в параллельный код.The
Преобразователь 51 в параллельный код предназначен для формирования параллельного байтового кода данных, который формируется путем последовательного запоминания значений очередных двух битов данных, поступающих на вход битов данных, при наличии синхросигналов на входе синхронизации. Информационный выход преобразователя 51 в параллельный код соединен с одноименным входом блока 57 перехода временного домена. Выход готовности преобразователя 51, соединенный с одноименным входом блока 57, подтверждает окончание формирования очередного байта данных.
Блок 57 перехода временного домена обеспечивает разграничение двух временных доменов блока 2 приема данных, первый из которых работает на частоте принимаемых из коммуникационного интерфейса сигналов данных и стробирования, а второй домен - на частоте локальной синхронизации, задаваемой на входе 24 локальной синхронизации блока 2 приема данных из системного интерфейса устройства. Вход 24 локальной синхронизации блока 2 является входом синхронизации блока 57 перехода временного домена. Информационный выход 60 блока 57 перехода временного домена соединен с информационным входом блока 58 преобразования кода. Сигнал на выходе 61 разрешения блока 57, соединенном с одноименным входом блока 58 преобразования кода, информирует о наличии выдаваемого байта данных на информационном выходе 60.The temporary
Детектор 55 начала приема предназначен для начального запуска блока 2 приема данных при обнаружении стартовой последовательности битов (управляющего кода NULL, см. табл.3) на своем информационном входе, являющемся входом 14 данных блока 2 приема данных, вход 59 сброса которого является управляющим входом детектора 55. Выход 66 корректировки фронта синхросигнала детектора 55 начала приема соединен с одноименным входом блока 54 формирования сигналов. Выход разрешения синхронизации детектора 55 начала приема соединен с одноименным входом блока 54 формирования сигналов и является выходом 28 установления соединения блока 2 приема данных.The detector 55 of the beginning of reception is intended for the initial start-up of the
Детектор 56 рассоединения предназначен для определения превышения установленной величины задержки между изменениями сигнала на выходе 63 признака изменения уровня первого элемента 50 ИСКЛЮЧАЮЩЕЕ ИЛИ. При этом событии на выходе детектора 56, соединенном с выходом 11 блока 2 приема данных, устанавливается сигнал ошибки рассоединения. Детектор 56 тактируется через вход синхронизации, который соединен с входом 24 локальной синхронизации блока 2 приема данных, вход 59 сброса которого соединен с входом сброса детектора 56 рассоединения и предназначен для его инициализации.The uncoupling detector 56 is designed to determine if the set delay between the signal changes at the
Блок 58 преобразования кода обеспечивает накопление байтов, принятых с информационного выхода 60 блока 57 перехода временного домена при наличии сигнала на выходе 61 разрешения того же блока, и формирование из них k-байтового слова данных, которое в параллельном виде поступает на выход 67 параллельного кода слова данных, соединенный с одноименным входом дешифратора 53 преобразованного кода. Как показано на фиг.8, для блока 58 преобразования кода принято значение k=4. Выход 68 разрядности слова данных блока 58 соединен с одноименным входом дешифратора 53 преобразованного кода и предназначен для передачи двоичного кода, информирующего о числе действительно принятых и готовых к обработке бит 32-разрядного кода слова данных. В соответствии с информацией о числе действительно принятых и готовых к декодированию бит 32-разрядного кода данных, поступающей на вход числа дешифрируемых битов блока 58, последний обеспечивает сдвиг 32-разрядного слова данных на соответствующее число битов с тем, чтобы младшие разряды этого кода содержали очередные принятые биты еще не дешифрированных данных. Блок 58 преобразования кода тактируется с входа синхронизации, соединенного с входом 24 локальной синхронизации блока 2 приема данных, и переводится в начальное состояние по сигналу с входа сброса, соединенного с входом 59 сброса блока 2 приема данных.
Дешифратор 53 преобразованного кода предназначен для распознавания в 32-разрядном коде, поступающем на его вход параллельного кода слова данных, символов данных, управляющих символов и кодов в соответствии с кодированием, показанным в табл.3, и выделении из них информационных и канальных символов.The decoded
Символы, передаваемые через коммуникационный интерфейс, подразделяются на канальные и информационные символы. К информационным символам относятся символ данных (Nchar) и символ конца пакета (ЕОР). Канальные символы (FCT, ESC) вместе с управляющим кодом NULL предназначены для управления состоянием коммуникационного канала и в системный интерфейс не передаются. NULL код предназначен для сохранения активности коммуникационного канала и постоянно передается, если канал не занят передачей других символов. Выход 62 данных дешифратора 53 преобразованного кода соединен с информационным входом буфера 52 приема данных и предназначен для передачи восьми битов данных, выделенных в дешифраторе 53 из Nchar, в буфер 52 приема данных. Выход подтверждения приема информационного символа дешифратора 53, соединенный с одноименным входом буфера 52 приема данных и являющийся одноименным выходом 6 блока 2 приема данных, предназначен для передачи следующих сигналов: признака подтверждения приема Nchar, признака подтверждения приема ЕОР и признака удвоения. Признак удвоения уточняет, принят один или два управляющих символа в одном такте (в данном случае - два символа ЕОР). Выход 69 числа дешифрируемых битов дешифратора 53 преобразованного кода соединен с одноименным входом блока 58 преобразования кода. Выход подтверждения приема символа управления потоком дешифратора 53, являющийся одноименным выходом 5 блока 2 приема данных, предназначен для выдачи признака подтверждения приема FCT, а также признака удвоения, который уточняет, принят ли один или подряд два управляющих символа в одном такте (в данном случае - двух символов FCT). Выход ошибки кодировки символа дешифратора 53 является одноименным выходом 27 блока 2 приема данных и обеспечивает выдачу сигнала о выявленной ошибке в кодировании символа в принятых данных. Дешифратор 53 преобразованного кода тактируется с входа синхронизации, соединенного с входом 24 локальной синхронизации блока 2 приема данных, и переводится в начальное состояние по сигналу с входа сброса, соединенного с входом 59 сброса блока 2 приема данных.Symbols transmitted through the communication interface are divided into channel and information symbols. Information symbols include the data symbol (Nchar) and the packet end symbol (EOP). Channel symbols (FCT, ESC) together with the NULL control code are used to control the state of the communication channel and are not transmitted to the system interface. NULL code is designed to maintain the activity of the communication channel and is constantly transmitted if the channel is not busy transmitting other characters. The
Буфер 52 приема данных предназначен для промежуточного запоминания принятых пакетов данных, поступающих на его информационный вход, при наличии разрешающей комбинации сигналов на входе подтверждения приема информационного символа. На выходе данных для приема буфера 52 приема данных, являющемся одноименным выходом 22 блока 2 приема данных и составной частью системного интерфейса устройства, обеспечивается побайтная выдача пакетов данных, разделенных признаками конца пакета. Разрешение записи в буфер 52 приема данных обеспечивается при наличии на входе подтверждения приема информационного символа хотя бы одного установленного в единицу управляющего флага (признака ЕОР или признака Nchar). Управляющие флаги, а именно, признак Nchar, предназначенный для уведомления о том, являются ли младшие восемь битов кода данных на информационном входе действительными пакетными данными, и признак ЕОР, указывающий, что байт данных, записанный в предыдущую ячейку буфера, является последним в пакете, также запоминаются в каждой ячейке памяти буфера 52. Выдача данных из буфера 52 приема данных обеспечивается по принципу «первым принят, первым считан» в сопровождении сигнала готовности данных на выходе готовности данных для приема, являющемся одноименным выходом 23 блока 2 приема данных, и при наличии установленного сигнала чтения данных на входе чтения буфера 52, являющегося входом 21 чтения данных блока 2 приема данных. Выход разрешения приема данных буфера 52 приема данных, являющийся одноименным выходом 31 блока 2 приема данных, индицирует о наличии определенного числа свободных ячеек в нем (в описываемом варианте - не менее восьми) и предназначен для управления механизмом кредитования. Буфер 52 приема данных тактируется по восходящему фронту синхросигнала с входа синхронизации, соединенного с входом 24 локальной синхронизации блока 2 приема данных, и переводится в начальное состояние по сигналу с входа сброса, соединенного с входом 59 сброса блока 2 приема данных.The
В блоке 3 управления потоком данных (см. фиг.4) формирователь 70 запросов кредитования предназначен для выработки сигнала запроса на выдачу FCT символа на выходе 7 запроса на выдачу символа управления потоком блока при наличии разрешающих сигналов на входах 76 готовности выдачи символа управления потоком и 74 разрешения приема данных блока и в зависимости от состояния счетчика 71 принятых символов. Вход 74 разрешения приема данных блока 3 является первым входом формирователя 70. Вход 76 готовности выдачи символа управления потоком блока 3 является вторым входом формирователя 70. Выход состояния счетчика 71 принятых символов блока 3 является третьим входом формирователя 70. Вход 24 локальной синхронизации блока 3, соединенный с входами синхронизации формирователя 70 запросов кредитования, счетчика 71 принятых символов, счетчика 72 переданных символов и детектора 73 ошибки кредитования, обеспечивает синхронизацию их работы на локальной частоте. Вход 75 сброса блока 3 предназначен для установки исходного нулевого состояния и соединен с входами сброса формирователя 70 запросов кредитования, счетчика 71 принятых символов счетчика 72 переданных символов и детектора 73 ошибки кредитования. Счетчик 71 принятых символов обеспечивает формирование двоичного кода, определяющего число информационных символов, которые разрешается принять в данном устройстве. Первый управляющий вход счетчика 71, соединенный с выходом формирователя 70 запросов кредитования, предназначен для увеличения состояния счетчика 71 на восемь при выдаче сигнала запроса на выдачу символа управления потоком. Второй управляющий вход счетчика 71, являющийся входом 77 подтверждения приема информационного символа блока 3, предназначен для уменьшения на единицу содержимого счетчика 71 при принятии каждого информационного символа. Для этого с входа 77 блока 3 на второй управляющий вход счетчика 71 подаются два сигнала: признак приема Nchar и признак удвоения. Изменение состояния счетчика 71 принятых символов под воздействием управляющих сигналов осуществляется по фронту синхросигналов, поступающих со входа 24 локальной синхронизации блока 3 на вход синхронизации счетчика 71. Выход ошибки счетчика 71 соединен с первым информационным входом детектора 73 ошибки кредитования и предназначен для формирования сигнала ошибки при попытке уменьшения состояния счетчика ниже предельно допустимого значения. Счетчик 72 переданных символов обеспечивает формирование двоичного кода, определяющего число информационных символов, которые разрешается передать из данного устройства. Первый управляющий вход счетчика 72, являющийся входом 78 подтверждения приема символа управления потоком блока 3, предназначен для увеличения состояния счетчика 72 на восемь при приеме каждого символа управления потоком. С входа 78 блока 3 на первый управляющий вход счетчика 72 подаются два сигнала: признак приема FCT и признак удвоения. Второй управляющий вход счетчика 72, являющийся входом 70 подтверждения выдачи информационного символа блока, предназначен для уменьшения на единицу содержимого счетчика 72 переданных символов. Изменение состояния счетчика 72 переданных символов при подаче управляющих сигналов осуществляется по фронту синхросигналов. Выход ошибки счетчика 72 соединен со вторым информационным входом детектора 73 ошибки кредитования и предназначен для формирования сигнала ошибки при попытке увеличения состояния счетчика выше предельно допустимого значения. Детектор 73 ошибки кредитования обеспечивает формирование объединенного сигнала ошибки кредитования на своем выходе, являющемся выходом 26 ошибки кредитования блока.In the data flow control unit 3 (see Fig. 4), the
В блоке 4 управления (см. фиг.5), реализующем машину состояний, регистр 80 состояния предназначен для оперативного запоминания и контроля состояния фаз работы устройства. Фактически регистр 80 состояния является памятью машины состояний, которая реализуется блоком 4 управления. Регистр может быть доступен как на чтение, так и на запись для хост-системы (на фиг.5 не показано). Заполнение регистра выполняется побитно по сигналам от блока 2 приема данных или процессорного узла. Примерный формат регистра 80 состояния приведен в табл.4. Блок 81 формирования нового состояния предназначен для реализации логики машины состояний, выполняющей функцию автомата, переходящего под воздействием входных сигналов в различные состояния. Формирователь 82 управляющих сигналов обеспечивает выработку управляющих сигналов, с помощью которых машина состояний переводит блок 1 выдачи данных, блок 2 приема данных, и блок 3 управления потоком данных в исходные состояния, позволяя таким образом обеспечить корректную работу устройства в целом. Блок 83 задержки предназначен для формирования тайм-аутов, необходимых для правильного функционирования машины состояний при установлении и поддержании соединения с удаленной стороной через коммуникационный интерфейс.In the control unit 4 (see Fig. 5) that implements the state machine, the
Из показанной на фиг.11 примерной реализации графа машины состояний видна необходимость в реализации двух тайм-аутов Т1 и Т2. Например, в реализованном макете устройства выбраны следующие величины тайм-аутов: T1=6,4 мкс, Т2=12,8 мкс. Вход 24 локальной синхронизации блока 4 управления соединен с входами синхронизации регистра 80 состояния, формирователя 82 управляющих сигналов и блока 83 задержки. Вход 25 сброса блока 4 управления соединен с входами сброса регистра 80 состояния, формирователя 82 управляющих сигналов и блока 83 задержки. Вход 84 установления соединения блока 4 управления является первым входом блока 81 формирования нового состояния. Вход 85 ошибки кредитования блока 4 управления является вторым входом блока 81 формирования нового состояния. Вход 86 ошибки рассоединения блока 4 управления является третьим входом блока 81 формирования нового состояния. Вход 87 ошибки кодировки символа блока 4 управления является четвертым входом блока 81 формирования нового состояния. Вход 88 подтверждения приема символа управления потоком блока 4 управления является пятым входом блока 81 формирования нового состояния. Вход 89 подтверждения приема информационного символа блока 4 управления является шестым входом блока 81 формирования нового состояния, выход которого соединен с входом записи битов состояния регистра 80 состояния. Выход регистра 80 состояния соединен с управляющим входом формирователя 82 управляющих сигналов и с входом состояния блока 81 формирования нового состояния. Первый управляющий выход формирователя 82 управляющих сигналов соединен с входом блока 83 задержки, выход которого соединен с седьмым входом блока 81 формирования нового состояния. Второй управляющий выход формирователя 82 управляющих сигналов является выходом 29 разрешения передачи символа управления потоком блока 4 управления. Третий управляющий выход формирователя 82 является первым выходом 90 сброса блока 4 управления. Четвертый выход формирователя 82 является вторым выходом 91 сброса блока 4 управления. Пятый выход формирователя 82 является третьим выходом 92 сброса блока 4 управления.From the example implementation of the state machine graph shown in FIG. 11, the need for implementing two timeouts T1 and T2 is visible. For example, in the implemented device layout, the following timeout values are selected: T1 = 6.4 μs, T2 = 12.8 μs. The
В блоке 54 формирования сигналов (см. фиг.6) триггеры 93 первого бита и 94 второго бита предназначены для фиксации двух очередных смежных сигналов данных, поступающих на вход 101 сигнала данных блока 54 формирования сигналов, соединенный с входами данных триггеров 93 первого бита и 94 второго бита. Вход синхронизации блока 54 формирования сигналов соединен с одноименными входами триггеров 93 первого и 94 второго битов и первого 96 и второго 97 триггеров деления частоты, причем в триггеры 93 и 96 сигнал с их входов данных записывается по восходящему фронту синхросигнала, а в триггеры 94 и 97 сигнал с их входов данных записывается по падающему фронту синхросигнала. Выходы триггеров 93 первого и 94 второго битов соединены соответственно с входами первого и второго битов регистра 95 выделенных сигналов. Регистр 95 выделенных сигналов обеспечивает запоминание значений двух смежных битов данных, которые выделены из входных сигналов на входе 14 данных блока 2 приема данных. Вход 105 разрешения синхронизации блока 54 формирования сигналов, являющийся входом разрешения регистра 95 выделенных сигналов, предназначен для разрешения записи в него битов данных. Первый 96 и второй 97 триггеры деления частоты обеспечивают формирование двух внутренних синхросигналов, интервал между восходящими фронтами которых соответствует битовому интервалу между входными сигналами данных. Вход сброса блока 54 формирования сигналов соединен с входами сброса первого 96 и второго 97 триггеров деления частоты, которые предназначены для их сброса в исходное нулевое состояние. Выходы первого 96 и второго 97 триггеров деления частоты соединены соответственно с первым и вторым входами второго элемента 100 ИСКЛЮЧАЮЩЕЕ ИЛИ. Кроме того, имеется обратная связь выходов этих триггеров 96 и 97 соответственно через первый 98 и второй 99 элементы НЕ со своими входами данных. Второй элемент 100 ИСКЛЮЧАЮЩЕЕ ИЛИ предназначен для формирования внутренней синхропоследовательности с частотой, равной частоте принимаемых сигналов. Выход второго элемента 100 ИСКЛЮЧАЮЩЕЕ ИЛИ соединен со вторым входом третьего элемента 101 ИСКЛЮЧАЮЩЕЕ ИЛИ, первый вход которого является входом 103 корректировки фронта синхросигнала блока 54 формирования сигналов. Третий элемент 101 ИСКЛЮЧАЮЩЕЕ ИЛИ обеспечивает формирование скорректированной последовательности синхросигналов, которая предназначена для фиксации выделяемых битов данных из принятых сигналов. Выход третьего элемента ИСКЛЮЧАЮЩЕЕ ИЛИ является выходом 65 сигнала синхронизации блока 54 формирования сигналов и соединен с входом синхронизации регистра 95 выделенных сигналов, выход которого является выходом 64 битов данных блока 54 формирования сигналов.In
В детекторе 56 рассоединения (см. фиг.7) первый 116 и второй 117 триггеры сброса обеспечивают через элемент 118 ИЛИ перевод счетчика 119 тайм-аута в нулевое состояние после изменения сигнала на управляющем входе 122 детектора 56 рассоединения при нулевом и единичном уровнях этого сигнала соответственно. Счетчик 119 тайм-аута предназначен для определения величины временного интервала между каждыми двумя соседними изменениями сигнала на управляющем входе 122 детектора 56 рассоединения. Компаратор 121 тайм-аута обеспечивает формирование сигнала ошибки рассоединения на выходе 124 детектора 56 рассоединения при совпадении двоичного кода на выходе счетчика 119 тайм-аута с предельно допустимым значением, хранящимся в блоке 120 константы тайм-аута. Управляющий вход 122 детектора 56 рассоединения соединен с входом сброса первого триггера 116 сброса и с инверсным входом сброса второго триггера 117 сброса. Входы синхронизации первого 116 и второго 117 триггеров сброса соединены с входом синхронизации счетчика 119 тайм-аута и с входом 123 синхронизации детектора 56 рассоединения. Вход 59 сброса детектора 56 рассоединения соединен с входами начальной установки первого 116 и второго 117 триггеров сброса и синхронным входом сброса счетчика 119 тайм-аута и предназначен для их сброса в нулевое состояние. Выходы первого 116 и второго 117 триггеров сброса соединены соответственно с первым и вторым входами элемента 118 ИЛИ, выход которого соединен с инверсным входом синхронного сброса счетчика 119 тайм-аута. Наличие нулевого уровня на этом входе обеспечивает перевод счетчика 119 тайм-аута в нулевое состояние при поступлении восходящего фронта сигнала локальной синхронизации на его вход синхронизации. Наличие высокого уровня на инверсном входе синхронного сброса обеспечивает разрешение инкрементирования счетчика 119 тайм-аута по каждому фронту синхросигнала (см. фиг.16). Выход счетчика 119 тайм-аута соединен с первым входом компаратора 121 тайм-аута, второй вход которого соединен с выходом блока 120 константы тайм-аута. Выход компаратора 121 тайм-аута является выходом 124 детектора 56 рассоединения.In the disconnect detector 56 (see Fig. 7), the first 116 and second 117 reset triggers provide, through the
В блоке 58 преобразования кода (см. фиг.8) сдвигающий регистр 125 выборки предназначен для выделения одного из четырех регистров 126, 127, 128 и 129, в который должна осуществляться запись очередного принятого байта данных с информационного входа 291 блока 58 преобразования кода. Выход сдвигающего регистра 125 выборки соединен с собственным последовательным входом, с входами выборки регистров первого 126, второго 127, третьего 128 и четвертого 129 байтов. Регистры первого 126, второго 127, третьего 128 и четвертого 129 байтов предназначены для хранения очередных четырех байтов последовательно принятых входных данных. Информационные входы регистров первого 126, второго 127, третьего 128 и четвертого 129 байтов соединены с информационным входом 138 блока 58 преобразования кода, выходы регистров 126, 127, 128 и 129 соединены соответственно с первым, вторым, третьим и четвертыми информационными входами блока сдвига данных. Блок 130 сдвига данных обеспечивает выдачу на выход 67 параллельного кода слова данных блока 58 преобразования кода еще необработанных битов данных из четырехбайтового кода, хранящегося в четырех регистрах 126, …, 129, для их последующей дешифрации. Регистр 131 управления сдвигом предназначен для определения текущего положения в четырехбайтовом коде первого необработанного бита, с которого начинается выдача битов данных через блок 130 сдвига данных. Выход регистра 131 управления сдвигом соединен с управляющим входом блока 130 сдвига данных. Выход состояния регистра 131 управления сдвигом соединен со вторым входом сложения первого сумматора 132. Первый сумматор 132 обеспечивает вычисление нового положения первого необработанного бита путем сложения двоичного кода текущей позиции и числа дешифрируемых битов с одноименного входа 139 блока 58 преобразования кода. Выход первого сумматора 132 соединен с информационным входом регистра 131 управления сдвигом. Регистр 133 управления чтением предназначен для формирования двоичного кода, указывающего на выходе разрядности слова данных количество действительных битов в слове данных, выдаваемых из блока сдвига данных для последующей дешифрации. Выход разрядности слова данных регистра 131 управления чтением является одноименным выходом 68 блока 58 преобразования кода. Выход состояния регистра 133 управления чтением соединен со вторым входом сложения второго сумматора 134. Второй сумматор 134 обеспечивает вычисление нового значения двоичного кода числа принятых и необработанных битов данных, то есть количества действительных битов в слове данных, путем прибавления к текущему состоянию регистра 133 константы «8» из регистра 135 константы при каждой записи очередного принятого байта данных в один из регистров 126…128 и вычитания двоичного кода числа дешифрируемых битов, поступающего с входа 139 числа дешифрируемых битов блока 58 преобразования кода. Выход второго сумматора 134 соединен с информационным входом регистра 133 управления чтением. Вход 59 сброса блока 58 преобразования кода соединен с одноименными входами сдвигающего регистра 125 выборки, регистра 131 управления сдвигом и регистра 133 управления чтением и предназначен для формирования начального состояния этих регистров. Вход 136 синхронизации блока 58 преобразования кода соединен с одноименными входами сдвигающего регистра 125 выборки, регистров первого 126, второго 127, третьего 128 и четвертого 129 байтов, регистра 131 управления сдвигом и регистра 133 управления чтением и предназначен для тактирования этих регистров. Вход 137 разрешения блока 58 преобразования кода соединен с разрешающими входами сдвигающего регистра 125 выборки, регистра 131 управления сдвигом и регистра 133 управления чтением и предназначен для разрешения записи в эти регистры только при наличии новых принятых байтов данных.In
Блок 35 S-кодирования символа (см. фиг.10) осуществляет формирование сигналов стробирования S, сопровождающих сигналы данных D. Правила формирования сигнала стробирования при DS-кодировании представлены в табл.5.Block 35 S-coding of the symbol (see figure 10) performs the formation of the gating signals S, accompanying the data signals D. The rules for generating the gating signal with DS-coding are presented in table 5.
Входящий в состав блока 35 третий сдвигающий регистр 140 предназначен для преобразования параллельного кода полного символа в последовательный, который побитно формируется на его информационном выходе. Информационный вход регистра 140 является входом 145 полного кода символа блока 35 DS-кодирования символа. Третий сдвигающий регистр 140 тактируется с входа синхронизации, являющегося входом 13 синхронизации блока 35 DS-кодирования символа, и переводится в начальное нулевое состояние по сигналу с входа сброса, являющегося входом 38 сброса блока 35. Выход смежных битов третьего сдвигающего регистра 140, соединенный с информационным входом формирователя 142 строба, обеспечивает одновременную выдачу двух смежных битов данных. Указатель 141 числа битов предназначен для отслеживания длины последовательности битов, входящих в состав одного символа и поступающих из третьего сдвигающего регистра 140 на информационный выход. Информационный вход указателя 141 числа битов является входом 146 длины символа блока 35 DS-кодирования символа. Длина символа представлена в виде двоичного кода, определяющего число битов следующего подготовленного к выдаче символа. Вход 147 записи длины символа блока 35 является входом загрузки указателя 141 числа битов. Выход указателя 141 числа битов соединен с входом загрузки третьего сдвигающего регистра 140 и является выходом 44 готовности блока 35 DS-кодирования символа. Указатель 141 числа битов тактируется с входа синхронизации, являющегося входом 13 синхронизации блока 35 DS-кодирования символа, и переводится в начальное состояние по сигналу с входа сброса, являющегося входом 38 сброса блока 35. Формирователь 142 строба предназначен для выработки последовательности сигналов стробирования, которые в соответствии с правилами формирования строба в способе DS-кодирования битов сопровождают выдачу битов данных символа по выделенной линии в виде сигнала стробирования (S-сигнала). Формирователь 142 строба тактируется с входа синхронизации, являющегося входом 13 синхронизации блока 35 DS-кодирования символа. Триггер 143 выдачи D-сигналов предназначен для формирования последовательности сигналов данных и их выдачи с выхода, являющегося выходом 16 данных устройства. Триггер 144 выдачи S-сигналов предназначен для формирования последовательности сигналов стробирования, сопровождающих сигналы данных, и их выдачи с выхода, являющегося выходом 17 стробирования устройства. Информационные входы триггеров 143 и 144 соединены соответственно с информационным выходом третьего сдвигающего регистра 140 и с выходом формирователя 142 строба. Входы сброса триггеров выдачи 143 и 144 соединены с входом сброса 38 блока 35 и предназначены для их сброса в исходное нулевое состояние. Входы синхронизации триггеров выдачи 143 и 144 сигналов соединены с входом 13 синхронизации 35 DS-кодирования символа и определяют частоту выдачи данных.The
Устройство коммуникационного интерфейса работает следующим образом. Основной задачей устройства является обеспечение обмена данными между локальной хост-системой (компьютером или процессорным узлом, имеющим локальную память данных) и удаленной хост-системой через аналогичное удаленное устройство коммуникационного интерфейса. Локальное устройство и его локальная хост-система в дальнейшем именуются как «Сторона А», удаленные устройство коммуникационного интерфейса и его хост-система - «Сторона Б». Для выполнения указанной задачи данное устройство осуществляет организацию соединения в коммуникационном канале, связывающем стороны А и Б, и обеспечивает управление потоком данных. Коммуникационный канал образован (см. фиг.1) входными симплексными линиями данных (вход 14 данных канального интерфейса устройства) и стробирования (вход 15 стробирования канального интерфейса устройства) и выходными симплексными линиями данных (выход 16 данных коммуникационного интерфейса устройства) и стробирования (выход 17 стробирования коммуникационного интерфейса устройства).The communication interface device operates as follows. The main objective of the device is to provide data exchange between a local host system (a computer or processor node having a local data memory) and a remote host system through a similar remote communication interface device. The local device and its local host system are hereinafter referred to as “Side A”, the remote communication interface device and its host system - “Side B”. To accomplish this task, this device organizes the connection in a communication channel connecting parties A and B, and provides data flow control. The communication channel is formed (see Fig. 1) by input simplex data lines (
Устройство изменяет свои режимы работы в соответствии с диаграммой состояния, реализуемой блоком 4 управления (см. фиг.13). В диаграмме состояний используется следующий стиль. Состояния представлены в виде эллипсов, имена состояний указываются внутри. Действия, происходящие в данном состоянии, указываются в скобках в том же эллипсе. Переходы из состояния в состояние обозначаются стрелками. Событие, вызвавшее переход из состояния в состояние, обозначается рядом со стрелкой перехода. Начальное условие показывается переходом из пустого места в первое состояние. Если переход может быть выполнен только при выполнении некоторого условия, то условие обозначается рядом с переходом в квадратных скобках.The device changes its operating modes in accordance with the state diagram implemented by the control unit 4 (see Fig. 13). The following style is used in the state diagram. States are represented as ellipses, state names are indicated inside. Actions that occur in this state are indicated in parentheses in the same ellipse. Transitions from state to state are indicated by arrows. The event that caused the transition from state to state is indicated next to the transition arrow. The initial condition is indicated by the transition from empty space to the first state. If the transition can be performed only if a certain condition is met, then the condition is indicated next to the transition in square brackets.
Блок 1 выдачи данных обеспечивает кодирование и выдачу данных согласно способу DS-кодирования на выход 16 данных коммуникационного интерфейса устройства и сопровождающих их сигналов стробирования на выход 17 стробирования коммуникационного интерфейса устройства. Он получает пакеты данных от локальной хост-системы в виде последовательности 8-разрядных данных, заканчивающейся признаком конца пакета. Каждый байт данных сопровождается нулевым управляющим флагом в соответствии с табл.1. Восемь битов данных перед выдачей упаковываются в блоке 1 выдачи данных в отдельный 10-битовый символ данных Nchar. Единичный управляющий флаг служит признаком конца пакета и означает необходимость выдачи символа конца пакета (ЕОР). Системный интерфейс между хост-системой и блоком 1 выдачи данных включает в себя сигналы: готовности (выход 18 готовности выдачи данных блоком 1 выдачи данных), записи (вход 19 записи блока 1 выдачи данных) и данных с флагом управления (вход 20 данных для выдачи блока 1 выдачи данных). Когда блок 1 выдачи данных готов передать очередной информационный символ, он выставляет хост-системе сигнал готовности. Если хост-система имеет для передачи информационный символ, и сигнал готовности установлен, то она выставляет восемь битов данных вместе с управляющим флагом (см. табл.1) на линию 20 данных для выдачи и устанавливает сигнал записи на входе 19 системного интерфейса устройства. Блок 1 выдачи данных, получив информационный символ, снимает сигнал готовности на выходе 18 системного интерфейса устройства. Если для передачи нет ни информационных символов, ни FCT символов, блок 1 выдачи данных посылает в канал NULL коды. Блок 1 выдачи данных (стороны А) передает информационные символы только в том случае, если на стороне Б в буфере 52 приема данных блока 2 приема данных имеется свободное место. Наличие свободного места определяется посылкой со стороны Б символа управления потоком (FCT символа), показывающего, что в буфере 52 его блока 2 приема данных есть место для определенного числа m информационных символов. Например, в описываемом варианте данного устройства m равно восьми.The
Блок 1 выдачи данных на стороне А также отвечает за посылку FCT символов, когда буфер 52 в блоке 2 приема данных свободен для приема восьми информационных символов. При этом блок 2 приема данных (стороны А) формирует сигнал разрешения приема данных на выходе 31 (см. фиг.1), только когда в его буфере приема есть место для восьми информационных символов (не зарезервированное для приема переданными до этого FCT символами). Тогда блок 3 управления потоком данных формирует запрос на посылку FCT символа на выходе 7. Блок 1 выдачи данных может передавать FCT символы, только если он находится в состоянии Соединение (Передача FCTs/NULLs) или Рабочий режим (Передача FCTs/Nchars/NULLs).The
Блок 1 выдачи данных может находиться в одном из четырех состояний:
1. Сброс. Блок 1 выдачи данных ничего не делает.1. Reset. The
2. Передача NULL кодов. Блок 1 выдачи данных посылает только NULL коды. Он не готов передавать информационные символы и не передает FCT символы.2. Transfer of NULL codes. The
3. Передача FCT символов/NULL кодов. Блок 1 выдачи данных посылает FCT символы или NULL коды и не готов передавать информационные символы.3. Transmission of FCT characters / NULL codes. The
4. Передача FCT символов/Nchars/NULL кодов. Обычный режим работы блока 1 выдачи данных. Он посылает FCT символы, NULL коды и информационные символы (Nchars).4. Transmission of FCT characters / Nchars / NULL codes. Normal operation of the
После сброса или ошибки в канале устройство находится в состоянии Сброс (см. фиг.13), при этом сигналы данных и стробирования устанавливаются в "0". После перехода в состояние Запуск блок 1 выдачи данных начинает передавать NULL коды. При выдаче первого NULL кода вначале должен быть передан бит контроля символа. Значение этого бита должно равняться нулю, как показано на фиг.20. Поэтому сначала изменится состояние сигнала на выходе 17 стробирования блока 1 выдачи данных.After a reset or an error in the channel, the device is in the Reset state (see Fig. 13), while the data and gating signals are set to "0". After the transition to the Start state, the
Блок 1 выдачи данных осуществляет передачу данных в коммуникационный интерфейс на любой скорости, задаваемой частотой синхронизации выдачи данных на входе 13 системного интерфейса устройства. Частота передачи данных блока 1 выдачи данных обычно образуется путем деления или умножения локальной частоты (вход 24 локальной синхронизации устройства), на которой синхронизируется работа блоков устройства при взаимодействии с хост-системой через системный интерфейс.
Порядок выдачи символов в коммуникационный интерфейс определяет блок 32 арбитража выдачи символов (см. фиг.2). Если установлен признак готовности выдачи данных на выходе 48 блока 32, то при наличии данных в буфере 33 выдачи данных на его выходе 47 формируется запрос на передачу данных, который сопровождает восемь бит данных и управляющий флаг, выставляемых на этом же выходе. Если управляющий флаг равен нулю, выдаваемый информационный символ содержит очередной байт данных из пакета, который записан из хост-системы в буфер 33 выдачи данных, то в блоке 32 арбитража выдачи символов формируется код типа символа данных, равный 001, в соответствии с правилами внутреннего кодирования, приведенными в табл.2, транзитом передаются восемь битов байта данных Х0, X1, X2, Х3, Х4, Х5, Х6, Х7, а также определяется дополнительный бит (xor_bit) по формулеThe order of the issuance of characters in the communication interface determines the block 32 of the arbitration of issuing characters (see figure 2). If the sign of readiness for data output at the
xor_bit=Х0 XOR X1 XOR X2 XOR Х3 XOR Х4 XOR Х5 XOR Х6 XOR X7.xor_bit = X 0 XOR X 1 XOR X 2 XOR X 3 XOR X 4 XOR X 5 XOR X 6 XOR X 7 .
В дальнейшем дополнительный бит xor_bit используется в формирователе 34 символов для выработки бита Р контроля четности символа.Subsequently, the additional bit xor_bit is used in the
Если выдаваемый информационный символ содержит управляющий флаг, равный единице, то это означает признак конца пакета. Признак конца пакета свидетельствует о том, что предыдущий выданный байт данных был последним в пакете. При этом блок 32 арбитража выдачи символов формирует код типа управляющего символа ЕОР (100»), а дополнительный бит xor_bit=1 формируется табличным способом.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 block 32 of the arbitration of the issuance of characters generates a code such as the control character EOR (100 "), and the additional bit xor_bit = 1 is generated in a tabular manner.
При наличии разрешения передачи символа управления потоком на входе 37 блока 1 выдачи данных, сформированного в блоке 4 управления при инициализации устройства, или запроса на выдачу символа управления потоком на входе 39 блока 1, поступающего от блока 3 управления потоком данных в рабочем режиме, блок 32 арбитража выдачи символов формирует код типа управляющего символа FCT (011). Для символа FCT дополнительный бит xor_bit=0.If there is a permission to transmit a flow control symbol at the
Если одновременно установлено два или три запроса к блоку 32, то формирование кодов типа символа и подготовка их выдачи в канал осуществляется в соответствии с приоритетом: самый высокий приоритет имеет управляющий символ FCT, потом - информационный символ Nchar. Если во время отсылки, например, FCT, снова пришел запрос на отсылку символа управления потоком, то после отсылки первого символа FCT, формируется и выдается следующий FCT, несмотря ни на какие другие запросы и время очередности установки запросов.If two or three requests to block 32 are set at the same time, the formation of codes of the symbol type and the preparation of their issuance in the channel is carried out in accordance with the priority: the FCT control symbol has the highest priority, then the Nchar information symbol. If during the sending, for example, FCT, the request to send the flow control symbol is sent again, then after sending the first FCT symbol, the next FCT is generated and issued, in spite of any other requests and the sequence of request installation.
Если на момент выдачи текущих символов в канал не было сформировано никаких запросов, то блок 32 арбитража выдачи символов формирует для выдачи в канал код типа управляющего NULL кода (111). Для NULL кода дополнительный бит xor_bit=1 формируется также табличным способом.If at the time of issuing the current characters in the channel no requests were generated, then the block 32 of the arbitration of the character issuance generates a code such as a control NULL code (111) for issuing to the channel. For NULL code, the additional bit xor_bit = 1 is also generated in a tabular manner.
При наличии сигнала готовности на выходе 41 буфера 36 передачи символов сформированная в блоке 32 арбитража выдачи символов информация о типе выдаваемого символа с его выхода 43 записывается в буфер 36 по сигналу записи, формируемому на выходе 42 блока 32. Разрядность буфер 36 определяется суммарной разрядностью кода типа символа, байта данных и дополнительного бита xor_bit. Загрузка символов в буфер 36 осуществляется на частоте локальной синхронизации с входа 24 блока 1 выдачи данных. Чтение информации из буфера 36 передачи символов осуществляется уже на частоте домена выдачи, определяемой на входе 13 синхронизации выдачи данных блока 1 выдачи данных. По сигналу, поступающему с выхода 44 готовности блока 35 DS-кодирования символа, параллельный код типа символа, дополнительный бит xor_bit и, если требуется восемь битов данных (см. табл.2), с выхода 49 буфера 36 загружается в формирователь 34 символа. Одновременно с этим сформированный в соответствии с табл.3 полный код предыдущего символа с битом контроля Р перезаписывается из формирователя 34 в блок 35 DS-кодирования символа.If there is a ready signal at the
В формирователе 34 символа по поступившему коду типа i-го символа генерируется полный код в соответствии с правилами кодирования символов в коммуникационном интерфейсе (см. табл.3). В формировании P(i) - бита контроля четности i-го символа - в соответствии с фиг.19 участвуют биты предыдущего (i-1)-го символа и флаг C/D управления текущего i-го символа. Информация о количестве единиц в битах (i-l)-го символа содержится в дополнительном бите предыдущего (i-1)-го символа - xor_bit (i-1), который сохраняется в формирователе 34 с предыдущего такта работы. Правила формирования бита контроля четности для всех символов, передаваемых через коммуникационный интерфейс, представлены в табл.6. Полный код i-го символа вместе с битом контроля четности P(i) выдается с выхода 40 полного кода символа формирователя 34, одновременно с этим с выхода 45 длины символа формирователя 34 выдается двоичный код длины i-го символа, при этом дополнительный бит i-го символа xor_bit (i) запоминается на один такт в формирователе 34 для определения P(i+l). Как показано на диаграмме (см. фиг.17а), все биты сформированного символа в блоке 35 DS-кодирования символа параллельно загружаются в третий сдвигающий регистр 140 (см. фиг.10), одновременно с этим в указатель 141 числа битов записывается код длины символа.In the
Формирование сигнала разрешения загрузки в третий сдвигающий регистр 140 битов нового символа на выходе указателя 141 числа битов обеспечивается после обнуления его состояния, что означает окончание выдачи последовательности битов текущего символа из регистра 140. DS-кодирование битов символа, загруженного в регистр 140 осуществляется последовательно в соответствии с правилами формирования строба, изложенными в табл.5. Сформированные в триггерах 143 и 144 D- и S-сигналы i-го символа выдаются соответственно на выходы 16 данных и 17 стробирования блока 1 выдачи данных и поступают в коммуникационный интерфейс устройства.The generation of the download enable signal to the
Блок 2 приема данных отвечает за декодирование входящих сигналов на линиях данных (вход 14 коммуникационного интерфейса устройства) и стробирования (вход 15 коммуникационного интерфейса устройства) в последовательность информационных и канальных символов, к которым относятся NULL коды и FCT символы. NULL коды показывают активность канала, об их приеме или прекращении приема информируется блок 4 управления для воздействия на машину состояний, сами NULL коды в хост-систему не передаются. При получении FCT символа блок 2 приема данных информирует об этом блок 3 управления потоком данных (который должен увеличить на восемь свой счетчик 72, определяющий кредит передачи). Сигналы о принятии всех управляющих символов (FCT) передаются также к машине состояний в блок 4 управления с выхода 5 подтверждения приема символа управления потоком. Для управления механизмом кредитования также используется сигнал разрешения приема данных (выход 31 блока 2 приема данных), извещающий блок 3 управления потоком данных о наличии определенного числа свободных ячеек (в описываемом варианте устройства - не менее восьми) в буферном пространстве блока 2 приема данных.The
Блок 2 приема данных может находиться в одном из следующих состояний:The
1. Сброс. Блок 2 приема данных ничего не делает.1. Reset. The
2. Запуск. Блок 2 приема данных запущен и ожидает приема первого бита.2. Launch. The
3. Получен бит. Блок 2 приема данных получил первый бит.Механизм обнаружения рассоединения включен. Блок 2 приема данных может принимать только NULL коды.3. A bit is received. The
4. Получен NULL код. Блок 2 приема данных получил NULL код и может получать NULL код, FCT символы и информационные символы. Включен механизм обнаружения ошибок рассоединения и кодирования (в том числе ошибки четности и расширения).4. Received NULL code. The
Блок 4 управления выполняет в устройстве функцию управляющего автомата, которым является машина состояний, граф которой представлен на фиг.13. Он контролирует работу блока 1 выдачи данных и блока 2 приема данных устройства, получая от них сигналы о состоянии и рассылая им управляющие сигналы. Машина состояний может находиться в различных состояниях, отражающих ход взаимодействия двух устройств через коммуникационный интерфейс в зависимости от условий. В качестве событий или условий, вызывающих переходы из состояния в состояние, служат два типа сигналов: внешние и внутренние управляющие сигналы.The
Внешние сигналы управления выдает на машину состояний данного устройства его хост-система. К внешним управляющим сигналам могут относиться:External control signals are issued to the state machine of this device by its host system. External control signals may include:
- Сброс - этот сигнал может представлять собой аппаратный сброс или сброс при включении питания, либо сброс по команде от хост-системы. При этом в регистре 80 состояния (см. табл.4) бит UNIT_RST устанавливается в единицу. Бит UNIT_RST=1 означает запрет работы устройства. Это позволяет полностью заблокировать функционирование устройства и подключать его только в том случае, когда это необходимо.- Reset - this signal can be a hardware reset or a reset when the power is turned on, or a reset on command from the host system. In this case, in the state register 80 (see Table 4), the UNIT_RST bit is set to one. Bit UNIT_RST = 1 means the device is disabled. This allows you to completely block the operation of the device and connect it only when necessary.
- Канал остановлен - остановка и отключение устройства от канального интерфейса. При этом в регистре 80 состояния бит LINK_DISABLE устанавливается в единицу. Это означает запрет начала сеанса связи через канальный интерфейс. Если работа модуля разрешена, то установка этого сигнала определяет, что данному устройству не следует принимать от удаленного устройства управляющие символы и символы поддержки связи - NULL коды, то есть фактически запрещает устройству работу по приему данных.- Channel stopped - stop and disconnect the device from the channel interface. In this case, in the
- Автозапуск - сигнал автоматического запуска устройства после приема первого NULL кода. При этом в регистре 80 состояния бит AUTOSTART устанавливается в единицу. Этот сигнал может использоваться для задания режима «подчиненного устройства», при котором данное устройство переходит в состояние Соединение как бы по вызову, при получении первого NULL кода от удаленного устройства.- Autostart - a signal to automatically start the device after receiving the first NULL code. In this case, in the
- Принудительный запуск канала - сигнал программного запуска данного устройства. При этом в регистре 80 состояния бит LINK_START устанавливается в единицу. Он показывает необходимость самостоятельного запуска канала и является необходимым условием для перехода из состояния Готовность в состояние Запуск (без получения первого NULL кода).- Forced start of the channel - a signal of program start of this device. In this case, in the
Внутренними управляющими сигналами, вызывающими переходы между состояниями, являются:Internal control signals causing transitions between states are:
- Прошло Т мкс - сигналы от таймеров в блоке 83 задержки вызывают переходы «Прошло 6,4 мкс» или «Прошло 12,8 мкс» и показывают наступление события - тайм-аута (временной задержки), после которого осуществляется переход из одного состояния в другое. Времена задержек выбраны в качестве номинальных величин для рассматриваемой реализации устройства.- T μs passed - the signals from the timers in
- Получен NULL код - сигнал устанавливается на выходе 28 установления соединения блока 2 приема данных (см фиг.3), когда принят первый NULL код.- Received a NULL code - the signal is installed at the output 28 of the connection of the data receiving unit 2 (see Fig. 3) when the first NULL code is received.
- Получен FCT символ - сигнал устанавливается на выходе 5 подтверждения приема символа управления потоком блока 2 приема данных и означает факт принятия FCT символа. Прием FCT символа является корректным только в состояниях Соединение или Рабочий режим. Прием FCT символа в других состояниях воспринимается как ошибка.- Received FCT symbol - the signal is set at the
- Получен Nchar - сигнал устанавливается на выходе 6 подтверждения приема информационного символа блока 2 приема данных и означает факт принятия информационного символа. Прием информационного символа в любом состоянии кроме состояния Рабочий режим воспринимается как ошибка.- Received Nchar - the signal is installed at the
- Ошибка рассоединения - сигнал на выходе 11 ошибки рассоединения блока 2 приема данных означает отсутствие изменения сигналов на входе 14 данных и на входе 15 стробирования канального интерфейса устройства в течение некоторого интервала времени Т3 (в рассматриваемой реализации устройства номинальное значение Т3=850 нс). При этом в регистре 80 состояния бит DC_ERR устанавливается в единицу. Механизм определения ошибки рассоединения в детекторе 56 рассоединения запускается при первом изменении сигнала на одном из входов 14 или 15 (D или S) после выхода машины состояний из состояния Сброс.- Disconnect error - the signal at the
- Ошибка кодировки - сигнал на выходе 27 ошибки кодировки блока 2 приема данных означает определение ошибки четности в принятом символе либо ошибки расширения, которая возникает, если за символом ESC следует любой управляющий символ, отличный от FCT символа (т.е. дешифратор 53 преобразованного кода запрещенными считает последовательности управляющих символов ESC+EOP и ESC+ESC). При этом в регистре 80 состояния бит CODE_ERR устанавливается в единицу. Определение ошибки кодировки разрешается только при запущенном блоке 2 приема данных и после получения первого NULL кода.- Encoding error - the signal at the
- Ошибка кредитования - сигнал на выходе 26 ошибки кредитования блока 3 управления потоком данных означает, что приняты информационные символы, которые не ожидаются устройством (т.е. прием информационного символа в момент, когда уже приняты все информационные символы в ответ на отправленные FCT символы). Также ошибка кредитования возникает при приеме FCT символа в момент, когда значение кредитного счетчика 72 переданных символов не может быть увеличено на восемь (т.е. это увеличение превысит максимальное значение счетчика). При этом в регистре 80 состояния бит CREDIT_ERR устанавливается в единицу.- Credit error - a signal at the
Кроме внутренних управляющих сигналов, формируемых в блоке 2 приема данных и блоком 83 задержки, машина состояний вырабатывает следующие внутренние условия для переходов:In addition to the internal control signals generated in the
- Ошибка приема - это условие обозначает возникновение ошибки рассоединения или сигнала ошибки кодировки.- Receive error - this condition indicates the occurrence of a disconnect error or an encoding error signal.
- Ошибка последовательности символов - это условие формируется машиной состояний по-разному в зависимости от текущего состояния:- Symbol sequence error - this condition is generated by the state machine differently depending on the current state:
а. Любые символы, принятые до первого NULL кода, игнорируются. В состояниях Ожидание и Готовность это приводит к ошибке, по которой осуществляется переход в состояние Сброс. На диаграмме состояний (см. фиг.13) указаны события «Получен FCT» и «Получен Nchar».but. Any characters received before the first NULL code are ignored. In the Standby and Ready states, this leads to an error, which causes the transition to the Reset state. In the state diagram (see FIG. 13), the events “Received FCT” and “Received Nchar” are indicated.
b. После получения первого NULL кода получение FCT символа до отправки первого NULL кода (то есть в состоянии Запуск) воспринимается как ошибка.b. After receiving the first NULL code, receiving the FCT character before sending the first NULL code (that is, in the Run state) is perceived as an error.
с. Информационный символ может быть принят только после того, как принят NULL и FCT символ, в противном случае ситуация является ошибочной. Поэтому в состояние Соединение событие «Получен Nchar» вызывает сброс устройства. Таким образом, информационные символы могут приниматься только в состоянии Рабочий режим.from. An information symbol can only be accepted after a NULL and FCT symbol is received, otherwise the situation is erroneous. Therefore, in the Connection state, the Nchar Received event causes the device to reset. Thus, information symbols can only be received in the Operating mode state.
Изменение состояний блока 1 выдачи данных и блока 2 приема данных осуществляется в соответствии с диаграммой машины состояний: от инициализации устройства, начинающейся со сброса одной из сторон, соединенных коммуникационным каналом, до состояния нормальной работы, в котором обеспечивается передача данных в обоих направлениях. В табл.7 и на фиг.21 иллюстрируется пример инициализации устройств, являющихся сторонами А и Б одного коммуникационного канала.Changing the states of the
После сброса устройства (на стороне А) его машина состояний переходит в состояние Сброс. При этом блок 4 управления вырабатывает соответствующие сигналы на первом 8, втором 9 и третьем 10 выходах сброса, по которым блок 1 выдачи данных, блок 2 приема данных и блок 3 управления потоком данных сбрасываются. Сброс блока 1 выдачи данных осуществляется следующим образом: в первую очередь останавливается передача, затем сбрасывается сигнал строба на выходе 17 стробирования, затем сбрасывается сигнал данных на выходе 16 данных. Эта последовательность действий позволяет избежать одновременного изменения сигналов данных и стробирования. В состоянии Сброс устройство находится 6,4 мкс, и затем переходит в состояние Ожидание. В состоянии Ожидание блок 1 выдачи данных остается сброшенным, блок 2 приема данных запускается и готов принимать NULL коды. В состоянии Ожидание устройство находится 12,8 мкс, и затем переходит в состояние Готовность. Совокупность временных задержек Т1 и Т2 (6,4+12,8 мкс) гарантирует запуск блоков приема данных на обеих сторонах канала до запуска блоков выдачи данных на обеих сторонах канала. Управляющий сигнал на запуск блока 1 выдачи данных может поступить из различных источников: программный запуск от хост-системы или автозапуск (при приеме NULL кода). При выполнении условия [Запуск канала] устройство переходит из состояния Готовность в состояние Запуск. В состоянии Запуск блок 1 выдачи данных начинает передавать NULL коды. Устройство остается в состоянии Запуск до тех пор, пока не получит первый NULL код, либо пока не истечет время тайм-аута Т2 (12,8 мкс). Блок 2 приема данных игнорирует информационные символы, канальные символы, ошибки кодировки символов до тех пор, пока не получит первый NULL код. Для того чтобы запустить блок 2 приема данных, когда устройство переходит в состояние Ожидание, блок 4 управления снимает сигнал сброса на втором выходе 9 сброса. В блоке 2 приема данных (см. фиг.3) входная синхропоследовательность формируется на выходе 63 признака изменения уровня первого элемента 50 ИСКЛЮЧАЮЩЕЕ ИЛИ путем сложения по модулю 2 сигналов с входов 14 и 15 (D- и S-сигналов) и поступает на вход синхронизации детектора 55 начала приема. Биты данных с входа 14 подаются на информационный вход детектора 55. В детекторе 55 начала приема (см. фиг.9) эти данные поочередно записываются в первый 106 и второй 107 сдвигающие регистры, причем по восходящему фронту входной синхропоследовательности каждый нечетный бит данных записывается в первый сдвигающий регистр 106, а по нисходящему фронту каждый четный бит данных - во второй сдвигающий регистр 107. Когда двоичный код, поступающий с параллельных выходов сдвигающих регистров 106 и 107 на первый и второй информационные входы компаратора 108 нулевого символа, примет вид, приведенный на фиг.20, то в результате совпадения с константой нулевого символа, подаваемой на третий информационный вход компаратора 108, на его выходе разрешения вырабатывается признак совпадения, который сохраняется в триггере 110 разрешения в течение всего времени соединения двух взаимодействующих сторон. Если в триггер 110 запись осуществляется по восходящему фронту синхросигнала, то в триггер 111 коррекции - по нисходящему фронту, на полтакта раньше. Триггеры 110 разрешения и 111 коррекции сбрасывается в нуль по сигналу сброса, поступающего на управляющий вход детектора 55 начала приема. Таким образом, на выходе триггера 110 разрешения, являющемся выходом 115 разрешения синхронизации детектора 55, формируется сигнал, свидетельствующий о получении первого NULL кода, а на выходе 66 корректировки фронта синхросигнала управляющий сигнал появляется на полтакта раньше, чтобы в блоке 54 формирования сигналов можно было обеспечить формирование внутреннего синхросигнала, требуемый фронт которого соответствовал бы приему второго бита символа, следующего за первым NULL кодом.After a device is reset (on side A), its state machine enters the Reset state. In this case, the
Если принят NULL код (до истечения тайм-аута Т2), устройство переходит в состояние Соединение. Если в течение 12,8 мкс NULL код не принят, устройство переходит в состояние Сброс. В этом случае устройство опять проходит через состояния Сброс, Ожидание, Готовность и через некоторое время снова делает попытку установить соединение.If a NULL code is received (before the T2 timeout expires), the device enters the Connection state. If a NULL code is not received within 12.8 μs, the device enters the Reset state. In this case, the device again goes through the Reset, Standby, Ready status and after a while again makes an attempt to establish a connection.
После получения первого NULL кода блок 2 приема данных может принимать FCT символы, NULL коды и информационные символы уже в штатном режиме. При этом D-сигналы с входа 14 данных поступают в блок 54 формирования сигналов (см. фиг.3), где записываются по восходящему и нисходящему фронтам входной синхропоследовательности. По одному фронту синхросигнала бит данных буферизируется в триггере 93 первого бита, по второму - следующий бит запоминается в триггере 94 второго бита (см. фиг.6). В блоке 54 формирования сигналов первый и второй триггеры 96 и 97 деления частоты вместе со вторым элементом 100 ИСКЛЮЧАЮЩЕЕ ИЛИ формируют внутреннюю последовательность синхросигналов, совпадающую по частоте с внешней синхропоследовательностью, поступающей на вход 103 синхронизации блока 54. После сложения по модулю два с сигналом с входа 104 корректировки фронта синхросигнала на выходе третьего элемента 101 ИСКЛЮЧАЮЩЕЕ ИЛИ вырабатывается такая последовательность синхросигналов, что запись первых двух битов данных в регистр 95 выделенных сигналов после приема первого NULL кода и выработки сигнала на входе 105 разрешения синхронизации производится по восходящему фронту (см. фиг.13).After receiving the first NULL code, the
С выхода 64 битов данных принятые биты, сопровождаемые сформированной внутренней последовательностью синхросигналов, поступают в преобразователь 51 в параллельный код, где накапливаются до получения байтового кода, который через блок 57 перехода домена подается в блок 58 преобразования кода для последующего анализа. Блок 58 совместно с дешифратором 53 преобразованного кода выявляет корректные коды управляющих и информационных символов из последовательно поступающих байтов данных в соответствии с табл.2. Работа блоков 58 и 53 осуществляется уже на частоте локальной синхронизации, независимой от входной последовательности синхросигналов. За один такт локальной частоты дешифратор 53 может декодировать восемь принятых битов и распознавать комбинации из двух управляющих символов FCT, ЕОР и ESC. Один символ данных Nchar декодируется за два такта локальной частоты. Различные комбинации символов, декодируемых в дешифраторе 53 за один такт, представлены в табл.8.From the output of 64 data bits, the received bits, accompanied by the generated internal sequence of clock signals, are sent to the
Если при анализе бита контроля символа, который охватывает контролем значительную часть предыдущего принятого символа и флаг C/D следующего символа (см. фиг.15), выявляется ошибка четности, то на выходе ошибки кодировки символа дешифратора 53 преобразованного кода и одноименном выходе 27 блока 2 приема данных устанавливается соответствующий признак. Так, при обнаружении ошибки четности (Perr) в первом из двух поступивших управляющих символов (см. строка 2, столбец 12 в табл.8) устанавливается признак ошибки кодировки и последующие биты не анализируются. При этом сам дешифратор 53 переходит в состояние Error, в котором блокируется выработка управляющих сигналов на его выходах (см. строка 1 в табл.8). Из этого состояния в рабочее дешифратор 53 переходит после общего сброса устройства. При обнаружении ошибки четности во втором из двух управляющих символов она не влияет на правильное декодирование первого символа и выработку признака подтверждения приема соответствующего управляющего символа, но при этом формируется и признак ошибки декодирования, а дешифратор 53 переводится в состояние Error (см. строки 6, 10, 14, 17 и 19 в табл.8). При правильном декодировании в одном байте двух различных управляющих символов (FCT и ЕОР) одновременно на соответствующих выходах дешифратора 53 формируются признаки приема данных символов (см. строки 3 и 7, столбцы 7 и 8 в табл.8).If, when analyzing a character control bit, which covers a significant part of the previous received character and the C / D flag of the next character (see Fig. 15), a parity error is detected, then the output of the encoding error of the
При приеме двух одинаковых управляющих символов FCT (см. строка 4 в табл.8) дешифратор 53 формирует признак подтверждения приема символа управления потоком, который сопровождается признаком удвоения. Признак удвоения, поступающий вместе с признаком приема FCT с выхода 5 подтверждения приема символа управления потоком блока 2 приема данных на одноименный вход 78 блока 3 управления потоком данных, указывает последнему на возможность увеличения кредита на передачу не на восемь, а на 16 информационных символов. Если распознаются два одинаковых управляющих символа ЕОР (см. строка 8 в табл.8), дешифратор 53 формирует признак подтверждения приема символа конца пакета, который сопровождается признаком удвоения. Признак удвоения поступает вместе с признаком приема ЕОР с выхода подтверждения приема информационного символа дешифратора 53 преобразованного кода на одноименный выход 6 блока 2 приема данных и подается в блок 3 управления потоком данных. Его наличие указывает на необходимость увеличения состояния счетчика 71 принятых символов на два значения, а не на одно. В случае выявления комбинации двух управляющих символов ESC+FCT она трактуется как управляющий код - Null код. Этот код, передаваемый в коммуникационный интерфейс для поддержания соединения двух сторон при отсутствии необходимости передачи других символов, распознается дешифратором 53, но управляющих сигналов на его выходах не вырабатывается (см. строка 7 в табл.8). Прием комбинаций двух управляющих символов ESC+EOP или ESC+ESC (см. строки 12 и 13 в табл.8) трактуется дешифратором 53 как ошибка кодировки. При приеме комбинаций двух управляющих символов FCT+ESC или EOP+ESC (см. строки 5 и 9 в табл.8) дешифратор 53 формирует на соответствующем выходе признак подтверждения прием символа FCT или ЕОР, а также запоминает внутренний признак приема символа расширения ESC. Этот признак необходим для правильного декодирования в следующем такте управляющего символа FCT, который вместе с ранее принятым символом ESC образует управляющий код - Null код (см. строки 11 и 22 в табл.8). В строке 22 распознанный символ FCT интерпретируется дешифратором 53 как составная часть Null кода, поскольку установлен внутренний признак ESC, а при декодировании второго управляющего символа ЕОР формируется признак подтверждения приема данного символа. По той же причине в строке 23 два распознанных символа FCT интерпретируются различно. Первый из символов FCT признается составной частью Null кода, а второй из них декодируется как собственно символ управления потоком, вследствие чего на соответствующем выходе вырабатывается признак подтверждения его приема. Во всех случаях, когда за один такт распознаются два управляющих символа, на выходе 69 числа дешифрируемых битов дешифратора 53 устанавливается двоичный код, указывающий, что в действительности было декодировано восемь битов из числа (не менее восьми) поданных на вход дешифратора 53 преобразованного кода. Символ Nchar декодируется дешифратором 53 за два такта (см. строка 15 в табл.8) и во втором такте устанавливается признак подтверждения приема информационного символа, равный единице. Признак подтверждения приема ЕОР при этом равен нулю, на выход 62 данных также выдаются восемь битов данных из Nchar и на выходе 69 формируется двоичный код, подтверждающий блоку 58 декодирование десяти битов, из не менее чем 10 битов, поданных на вход 67 параллельного кода слова данных дешифратора 53. Также за два такта из поданных на вход 67 дешифратора, как правило, 16 битов, но не менее 14 битов, происходит распознавание управляющего символа (FCT или ЕОР) и символа данных Nchar. Если первым распознается управляющий символ FCT, за которым следует символ Nchar (см. строка 18 в табл.8), то во втором такте вырабатываются следующие признаки: подтверждения приема FCT и приема Nchar. Если в первом такте дешифратор 53 из первых четырех битов первого байта декодирует управляющий символ ЕОР (см. строка 16 в табл.8), то после окончания распознавания символа данных во втором такте на выходе подтверждения приема информационного символа дешифратора 53 устанавливаются в единицу признаки подтверждения приема символа конца пакета и Nchar. С выхода 6 подтверждения приема информационного символа блока 2 приема данных эти признаки поступают в блок 3 управления потоком данных и указывает на необходимость увеличения состояния счетчика 71 принятых символов на два значения, а не на одно. Кроме того, вместе с байтом данных из Nchar, который подается на выход 62 данных, они поступают в буфер 52 приема данных, где в следующем такте записываются в одну ячейку буферного пространства. В обоих случаях на выходе 69 дешифратора 53 подтверждается число действительно дешифрированных битов, равное 14.Upon receipt of two identical FCT control symbols (see
В буфере 52 приема данных могут храниться принятые данные, принадлежащие как одному, так и нескольким пакетам. Байты данных разных пакетов разделяются признаком конца пакета. Формат информации, записываемой в каждую ячейку памяти буфера 52, соответствует табл.9. Кроме того, в еще один разряд ячейки памяти может записываться и признак удвоения (в табл.9 не показан), который, если это требуется, при наличии признака ЕОР будет уведомлять хост-систему через системный интерфейс о приеме двух символов конца пакета, следующих друг за другом и выделенных дешифратором 53 в одном такте. В зависимости от числа информационных символов, декодируемых дешифратором 53 в один момент времени (см. табл.8), в табл.9 описаны три возможных варианта хранения информации в ячейке памяти буфера 52 приема данных.In the
Механизм определения рассоединения в блоке 2 приема данных начинает работать только после приема первого бита, то есть после первого изменения сигналов на входах 14 данных или 15 стробирования, когда начинает формироваться входная последовательность синхросигналов на выходе 63 признака изменения уровня. В детекторе 56 рассоединения счетчик 119 тайм-аута подсчитывает длительность каждого полупериода синхросигналов входной последовательности. При превышении паузы в синхронизации величины тайм-аута Т3, хранящейся в блоке 120 константы тайм-аута, компаратор 121 тайм-аута вырабатывает сигнал на выходе 124 детектора 56, свидетельствующий о выявлении ошибки рассоединения (см. фиг.16). Таким образом, блок 2 приема данных формирует следующие сигналы, отслеживающие состояние коммуникационного канала: сигнал «Получен NULL код» (выход 28 установления соединения системного интерфейса устройства) и сигнал ошибки рассоединения (выход 11 ошибки рассоединения системного интерфейса устройства). Кроме того, в блоке 2 приема данных обеспечивается обнаружение ошибки кодирования символов, включая ошибки четности и расширения (выход 27 ошибки кодировки символа системного интерфейса устройства), и оповещение о них машины состояний в блоке 4 управления и хост-системы через системный интерфейс.The disconnection determination mechanism in the
Системный интерфейс для обмена данными между процессорным узлом (хост-системой) и блоком 2 приема данных содержит сигналы: готовности (выход 23 готовности данных для приема), чтения (вход 21 чтения данных) и данных с флагом управления (выход 22 данных для приема). Представление информационных символов, которые образуют принятые из коммуникационного канала пакетные данные, показано в табл.9. Из буфера 52 приема данных блока 2 принятые пакетные данных выдаются побайтно вместе с управляющими флагами на выход 22 данных для приема системного интерфейса устройства, при этом буфер 52 устанавливает сигнал готовности длительностью в такт частоты локальной синхронизации на выходе 23 готовности данных для приема системного интерфейса. Процессорный узел должен принять данные, для чего он устанавливает сигнал чтения.The system interface for exchanging data between the processor node (host system) and the
Блок 3 управления потоком данных осуществляет управление потоком данных через коммуникационный канал для защиты от переполнения буфера блока 2 приема данных (и как следствие этого - потери данных). Управление потоком данных в коммуникационном канале реализуется с помощью символов управления потоком (FCT), передающихся по каналу и разрешающих передачу данных от блока 1 выдачи данных одной стороны (сторона А) к блоку 2 приема данных другой стороны (сторона Б). Каждый символ управления потоком указывает на то, что в буфере блока 2 приема данных есть место для приема восьми и более информационных символов. Для каждого FCT символа, передаваемого в канал (со стороны Б), в буфере блока 2 приема данных (стороны Б) зарезервировано место для восьми информационных символов. Буфер 52 блока 2 приема данных может быть реализован как FIFO буфер. Блок 1 выдачи данных (стороны А) не может передавать информационные символы до тех пор, пока блок 2 приема данных (стороны А) не получит хотя бы один символ FCT от блока 1 выдачи данных (стороны Б). Блок 3 управления потоком данных стороны А для управления кредитом на передачу информационных символов, предоставленным со стороны Б, имеет счетчик 72 переданных символов (см. фиг.4). Изменение состояния счетчика 72 переданных символов под воздействием управляющих сигналов показано в табл.10. Каждый раз, когда блок 2 приема данных (стороны А) принимает символ FCT, состояние счетчика 72 переданных символов (стороны А) увеличивается на восемь. Каждый раз, когда блок 1 выдачи данных (стороны А) передает один информационный символ, состояние счетчика 72 переданных символов (стороны А) уменьшается на единицу. Значение счетчика 72 переданных символов, равное нулю, указывает на то, что блок 1 выдачи данных не может больше передать ни одного информационного символа (при этом передача канальных символов в коммуникационный канал не останавливается). Максимальное значение счетчика 72 переданных символов составляет 56 (семь FCT символов). В состоянии Сброс начальное число FCT символов (которые нужно передать со стороны Б) устанавливается согласно размеру буфера 52 блока 2 приема данных (стороны Б): по одному FCT на каждые восемь информационных символов. Поэтому максимальное начальное число возможных к передаче FCT символов равно семи. Следует отметить, что размер буфера 52 приема данных может быть больше 56 байт (семь FCT символов), но и тогда начальное число передаваемых FCT символов все равно должно равняться семи. Блок 1 выдачи данных (стороны Б) не может передать более семи FCT символов без получения блоком 2 приема данных (стороны Б) информационных символов со стороны А.The data
Если блок 2 приема данных (стороны А) принимает FCT символ в момент, когда значение счетчика 72 переданных символов (стороны А) не может быть увеличено на восемь (т.е. это увеличение может превысить максимальное значение счетчика), то значение счетчика 72 не увеличивается, и на выходе 26 блока 3 управления потоком данных устанавливается сигнал ошибки кредитования (см. фиг.4). В данном случае ошибка кредитования возникает при приеме более семи FCT символов информационных символов, которые не ожидаются на передающей стороне А коммуникационного канала (т.е. в ответ на прием семи FCT символов со стороны Б сторона А не отсылала еще ни одного информационного символа). Ошибка кредитования указывает на то, что в коммуникационном канале произошли неопределенные ошибки, искажающие работу кредитных счетчиков. Сигнал ошибки кредитования поступает на одноименный выход 26 системного интерфейса устройства, а также переводит машину состояний в блоке 4 управления в состояние Сброс (см. фиг.13). В состоянии Сброс значение счетчика 72 переданных символов устанавливается в нуль.If the data receiving unit 2 (side A) receives the FCT symbol at the moment when the
Счетчик 71 принятых символов в блоке 3 управления потоком данных отслеживает количество информационных символов, которые данное устройство (например, на стороне Б) ожидает принять (см. фиг.4). Изменение состояния счетчика 71 принятых символов под воздействием управляющих сигналов показано в табл.11.The
Значение кредитного счетчика 71 принятых символов увеличивается на восемь каждый раз, когда блок 1 выдачи данных (стороны Б) передает один FCT символ, и уменьшается на один каждый раз, когда блок 2 приема данных (стороны Б) принимает один информационный символ. Если дешифратор 53 преобразованного кода в блоке 2 приема данных декодировал в одном такте два информационных символа, то значение числа принятых символов в счетчике 71 уменьшается на два. Максимальное значение кредитного счетчика 71 принятых символов составляет 56 (семь FCT символов). Блок 1 выдачи данных (стороны Б) может отправить FCT символ только при одновременном выполнении двух условий: а) значение кредитного счетчика 71 принятых символов (стороны Б) возможно увеличить на восемь, не превысив максимальное значение; б) в буфере 52 блока 2 приема данных (стороны Б) есть место для восьми и более информационных символов. Если блок 2 приема данных принимает очередной информационный символ в момент, когда значение кредитного счетчика 71 принятых символов равно нулю и не может быть уменьшено на единицу, (т.е. это уменьшение может привести к выходу за пределы минимального значения счетчика 71, равного нулю), то значение счетчика 71 не уменьшается, и детектор 73 ошибки кредитования на выходе 26 блока 3 управления потоком данных устанавливает сигнал ошибки кредитования (см. фиг.4). В этой ситуации ошибка кредитования возникает при приеме информационных символов, которые не ожидаются на принимающей стороне Б канала (то есть при приеме информационного символа в момент, когда уже приняты все информационные символы от стороны А в ответ на отправленные FCT символы со стороны Б). В состоянии Сброс значение кредитного счетчика 71 принятых символов устанавливается в нуль.The value of the
Таким образом, в устройстве коммуникационного интерфейса обеспечивается возможность работы блока 1 выдачи данных и блока 2 приема данных на разных скоростях приема и передачи, что способствует существенному увеличению его области применения. В рассматриваемой реализации устройства блок 1 выдачи данных и блок 2 приема данных поддерживают передачу данных через коммуникационный интерфейс на частотах в диапазоне от 2 до 400 МГц, при этом частота локальной синхронизации устройства равна 100 МГц. На частоте локальной синхронизации работает большинство блоков устройства, а именно, блок 3 управления потоком данных, блок 4 управления, в блоке 1 выдачи данных - блок 32 арбитража выдачи символов, буфер 33 выдачи данных и буфер 36 передачи символов, в блоке 2 приема данных - буфер 52 приема данных, дешифратор 53 преобразованного кода и блок 58 преобразования кода. Поскольку частота локальной синхронизации может быть существенно меньше, чем величина, соответствующая максимально возможной скорости передачи и приема данных, то предлагаемое техническое решение способствует значительному снижению энергопотребления, что является важным преимуществом при использовании предлагаемого устройства в бортовых и встраиваемых применениях. Предложенное устройство имеет значительные функциональные преимущества перед известными аналогами.Thus, in the communication interface device, it is possible to operate the
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2010121016/08A RU2460124C2 (en) | 2010-05-26 | 2010-05-26 | Communication interface device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2010121016/08A RU2460124C2 (en) | 2010-05-26 | 2010-05-26 | Communication interface device |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2010121016A RU2010121016A (en) | 2011-12-10 |
RU2460124C2 true RU2460124C2 (en) | 2012-08-27 |
Family
ID=45404935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2010121016/08A RU2460124C2 (en) | 2010-05-26 | 2010-05-26 | Communication interface device |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2460124C2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU175049U1 (en) * | 2016-08-09 | 2017-11-16 | Закрытое акционерное общество Научно-производственный центр "Микропроцессорные технологии" (МиТ) | COMMUNICATION INTERFACE DEVICE SpaceWire |
RU187642U1 (en) * | 2018-06-19 | 2019-03-14 | Закрытое акционерное общество Научно-производственный Центр "Микропроцессорные технологии" (ЗАО НПЦ "МиТ") | GIGASPACEWIRE COMMUNICATION INTERFACE DEVICE |
RU2824019C1 (en) * | 2023-12-07 | 2024-07-31 | федеральное государственное бюджетное образовательное учреждение высшего образования "Ульяновский государственный технический университет" | Interface device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0458648A2 (en) * | 1990-05-25 | 1991-11-27 | STMicroelectronics Limited | Communication interface for serial transmission of variable length data tokens |
RU54679U1 (en) * | 2006-02-21 | 2006-07-10 | Федеральное государственное унитарное предприятие "Центральный научно-исследовательский институт "Гранит" | RADAR STATION |
RU2289207C1 (en) * | 2005-05-13 | 2006-12-10 | Закрытое акционерное общество ЦНИТИ "Техномаш-ВОС" (ЗАО ЦНИТИ "Техномаш-ВОС") | Interface for transferring discrete information through optical channel |
-
2010
- 2010-05-26 RU RU2010121016/08A patent/RU2460124C2/en active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0458648A2 (en) * | 1990-05-25 | 1991-11-27 | STMicroelectronics Limited | Communication interface for serial transmission of variable length data tokens |
EP0971501A2 (en) * | 1990-05-25 | 2000-01-12 | STMicroelectronics Limited | Communication interface |
RU2289207C1 (en) * | 2005-05-13 | 2006-12-10 | Закрытое акционерное общество ЦНИТИ "Техномаш-ВОС" (ЗАО ЦНИТИ "Техномаш-ВОС") | Interface for transferring discrete information through optical channel |
RU54679U1 (en) * | 2006-02-21 | 2006-07-10 | Федеральное государственное унитарное предприятие "Центральный научно-исследовательский институт "Гранит" | RADAR STATION |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU175049U1 (en) * | 2016-08-09 | 2017-11-16 | Закрытое акционерное общество Научно-производственный центр "Микропроцессорные технологии" (МиТ) | COMMUNICATION INTERFACE DEVICE SpaceWire |
RU175049U9 (en) * | 2016-08-09 | 2018-04-19 | Закрытое акционерное общество Научно-производственный центр "Микропроцессорные технологии" (МиТ) | COMMUNICATION INTERFACE DEVICE SpaceWire |
RU187642U1 (en) * | 2018-06-19 | 2019-03-14 | Закрытое акционерное общество Научно-производственный Центр "Микропроцессорные технологии" (ЗАО НПЦ "МиТ") | GIGASPACEWIRE COMMUNICATION INTERFACE DEVICE |
RU2824019C1 (en) * | 2023-12-07 | 2024-07-31 | федеральное государственное бюджетное образовательное учреждение высшего образования "Ульяновский государственный технический университет" | Interface device |
Also Published As
Publication number | Publication date |
---|---|
RU2010121016A (en) | 2011-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7747888B2 (en) | Technique to create link determinism | |
US7689853B2 (en) | Synchronization of network communication link | |
US6625675B2 (en) | Processor for determining physical lane skew order | |
US4785396A (en) | Push-pull serial bus coupled to a plurality of devices each having collision detection circuit and arbitration circuit | |
US7328399B2 (en) | Synchronous serial data communication bus | |
US7020757B2 (en) | Providing an arrangement of memory devices to enable high-speed data access | |
US4797951A (en) | Parallel optical data transmission system | |
US8464145B2 (en) | Serial interface devices, systems and methods | |
US20040208130A1 (en) | Data processing apparatus and data processing method | |
US20080147916A1 (en) | Data synchronization method of data buffer device | |
US20040133714A1 (en) | Transaction partitioning | |
RU103013U1 (en) | COMMUNICATION INTERFACE DEVICE | |
US6886062B2 (en) | Method and apparatus for improving time constraints and extending limited length cables in a multiple-speed bus | |
US20130251006A1 (en) | Data packet flow control across an asynchronous clock domain boundary | |
RU2460124C2 (en) | Communication interface device | |
US20050015522A1 (en) | Removing lane-to-lane skew | |
US6557060B1 (en) | Data transfer in host expansion bridge | |
US6463494B1 (en) | Method and system for implementing control signals on a low pin count bus | |
JPS6021502B2 (en) | data transmission system | |
US4972345A (en) | Apparatus for error detection and reporting on a synchronous bus | |
RU126162U1 (en) | COMMUNICATION INTERFACE DEVICE FOR NETWORK Space Wire | |
RU2483351C1 (en) | COMMUNICATION INTERFACE DEVICE FOR SpaceWire NETWORK | |
US12170128B2 (en) | Circuit for synchronization for an interconnection protocol, controller and storage device | |
US5928375A (en) | Method for enhancing data transmission in parity based data processing systems | |
RU2700560C1 (en) | Gigaspacewire communication interface device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PC43 | Official registration of the transfer of the exclusive right without contract for inventions |
Effective date: 20161024 |
|
QB4A | Licence on use of patent |
Free format text: LICENCE FORMERLY AGREED ON 20210827 Effective date: 20210827 |