RU2691886C1 - Complex-functional unit for vlsi-type system on chip - Google Patents

Complex-functional unit for vlsi-type system on chip Download PDF

Info

Publication number
RU2691886C1
RU2691886C1 RU2018129755A RU2018129755A RU2691886C1 RU 2691886 C1 RU2691886 C1 RU 2691886C1 RU 2018129755 A RU2018129755 A RU 2018129755A RU 2018129755 A RU2018129755 A RU 2018129755A RU 2691886 C1 RU2691886 C1 RU 2691886C1
Authority
RU
Russia
Prior art keywords
data
bus
controller
slave
local memory
Prior art date
Application number
RU2018129755A
Other languages
Russian (ru)
Original Assignee
Общество с ограниченной ответственностью "ТЕКОН Микропроцессорные технологии"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Общество с ограниченной ответственностью "ТЕКОН Микропроцессорные технологии" filed Critical Общество с ограниченной ответственностью "ТЕКОН Микропроцессорные технологии"
Priority to RU2018129755A priority Critical patent/RU2691886C1/en
Application granted granted Critical
Publication of RU2691886C1 publication Critical patent/RU2691886C1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)

Abstract

FIELD: data processing and transmission.SUBSTANCE: device is made with possibility of its operation in mode of master electronic device or in mode of slave electronic device in system of electronic devices, in which serial data communication via bus between master electronic device and at least two slave electronic devices, contains local memory, in which a descriptor table and a data storage area are located, a DMA controller for exchanging data between the system memory of the VLSI and the local memory of the unit, a bus controller for communicating data between the local block memory and the bus, a handler list handler for controlling operation of the DMA controller and the bus controller in accordance with descriptors in the local memory.EFFECT: technical result consists in automation of data exchange between electronic devices, providing possibility of use in real-time systems, and high level of reliability of transmitted information.1 cl, 12 dwg, 4 tbl

Description

Изобретение относится к области сетей передачи данных. В заявке описан интерфейсный сложно-функциональный блок (СФ-блок), разработанный для СБИС типа «система на кристалле», предназначенный для обмена данными в соответствии с протоколом.The invention relates to the field of data networks. The application describes an interface complex-functional unit (SF-unit), designed for VLSI type "system on chip", designed to exchange data in accordance with the protocol.

В ходе работ по разработки СБИС типа «система на кристалле» (далее СнК) для применения в составе промышленных компьютеров, в том числе в контроллерном оборудовании, терминалах релейной защиты и автоматики и автоматизированных системах управления технологическими процессами (АСУТП) был разработан функционально законченный СФ-блок "TSI_controller", предназначенный для программной и аппаратной реализации протокола. С помощью СФ-блока "TSI_controller" осуществляется обмен данными по шине с внешними по отношению к СнК устройствами. СнК с заявляемым СФ-блоком изготовлена по КМОП-технологии 28 нм. Описанный в заявке СФ-блок в зависимости от области применения поддерживает один из двух протоколов. Первый протокол (ТМВ5000) описан в заявке на изобретение ЕА №201700029 А1, опубликованной 28.02.2018 г. и в заявке на изобретение RU №2018111465, поданной 30.03.2018 г. Второй протокол (TSI) описан в данной заявке. При описании СФ-блока и протокола используемые термины имеют следующее значение:In the course of work on the development of VLSI type "system on chip" (hereinafter SoC) for use in industrial computers, including controller equipment, relay protection and automation terminals and automated process control systems (APCS), a functionally finished SF block "TSI_controller", designed for software and hardware implementation of the protocol. Using the TSIcontroller SF block, data is exchanged on the bus with external devices in relation to SoC. SoC with the claimed SF-block manufactured by 28 nm CMOS technology. The SF block described in the application, depending on the application, supports one of the two protocols. The first protocol (TMB5000) is described in the application for the invention of EA No. 201700029 A1, published on February 28, 2018, and in the application for invention RU No. 2014111465, filed on 03/30/2018. The second protocol (TSI) is described in this application. When describing the SF block and protocol, the terms used have the following meaning:

«Протокол обмена данными» или «протокол передачи данных» - набор правил и соглашений, определяющих содержимое, формат, параметры времени, последовательность и проверку ошибок в сообщениях, которыми обмениваются устройства системы.“Data exchange protocol” or “data transfer protocol” - a set of rules and agreements that define the content, format, time parameters, sequence and error checking in messages exchanged between devices of the system.

«Ведущее устройство (Master)» - устройство, которое посылает данные другим устройствам и/или запрашивает данные от других устройств, т.е. является инициатором в обмене данными с ведомым устройством.“Master device” is a device that sends data to other devices and / or requests data from other devices, i.e. is the initiator in the exchange of data with the slave.

«Ведомое устройство (Slave)» - устройство, которое может обмениваться информацией только с ведущим устройством после того, как от ведущего устройства поступит соответствующий запрос."Slave device" - a device that can exchange information only with the master device after the corresponding request is received from the master device.

«Абоненты интерфейса» - электронные устройства, обмен данными между которыми осуществляется посредством магистрального последовательного интерфейса."Interface Subscribers" - electronic devices, the exchange of data between which is carried out through the main serial interface.

«Шина» - дифференциальная витая пара проводов или дифференциальная пара проводников на печатной плате, по которой осуществляют передачу данных в виде электрических сигналов от отправителя к получателю.“Bus” is a differential twisted pair of wires or a differential pair of conductors on a printed circuit board, through which data is transmitted in the form of electrical signals from the sender to the receiver.

«Общая шина» или «магистраль» - тип линии связи, при котором все абоненты подсоединены к общей линии связи. Общая линия связи используется всеми абонентами по очереди. Все сообщения, посылаемые отдельными абонентами, прослушиваются всеми остальными абонентами, подключенными к линии связи, но из потока сообщений абонент отбирает только адресованные ему сообщения.“Shared bus” or “trunk” is a type of communication line in which all subscribers are connected to a common communication line. The common line of communication is used by all subscribers in turn. All messages sent by individual subscribers are heard by all other subscribers connected to the communication line, but the subscriber selects only messages addressed to him from the message flow.

«Слово» - строка битов, рассматриваемая как единое целое при их передаче, приеме, коммутации, обработке, отображении и хранении.A “word” is a string of bits that is considered as a whole when transmitted, received, switched, processed, displayed, and stored.

«Контрольный пакет» - блок данных, обрабатываемый сетевыми программами как единое целое. Пакет состоит из данных, выполняющих роль служебной информации, необходимых для реализации протокола.“Control package” is a block of data processed by network programs as a whole. The package consists of data that performs the role of service information necessary to implement the protocol.

«Информационный пакет» - блок данных, обрабатываемый сетевыми программами, как единое целое. Пакет состоит из служебных данных и полезных данных, которые должны быть переданы."Information Package" is a data block processed by network programs as a whole. A packet consists of service data and payload that must be transferred.

Общая структура контрольного или информационного пакета определяется составом пакета и его форматом.The overall structure of the control or information package is determined by the composition of the package and its format.

«Состав» - содержащиеся в пакете различные типы данных.“Composition” - various types of data contained in the package.

«Формат» - размерность и порядок размещения различных типов данных."Format" - the dimension and order of placement of various types of data.

«Сообщение» - последовательность передаваемых контрольного и информационного пакетов.“Message” is a sequence of transmitted control and information packets.

Аппаратное и программное исполнение интерфейсного периферийного устройства зависит от того, для реализации какого протокола оно предназначено и от предъявляемых к нему специальных требований.The hardware and software execution of the interface peripheral device depends on what protocol it is intended to implement and on the special requirements imposed on it.

Из патентных источников известны устройства ввода-вывода, используемые для реализации следующих интерфейсов:From patent sources known input-output devices used to implement the following interfaces:

- Известно устройство коммуникационного интерфейса (контроллер) для сети Space Wire (патент RU №2483351 С1 и патент RU №175049 U9) для многопроцессорных вычислительных систем с распределенной обработкой информации и для локальных вычислительных сетей, создаваемых на базе технологии Space Wire [ECSS Standard ECSS-E-50-12A, "SpaceWire, Links, Nodes, Routersand Networks", Issue 1, European Cooperation for Space Data Standardization, February 2003]. Данное устройство предназначено для сбора информации от множества датчиков и других подобных модулей, не имеющих процессорного управления, при построении распределенных вычислительных систем, используемых во встраиваемых применениях, в том числе в бортовых вычислительных комплексах. Контроллер SpaceWire образован приемником и передатчиком с необходимыми элементами управления и интерфейсами. В сети SpaceWire узлы-абоненты связаны с маршрутизирующим коммутатором. Маршрутизирующий коммутатор обеспечивает непосредственную передачу трафика между своими входными и выходными портами. Узел-абонент отличается от коммутатора тем, что трансляция данных между его линк-портами возможна только под управлением хост устройства (т.е. реализуется программно).- A device is a communication interface (controller) for the Space Wire network (patent RU No. 2483351 C1 and patent RU No. 175049 U9) for multiprocessor computing systems with distributed information processing and for local computer networks created on the basis of the Space Wire technology [ECSS Standard ECSS- E-50-12A, "SpaceWire, Links, Nodes, Routersand Networks", Issue 1, European Cooperation for Space Data Standardization, February 2003]. This device is designed to collect information from a variety of sensors and other similar modules that do not have processor control when building distributed computing systems used in embedded applications, including onboard computing systems. The SpaceWire controller is formed by a receiver and transmitter with the necessary controls and interfaces. In the SpaceWire network, subscriber nodes are connected to a routing switch. A routing switch provides direct traffic between its input and output ports. A subscriber node differs from a switch in that the translation of data between its link ports is possible only under the control of the host device (that is, it is implemented by software).

- Известен коммуникационный модуль для сети FlexRay (патент RU №2380841 С2). Протокол FlexRay работает по методу многоабонентского доступа с временным разделением каналов, в соответствии с которым различным подключенным к шине обмена данными абонентским устройствам присваиваются различные жестко заданные интервалы времени, в течение которых эти устройства имеют исключительное право на доступ к каналу связи. Интервалы времени повторяются в каждом цикле, поэтому время, в которое сообщение передается по шине точно определено и доступ к шине является детерминированным. Абонентское устройство сети FlexRay имеет собственный процессор и контроллер шины FlexRay (коммуникационный контроллер). При этом процессором абонента формируются и обрабатываются данные, передаваемые через контроллер шины FlexRay.- Known communication module for the network FlexRay (patent RU №2380841 C2). The FlexRay protocol operates using the time-division multiplex access method, according to which different fixed-to-subscriber devices are assigned different fixed time intervals during which these devices have the exclusive right to access the communication channel. The time intervals are repeated in each cycle, so the time at which the message is transmitted over the bus is precisely defined and access to the bus is deterministic. The subscriber network device FlexRay has its own processor and FlexRay bus controller (communication controller). In this case, the subscriber's processor generates and processes data transmitted via the FlexRay bus controller.

- Известен модуль SPI для последовательного периферийного интерфейса SPI (Евстифеев А.В., Микроконтроллеры AVR семейства Classic фирмы ATMEL - 6-е изд., стер. - М.: Издательский дом «Додэка-XXI», 2008 г., серия «Мировая электроника», стр. 273-344), принятый в качестве прототипа для заявляемого сложно-функционального блока системы на кристалле. Модуль SPI реализован в микроконтроллерах AVR семейства Classic фирмы «Atmel». Модуль SPI имеет два назначения. Через него может быть осуществлено программирование микроконтроллера (так называемый режим последовательного программирования). Вторым назначением интерфейса является организация высокоскоростного обмена данными между микроконтроллером и различными периферийными устройствами, такими как цифровые потенциометры ЦАП/АЦП, Flash ПЗУ и др.- Known SPI module for SPI serial peripheral interface (AV Evstifeev, AVR Microcontrollers of the Classic family of ATMEL company - 6th ed., Sr. - M .: Dodeka-XXI Publishing House, 2008, World Series electronics ”, pp. 273-344), adopted as a prototype for the claimed complex-functional unit of the system on a chip. The SPI module is implemented in AVR microcontrollers from Atmel's Classic family. The SPI module has two purposes. Through it, the microcontroller can be programmed (the so-called sequential programming mode). The second purpose of the interface is the organization of high-speed data exchange between the microcontroller and various peripheral devices, such as digital potentiometers, D / A converter, Flash ROM, etc.

Посредством этого интерфейса также может производиться обмен данными между несколькими микроконтроллерами AVR. При обмене данными по интерфейсу SPI микроконтроллер AVR может работать как в режиме Master, так и в режиме Slave. При этом пользователь может задать скорость передачи (четыре программируемых значения) и формат передачи (от младшего разряда к старшему или наоборот).Through this interface, data can also be exchanged between several AVR microcontrollers. When exchanging data via the SPI interface, the AVR microcontroller can operate both in the Master mode and in the Slave mode. At the same time, the user can set the transfer rate (four programmable values) and the transfer format (from low-order to high-order or vice versa).

Одна из проблем, которая стоит перед разработчиками устройств ввода-вывода состоит в том, чтобы максимально автоматизировать процесс обмена данными между абонентами сети и, тем самым, разгрузить вычислительную мощность центрального процессора (ЦП). Для этого устройства ввода-вывода снабжены дополнительными устройствами, которые бы могли взять у ЦП нагрузку на управление шиной и выполнение запрограммированной последовательности сообщений по шине. Это позволит высвободить ресурсы ЦП для другой работы. Так, известен контроллер шины (патент US 4,805,137), предназначенный для передачи данных согласно интерфейсу, описанному в стандарте MIL-STD- 1553В, dated 21 September 1978, "Department of defense interface standart for digital time division command/response multiplex data bus" (обозначение стандарта министерства обороны США для интерфейса цифровой шины данных с временным разделением команда/ответ). Данный стандарт описывает магистральный последовательный интерфейс с централизованным управлением, применяемый в системе электронных устройств («контроллер», «удаленный терминал» и «монитор»). Интерфейс MIL-STD-1553В функционирует асинхронно, в режиме «команда-ответ», при котором инициирование обмена информацией и управление передачей осуществляет только «контроллер» шины. Система из электронных устройств является системой реального времени, в которой «контроллер» и «удаленные терминалы» должны отвечать в строгих временных рамках и любое взаимодействие с ЦП ухудшает реакцию системы. Недостатком известного контроллера шины является то, что он лишь частично разгружает ЦП от некоторых задач управления шиной. Для этого в контроллер шины введен «блок команд», который является главным конечным автоматом и предназначен для управления перемещением данных между регистрами и другими модулями в контроллере шины в запрограммированной последовательности независимо от ЦП. Остановка работы «блока команд» возможна при вмешательстве ЦП. Известный контроллер шины для MIL-STD-1553В реализован на двухцелевой микросхеме, которая может выполнять функции как «контроллера», так и «удаленного терминала».One of the problems that confront developers of input-output devices is to maximally automate the process of exchanging data between network subscribers and, thus, relieve the processing power of the central processor (CPU). For this, the I / O devices are equipped with additional devices that could take the CPU load on the bus control and execution of the programmed sequence of messages on the bus. This will free up CPU resources for other work. Thus, a bus controller (US patent No. 4,805,137) is known, which is designed to transmit data according to the interface described in the standard MIL-STD-1553B, dated September 21, 1978, " designation of the US Department of Defense standard for a digital command data bus interface / command / response). This standard describes a centrally controlled backbone serial interface used in an electronic device system (“controller”, “remote terminal” and “monitor”). The MIL-STD-1553B interface functions asynchronously, in the command-response mode, in which only the bus “controller” initiates information exchange and transmission control. A system of electronic devices is a real-time system in which the “controller” and “remote terminals” must respond in strict time frames and any interaction with the CPU degrades the response of the system. A disadvantage of the known bus controller is that it only partially relieves the CPU from some bus management tasks. To do this, a “command block” is introduced into the bus controller, which is the main state machine and is designed to control the movement of data between registers and other modules in the bus controller in a programmed sequence, regardless of the CPU. The operation of the “command block” can be stopped when the CPU intervenes. Known bus controller for MIL-STD-1553B is implemented on a dual-purpose chip, which can perform the functions of both a "controller" and a "remote terminal".

Известно описание системы для реализации режима "Bus Mastering" периферийных устройств в компьютерной системе (патент US 5,905,912). Известная система предназначена для обеспечения автоматической передачи данных между компьютерной системой и ее периферийными устройствами. Система также предназначена для инициирования и завершения автоматической транзакции. Кроме того, система имеет возможность обрабатывать несколько транзакций без вмешательства ЦП компьютерной системы. Для реализации перечисленных задач система для режима "Bus Mastering" периферийных устройств в компьютерной системе (в частности, персональном компьютере) состоит из четырех основных элементов:A description of the system is known for implementing the "Bus Mastering" mode of peripheral devices in a computer system (US patent 5,905,912). The known system is designed to provide automatic data transfer between a computer system and its peripheral devices. The system is also designed to initiate and complete an automatic transaction. In addition, the system has the ability to process multiple transactions without the intervention of the computer system CPU. For the implementation of these tasks, the system for the "Bus Mastering" mode of peripheral devices in a computer system (in particular, a personal computer) consists of four main elements:

- DMA-контроллера (DMA controller), предназначенного для передачи данных в память компьютерной системы и из нее.- DMA-controller (DMA controller), designed to transfer data to the memory of the computer system and from it.

- Процессора списка (List processor), связанного с DMA-контроллером для програмирования DMA-контроллера, формирования и отправки командных сигналов в DMA-контроллер и получения статуса состояния DMA-контроллера после завершения передачи данных. Список дескрипторов хранится в памяти компьютерной системы. Элементы списка дескриптора описывают каждую передачу данных, которую процессор списка инициирует, контролирует и завершает. В качестве процессора списка может быть использован микроконтроллер или ЦП компьютера.- A list processor connected to the DMA controller for programming the DMA controller, generating and sending command signals to the DMA controller and obtaining the status of the DMA controller after the data transfer is completed. The list of descriptors is stored in the memory of the computer system. Descriptor list items describe every data transfer that the list processor initiates, controls, and terminates. A microcontroller or a computer CPU can be used as a list processor.

- Контроллера периферийного устройства (Device controller), связаного с DMA-контроллером и процессором списка и предназначенного для ответа на командные сигналы из процессора списка, передачи данных в и из DMA-контроллера и после завершения передачи данных возвращения статуса завершения в процессор списка. В качестве контроллера периферийного устройства может быть использован контроллер USB, контроллер IrDA, контроллер жесткого диска IDE. Использование конкретного контроллера зависит от контролируемого периферийного устройства.- The controller of the peripheral device (Device controller) connected to the DMA controller and the list processor, designed to respond to command signals from the list processor, transfer data to and from the DMA controller after the data transfer returns the completion status to the list processor. A USB controller, an IrDA controller, an IDE hard disk controller can be used as a peripheral controller. The use of a particular controller depends on the peripheral being monitored.

- Контроллера шины (Bus controller), связанного с DMA-контроллером и процессором списка. Контроллер шины реализует запрос передачи данных из памяти компьютерной системы в DMA-контроллер и процессор списка. Процессор списка направляет команды контроллеру периферийного устройства и получает статус завершения от контроллера периферийного устройства. DMA-контроллер передает блоки данных между памятью компьютерной системы и контроллером периферийных устройств. Недостатком описанной системы является то, что в ней не обеспечено детерминированное время доступа процессора списка к дескрипторам, находящимся в памяти компьютерной системы, и, следовательно, она не может быть использована в системах реального времени, где система должна реагировать в рамках требуемых жестко фиксированных временных диапазонах.- Bus controller associated with the DMA controller and processor list. The bus controller implements the request to transfer data from the memory of the computer system to the DMA controller and the list processor. The list processor sends commands to the peripheral device controller and receives the completion status from the peripheral controller. The DMA controller transfers data blocks between the memory of the computer system and the peripheral controller. The disadvantage of the described system is that it does not provide a deterministic access time of the list processor to descriptors stored in the memory of the computer system, and, therefore, it cannot be used in real-time systems where the system must respond within the required rigidly fixed time ranges. .

СФ-блок, описанный в данной заявке, является периферийным блоком СнК, предназначенной для использования в вычислительных машинах для систем управления физическими процессами (контроллерное оборудование, терминалы релейной защиты и автоматики и АСУ ТП), которые являются системами реального времени. Корректность функционирования систем реального времени определяется не только корректностью выполнения вычислений, но и временем, в которое получен требуемый результат. Если требования по времени не выполняются, то считается, что произошел отказ системы.The SF block described in this application is a peripheral SoC block intended for use in computers for physical process control systems (controller equipment, relay protection and automation terminals and process control systems), which are real-time systems. The correctness of the functioning of real-time systems is determined not only by the correctness of the calculations, but also by the time at which the desired result is obtained. If the time requirements are not met, the system is considered to have failed.

Цель изобретения является разработка периферийного интерфейсного СФ-блока для систем на кристалле класса микропроцессоров или микроконтроллеров, обеспечивающего передачу данных в соответствии с описанным в заявке протоколом. СФ-блок должен быть построен таким образом, чтобы максимально автоматизировать процесс обмена данными между электронными устройствами. СФ-блок должен обеспечивать детерминированное время реакции для возможности использования его в системах реального времени. СФ-блок должен обеспечить определенный уровень достоверности передаваемой информации. СФ-блок должен иметь возможность работать как в режиме ведущего устройства, так и в режиме ведомого устройства, а также в режиме монитор.The purpose of the invention is to develop a peripheral interface SF-block for systems on a chip of a class of microprocessors or microcontrollers, providing data transmission in accordance with the protocol described in the application. The SF block should be designed in such a way as to maximally automate the process of data exchange between electronic devices. The SF block must provide deterministic reaction time for its use in real-time systems. SF block must provide a certain level of reliability of the transmitted information. The SF block must be able to operate in both master mode and slave mode, as well as in monitor mode.

Технический результат достигается тем, что интерфейсный СФ-блок для СБИС типа система на кристалле выполнен таким образом, что он может работать как ведущим электронным устройством так и ведомым электронным устройством с системе электронных устройств, в которой осуществляется последовательный обмен данными по шине между ведущим электронным устройством и по меньшей мере двумя ведомыми электронными устройствами. СФ-блок содержит локальную память, в которой расположена таблица дескрипторов и область для хранения данных, DMA-контроллер, предназначенный для обмена данными между системной памятью СБИС и локальной памятью блока, контроллер шины, предназначенный для обмена данными между локальной памятью блока и шиной, обработчик списка дескрипторов, предназначенный для управления в соответствии с дескрипторами в локальной памяти работой DMA-контроллера и контроллера шины.The technical result is achieved by the fact that the interface SF block for VLSI type system-on-chip is designed in such a way that it can operate as a master electronic device and a slave electronic device with an electronic device system in which serial data is exchanged over the bus between the master electronic device and at least two slave electronic devices. The SF block contains a local memory in which the descriptor table and a storage area are located, a DMA controller for exchanging data between the VLSI system memory and the local block memory, a bus controller for exchanging data between the local block memory and the bus, a handler a list of descriptors designed to control, in accordance with the descriptors in the local memory, the operation of the DMA controller and the bus controller.

Краткое описание чертежей:Brief Description of the Drawings:

фиг. 1 - структурная схема системы, в которой абоненты подсоединены к общей линии связи типа «магистраль»;FIG. 1 is a block diagram of a system in which subscribers are connected to a common trunk link;

фиг. 2 - структурная схема блоков СнК;FIG. 2 - block diagram of SoC blocks;

фиг. 3 - структурная схема СФ-блока, на которой линиями показаны потоки передачи данных (управляющие сигналы не показаны);FIG. 3 is a block diagram of the SF block, in which data flow is shown by lines (control signals not shown);

фиг. 4 - передача логических нуля и единицы в коде «Манчестер-2»;FIG. 4 - transfer of logical zero and one in the Manchester-2 code;

фиг. 5 - синхросигнал пакета данных и синхросигнал контрольного пакета;FIG. 5 - data packet sync and control burst sync;

фиг. 6 - структура пакета данных (DATA);FIG. 6 - data packet structure (DATA);

фиг. 7 - структура контрольного пакета (CTRL);FIG. 7 - control package structure (CTRL);

фиг. 8 - структура информационного пакета (CTRL+DATA);FIG. 8 - information package structure (CTRL + DATA);

фиг. 9 - формат сообщений «записи данных в ведомое устройство»;FIG. 9 - the format of messages "write data to the slave device";

фиг. 10 - формат сообщений «широковещательное сообщение»;FIG. 10 - message format "broadcast message";

фиг. 11 - формат сообщений «чтение данных из ведомого устройства»;FIG. 11 - “read data from slave device” message format;

фиг. 12 - формат сообщений «невозможность ведомого устройства выдать запрашиваемые данные».FIG. 12 - the message format "the inability of the slave to issue the requested data."

Для того, чтобы осуществить обмен данными 1 (фиг. 1) по описанному в заявке протоколу использована система, в которой происходит обмен данными между абонентами (2, 3, 4) по шине 5. Для обмена данными достаточно, чтобы по меньшей мере один из абонентов содержал ведущее электронное устройство (Master) 6 (далее ведущее устройство) и по меньшей мере два абонента содержали по ведомому электронному устройству (Slave) 7 и 8 (далее ведомое устройство). Обмен данными в системе происходит по заданному циклу.In order to exchange data 1 (Fig. 1) according to the protocol described in the application, a system is used in which data is exchanged between subscribers (2, 3, 4) via bus 5. For data exchange, it is enough that at least one of subscribers contained the master electronic device (Master) 6 (hereinafter the master device) and at least two subscribers contained a slave electronic device (Slave) 7 and 8 (hereinafter the slave device). Data exchange in the system occurs on a specified cycle.

Для примера, в контроллере с программируемой логикой (ПЛК) абонентами 2, 3 и 4 выступают модуль центрального процессора, модуль ввода и/или модуль вывода, а в качестве шины 5 используется внутренняя цифровая шина ПЖ. На фиг. 1 также показаны устройства полевого (нижнего) уровня, а именно датчик 9 частоты вращения, подключенный к модулю ввода 3-й двигатель 10, подключенный к модулю вывода 4. Также показанная на фиг. 1 система обмена данными между абонентами содержит абонент 11 с электронным устройством монитор (Monitor) 12, предназначенным для «прослушивания» трафика на шине 5. В ПЛК таким абонентом может быть резервный модуль центрального процессора. Только один из двух резервных модулей центральных процессоров ПЛК может быть активен одновременно. При выходе из строя модуля центрального процессора с ведущим устройством (Master) другой модуль центрального процессора с устройством монитор (Monitor) берет инициирование обмена информацией по шине на себя. В качестве абонента могут выступать интеллектуальный датчик и/или интеллектуальный электропривод 13, подключенный через ведомое электронное устройство 14 непосредственно к шине 5. В качестве ведущего устройства 6, ведомого устройства 7 и в качестве устройства монитор 12 может быть использован описанный в данной заявке СФ-блок, который является периферийным интерфейсным блоком СнК (SoC) 15. СФ-блок поддерживает работу и с дублированными шинами 5 и 16.For example, in a programmable logic controller (PLC), subscribers 2, 3 and 4 are the central processor unit, input module and / or output module, and the internal digital bus RV is used as bus 5. FIG. 1 also shows field (low) level devices, namely, a rotational speed sensor 9 connected to an input module; a 3rd engine 10 connected to an output module 4. Also shown in FIG. 1, the data exchange system between subscribers contains subscriber 11 with an electronic monitor device (Monitor) 12, designed to “listen” for traffic on bus 5. In a PLC, such a subscriber may be a backup central processor unit. Only one of the two redundant PLC CPU modules can be active at the same time. If a central processor unit with a master (Master) fails, another central unit with a monitor device (Monitor) takes over the initiation of information exchange on the bus. The subscriber can be an intelligent sensor and / or an intelligent electric drive 13 connected via the slave electronic device 14 directly to the bus 5. The monitor 12 can be used as the master device 6, the slave device 7 and the device 12 as described in this application , which is a peripheral interface unit SoC (SoC) 15. The SF-unit supports work with duplicated tires 5 and 16.

СнК 15 (фиг. 2) содержит следующие основные функциональные узлы: один или несколько цетральных процессоров (CPU) 17, внутреннюю системную память (SRAM) 18, устройства ввода-вывода 19 (одно или несколько устройств ввода-вывода это описываемый в заявке СФ-блок 19), и контроллер памяти (МС) 20, предназначенный для управления вводом и выводом данных из внешней памяти (SDRAM) 21. Основные функциональные узлы соединены друг с другом блоком (блоками) межсоединений (INTERCONNECT UNIT(S)) 22. Центральный процессор 17 является центральным устройством обработки и управления общей работой СнК.SoC 15 (Fig. 2) contains the following main functional units: one or several central processors (CPU) 17, internal system memory (SRAM) 18, input-output devices 19 (one or several input-output devices described in the SF-1 application unit 19), and a memory controller (MS) 20, designed to control the input and output of data from external memory (SDRAM) 21. The main functional units are interconnected by interconnects block (blocks) (INTERCONNECT UNIT (S)) 22. Central processor 17 is the central processing and control unit the work of SoC.

СФ-блок 19 может работать в одном из трех режимов: «Ведущий», «Ведомый», «Монитор».The SF-unit 19 can operate in one of three modes: “Master”, “Slave”, “Monitor”.

СФ-блок 19 (фиг. 3) содержит обработчик 23 списка дескрипторов (далее ОСД) с DMA-контроллером 24, массив контрольно-статусных регистров 25, локальную память 26, контроллер 27 шины, блок 28 низкоуровневого ввода-вывода. В состав СФ-блока входят мультиплексоры (не обозначенные позицией). СФ-блок может работать как с одной шиной 5, так и поддерживает работу с дублированными шинами 5 и 16.The SF block 19 (Fig. 3) contains a handler 23 of the list of descriptors (hereinafter referred to as OSD) with a DMA controller 24, an array of control and status registers 25, a local memory 26, a bus controller 27, a low level I / O block 28. The SF block includes multiplexers (not indicated by a position). The SF block can work with one bus 5, and supports work with duplicated tires 5 and 16.

В качестве шины 5 может быть использована M-LVDS - технология низковольтной дифференциальной передачи сигналов малых напряжений, описанная в международном промышленном стандарте TIA/EIA-899-2002 (Electrical Characteristics of Multipoint-Low-Voltage Differential Signaling (M-LVDS) Interface Circuitsfor Multipoint Data Interchange). Стандарт Multipoint LVDS (M-LVDS) разработан для многоточечного двунаправленного обмена информацией. Для этого осуществляют полудуплексную передачу данных по одной шине.As bus 5, M-LVDS can be used - low-voltage low-voltage differential signaling technology described in TIA / EIA-899-2002 international industrial standard (Electrical Characteristics of Multipoint-Low-Voltage Differential Signaling (M-LVDS) Interface Circuitsfor Multipoint Data Interchange). Multipoint LVDS (M-LVDS) is designed for multipoint bidirectional communication. To do this, carry out half-duplex data transmission on a single bus.

Обмен данными СФ-блока с основными функциональными узлами СнК 15 осуществляется по системным шинам AXI 29 и/или АРВ 30.Data exchange of the IP-block with the main functional units of the SoC 15 is carried out through the system buses AXI 29 and / or ARV 30.

Локальная память 26 размером 8 Кб с организацией 2048x32 размещена внутри СФ-блока. При работе СФ-блока в качестве ведущего устройства доступ ОСД 23 к дескрипторам занимает 1 такт. Это обеспечивает детерминированное время получения задания (управляющей информации), что имеет большое значение для систем реального времени.Local memory 26 of 8 KB in size with the organization of 2048x32 is located inside the SF block. When the SF block is used as the master device, the access of the OLD 23 to the descriptors takes 1 clock. This provides a deterministic task acquisition time (control information), which is of great importance for real-time systems.

В зависимости от режима работы СФ-блока локальная память имеет разную организацию. В режиме «Ведущий» в локальной памяти 26 расположены таблица 31 дескрипторов и область памяти 32 для данных. Область памяти 32 для данных предназначена для промежуточного хранения подлежащих передаче и принятых данных.Depending on the operation mode of the SF block, local memory has a different organization. In the “Master” mode, the table 31 of descriptors and the memory area 32 for data are located in the local memory 26. The memory area 32 for data is intended for intermediate storage of data to be transmitted and received data.

В таблице 31 дескрипторов содержится:Table 31 of the descriptors contains:

- управляющая информация для формирования транзакции на шине;- control information for forming a transaction on the bus;

- адрес буфера данных в системной памяти;- the address of the data buffer in system memory;

- результат выполнения транзакции (обновляется после выполнения транзакции).- the result of the transaction (updated after the transaction).

В дескриптор системное ПО заносит такие данные как адреса ведомых, номера адресных пространств, размеры адресных пространств, период опроса конкретного адресного пространства конкретного ведомого устройства, направление операции (чтение/запись), тип операции (пространство данных или пространство конфигурации), маска прерывания по окончанию обмена по шине данными из текущего дескриптора и период цикла обмена. При создании таблицы дескрипторов необходимо, чтобы в локальной памяти осталось достаточно места для пакета данных максимальной длины.In the descriptor, the system software records such data as slave addresses, address space numbers, address space sizes, polling period of a specific address space of a specific slave, direction of operation (read / write), type of operation (data space or configuration space), end-of-interrupt mask data exchange on the bus from the current descriptor and the period of the exchange cycle. When creating a descriptor table, it is necessary that there is enough space in the local memory for a data packet of maximum length.

В режиме «Ведомый» в локальной памяти расположены таблица описания адресных пространств и адресное пространство - область памяти для хранения полезных данных.In the “Slave” mode, the table of address space description is located in local memory, and the address space is a memory area for storing useful data.

Figure 00000001
Figure 00000001

*Резерв - признак зарезервированных битов, логическое значение которых разработчик может задать самостоятельно.* Spare - a sign of reserved bits, the developer can set the logical value independently.

*ADP - признак адаптивного чтения полезной информации. Занимает один бит слова. Изменение значения данного бита возможно в типе сообщения «чтение данных из ведомого устройства». Значение данного бита изменяет ведомое устройство в отправляемом ответном информационном пакете, если в адресном пространстве реально содержится меньшее количество слов полезных данных, чем запросило ведущее устройство.* ADP - a sign of adaptive reading of useful information. Takes one bit of a word. Changing the value of this bit is possible in the message type reading data from the slave device. The value of this bit changes the slave device in the sent information packet, if the address space actually contains fewer words of useful data than the master requested.

Блок 28 обеспечивает базовый функционал ввода и вывода данных по шине 5. Функционал ввода и вывода блока 28 не меняется в зависимости от режима СФ-блока. Блок 28 содержит приемники 33 и 34, передатчик 35, теневые FIFO буферы 36 и 37, детектор (обработчик) 38 ошибок шины, мультиплексор 39 выходов FIFO буферов и блок 40 контроля работоспособности шин. Данные, поступившие с шины 5 и/или шин 5 и 16, попадают в приемники 33 и 34, а затем в FIFO буферы 36 и 37. Размер FiFO буфера 256 слов. После окончания приема данных детектор 38 ошибок шины производит анализ ошибок и далее используются данные из того FIFO буфера, в процессе приема у которого не возникало ошибок. Имеется возможность продиагностировать следующие ошибки: ошибки CRC, ошибки Parity bit, ошибки Манчестерского кода и ошибки в процессе передачи данных, вызванные отказом драйверов шин. Блок контроля работоспособности шин выполняет свою функцию путем сравнения передаваемых и получаемых данных.Block 28 provides basic input and output functionality for bus 5. The input and output functionality of unit 28 does not change depending on the mode of the SF block. Block 28 contains receivers 33 and 34, transmitter 35, shadow FIFO buffers 36 and 37, a bus error detector (handler) 38, a multiplexer 39 of FIFO buffers and a bus health monitoring unit 40. The data received from the bus 5 and / or tires 5 and 16, go to the receivers 33 and 34, and then to the FIFO buffers 36 and 37. The FiFO buffer size is 256 words. After the end of data reception, the bus error detector 38 analyzes the errors and then uses data from that FIFO buffer, which did not have any errors in the reception process. It is possible to diagnose the following errors: CRC errors, Parity bit errors, Manchester code errors and errors in the data transfer process caused by the failure of tire drivers. The bus health monitoring unit performs its function by comparing the transmitted and received data.

ОСД 23 производит обработку строк из таблицы дескрипторов. Содержит DMA - контроллер 24 для обмена данными между локальной и системной памятью. Управляет работой DMA-контроллера 24 и работой контроллера 27 шины. ОСД 23 выполнен с возможностью работы как с "соблюдением цикла шины" (временной интервал, за который должен произойти один проход по всей таблице дескрипторов), так и "без отсутствия слежения за циклом шины". При "соблюдении цикла шины", если проход по всей таблице дескрипторов осуществился раньше конца цикла шины, СФ-блок переходит в режим ожидания с запросом прерывания. В случае, когда время обработки дескрипторов превысило время цикла шины, СФ-блок запрашивает прерывание, при этом ОСД продолжает работу, а отсчет нового цикла шины начнется, как только начнется обработка первого дескриптора. "Без отсутствия слежения за циклом шины" ОСД переходит к обработке первого дескриптора сразу после окончания обработки последнего. Включение и выключение ОСД происходит только после окончания обработки текущей транзакции.The OSD 23 processes the rows from the descriptor table. It contains a DMA controller 24 for exchanging data between local and system memory. Controls the operation of the DMA controller 24 and the operation of the bus controller 27. The DSD 23 is designed to work with both “adhering to the bus cycle” (the time interval for which one pass should occur throughout the descriptor table) and “without the absence of tracking for the bus cycle”. When "respecting the bus cycle", if the passage through the entire descriptor table is carried out before the end of the bus cycle, the SF-block goes into standby mode with an interrupt request. In the case when the processing time of the descriptors has exceeded the bus cycle time, the SF block requests an interrupt, while the DSD continues to work, and the countdown of the new bus cycle begins as soon as the processing of the first descriptor begins. “Without no tracking of the bus cycle”, the OSD proceeds to processing the first descriptor immediately after processing the last one. The switching on and off of the DSD occurs only after the end of the processing of the current transaction.

Контроллер 27 шины реализует логику режимов работы «Ведущий», «Ведомый» или «Монитор». Контроллер 27 шины производит передачу данных между блоком 28 и локальной памятью 26, формирует контрольные пакеты, производит обновление регистров статистики.The bus controller 27 implements the logic of the Master, Slave or Monitor modes. The bus controller 27 transfers data between block 28 and local memory 26, forms control packets, updates statistics registers.

Работа СФ-блока в режиме «Ведущий»: системное ПО формирует таблицу дескрипторов в локальной памяти и производит настройку СФ-блока. По запуску ОСД 23 по порядку вычитывает и обрабатывает дескрипторы из локальной памяти. По «управляющей информации» из дескриптора ОСД 23 отдает соответствующие команды DMA-контроллеру 24. Параллельно с этим контроллер 27 шины ожидает сигналы от ОСД 23 на «запись» или «чтение» данных в ведомое устройство. При получении такой команды от ОСД 23 контроллер 27 шины выполняет последовательность действий, соответствующих типу запроса. В случае «записи» данных в ведомое устройство выполняются следующие действия: с помощью DMA-контроллера происходит загрузка данных, принимаемых по системной шине AXI, в локальную память. Контроллер 27 шины читает данные из локальной памяти и предает их в шину. По завершению передачи данных контроллер 27 шины информирует об этом ОСД 23 и переходит в режим ожидания новой команды. После завершения обработки дескриптора «управляющая информация» ОСД 23 производит обновление дескриптора «результат выполнения транзакции» в локальной памяти и переходит к обработке следующего дескриптора. Таким образом, можно проследить следующий поток данных: системная шина - DMA - локальная память - контроллер шины.The work of the SF-block in the “Master” mode: the system software generates a table of descriptors in the local memory and configures the SF-block. By launching the OSD 23, in order, it reads and processes the descriptors from the local memory. According to the “control information” from the OSD descriptor 23, the corresponding commands are sent to the DMA controller 24. In parallel, the bus controller 27 waits for signals from the OSD 23 to “write” or “read” the data to the slave device. Upon receipt of such a command from OSD 23, the bus controller 27 performs a sequence of actions corresponding to the type of request. In the case of “writing” data to the slave device, the following actions are performed: using the DMA controller, the data received via the AXI system bus is loaded into the local memory. The bus controller 27 reads the data from the local memory and transmits it to the bus. Upon completion of the data transfer, the bus controller 27 informs the DSD 23 of this and goes into standby mode of a new command. After the processing of the “control information” descriptor is completed, the DOS 23 updates the “transaction result” descriptor in the local memory and proceeds to process the next descriptor. Thus, the following data flow can be traced: system bus - DMA - local memory - bus controller.

В случае «чтения» данных из ведомого устройства выполняются следующие действия: контроллер 27 шины читает данные с шины и передает их в локальную память, откуда с помощью DMA-контроллера 24 данные передаются в системную шину AXI. По завершению передачи данных из локальной памяти контроллер 27 шины информирует об этом ОСД 23 и переходит в режим ожидания новой команды.In the case of “reading” the data from the slave, the following actions are performed: the bus controller 27 reads the data from the bus and transfers them to the local memory, from where the data is transferred to the AXI system bus using the DMA controller 24. Upon completion of the transfer of data from the local memory, the bus controller 27 informs the DSD 23 of this and goes into standby mode of a new command.

После завершения обработки дескриптора «управляющая информация» ОСД 23 производит обновление дескриптора «результат выполнения транзакции» в локальной памяти и переходит к обработке следующего дескриптора. Таким образом, можно проследить следующий поток данных: шина - контроллер шины - локальная память - DMA - системная шина.After the processing of the “control information” descriptor is completed, the DOS 23 updates the “transaction result” descriptor in the local memory and proceeds to process the next descriptor. Thus, the following data flow can be traced: bus - bus controller - local memory - DMA - system bus.

Таким образом, системное ПО в начале работы однократно инициализирует СФ-блок, после этого СФ-блок без вмешательства системного ПО производит каждый цикл обмена данными по шине, перекладывая полученные данные в системную память. Таким образом, обеспечивается возможность автоматизировать работу СФ-блока и, тем самым, разгрузить (высвободить) ресурсы центрального процессора СнК для другой работы.Thus, at the beginning of work, the system software initializes the SF-block once, then the SF-block, without the intervention of the system software, performs each cycle of data exchange over the bus, transferring the data to the system memory. Thus, it is possible to automate the work of the SF-block and, thereby, unload (release) the resources of the central SoC processor for other work.

После окончания обработки таблицы дескрипторов может быть сформировано прерывание, после которого возможно обновление данных таблицы дескриптора системным ПО.After the end of processing the descriptor table, an interruption can be formed, after which it is possible to update the descriptor table data with the system software.

Работа СФ-блока в режиме «Ведомого»: СФ-блок в режиме «Ведомого» реализует логику доступа к своим адресным пространствам посредством запросов по шине. Адресное пространство - область памяти, находящаяся в локальной памяти и содержащая полезные данные. Каждое адресное пространство описано в таблице описания адресных пространств. Системное ПО в начале работы однократно инициализирует СФ-блок, после чего транзакции приема или передачи данных проводятся в автоматическом режиме без участия системного ПО. Доступ к локальной памяти возможен только через шину АРВ. В режиме ведомого ОСД не активен и обмен данными посредством DMA-контроллера недоступен. По запуску контроллер 27 шины ожидает сигналы приема контрольного/информационного пакета от блока 28, после чего обрабатывает пакет и обращается в локальную память по адресу страницы равному номеру адресного пространства данных из контрольного пакета. По этому адресу в локальной памяти лежит описание запрашиваемого адресного пространства. Одно из его полей "Memory address" - адрес первого слова данных в локальной памяти, соответствующий этому адресному пространству. Если запрос был на запись, то происходит запись приходящих данных по этому адресу. Если запрос был на чтение, то происходит чтение данных из этого адреса. После окончания обработки контрольного/информационного пакета может быть вызвано прерывание, по которому происходит обновление данных системным ПО.Work of the SF block in the Slave mode: The SF block in the Slave mode implements the logic of access to its address spaces via bus queries. The address space is a memory area located in local memory and containing useful data. Each address space is described in the address space description table. The system software at the start of work once initializes the SF block, after which the data transfer or receive transactions are carried out automatically without the involvement of the system software. Access to local memory is possible only via the ARV bus. In slave mode, the DSD is not active and data exchange via the DMA controller is not available. Upon launch, the bus controller 27 waits for receiving a control / information packet from block 28, after which it processes the packet and contacts the local memory at the page address equal to the data address space number from the control packet. At this address in the local memory is the description of the requested address space. One of its fields "Memory address" is the address of the first data word in the local memory, corresponding to this address space. If the request was for recording, then incoming data is recorded at this address. If the request was read, then data is read from this address. After the processing of the control / information packet is completed, an interruption may be triggered, according to which the system software updates data.

Работа СФ-блока в режиме «Монитор»: СФ-блок в режиме «Монитора» выполняет функцию сбора и записи в системную память всего траффика, идущего по шине. Производится запись контрольных пакетов и пакетов данных. Каждый пакет, приходящий с шины, дополняется специальным дескриптором, идущим перед данными, и записывается в системную память. При этом записываются только информационные слова, слова CRC отбрасываются. В память записываются только те пакеты, при приеме которых не возникло ошибок. При возникновении ошибок в процессе приема принимаемый пакет отбрасывается, и будет выставлен соответствующий флаг. Работа в режиме «Монитора» похожа на работу в режиме «Ведущий» с использованием внеочередных дескрипторов. В режиме «Монитор» ОСД 23 имеет такой же функционал, как и в режиме «Ведущий».The work of the SF-block in the “Monitor” mode: The SF-block in the “Monitor” mode performs the function of collecting and writing to the system memory of all traffic going on the bus. The control and data packets are recorded. Each packet coming from the bus is supplemented with a special descriptor that goes before the data and is written to the system memory. In this case, only informational words are recorded, the words CRC are discarded. Only those packets are written to the memory, with the reception of which no errors occurred. If errors occur in the process of receiving the received packet is discarded, and the corresponding flag will be set. Working in the Monitor mode is similar to working in the Master mode using extraordinary descriptors. In the “Monitor” mode, the OSD 23 has the same functionality as in the “Master” mode.

В СФ-блоке реализована возможность изменения длины CRC (регистр длины CRC полинома), начального значения CRC (регистр начального значения CRC) и полинома CRC (регистр значения CRC полинома) в режиме описанного в заявке протокола TSI.In the SF block, the possibility of changing the length of a CRC (CRC polynomial length register), initial CRC value (initial CRC value register) and CRC polynomial (polynom CRC value register) is implemented in the mode described in the TSI protocol application.

Вся информация по шине передается в коде «Манчестер-2». Этот биполярный фазоманипулированный код имеет нулевую постоянную составляющую, что очень важно в применениях с высокой скоростью передачи. Кодирование 0 и 1 производится не уровнем, а фронтом сигнала в середине тактового интервала (фиг. 4), что позволяет обеспечить побитную синхронизацию передатчика и приемника по передаваемой информации в широком диапазоне отклонения несущей частоты. Определены два вида синхросигнала (фиг. 5), которые позволяют аппаратно, следовательно быстро, определять и отличать начало пакета данных от контрольного пакета.All information on the bus is transmitted in the code "Manchester-2". This bipolar phase-manipulated code has a zero DC component, which is very important in high-speed transmission applications. Coding 0 and 1 is performed not by the level, but by the signal front in the middle of the clock interval (Fig. 4), which allows for bit-wise synchronization of the transmitter and receiver over the transmitted information in a wide range of deviations of the carrier frequency. Two types of sync signal (FIG. 5) are defined, which allow the hardware, therefore, quickly, to determine and distinguish the beginning of the data packet from the control packet.

Пакет данных (DATA) (фиг. 6) имеет формат одного или более 32 битных слов данных, завершает которые 32 битное контрольное слово. Перед ними расположен синхросигнал (3 бита), полярность первой половины которого отрицательна, а вторая половина - положительная. Слова данных (полезная информация) - собственно данные, которыми обмениваются между собой абоненты и для передачи которых используется пакет данных. Слово контрольной суммы CRC-32 предназначено для проверки целостности всех передаваемых в пакете данных. Используется расчет CRC-32.A data packet (DATA) (FIG. 6) has a format of one or more 32 bit data words, which completes the 32 bit control word. In front of them is a clock signal (3 bits), the polarity of the first half of which is negative, and the second half is positive. Data words (useful information) - the actual data exchanged between subscribers and for the transmission of which a data packet is used. The CRC-32 checksum word is intended to verify the integrity of all data transmitted in a packet. The CRC-32 calculation is used.

Figure 00000002
Figure 00000002

Контрольный пакет (фиг. 7) имеет формат из 32 битного информационного слова и 32 битного слово контрольной суммы. Перед ними расположен синхросигнал (3 бита), полярность первой половины которого положительна, а вторая половина - отрицательная. Контрольный пакет может выполнять функцию начала и конца сеанса связи, подтверждения приема информационного пакета, запроса информационного пакета. Управляющие данные это данные, необходимые абоненту для определения выполнения им заданий и указания своего состояния.The check package (Fig. 7) has a format of 32 bit information word and 32 bit word of checksum. Before them is a clock signal (3 bits), the polarity of the first half of which is positive, and the second half is negative. The control package can perform the function of the beginning and end of the communication session, the confirmation of the receipt of the information packet, the request for the information packet. Control data is the data needed by the subscriber to determine whether they have completed tasks and indicate their status.

Figure 00000003
Figure 00000003

Figure 00000004
Figure 00000004

Пакет (фиг. 8), включающий контрольный пакет и пакет данных, называется информационным пакетом (CTRL+DATA).A packet (Fig. 8), including a control packet and a data packet, is called an information packet (CTRL + DATA).

Протокол поддерживает два типа адресных пространств у ведомых устройств:The protocol supports two types of address spaces on the slaves:

- основное пространство (обмен целевой информацией);- main space (target information exchange);

- конфигурационное пространство (управление работой ведомого устройства).- configuration space (slave control).

Адресуется на шине до 255 электронных устройств (и один адрес для широковещательных обменов). В каждом устройстве адресуется до 256 адресных пространств, размер которых от 1 до 256 слов в основном адресном пространстве и 1 слово в конфигурационном пространстве. Размер одного слова равен 32 бита.Up to 255 electronic devices are addressed by bus (and one address for broadcast exchanges). Each device addresses up to 256 address spaces, the size of which is from 1 to 256 words in the main address space and 1 word in the configuration space. The size of one word is 32 bits.

Рассмотрим возможные форматы сообщений, которыми обмениваются ведущее (Master) и ведомое (Slave) устройства путем передачи друг другу контрольных и информационных пакетов:Consider the possible message formats that are exchanged between the master (Master) and slave (Slave) devices by sending each other control and information packets:

- Формат 1 «запись данных в ведомое устройство» (фиг. 9).- Format 1 "write data to the slave device" (Fig. 9).

- Формат 2 «широковещательное сообщение» (фиг. 10).- Format 2 "broadcast message" (Fig. 10).

- Формат 3 «чтение данных из ведомого устройства» (фиг. 11).- Format 3 "reading data from a slave device" (Fig. 11).

- Формат 4 «невозможность ведомого устройства выдать запрашиваемые данные при чтение данных из ведомого устройства» (фиг. 12).- Format 4 "impossibility of the slave device to issue the requested data when reading data from the slave device" (Fig. 12).

Рассмотрим основные сообщения (фиг. 9-12) между ведущим и ведомыми электронными устройствами.Consider the main messages (Fig. 9-12) between the master and the slave electronic devices.

Формат 1 предназначен для передачи данных от ведущего устройства к ведомому устройству - «запись данных в ведомое устройство (Slave)» (фиг. 9). Ведущее устройство передает информационный пакет (CTRL+DATA). Ведомое устройство принимает информационный пакет, просчитывает контрольные суммы (CRC-32) 32-битного слова служебной информации и 32-битного слова (слов) данных (полезной информации) и сравнивает их значения со значениями контрольных сумм, полученных от ведущего устройства. В зависимости от результата сравнения контрольных сумм ведомое устройство либо игнорирует запрос на запись, либо принимает к исполнению. В любом случае ведомое устройство передает ведущему устройству ответный контрольный пакет (CTRL), в котором разряды [2:0] "control word" (таблица 4) имеют значения, соответствующие "признакам состояния" транзакции.Format 1 is designed to transfer data from the master to the slave - “writing data to the slave (Slave)” (Fig. 9). The master device transmits the information packet (CTRL + DATA). The slave receives an information packet, calculates the checksums (CRC-32) of the 32-bit overhead and 32-bit word (s) of the data (payload) and compares their values with the checksum values received from the master. Depending on the result of the comparison of checksums, the slave either ignores the write request or accepts execution. In any case, the slave device sends a response control packet (CTRL) to the master device, in which the bits [2: 0] of the "control word" (table 4) have values corresponding to the "status tags" of the transaction.

Формат 2 предназначен для передачи данных от ведущего устройства всем ведомым устройствам - «широковещательное сообщение» (фиг. 10). Ведущее устройство передает информационный пакет (CTRL+DATA) (в поле "Terminal address" 0xFF - широковещательный адрес), а ведомые устройства принимают информационный пакет, просчитывают контрольные суммы (CRC-32) 32-битного слова служебной информации и 32-битного слова (слов) данных (полезной информации) и сравнивают их значения со значениями контрольных сумм, полученных от ведущего устройства. В зависимости от результата сравнения контрольных сумм ведомые устройства либо игнорируют запрос на запись, либо принимают к исполнению. В этом формате сообщений ведущее устройство после передачи информационного пакета не ожидает "ответного пакета" от ведомых устройств.Format 2 is designed to transmit data from the master device to all slaves - the “broadcast message” (Fig. 10). The master device transmits the information packet (CTRL + DATA) (in the "Terminal address" field 0xFF is the broadcast address), and the slave devices receive the information packet, calculate the checksums (CRC-32) of the 32-bit service information and 32-bit word ( words) data (useful information) and compare their values with the values of the checksums received from the master device. Depending on the comparison result of the checksum, the slaves either ignore the write request or accept it. In this message format, the master device does not expect a “response packet” from the slave devices after transmitting the information packet.

Формат 3 предназначен для получения данных ведомого устройства ведущим устройством - «чтение данных из ведомого устройства (Slave)» (фиг. 11). Ведущее устройство передает ведомому устройству контрольный пакет (CTRL) и освобождает шину. Адресуемое ведомое устройство принимает контрольный пакет, просчитывает контрольную сумму CRC-32 32-битного слова служебной информации и сравнивает ее значение со значением контрольной суммы, полученной от ведущего устройства. В зависимости от результата сравнения контрольных сумм ведомое устройство либо игнорирует запрос на чтение, либо принимает к исполнению. При успешном сравнении ведомое устройство захватывает шину и передает ведущему устройству ответный информационный пакет (CTRL+DATA). Ведущее устройство принимает ответный информационный пакет от ведомого устройства и просчитывает контрольные суммы CRC-32 32-битного слова служебной информации и слова (слов) данных (полезной информации) и сравнивает их значения со значениями контрольных сумм, полученных от ведомого устройства. При успешном сравнении контрольных сумм информационный пакет считается принятым - чтение данных из ведомого устройства завершенным.Format 3 is intended for receiving data of a slave device by a master device - “reading data from a slave device (Slave)” (Fig. 11). The master sends the control packet (CTRL) to the slave and releases the bus. The addressed slave device accepts the control packet, calculates the 32-bit overhead CRC-32 checksum and compares its value with the checksum value received from the master. Depending on the result of the comparison of checksums, the slave either ignores the read request or accepts execution. Upon successful comparison, the slave device seizes the bus and sends a response information packet (CTRL + DATA) to the master device. The master device receives a reply information packet from the slave and calculates the CRC-32 checksums of 32-bit overhead information and the word (s) of the data (payload) and compares their values with the checksum values received from the slave. If the checksums are successfully compared, the information packet is considered to be received - data reading from the slave device is completed.

Формат 4 «невозможно выдать запрашиваемые данные» (фиг. 12) является частным случаем формата 3, при котором происходит «чтение данных из ведомого устройства (Slave)». Ведущее устройство передает ведомому устройству контрольный пакет (CTRL). Ведомое устройство принимает контрольный пакет, просчитывает его контрольную сумму и сравнивает ее значение со значением контрольной суммы, полученной от ведущего устройства. При несовпадении контрольных сумм ведомое устройство игнорирует запрос на чтение и передает ведущему устройству ответный контрольный пакет (CTRL), в котором разряды [2:0] "control word" (таблица 3) имеют значения, соответствующие "признакам состояния" транзакции.Format 4 "it is impossible to issue the requested data" (Fig. 12) is a special case of format 3, in which "reading data from a slave device (Slave)" occurs. The master sends the control packet (CTRL) to the slave. The slave receives the control packet, calculates its checksum and compares its value with the checksum value received from the master. If the checksums do not match, the slave device ignores the read request and sends a response control packet (CTRL) to the master device, in which the bits [2: 0] of the "control word" (table 3) have values corresponding to the status indicators of the transaction.

Claims (1)

Интерфейсный сложно-функциональный блок для СБИС типа система на кристалле, выполненный с возможностью его работы в режиме ведущего электронного устройства или в режиме ведомого электронного устройства в системе электронных устройств, в которой осуществляется последовательный обмен данными по шине между ведущим электронным устройством и по меньшей мере двумя ведомыми электронными устройствами, отличающийся тем, что он содержит локальную память, в которой расположены таблица дескрипторов и область для хранения данных, DMA-контроллер, предназначенный для обмена данными между системной памятью СБИС и локальной памятью блока, контроллер шины, предназначенный для обмена данными между локальной памятью блока и шиной, обработчик списка дескрипторов, предназначенный для управления работой DMA-контроллера и контроллера шины в соответствии с дескрипторами в локальной памяти.Interface complex-functional unit for VLSI type system-on-chip, made with the possibility of its operation in the master electronic device mode or in the slave electronic device mode in the electronic device system, in which serial data is exchanged over the bus between the master electronic device and at least two slave electronic devices, characterized in that it contains a local memory in which the descriptor table and a data storage area, a DMA controller, are located, rednaznachenny for exchanging data between the system memory and VLSI local memory unit, a bus controller, for exchanging data between the local memory unit and the tire, the handler descriptor list for controlling the operation of DMA-controller and the bus controller in accordance with the descriptors in local memory.
RU2018129755A 2018-08-15 2018-08-15 Complex-functional unit for vlsi-type system on chip RU2691886C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2018129755A RU2691886C1 (en) 2018-08-15 2018-08-15 Complex-functional unit for vlsi-type system on chip

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2018129755A RU2691886C1 (en) 2018-08-15 2018-08-15 Complex-functional unit for vlsi-type system on chip

Publications (1)

Publication Number Publication Date
RU2691886C1 true RU2691886C1 (en) 2019-06-18

Family

ID=66947962

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2018129755A RU2691886C1 (en) 2018-08-15 2018-08-15 Complex-functional unit for vlsi-type system on chip

Country Status (1)

Country Link
RU (1) RU2691886C1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5905912A (en) * 1996-04-08 1999-05-18 Vlsi Technology, Inc. System for implementing peripheral device bus mastering in a computer using a list processor for asserting and receiving control signals external to the DMA controller
RU2380841C2 (en) * 2004-08-05 2010-01-27 Роберт Бош Гмбх COMMUNICATION MODULE FOR FlexRay NETWORK
US7835380B1 (en) * 2004-10-19 2010-11-16 Broadcom Corporation Multi-port network interface device with shared processing resources
WO2014022901A2 (en) * 2012-08-10 2014-02-13 Sabia Experience Tecnologia S.A. Method and system implemented by a collaborative distributed computational network, and related devices
RU2584471C1 (en) * 2014-12-30 2016-05-20 Некоммерческое Партнерство "Центр Прикладных Исследований Компьютерных Сетей" DEVICE FOR RECEIVING AND TRANSMITTING DATA WITH THE POSSIBILITY OF INTERACTION WITH OpenFlow CONTROLLER

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5905912A (en) * 1996-04-08 1999-05-18 Vlsi Technology, Inc. System for implementing peripheral device bus mastering in a computer using a list processor for asserting and receiving control signals external to the DMA controller
RU2380841C2 (en) * 2004-08-05 2010-01-27 Роберт Бош Гмбх COMMUNICATION MODULE FOR FlexRay NETWORK
US7835380B1 (en) * 2004-10-19 2010-11-16 Broadcom Corporation Multi-port network interface device with shared processing resources
WO2014022901A2 (en) * 2012-08-10 2014-02-13 Sabia Experience Tecnologia S.A. Method and system implemented by a collaborative distributed computational network, and related devices
RU2584471C1 (en) * 2014-12-30 2016-05-20 Некоммерческое Партнерство "Центр Прикладных Исследований Компьютерных Сетей" DEVICE FOR RECEIVING AND TRANSMITTING DATA WITH THE POSSIBILITY OF INTERACTION WITH OpenFlow CONTROLLER

Similar Documents

Publication Publication Date Title
CN113542090B (en) EtherCAT master-slave station integrated network bridge controller and control method
CN109857685B (en) MPU and FPGA extended multi-serial port implementation method
US7020076B1 (en) Fault-tolerant communication channel structures
US5664101A (en) Intelligent industrial local area network module for use in a distributed control system
US4897833A (en) Hierarchical arbitration system
JP2584957B2 (en) Host-directed device
EP0196911A2 (en) Local area networks
EP0064347A1 (en) Local network interface for use in multi-station word processing system and a data communications network
CN106959935B (en) Method compatible with I2C communication and IPMB communication
US4642630A (en) Method and apparatus for bus contention resolution
CN105786734B (en) Method, expanding unit, peripheral equipment and the system of data transmission
CN101106504A (en) Distributed communication system for intelligent independent robot based on CAN bus
CN104484260B (en) Simulation monitoring circuit based on GJB289 bus interface SoC (system on a chip)
RU2691886C1 (en) Complex-functional unit for vlsi-type system on chip
JPH0424702A (en) Control system
CN114615106B (en) Ring data processing system, method and network equipment
CN110659242A (en) MIL-STD-1553B bus protocol controller
CN210380890U (en) Communication system and SIS system of Modbus equipment
RU2705421C1 (en) Method of transmitting data over a bus, a communication system for realizing said method and an automatic protection device for preventing an emergency situation at a control object
CN104484307B (en) A kind of frequency reducing method in the FPGA prototype verification based on Node Controller
CN112579490A (en) Programmable electronic building block connecting bus
EP0193305A2 (en) System interface for coupling standard microprocessor to a communications adapter
JPH08123770A (en) Data communication control equipment
JPH0619838A (en) Optical back plane
US9081743B2 (en) Communication system and communicaton method