EP3874700A1 - Data transmission system - Google Patents

Data transmission system

Info

Publication number
EP3874700A1
EP3874700A1 EP19816376.8A EP19816376A EP3874700A1 EP 3874700 A1 EP3874700 A1 EP 3874700A1 EP 19816376 A EP19816376 A EP 19816376A EP 3874700 A1 EP3874700 A1 EP 3874700A1
Authority
EP
European Patent Office
Prior art keywords
data
module
transmission system
frame
memory
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
EP19816376.8A
Other languages
German (de)
French (fr)
Inventor
Serge Delwasse
Vincent Laporte
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Silkan Rt
Original Assignee
Silkan Rt
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 Silkan Rt filed Critical Silkan Rt
Publication of EP3874700A1 publication Critical patent/EP3874700A1/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • H04L49/9089Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
    • H04L49/9094Arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing from/to the storage element
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Definitions

  • the present invention relates to the field of telecommunications.
  • the present invention relates to the transport of data in a reliable and deterministic manner.
  • data transport is carried out in the usual way in the form of data frames established according to a predefined protocol.
  • a switch made from processing units controlled by software is usually used.
  • a classic example of a network switch is the Ethernet switch.
  • This type of switch does not guarantee in a secure manner either the effective delivery of the data frame or a maximum delay for transmission of this frame.
  • the use of such switches in so-called "critical" systems where total reliability of transmissions is required is therefore not possible.
  • this type of switch is generally limited to use according to a single physical and logical communication protocol.
  • a data transmission system comprising a data exchange unit; in which, to transmit a data frame, it passes successively at least through:
  • an interface module configured to receive said data frame from outside the transmission system
  • an analysis and filtering module in charge of processing said data frame received from the interface module before encapsulation; and - an encapsulation module in charge of encapsulating said data frame processed by the analysis and filtering module; characterized in that, two successive modules through which said data frame passes are interconnected by an interconnection device each comprising a temporary memory for storing said frame and the write and read accesses to said memory being independent in frequency.
  • a data transmission system makes it possible to guarantee the independence of an upstream module and a downstream module through which a data frame passes.
  • the presence of an interconnection device according to claim 1 between two modules makes it possible to isolate the data processing chains of each module from each other.
  • the interconnect device is used as a storage barrier in the data flow.
  • the interconnection device allows each module to have its own operating clock. The performances are thus increased because each module can carry out the treatments which are specific to it without having to take into account what can happen in the module which follows or precedes it.
  • each module can thus be designed independently.
  • updating a system according to the first aspect is simplified because it is possible to modify a module without affecting the rest of the system.
  • the interconnection device can provide so-called “FIFO” ("First In, First Out” or even “first in, first out” in French) management of the data exchanged through it.
  • FIFO First In, First Out
  • first in, first out or even “first in, first out” in French
  • the interconnection device according to the invention also makes it possible to present at the output only valid data thanks to the filtering of the abnormal data.
  • the data transmission system further comprises a database unit configured to store the frames of data encapsulated by the encapsulation module; it is connected to the encapsulation module by an interconnection device comprising a temporary memory for storing said frame and the write and read accesses to said memory being independent in frequency.
  • a database unit configured to store the frames of data encapsulated by the encapsulation module; it is connected to the encapsulation module by an interconnection device comprising a temporary memory for storing said frame and the write and read accesses to said memory being independent in frequency.
  • an interconnection device comprising a temporary memory for storing said frame and the write and read accesses to said memory being independent in frequency.
  • in order to transmit a data frame it also passes successively at least by:
  • a module for generating the data to be sent responsible for receiving encapsulated data frames from the database unit and processing them for retransmission;
  • a transmission control module in charge of de-encapsulating an encapsulated data frame received from the module for generating the data to be transmitted and then transmitting the de-encapsulated data frame to the interface module for the transmission of the data frame data encapsulated outside the transmission system.
  • the database unit is connected to the module for generating the data to be transmitted by an interconnection device comprising a temporary memory for storing said frame and the write and read accesses to said memory being independent in frequency.
  • the data exchange unit also includes:
  • the database unit is connected to the management module by an interconnection device comprising a temporary memory for storing control and signaling data and the write and read accesses to said memory being independent in frequency.
  • the database unit is connected to the command generation module by an interconnection device comprising a temporary memory for storing command and signaling data and the write and read accesses to said command memory being independent in frequency.
  • the data exchange unit further comprises a status management module, responsible for storing the current operating states of each of the modules of the data transmission system, connected to the module interface by an interconnection device comprising a temporary memory for storing control and signaling data and the write and read accesses to said memory being independent in frequency.
  • a status management module responsible for storing the current operating states of each of the modules of the data transmission system, connected to the module interface by an interconnection device comprising a temporary memory for storing control and signaling data and the write and read accesses to said memory being independent in frequency.
  • two successive modules through which said data frame passes operate according to independent clocks.
  • the memory of each interconnection device can be configured during initialization.
  • each interconnection device comprises a write interface for storing data in the temporary memory as they are received and a read interface for reading said data in the order of their reception.
  • each interconnection device in which a data frame passes is configured to store the data frames as they are received and to read said data frames in the order of their reception.
  • the read and write interfaces have an asynchronous clock relationship.
  • the write interface is configured to perform processing on at least one piece of data stored in said temporary memory to detect errors and stop storing the data if an error is detected.
  • the read interface is configured to read the entire data, to re-read the data, or to delete the data.
  • the read interface is configured to perform processing on at least one datum stored in said temporary memory in order to extract information on said at least one datum.
  • each interconnection device includes an error reporting interface for transmitting operating errors in writing or in reading.
  • each module is produced in a programmable circuit or an integrated circuit specific to an application.
  • each interconnection device is produced in a programmable circuit or an integrated circuit specific to an application.
  • the analysis and filtering module comprises:
  • At least one processing unit for carrying out processing on at least one data item stored in said memory unit, the result of said processing being intended to be used in the management of the retransmission of the data.
  • the analysis and filtering module also includes a control unit for triggering the loading of data from at least one of said reception unit and from the memory unit to said at least one unit. processing, said loading and said processing being carried out during the reception of said frame as and when data is stored in said memory.
  • the analysis and filtering module allows maximum parallelization of the arrival of a frame, its decoding and its filtering which increases performance (processing speed).
  • the analysis and filtering module allows multi-protocol compatibility.
  • the operation of the module is synchronous.
  • control unit is a finite state machine.
  • the memory unit includes a set of registers.
  • the loading of data and triggered as a function of the availability of said data in a given register is triggered as a function of the availability of said data in a given register.
  • the module comprises a processing unit enabling the integrity of said frame to be checked during reception.
  • the integrity check relates to data loaded from said receiving unit.
  • the module comprises a processing unit which allows the validity of said frame to be checked during reception.
  • the processing unit enabling the validity of said frame to be checked during reception operates dichotomous processing of said frame.
  • the processing unit enabling the validity of said frame to be checked during reception comprises a plurality of stages in series.
  • At least one stage of the processing unit comprises a plurality of parallel substages.
  • the module includes a processing unit (503) allowing specific calculations to be carried out to supply at least one of a stage and a sub-stage of said processing unit allowing the validity of said frame in progress to be checked. reception.
  • a processing unit 503 allowing specific calculations to be carried out to supply at least one of a stage and a sub-stage of said processing unit allowing the validity of said frame in progress to be checked. reception.
  • control unit also makes it possible to control the reception unit as a function of information received from said at least one processing unit.
  • the module is configured to generate an output indicating an anomaly in receiving said frame as a function of information received from said at least one processing unit.
  • the module is configured to generate an output indicating the content of said memory unit as a function of information received from said at least one processing unit.
  • the module is configured to generate an output pointer by at least one processing unit pointing to a memory space of the system containing a data structure to encapsulate said data frame to be retransmitted.
  • Figure 1 illustrates a system according to embodiments
  • FIG. 1 illustrates the transmission of data according to embodiments
  • FIG. 3a-3b illustrate the reception of a data (or message) by a data exchange unit according to embodiments;
  • FIG. 4 illustrates the processing of a frame according to embodiments;
  • FIG. 5 is a diagram illustrating an analysis and filtering module according to embodiments
  • Figure 6 is a diagram illustrating a database unit according to embodiments.
  • the system shown in this figure is implemented in hardware, that is to say that it is not controlled in software.
  • the system is for example produced in the form of a FPGA type circuit (acronym for "Field-Programmable Gate Array”).
  • the system includes one or more data exchange units 100 (ComSet) and a database unit 101 (Base station).
  • ComSet data exchange units 100
  • Base station database unit 101
  • the database unit allows the storage of data exchanged between the data exchange units.
  • the number of data exchange units is equal to the number of communication ports desired for the system. These communication ports are connected
  • the exchange units 100 can be connected to a database unit 101 by means of a standardized interface, that is to say that the interface is the same for all the modules.
  • the standard interface has as many data transport buses as there are modules in direct communication with the database unit.
  • a module 112 is in charge of encapsulating frames of data received and to be processed within the system. This module communicates with the database unit via a dedicated bus 102.
  • a module 113 is for example in charge of the generation of commands intended for the database unit 101 to extract data to be retransmitted. This module communicates with the database unit via a dedicated bus 103.
  • a module 115 is responsible for receiving encapsulated frames from the database unit and processing them for retransmission. This module communicates with the database unit via a dedicated bus 105.
  • a module 114 is responsible for managing the transmissions on the part of the database unit indicating certain events such as the storage of frames encapsulated. This management includes, for example, the coordination of modules 113 and 115.
  • This module communicates with the database unit via a dedicated bus 104.
  • a clock module 116 is responsible for receiving time updates of the system from the base station. In addition, it provides the time to all the modules of the data transmission system which must either mark the data or verify the data transmission times. The clock module can also generate events for the supply of synchronization signals to the process which requested it. It can also warn the data transmission modules when data is sent when they are defined as cyclic by the configuration. The clock module communicates with the database unit via a dedicated bus 106.
  • the analysis and filtering module 117 is a module for processing the data frames received before their encapsulation by the module 112.
  • the module 118 allows to encapsulate an encapsulated frame received from the module 115.
  • a status management module 119 is responsible for storing the current operating states of each of the modules of the data transmission system.
  • the status management module 119 is responsible for storing the current operating states of each of the modules of the data transmission system if the configuration requires it.
  • the behavior of the data transmission system can be modified by the initial supply of configuration data in which we can specify the states and incidents that we want to be able to manage.
  • all the modules are designed to transmit any operational incident to this status management module, which then updates its information base and generates an error event immediately if the configuration requests it to the data transmission system. intended for this purpose.
  • the data exchanged by an exchange unit is received and sent through an interface module 107 configured according to the protocol used outside the system.
  • Examples of protocols with which the system can be interfaced are Ethernet, CAN, ARINC 664P7 or others.
  • Communication between the different modules 117, 119, 118 of each exchange unit on the one hand, and on the other hand the interface module 107 is also carried out via interconnection devices 120, 121, 122.
  • An interconnection device is also present between two successive modules along a data stream.
  • “along a data stream” is meant the succession of modules through which a data frame passes.
  • an interconnection device 123 connects the analysis and filtering module 117 in charge of processing the received data frames with the module 112 in charge of encapsulating received data frames and to be processed within the transmission system Datas.
  • An interconnection device 125 connects the module 115 in charge of receiving encapsulated frames from the database unit 101 and of processing them for retransmission with the module 118 allowing to encapsulate an encapsulated frame received from the module 115 .
  • the interconnection devices include a temporary memory independently accessible in time by the module downstream from the interconnection device and by the module upstream from the interconnection device.
  • the temporary memory of the interconnection device is a buffer memory.
  • the memory is independently accessible for writing by the upstream module and for reading by the downstream module. This memory independently accessible in time by the upstream and downstream modules allows the upstream module to write to the memory independently of the reading by the downstream module. In other words, the upstream module and the downstream module use the memory of the interconnection device in an unsynchronized manner.
  • the modules of the transmission system do not share storage space and exchange data via the memory of an interconnection device.
  • the modules of the transmission system do not share a clock plane.
  • the upstream and downstream modules are completely independent in the use of the memory of the interconnection device. There is no alteration in the determinism of the entire transmission system.
  • the interconnection devices allow minimum latency and have a bandwidth much higher than the maximum speed of each transmission and can therefore operate in “starvation” mode.
  • the interconnection devices can for example be memories called DPM (acronym for "Dual Port Memory” in English) or DAM (acronym for "Dual Access memory” in English) produced in the form of a FPGA type circuit (acronym for "Field -Programmable Gâte Array "in English).
  • the memory of the interconnection devices is accessible to the upstream module via a write interface and to the downstream module via a read interface.
  • the read and write interfaces have an asynchronous clock relation.
  • the write interface makes it possible to store the data in the memory as they are received and the read interface makes it possible to read said data from said frame in the order of their reception.
  • the read interface is configured to read the data stored in the memory in the write order (thus the interconnection devices provide so-called "FIFO" management of the data exchanged through them). Data stored in the memory can be read, re-read or even canceled by the read interface of the interconnection device.
  • the write interface is configured to perform processing on at least one piece of data stored in said memory in order to detect errors and to interrupt the storage of data in a data frame if an error is detected.
  • the errors detected can for example be the absence of buffer space or a sequence error in the data order.
  • the read interface is configured to perform processing on at least one data item stored in said temporary memory in order to extract information on said at least one item of data.
  • the information extracted can be for example a sequence number, its production time or its length.
  • This information is transmitted to the downstream module at the same time as the data. They can be useful, for example, for processing in the data exchange units 100 or storage in the database unit 101.
  • each interconnection device also comprises an error reporting interface reporting the operating errors in writing or in reading. This information is transmitted through the error reporting interface to a status reporting mechanism of the data transmission system.
  • the temporary memory of the interconnect devices store the data frames.
  • control and signaling data has the same format as the data frames.
  • the message 201 is received at the interface module 202.
  • This interface module is in charge of the dialogue with the components responsible for the physical management of the signals of the protocol linked to the data transmission system. It collects the information of the frames received via these components and transmits them byte by byte to the next module via an interconnection device 207.
  • the message 201 is transmitted from the interface module 202 to the module 203 in charge of the analysis and message filtering via the interconnection device 207.
  • the module 203 verifies the integrity of the message and also verifies that the message is authorized, by configuration, to be received by the exchange unit 200. In other words, the module 203 extracts the information from the incoming frame in order to to make sure that the source IP address and the source port of the message as well as its size are as defined by the configuration. On the other hand, the calculation of CRC (acronym for "Cyclic redundancy check” or checksums in English) makes it possible to verify that the frame received is indeed integrated.
  • the message is then transmitted from the module 203 in charge of analysis and filtering to the encapsulation module 204 via an interconnection device 208.
  • the message is encapsulated in the encapsulation module 204. Once encapsulated, the message is processed independently of the protocol used for transport outside the system.
  • the encapsulated message is then transmitted to the database unit 205, via the interconnection device 209 and the bus 206, for storage in memory.
  • the encapsulated message can be stored taking into account different parameters. This is for example to avoid duplication of information in memory.
  • the recording of a message is unique even if it has several recipients. Each recipient and notified of the arrival of the data and its location. Recipients are then authorized to pick it up for transmission.
  • the arrival time of the data is also part of the encapsulation data so that the receivers of the information can control the temporal validity of the latter. For example, the aging of the message must also be taken into account. For example, it is also a question of managing the access methods to the message which define the addresses of the objects in memory (we can for example cite the methods called "Sampling", “Queuing", "Flip / Flop" which are standard methods.
  • An “event” type data is an object in common encapsulation format whose object is to warn the recipient module either of the behavior of another module or of '' an action to be performed for the latter.
  • the database unit 205 (common to modules 200 and 300) generates and manages events relating to the transmission of an encapsulated message.
  • the database unit also rates the moments of transmission of "event" type data to the exchange modules which must send the encapsulated message concerned by the data.
  • the transmission module is notified by message that the data to be transmitted is available and where to go to get it.
  • the “event” type data is then received by a module 301 for managing cyclic and event emissions in charge of receiving this data.
  • the module 301 sends a command request to the command generation module 302.
  • the command generation module 302 then sends a command to the database unit via an interconnection device 310 and the bus 311 so that the encapsulated object is sent to the exchange unit 300.
  • the module 301 sends a request to put the encapsulated message in standby mode to the module 303 for generating data to be transmitted.
  • the module 302 thus plays a role in managing the cycle (in particular the frequency) of sending messages.
  • the database unit then sends the encapsulated message via the bus 305 and an interconnection device 313 to the module 303 which decapsulates the message to make it a message conforming to the protocol of the equipment connected to the physical port of the exchange unit 300.
  • the message thus encapsulated is transmitted via an interconnection device 314 to the module 306 for controlling the transmission and then to the interface module 307 via an interconnection device 315.
  • the control module 306 after a final verification of the integrity of the data using the control code (CRC) also verifies that the information contained corresponds to all the criteria defined by the configuration of the output port.
  • CRC control code
  • Filtering takes place between the reception of a frame and its encapsulation.
  • the purpose of filtering is to verify that the frame received is indeed a known, expected and well-formed frame. If not, the frame is rejected and an error message is generated. Filtering also aims to provide, if the frame is accepted, information on the locations where the data necessary for the encapsulation of the frame can be retrieved.
  • filtering in the area of networks is the operation of verifying the integrity and validity of a frame received.
  • Verification of the integrity of the frame makes it possible to ensure that a frame received respects properties related to its structure.
  • the verification is carried out using an error detection code of the cyclic redundancy check or CRC type (acronym for "Cyclic Redundancy Check").
  • a frame can have a fixed size (this is the case for example in the Arinc 429 protocol) or a variable size bounded in lower and upper values (for example the Ethernet 802.3 protocol).
  • the user can tighten the conditions on sizes. When the frame does not respect the size constraints, it is considered corrupt.
  • Each frame which passes through the filtering module causes a binary decision-making, therefore with two stable states and no possible indecision: the frame passes the filtering or the frame does not pass the filtering. Any violation of the integrity and / or validity of the frame causes its rejection (frame therefore does not pass filtering).
  • a first action is the removal (purging) of the frame of the filtering module.
  • a second action is to lift an error status by checking the status management module mentioned above.
  • the statutes can be managed in different ways. For example, it is possible to choose the sending of status information cyclically and this, with a configurable periodicity, or to send an event as soon as a particular event occurs to the module and the system. data transmission configured for this purpose.
  • the statutes can be active and therefore taken into account or hidden and therefore ignored.
  • the frame In the event that no violation of the integrity and validity rules is detected, the frame is accepted in the system, in other words, the frame passes the filtering.
  • a first action is the supply of the frame to the next module (that is to say the encapsulation module).
  • a second action is the generation of a pointer to the encapsulation tables which makes it possible to find, in the internal memories, the data of certain object encapsulation fields (over-encapsulation of the frame).
  • the encapsulation of a frame is in fact an over-encapsulation.
  • a frame is already an encapsulation of the useful data by fields specific to the protocol. Here it is a question of adding other fields. It is then possible to speak of over-encapsulation.
  • a special feature of the filter module apart from the fact that it is designed for an exclusively hardware implementation, is the guarantee of a very high performance compared to existing systems on the market.
  • the "hardware implementation” aspect here is opposed to a software implementation based on a Von Neumann type scheme.
  • the filtering module like the data exchange unit to which it belongs, can be installed in FPGA type programmable circuits (acronym for "Field-Programmable Gate Array” or ASIC (acronym for "application-specific integrated circuit”). performance combines both high throughput and temporal determinism.
  • the operation of the filtering module includes a frame reception register base, dichotomy modules, and a control state machine.
  • the entire mechanism of the filtering module is clocked by a control state machine which pushes the frame into a register structure as it is received, and, at appropriate times, loads particular data and / or make calculations on some of this data.
  • filtering which uses dichotomy tables to search for the information and actions to be carried out, is already launched because all the necessary information is made available.
  • protection mechanisms such as CRC (acronym for "Cyclic redundancy check” or sums "checksum” in English).
  • FIG. 4 An example of a frame is described with reference to FIG. 4.
  • the invention is not limited to a particular protocol and can be applied to any protocol such as the Arinc 429 protocol or the 802.3 Ethernet protocol.
  • the first 6 bytes received are the destination MAC address
  • the next 6 bytes are the source MAC address
  • the next 2 bytes are the EtherType field.
  • the module requires the last two bytes of the destination MAC address (“Virtual Link” number in the Arinc standard 664P7), and if the registry is made up of 32-bit registers (4 bytes) then the reception of the second register, noted “Reg2” in FIG. 4, triggers a recovery of bytes 1 and 2 for processing purposes (identification of the “Virtual Link”).
  • the reception and storage operation in addition to the task of recovering the parameters during reception, ensures verification of the integrity of the frames: verification of the frame envelope, IFG, size, CRC, etc.
  • the information recovered from the encapsulation (sometimes after processing above) is used to ensure the validity of the frame. In other words, check if the frame is authorized to pass through the rest of the system. This activity is handled by the “dichotomy tables” also called “filter tables”.
  • the dichotomy diagram is divided into several stages, each stage of which can itself be subdivided into several parts.
  • the principle of partitioning into “stages” and “parts” obeys the following two rules.
  • the “stages” are "pipelined”, that is to say, the outputs of a “stage” of order n-1 are inputs for the stage of order n.
  • the execution of all "parts" in the same "floor” is parallelized.
  • the dichotomy is organized in two stages, the first of which is itself subdivided into two parts. Chronologically, research on the first floor is parallelized.
  • the outputs of the first stage constitute inputs for the second stage which, at the output, provides a pointer to memory structures which allow the encapsulation module to over-encapsulate the received frame.
  • FIG. 5 is a diagram illustrating a filtering module according to embodiments.
  • the overall operation of this module is synchronous.
  • This module uses a single distributed clock. It is also managed by a finite state machine 501 (FSM acronym for "Final State Machine”).
  • FSM Federal State Machine
  • the advantage of this way of doing things is to be able to control the trigger and the duration of each operation, which induces a guarantee of a limited and known processing time, and therefore, a guarantee of temporal determinism.
  • the frame on reception is de-serialized in the input module 500 "DataJN" which stores it as and when it arrives in a register 507. As soon as relevant information is available in the latter, these are recovered to be used.
  • the first byte of the first register can be made available, upon receipt, of the module 502 for the dichotomous search of stage 1 part 2, denoted E1 P2.
  • the launching of block 502 requires a command from the machine 501 as well as additional data (denoted "external data" such as the frame envelope and the clock).
  • the reception of the continuous frame and other information is taken on the fly either to feed the dichotomous searches, or to feed a specific calculation unit 503 which subsequently feeds the dichotomous searches.
  • the unit 503 makes it possible to process certain encapsulation information which is not usable in their raw state and / or must be combined together so that they can be used subsequently.
  • the module 502 can only be launched after direct extraction of byte 2 from register 2 and provision of a processing result of unit 503 based on byte 1 of register 2. Launching of the module
  • module 505 (part 1 of stage 1 denoted E1 P2) are injected as inputs into module 504. In addition, these inputs are not exclusive. Each floor may need additional entrances (in addition to that of the upstream floor). In the example in FIG. 5, the module 504 requires the last byte of the penultimate register as well as a result supplied by the unit 503.
  • an integrity control unit 506 verifies that the frame on reception does not contain any anomaly.
  • the checks relate to several parameters such as for example the CRC, the length, the IFG, or other.
  • This unit informs the machine 501 of the status of the reception in progress and raises an anomaly if necessary. Throughout the operation, statuses are generated and exchanged in order to prevent any malfunction and detect any anomaly.
  • the outputs of the filter modules can be one or three depending on the final state of the control state machine.
  • An output is a status word containing the final state of the state machine with, if necessary, an indication (commonly called a flag) about the anomaly observed. If the processing was carried out correctly, then the filtering module provides in addition the content of the register base which is none other than the frame received and a pointer, coming from the last stage of the dichotomy, on the memory structures allowing create the object from the frame encapsulation.
  • An encapsulated data frame is received via the bus 602 from the exchange unit as described above with reference to FIG. 1 (in particular from an encapsulation module such as the module 112 of FIG. 1) by the module RX interface module 610.
  • This data frame is transmitted to a write event module 630 via an interconnection device 620.
  • the write event module 630 is responsible for transmitting the encapsulated data received at a memory management module 650.
  • the write event module 630 communicates with a data management module 642 in order to obtain the write address in the memory 660 of the data frame.
  • the data management module 642 is responsible for assigning a write address in the memory 660 to each data frame.
  • the write event module 630 communicates with the memory management module 650 by transmitting a write request by the via a first interconnection device 641 and by transmitting the data frame via a second interconnection device 640.
  • the memory management module 650 stores the data frame in the memory 660.
  • the write event module 630 communicates with an event module 631 and informs it of the storage of the data frame in the memory 660.
  • the event module 631 communicates with the event interface module 611 via the 'through an interconnection device 621 which sends via the bus 604 a message to the exchange unit (in particular, to the emission management module 114) concerning the available data with the references of the available data.
  • the event module 631 is responsible for informing the exchange unit of the available stored data frames.
  • the command generation module 113 sends a read command via the bus 603 to the command interface 612.
  • the command interface 612 transmits this command to the command module read command 632 via an interconnection device 622.
  • the read control module 632 is in charge of receiving commands for data frames from the exchange unit module and of sending ordered data frames.
  • the read control module 632 which receives the command makes a request to the data management module 642 in order to obtain the address from which to retrieve the data frame according to the references provided in the command.
  • the data management module 642 then transmits the address to the read control module 632 which communicates its command to the memory management module 650 via a first interconnection device 643.
  • the management module the memory 650 retrieves the data frame from the memory 660 from the address communicated and transmits the data frame to the read control module 632 via a second interconnection device 644.
  • the read control module 632 transmits the data frame to the TX interface module 613 via an interconnection device 623.
  • the TX interface module 613 finally transmits the data frame to the exchange unit (in particular to the module for generating the data to be transmitted 115) via the bus 605.
  • the database unit also includes a time management module 614 which communicates with the clock module 116 of the exchange unit via the bus 606 in order to transmit the updates of the general time of the system. .
  • the time management module 614 is also in charge of supplying the synchronization signals to the modules which have requested it.
  • the interconnection devices 620, 621, 622, 623, 640, 641, 643, 644 of the database unit have the same properties and capacities as the interconnection devices described above with reference to the unit exchange.

Abstract

The present invention relates to a data transmission system comprising a data exchange unit, wherein, to transmit a data frame, it passes successively at least through an interface module that is configured to receive said data frame from outside the transmission system; an analysis and filtering module responsible for processing said data frame which is received from the interface module before encapsulation; and an encapsulation module responsible for encapsulating said data frame processed by the analysis and filtering module, wherein two successive modules through which said data frame passes are connected to one another by an interconnection device each comprising a temporary memory for storing said frame and the read and write accesses to said memory being frequency-independent.

Description

TITRE DE L’INVENTION  TITLE OF THE INVENTION
Système de transmission de données  Data transmission system
DOMAINE DE L’INVENTION FIELD OF THE INVENTION
La présente invention concerne le domaine des télécommunications.  The present invention relates to the field of telecommunications.
Plus particulièrement, la présente invention concerne le transport de données de manière fiable et déterministe.  More particularly, the present invention relates to the transport of data in a reliable and deterministic manner.
ARRIERE-PLAN TECHNOLOGIQUE TECHNOLOGICAL BACKGROUND
Dans un réseau de télécommunications, le transport de données se fait de manière habituelle sous forme de trames de données établies selon un protocole prédéfini. Pour transporter une trame entre un émetteur de données (ou producteur) et un récepteur (ou consommateur), on utilise habituellement un commutateur réalisé à partir d’unités de traitement contrôlées par un logiciel. Un exemple classique de commutateur réseau est le commutateur Ethernet.  In a telecommunications network, data transport is carried out in the usual way in the form of data frames established according to a predefined protocol. To transport a frame between a data transmitter (or producer) and a receiver (or consumer), a switch made from processing units controlled by software is usually used. A classic example of a network switch is the Ethernet switch.
Ce type de commutateur ne permet pas de garantir de façon sûre ni la délivrance effective de la trame de données ni un délai maximal de transmission de cette trame. L’utilisation de tels commutateurs dans les systèmes dits « critiques » ou la fiabilité totale des transmissions est nécessaire n’est donc pas possible. En outre, ce type de commutateur est généralement limité à une utilisation selon un protocole de communication physique et logique unique.  This type of switch does not guarantee in a secure manner either the effective delivery of the data frame or a maximum delay for transmission of this frame. The use of such switches in so-called "critical" systems where total reliability of transmissions is required is therefore not possible. In addition, this type of switch is generally limited to use according to a single physical and logical communication protocol.
Ainsi, il existe un besoin pour un système de communication de données permettant la communication de données de manière intègre et dans un délai maximal garanti, sans limitation d’utilisation d’un protocole particulier.  Thus, there is a need for a data communication system allowing the communication of data in an integrated manner and within a maximum guaranteed time, without limitation of use of a particular protocol.
La présente invention s’inscrit dans ce contexte.  The present invention falls within this context.
RESUME DE L’INVENTION SUMMARY OF THE INVENTION
Selon un aspect de l’invention, il est prévu un système de transmission de données comprenant une unité d’échange de données ; dans lequel, pour transmettre une trame de données, celle-ci transite successivement au moins par : According to one aspect of the invention, there is provided a data transmission system comprising a data exchange unit; in which, to transmit a data frame, it passes successively at least through:
- un module d’interface configuré pour recevoir ladite trame de données depuis l’extérieur du système de transmission ;  - an interface module configured to receive said data frame from outside the transmission system;
- un module d’analyse et de filtrage en charge du traitement de ladite trame de données reçue depuis le module d’interface avant encapsulation ; et - un module d’encapsulation en charge d’encapsuler ladite trame de données traitée par le module d’analyse et de filtrage ; caractérisé en ce que, deux modules successifs par lesquels transite ladite trame de données sont reliés entre eux par un dispositif d’interconnexion comprenant chacun une mémoire temporaire pour stocker ladite trame et les accès en écriture et en lecture à ladite mémoire étant indépendants en fréquence. - an analysis and filtering module in charge of processing said data frame received from the interface module before encapsulation; and - an encapsulation module in charge of encapsulating said data frame processed by the analysis and filtering module; characterized in that, two successive modules through which said data frame passes are interconnected by an interconnection device each comprising a temporary memory for storing said frame and the write and read accesses to said memory being independent in frequency.
Un système de transmission de données selon le premier aspect permet de garantir l’indépendance d’un module amont et d’un module aval par lesquels transite une trame de données. En effet, la présence d’un dispositif d’interconnexion selon la revendication 1 entre deux modules permet d’isoler les chaînes de traitement des données de chaque module les unes des autres. Le dispositif d’interconnexion est utilisé comme une barrière de stockage dans le flux de données. A data transmission system according to the first aspect makes it possible to guarantee the independence of an upstream module and a downstream module through which a data frame passes. Indeed, the presence of an interconnection device according to claim 1 between two modules makes it possible to isolate the data processing chains of each module from each other. The interconnect device is used as a storage barrier in the data flow.
Le dispositif d’interconnexion selon l’invention permet à chaque module d’avoir sa propre horloge de fonctionnement. Les performances sont ainsi accrues car chaque module peut réaliser les traitements qui lui sont propre sans à avoir à tenir compte de ce qui peut se passer dans le module qui le suit ou qui le précède.  The interconnection device according to the invention allows each module to have its own operating clock. The performances are thus increased because each module can carry out the treatments which are specific to it without having to take into account what can happen in the module which follows or precedes it.
Dans un système selon le premier aspect, chaque module peut ainsi être conçu indépendamment. En outre, la mise à jour d’un système selon le premier aspect est simplifiée car il est possible de modifier un module sans affecter le reste du système.  In a system according to the first aspect, each module can thus be designed independently. In addition, updating a system according to the first aspect is simplified because it is possible to modify a module without affecting the rest of the system.
L’utilisation d’un dispositif d’interconnexion entre deux modules permet enfin de ne pas modifier le déterminisme de l’ensemble du système de transmission. Le niveau de sûreté est donc préservé.  The use of an interconnection device between two modules finally makes it possible not to modify the determinism of the entire transmission system. The level of safety is therefore preserved.
Par exemple, le dispositif d’interconnexion peut assurer une gestion dite « FIFO » (« First In, First Out » ou encore « premier entré, premier sorti » en langue française) des données échangées par son intermédiaire.  For example, the interconnection device can provide so-called "FIFO" ("First In, First Out" or even "first in, first out" in French) management of the data exchanged through it.
Le dispositif d’interconnexion selon l’invention permet également de ne présenter en sortie que des données valides grâce au filtrage des données anormales.  The interconnection device according to the invention also makes it possible to present at the output only valid data thanks to the filtering of the abnormal data.
Dans un mode de réalisation, le système de transmission de données comprend en outre une unité de base de données configurée pour stocker les trames de données encapsulées par le module d’encapsulation ; elle est reliée au module d’encapsulation par un dispositif d’interconnexion comprenant une mémoire temporaire pour stocker ladite trame et les accès en écriture et en lecture à ladite mémoire étant indépendants en fréquence. Dans un mode de réalisation, pour transmettre une trame de données, celle-ci transite en outre successivement au moins par : In one embodiment, the data transmission system further comprises a database unit configured to store the frames of data encapsulated by the encapsulation module; it is connected to the encapsulation module by an interconnection device comprising a temporary memory for storing said frame and the write and read accesses to said memory being independent in frequency. In one embodiment, in order to transmit a data frame, it also passes successively at least by:
- un module de génération des données à émettre en charge de recevoir des trames de données encapsulées de la part de l’unité de base de données et de les traiter en vue d’une retransmission ; et  - a module for generating the data to be sent, responsible for receiving encapsulated data frames from the database unit and processing them for retransmission; and
- un module de contrôle de l’émission en charge de désencapsuler une trame de données encapsulées reçue du module de génération des données à émettre puis de transmettre la trame de données désencapsulée au module d’interface en vue de l’émission de la trame de données désencapsulée hors du système de transmission.  a transmission control module in charge of de-encapsulating an encapsulated data frame received from the module for generating the data to be transmitted and then transmitting the de-encapsulated data frame to the interface module for the transmission of the data frame data encapsulated outside the transmission system.
Dans un mode de réalisation, l’unité de base de données est reliée au module de génération des données à émettre par un dispositif d’interconnexion comprenant une mémoire temporaire pour stocker ladite trame et les accès en écriture et en lecture à ladite mémoire étant indépendants en fréquence. In one embodiment, the database unit is connected to the module for generating the data to be transmitted by an interconnection device comprising a temporary memory for storing said frame and the write and read accesses to said memory being independent in frequency.
Dans un mode de réalisation, l’unité d’échange de données comporte également : In one embodiment, the data exchange unit also includes:
- un module de gestion en charge de gérer les émissions de trames de données encapsulées de la part de l’unité de base de données ; et  - a management module in charge of managing the transmissions of encapsulated data frames from the database unit; and
- un module de génération des commandes en charge de la génération de commandes à destination de l’unité de base de données pour commander l’extraction d’une donnée à retransmettre et la communiquer au module de génération des données à émettre. Dans un mode de réalisation, l’unité de base de données est reliée au module de gestion par un dispositif d’interconnexion comprenant une mémoire temporaire pour stocker des données de commande et de signalisation et les accès en écriture et en lecture à ladite mémoire étant indépendants en fréquence. Dans un mode de réalisation, l’unité de base de données est reliée au module de génération des commandes par un dispositif d’interconnexion comprenant une mémoire temporaire pour stocker des données de commande et de signalisation et les accès en écriture et en lecture à ladite mémoire étant indépendants en fréquence.  - a command generation module in charge of generating commands to the database unit for controlling the extraction of data to be retransmitted and communicating it to the module for generating the data to be sent. In one embodiment, the database unit is connected to the management module by an interconnection device comprising a temporary memory for storing control and signaling data and the write and read accesses to said memory being independent in frequency. In one embodiment, the database unit is connected to the command generation module by an interconnection device comprising a temporary memory for storing command and signaling data and the write and read accesses to said command memory being independent in frequency.
Dans un mode de réalisation, lequel l’unité d’échange de données comporte en outre un module de gestion de statut, en charge de stocker les états de fonctionnement courant de chacun des modules du système de transmission de données, relié au module d’interface par un dispositif d’interconnexion comprenant une mémoire temporaire pour stocker des données de commande et de signalisation et les accès en écriture et en lecture à ladite mémoire étant indépendants en fréquence. In one embodiment, which the data exchange unit further comprises a status management module, responsible for storing the current operating states of each of the modules of the data transmission system, connected to the module interface by an interconnection device comprising a temporary memory for storing control and signaling data and the write and read accesses to said memory being independent in frequency.
Dans un mode de réalisation, deux modules successifs par lesquels transite ladite trame de données fonctionnent selon des horloges indépendantes. Dans un mode de réalisation, la mémoire de chaque dispositif d’interconnexion est paramétrable à l’initialisation. In one embodiment, two successive modules through which said data frame passes operate according to independent clocks. In one embodiment, the memory of each interconnection device can be configured during initialization.
Dans un mode de réalisation, chaque dispositif d’interconnexion comprend une interface d’écriture pour stocker des données dans la mémoire temporaire au fur et à mesure de leur réception et une interface de lecture pour lire lesdites donnés dans l’ordre de leur réception. Dans un mode de réalisation, chaque dispositif d’interconnexion dans lequel transite une trame de données est configuré pour stocker les trames de données au fur et à mesure de leur réception et pour lire lesdites trames de données dans l’ordre de leur réception. In one embodiment, each interconnection device comprises a write interface for storing data in the temporary memory as they are received and a read interface for reading said data in the order of their reception. In one embodiment, each interconnection device in which a data frame passes is configured to store the data frames as they are received and to read said data frames in the order of their reception.
Dans un mode de réalisation, les interfaces de lecture et d’écriture ont une relation d’horloge asynchrone. Dans un mode de réalisation, l’interface d’écriture est configurée pour réaliser un traitement sur au moins une donnée stockée dans ladite mémoire temporaire pour détecter des erreurs et interrompre le stockage des données si une erreur est détectée. Dans un mode de réalisation, l’interface de lecture est configurée pour lire les données en totalité, pour relire les données ou pour supprimer les données. Dans un mode de réalisation, l’interface de lecture est configurée pour réaliser un traitement sur au moins une donnée stockée dans ladite mémoire temporaire afin d’extraire des informations sur ladite au moins une donnée. Dans un mode de réalisation, chaque dispositif d’interconnexion comprend une interface de rapport d’erreurs pour transmettre les erreurs de fonctionnement en écriture ou en lecture. In one embodiment, the read and write interfaces have an asynchronous clock relationship. In one embodiment, the write interface is configured to perform processing on at least one piece of data stored in said temporary memory to detect errors and stop storing the data if an error is detected. In one embodiment, the read interface is configured to read the entire data, to re-read the data, or to delete the data. In one embodiment, the read interface is configured to perform processing on at least one datum stored in said temporary memory in order to extract information on said at least one datum. In one embodiment, each interconnection device includes an error reporting interface for transmitting operating errors in writing or in reading.
Dans un mode de réalisation, chaque module est réalisé dans un circuit programmable ou un circuit intégré propre à une application. Dans un mode de réalisation, chaque dispositif d’interconnexion est réalisé dans un circuit programmable ou un circuit intégré propre à une application. Dans un mode de réalisation, le module d’analyse et de filtrage comporte :In one embodiment, each module is produced in a programmable circuit or an integrated circuit specific to an application. In one embodiment, each interconnection device is produced in a programmable circuit or an integrated circuit specific to an application. In one embodiment, the analysis and filtering module comprises:
- une unité de réception de trame de données à retransmettre, a data frame reception unit to be retransmitted,
- une unité de mémoire pour stocker lesdites données de ladite trame au fur et à mesure de leur réception par l’unité de réception,  - a memory unit for storing said data of said frame as and when they are received by the reception unit,
- au moins une unité de traitement pour réaliser un traitement sur au moins une donnée stockée dans ladite unité de mémoire, le résultat dudit traitement étant destiné à être utilisé dans la gestion de la retransmission des données.  at least one processing unit for carrying out processing on at least one data item stored in said memory unit, the result of said processing being intended to be used in the management of the retransmission of the data.
Dans un mode de réalisation, le module d’analyse et de filtrage comporte également une unité de commande pour déclencher le chargement de données depuis au moins l’un parmi ladite unité de réception et de l’unité de mémoire vers ladite au moins une unité de traitement, ledit chargement et ledit traitement étant réalisés pendant la réception de ladite trame au fur et à mesure du stockage des données dans ladite mémoire. In one embodiment, the analysis and filtering module also includes a control unit for triggering the loading of data from at least one of said reception unit and from the memory unit to said at least one unit. processing, said loading and said processing being carried out during the reception of said frame as and when data is stored in said memory.
Le module d’analyse et de filtrage permet une parallélisation maximale de l’arrivée d’une trame, de son décodage et de son filtrage ce qui augmente les performances (vitesse de traitement).  The analysis and filtering module allows maximum parallelization of the arrival of a frame, its decoding and its filtering which increases performance (processing speed).
Le module d’analyse et de filtrage permet une compatibilité multi- protocoles.  The analysis and filtering module allows multi-protocol compatibility.
Il peut aussi permettre une augmentation de la sécurité intrinsèque du traitement de données car son implémentation entièrement matérielle ne permet pas de modification de son comportement et que ses capacités à fonctionner plus rapidement que l’arrivée de toute donnée assurent sa disponibilité permanente.  It can also allow an increase in the intrinsic security of data processing because its fully hardware implementation does not allow modification of its behavior and its ability to operate faster than the arrival of any data ensures its permanent availability.
Selon des modes de réalisation le fonctionnement du module est synchrone.  According to embodiments, the operation of the module is synchronous.
Par exemple, l’unité de commande est une machine à états finie. For example, the control unit is a finite state machine.
Par exemple encore, l’unité de mémoire comporte un ensemble de registres. For example again, the memory unit includes a set of registers.
Selon des modes de réalisation, le chargement de données et déclenché en fonction de la disponibilité desdites données dans un registre donné.  According to embodiments, the loading of data and triggered as a function of the availability of said data in a given register.
Selon des modes de réalisation, le module comporte une unité de traitement permettant le contrôle d’intégrité de ladite trame en cours de réception.  According to embodiments, the module comprises a processing unit enabling the integrity of said frame to be checked during reception.
Par exemple, le contrôle d’intégrité porte sur une donnée chargée depuis ladite unité de réception.  For example, the integrity check relates to data loaded from said receiving unit.
Selon des modes de réalisation, le module comporte une unité de traitement qui permet le contrôle de la validité de ladite trame en cours de réception. Par exemple, l’unité de traitement permettant le contrôle de la validité de ladite trame en cours de réception opère un traitement dichotomique de ladite trame. According to embodiments, the module comprises a processing unit which allows the validity of said frame to be checked during reception. For example, the processing unit enabling the validity of said frame to be checked during reception operates dichotomous processing of said frame.
Selon des modes de réalisation, l’unité de traitement permettant le contrôle de la validité de ladite trame en cours de réception comporte une pluralité d’étages en série.  According to embodiments, the processing unit enabling the validity of said frame to be checked during reception comprises a plurality of stages in series.
Selon des modes de réalisation, au moins un étage de l’unité de traitement comporte une pluralité de sous-étages parallèles.  According to embodiments, at least one stage of the processing unit comprises a plurality of parallel substages.
Par exemple, le module comporte une unité de traitement (503) permettant la réalisation de calculs spécifiques pour alimenter au moins l’un parmi un étage et un sous-étage de ladite unité de traitement permettant le contrôle de la validité de ladite trame en cours de réception.  For example, the module includes a processing unit (503) allowing specific calculations to be carried out to supply at least one of a stage and a sub-stage of said processing unit allowing the validity of said frame in progress to be checked. reception.
Selon des modes de réalisation, l’unité de commande permet en outre de commander l’unité de réception en fonction d’information reçue de ladite au moins une unité de traitement.  According to embodiments, the control unit also makes it possible to control the reception unit as a function of information received from said at least one processing unit.
Par exemple, le module est configuré pour générer une sortie indiquant une anomalie de réception de ladite trame en fonction d’information reçue de ladite au moins une unité de traitement.  For example, the module is configured to generate an output indicating an anomaly in receiving said frame as a function of information received from said at least one processing unit.
Par exemple encore, le module est configuré pour générer une sortie indiquant le contenu de ladite unité de mémoire en fonction d’information reçue de ladite au moins une unité de traitement.  For example again, the module is configured to generate an output indicating the content of said memory unit as a function of information received from said at least one processing unit.
Selon des modes de réalisation, le module est configuré pour générer un pointeur en sortie par au moins une unité de traitement pointant vers un espace mémoire du système contenant une structure de données pour encapsuler ladite trame de données à retransmettre.  According to embodiments, the module is configured to generate an output pointer by at least one processing unit pointing to a memory space of the system containing a data structure to encapsulate said data frame to be retransmitted.
BREVE DESCRIPTION DES FIGURES BRIEF DESCRIPTION OF THE FIGURES
D’autres caractéristiques et avantages de l’invention apparaîtront à la lecture de la présente description détaillée qui suit, à titre d’exemple non limitatif, et des figures annexées parmi lesquelles:  Other characteristics and advantages of the invention will appear on reading the present detailed description which follows, by way of nonlimiting example, and of the appended figures among which:
la figure 1 illustre un système selon des modes de réalisation ;  Figure 1 illustrates a system according to embodiments;
la figure 2 illustre la transmission d’une donnée selon des modes de réalisation ;  Figure 2 illustrates the transmission of data according to embodiments;
les figures 3a-3b illustrent la réception d’une donnée (ou message) par une unité d’échange de données selon des modes de réalisation ; la figure 4 illustre le traitement d’une trame selon des modes de réalisation ; Figures 3a-3b illustrate the reception of a data (or message) by a data exchange unit according to embodiments; FIG. 4 illustrates the processing of a frame according to embodiments;
la figure 5 est un schéma illustrant un module d’analyse et de filtrage selon des modes de réalisation ;  FIG. 5 is a diagram illustrating an analysis and filtering module according to embodiments;
la figure 6 est un schéma illustrant une unité de base de données selon des modes de réalisation.  Figure 6 is a diagram illustrating a database unit according to embodiments.
DESCRIPTION DETAILLEE DE L’INVENTION DETAILED DESCRIPTION OF THE INVENTION
Un système selon des modes de réalisation est décrit en référence à la figure 1.  A system according to embodiments is described with reference to FIG. 1.
Le système représenté sur cette figure est réalisé de manière matérielle, c’est-à-dire qu’il n’est pas contrôlé de manière logicielle. Le système est par exemple réalisé sous forme de circuit de type FPGA (acronyme de « Field-Programmable Gâte Array »).  The system shown in this figure is implemented in hardware, that is to say that it is not controlled in software. The system is for example produced in the form of a FPGA type circuit (acronym for "Field-Programmable Gate Array").
Le système comporte une ou plusieurs unités d’échange de données 100 (ComSet) et une unité de base de données 101 (Station de base).  The system includes one or more data exchange units 100 (ComSet) and a database unit 101 (Base station).
L’unité de base de données permet le stockage de données échangées entre les unités d’échange de données. Le nombre d’unités d’échange de données est égal au nombre de ports de communication souhaités pour le système. Ces ports de communication sont connectés  The database unit allows the storage of data exchanged between the data exchange units. The number of data exchange units is equal to the number of communication ports desired for the system. These communication ports are connected
Les unités d’échange 100 peuvent être connectés à une unité de base de données 101 au moyen d’une interface standardisée, c’est-à-dire que l’interface est la même pour tous les modules. L’interface standard comporte autant de bus de transport de données que de modules en communication directe avec l’unité de base de données.  The exchange units 100 can be connected to a database unit 101 by means of a standardized interface, that is to say that the interface is the same for all the modules. The standard interface has as many data transport buses as there are modules in direct communication with the database unit.
Par exemple, un module 112 est en charge d’encapsuler des trames de données reçues et à traiter au sein du système. Ce module communique avec l’unité de base de données via un bus dédié 102. Un module 113 est par exemple en charge de la génération de commandes à destination de l’unité de base de données 101 pour extraire une donnée à retransmettre. Ce module communique avec l’unité de base de données via un bus dédié 103. Un module 115 est en charge de recevoir des trames encapsulées de la part de l’unité de base de données et de les traiter pour une retransmission. Ce module communique avec l’unité de base de données via un bus dédié 105. Un module 114 est en charge de gérer les émissions de la part de l’unité de base de données indiquant certains évènements tel que le stockage de trames encapsulées. Cette gestion inclut par exemple la coordination des modules 113 et 115. Ce module communique avec l’unité de base de données via un bus dédié 104. Un module d’horloge 116 est en charge de de recevoir les mises à jour de l’heure générale du système depuis la station de base. Par ailleurs, il fournit l’heure à tous les modules du système de transmission de données qui doivent soit marquer les données, soit vérifier les délais de transmission de celles-ci. Le module d’horloge peut aussi générer les évènements pour la fourniture des signaux de synchronisation au processus qui en ont fait la demande. Il peut en outre prévenir les modules d’émission de données du moment de l’envoi de données lorsqu’elles sont définies comme cycliques par le paramétrage. Le module d’horloge communique avec l’unité de base de données via un bus dédié 106. For example, a module 112 is in charge of encapsulating frames of data received and to be processed within the system. This module communicates with the database unit via a dedicated bus 102. A module 113 is for example in charge of the generation of commands intended for the database unit 101 to extract data to be retransmitted. This module communicates with the database unit via a dedicated bus 103. A module 115 is responsible for receiving encapsulated frames from the database unit and processing them for retransmission. This module communicates with the database unit via a dedicated bus 105. A module 114 is responsible for managing the transmissions on the part of the database unit indicating certain events such as the storage of frames encapsulated. This management includes, for example, the coordination of modules 113 and 115. This module communicates with the database unit via a dedicated bus 104. A clock module 116 is responsible for receiving time updates of the system from the base station. In addition, it provides the time to all the modules of the data transmission system which must either mark the data or verify the data transmission times. The clock module can also generate events for the supply of synchronization signals to the process which requested it. It can also warn the data transmission modules when data is sent when they are defined as cyclic by the configuration. The clock module communicates with the database unit via a dedicated bus 106.
Le module 117 d’analyse et de filtrage est un module de traitement des trames de données reçues avant leur encapsulation par le module 112.  The analysis and filtering module 117 is a module for processing the data frames received before their encapsulation by the module 112.
A l’inverse, le module 118 permet de désencapsuler une trame encapsulée reçue du module 115.  Conversely, the module 118 allows to encapsulate an encapsulated frame received from the module 115.
Un module de gestion de statut 119 est en charge de stocker les états de fonctionnement courant de chacun des modules du système de transmission de données. Préférentiellement, le module de gestion de statut 119 est en charge de stocker les états de fonctionnement courant de chacun des modules du système de transmission de données si le paramétrage le demande. En effet, le comportement du système de transmission de données est modifiable par la fourniture initiale de données de configuration dans lesquelles on pourra spécifier les états et incidents que l’on souhaite pouvoir gérer. De plus tous les modules sont conçus pour transmettre tout incident de fonctionnement à ce module de gestion de statut qui met alors à jour sa base d’information et génère un évènement d’erreur immédiatement si le paramétrage le demande vers le système de transmission de données destiné à cet effet.  A status management module 119 is responsible for storing the current operating states of each of the modules of the data transmission system. Preferably, the status management module 119 is responsible for storing the current operating states of each of the modules of the data transmission system if the configuration requires it. Indeed, the behavior of the data transmission system can be modified by the initial supply of configuration data in which we can specify the states and incidents that we want to be able to manage. In addition, all the modules are designed to transmit any operational incident to this status management module, which then updates its information base and generates an error event immediately if the configuration requests it to the data transmission system. intended for this purpose.
Les données échangées par une unité d’échange sont reçues et envoyées au travers d’un module d’interface 107 configurée en fonction du protocole utilisé à l’extérieur du système. Des exemples de protocoles avec lesquels le système peut être interfacé sont Ethernet, CAN, ARINC 664P7 ou autres.  The data exchanged by an exchange unit is received and sent through an interface module 107 configured according to the protocol used outside the system. Examples of protocols with which the system can be interfaced are Ethernet, CAN, ARINC 664P7 or others.
La communication entre d’une part les différents modules 112, 113, 114, 115 de chaque unité d’échange avec d’autre part les bus de communication respectifs 102, 103, 104, 105 se fait via des dispositifs d’interconnexion 108, 109, 110, 111 décrits plus précisément ci-dessous. Communication between on the one hand the different modules 112, 113, 114, 115 of each exchange unit with on the other hand the respective communication buses 102, 103, 104, 105 is done via interconnection devices 108, 109, 110, 111 described more precisely below.
La communication entre d’une part les différents modules 117, 119, 118 de chaque unité d’échange avec d’autre part le module d’interface 107 se fait également via des dispositifs d’interconnexion 120, 121 , 122.  Communication between the different modules 117, 119, 118 of each exchange unit on the one hand, and on the other hand the interface module 107 is also carried out via interconnection devices 120, 121, 122.
Un dispositif d’interconnexion est également présent entre deux modules successifs le long d’un flux de données. On entend par « le long d’un flux de données » la succession des modules par lesquels transite une trame de données.  An interconnection device is also present between two successive modules along a data stream. By "along a data stream" is meant the succession of modules through which a data frame passes.
Ainsi, un dispositif d’interconnexion 123 relie le module 117 d’analyse et de filtrage en charge du traitement des trames de données reçues avec le module 112 en charge d’encapsuler des trames de données reçues et à traiter au sein du système de transmission des données.  Thus, an interconnection device 123 connects the analysis and filtering module 117 in charge of processing the received data frames with the module 112 in charge of encapsulating received data frames and to be processed within the transmission system Datas.
Un dispositif d’interconnexion 125 relie le module 115 en charge de recevoir des trames encapsulées de la part de l’unité de base de données 101 et de les traiter pour une retransmission avec le module 118 permettant de desencapsuler une trame encapsulée reçue du module 115.  An interconnection device 125 connects the module 115 in charge of receiving encapsulated frames from the database unit 101 and of processing them for retransmission with the module 118 allowing to encapsulate an encapsulated frame received from the module 115 .
Les dispositifs d’interconnexion comprennent une mémoire temporaire accessible indépendamment temporellement par le module en aval du dispositif d’interconnexion et par le module en amont du dispositif d’interconnexion. Selon un mode de réalisation, la mémoire temporaire du dispositif d’interconnexion est une mémoire tampon. La mémoire est accessible indépendamment en écriture par le module amont et en lecture par le module aval. Cette mémoire accessible indépendamment temporellement par les modules amont et aval permet au module amont d’écrire dans la mémoire indépendamment de la lecture par le module aval. En d’autres termes, le module amont et le module aval utilisent la mémoire du dispositif d’interconnexion de manière non synchronisée.  The interconnection devices include a temporary memory independently accessible in time by the module downstream from the interconnection device and by the module upstream from the interconnection device. According to one embodiment, the temporary memory of the interconnection device is a buffer memory. The memory is independently accessible for writing by the upstream module and for reading by the downstream module. This memory independently accessible in time by the upstream and downstream modules allows the upstream module to write to the memory independently of the reading by the downstream module. In other words, the upstream module and the downstream module use the memory of the interconnection device in an unsynchronized manner.
Grâce aux dispositifs d’interconnexion, les modules du système de transmission ne partagent pas d’espace de stockage et échangent les données par l’intermédiaire de la mémoire d’un dispositif d’interconnexion. En outre, les modules du système de transmission ne partagent pas de plan d’horloge. Les modules amont et aval sont totalement indépendants dans l’utilisation de la mémoire du dispositif d’interconnexion. Il n’y a pas d’altération du déterminisme de l’ensemble du système de transmission. Les dispositifs d’interconnexion permettent une latence minimale et ont une bande passante très supérieure au débit maximal de chaque transmission et peuvent donc fonctionner en mode « famine ». Thanks to the interconnection devices, the modules of the transmission system do not share storage space and exchange data via the memory of an interconnection device. In addition, the modules of the transmission system do not share a clock plane. The upstream and downstream modules are completely independent in the use of the memory of the interconnection device. There is no alteration in the determinism of the entire transmission system. The interconnection devices allow minimum latency and have a bandwidth much higher than the maximum speed of each transmission and can therefore operate in “starvation” mode.
Les dispositifs d’interconnexion peuvent être par exemple des mémoires dites DPM (acronyme de « Dual Port Memory » en anglais) ou DAM (acronyme de « Dual Access memory » en anglais) réalisés sous forme de circuit de type FPGA (acronyme de « Field-Programmable Gâte Array » en anglais).  The interconnection devices can for example be memories called DPM (acronym for "Dual Port Memory" in English) or DAM (acronym for "Dual Access memory" in English) produced in the form of a FPGA type circuit (acronym for "Field -Programmable Gâte Array "in English).
La mémoire des dispositifs d’interconnexion est accessible au module amont par l’intermédiaire d’une interface d’écriture et au module aval par l’intermédiaire d’une interface de lecture. Selon un mode de réalisation, les interfaces de lecture et d’écriture ont une relation d’horloge asynchrone.  The memory of the interconnection devices is accessible to the upstream module via a write interface and to the downstream module via a read interface. According to one embodiment, the read and write interfaces have an asynchronous clock relation.
L’interface d’écriture permet de stocker les données dans la mémoire au fur et à mesure de leur réception et l’interface de lecture permet de lire lesdites donnés de ladite trame dans l’ordre de leur réception.  The write interface makes it possible to store the data in the memory as they are received and the read interface makes it possible to read said data from said frame in the order of their reception.
L’interface de lecture est configurée pour lire les données stockées dans la mémoire dans l’ordre d’écriture (ainsi les dispositifs d’interconnexion assurent une gestion dite « FIFO » des données échangées par leur intermédiaire). Une donnée stockée dans la mémoire peut être lue, relue ou encore annulée par l’interface de lecture du dispositif d’interconnexion.  The read interface is configured to read the data stored in the memory in the write order (thus the interconnection devices provide so-called "FIFO" management of the data exchanged through them). Data stored in the memory can be read, re-read or even canceled by the read interface of the interconnection device.
Selon un mode de réalisation, l’interface d’écriture est configurée pour réaliser un traitement sur au moins une donnée stockée dans ladite mémoire afin de détecter des erreurs et interrompre le stockage des données d’une trame de données si une erreur est détectée. Les erreurs détectées peuvent par exemple être l’absence d’espace tampon ou une erreur de séquence dans l’ordre des données. E  According to one embodiment, the write interface is configured to perform processing on at least one piece of data stored in said memory in order to detect errors and to interrupt the storage of data in a data frame if an error is detected. The errors detected can for example be the absence of buffer space or a sequence error in the data order. E
Selon un mode de réalisation, l’interface de lecture est configurée pour réaliser un traitement sur au moins une donnée stockée dans ladite mémoire temporaire afin d’extraire des informations sur ladite au moins une donnée. Les informations extraites peuvent être par exemple un numéro de séquence, son temps de production ou encore sa longueur. Ces informations sont transmises au module aval en même temps que la donnée. Elles peuvent être utiles par exemple pour le traitement dans les unités d’échange de données 100 ou le stockage dans l’unité de base de données 101.  According to one embodiment, the read interface is configured to perform processing on at least one data item stored in said temporary memory in order to extract information on said at least one item of data. The information extracted can be for example a sequence number, its production time or its length. This information is transmitted to the downstream module at the same time as the data. They can be useful, for example, for processing in the data exchange units 100 or storage in the database unit 101.
Selon un mode de réalisation, chaque dispositif d’interconnexion comprend également une interface de rapport d’erreurs rapportant les erreurs de fonctionnement en écriture ou en lecture. Ces informations sont transmises par l’intermédiaire de l’interface de rapport d’erreurs à un mécanisme de rapport d’état du système de transmission de données. According to one embodiment, each interconnection device also comprises an error reporting interface reporting the operating errors in writing or in reading. This information is transmitted through the error reporting interface to a status reporting mechanism of the data transmission system.
Lorsque les dispositifs d’interconnexion sont situés le long d’un flux de trames de données (120, 123, 108, 11 1 , 125, 118), la mémoire temporaire des dispositifs d’interconnexion stocker les trames de données.  When the interconnect devices are located along a stream of data frames (120, 123, 108, 11 1, 125, 118), the temporary memory of the interconnect devices store the data frames.
Lorsque les dispositifs d’interconnexion ne sont pas situés le long d’un flux de trames de données (109, 110, 121 ), la mémoire temporaire des dispositifs d’interconnexion stocke des données de commandes et de signalisation. Ces données de commande et de signalisation ont le même format que les trames de données.  When the interconnect devices are not located along a stream of data frames (109, 110, 121), the temporary memory of the interconnect devices stores control and signaling data. This control and signaling data has the same format as the data frames.
En référence à la figure 2, on décrit la transmission d’une donnée (ou message) par une unité d’échange 200 qui a la même structure que décrite précédemment en référence à la figure 1. With reference to FIG. 2, the transmission of a data (or message) is described by an exchange unit 200 which has the same structure as described previously with reference to FIG. 1.
Le message 201 est reçu au niveau du module d’interface 202. Ce module d’interface est en charge du dialogue avec les composants responsables de la gestion physique des signaux du protocole lié au système de transmission de données. Il récupère l’information des trames reçues via ces composants et les transmet octet par octet au module suivant via un dispositif d’interconnexion 207. Le message 201 est transmis depuis le module d’interface 202 au module 203 en charge de l’analyse et du filtrage du message via le dispositif d’interconnexion 207.  The message 201 is received at the interface module 202. This interface module is in charge of the dialogue with the components responsible for the physical management of the signals of the protocol linked to the data transmission system. It collects the information of the frames received via these components and transmits them byte by byte to the next module via an interconnection device 207. The message 201 is transmitted from the interface module 202 to the module 203 in charge of the analysis and message filtering via the interconnection device 207.
Le module 203 vérifie l’intégrité du message et vérifie aussi que le message est autorisé, par configuration, à être reçu par l’unité d’échange 200. En d’autres termes, le module 203 extrait les informations de la trame entrante afin de s’assurer que l’adresse IP source et le port source du message ainsi que sa taille sont bien tels que le paramétrage les a définis. D’autre part le calcul du CRC (acronyme de « Cyclic redundancy check » ou les sommes de contrôle « checksum » en anglais) permet de vérifier que la trame reçue est bien intègre.  The module 203 verifies the integrity of the message and also verifies that the message is authorized, by configuration, to be received by the exchange unit 200. In other words, the module 203 extracts the information from the incoming frame in order to to make sure that the source IP address and the source port of the message as well as its size are as defined by the configuration. On the other hand, the calculation of CRC (acronym for "Cyclic redundancy check" or checksums in English) makes it possible to verify that the frame received is indeed integrated.
Le message est ensuite transmis du module 203 en charge de l’analyse et du filtrage au module d’encapsulation 204 via un dispositif d’interconnexion 208. Le message est encapsulé dans le module d’encapsulation 204. Une fois encapsulé, le message est traité indépendamment du protocole utilisé pour le transporté à l’extérieur du système. Le message encapsulé est ensuite transmis à l’unité de base de données 205, via le dispositif d’interconnexion 209 et le bus 206, pour stockage en mémoire.  The message is then transmitted from the module 203 in charge of analysis and filtering to the encapsulation module 204 via an interconnection device 208. The message is encapsulated in the encapsulation module 204. Once encapsulated, the message is processed independently of the protocol used for transport outside the system. The encapsulated message is then transmitted to the database unit 205, via the interconnection device 209 and the bus 206, for storage in memory.
Le message encapsulé peut être stocké en prenant en compte différents paramètres. Il s’agit par exemple d’éviter la duplication d’information en mémoire. L’enregistrement d’un message est unique même si il possède plusieurs destinataires. Chaque destinataire et prévenu de l’arrivée de la donnée ainsi que de son emplacement. Les destinataires sont alors autorisés à venir l’y chercher pour transmission. L’heure d’arrivée de la donnée fait aussi partie des données d’encapsulation afin que les récepteurs de l’information puissent contrôler la validité temporelle de celle-ci. Il s’agit par exemple encore de tenir compte du vieillissement du message. Il s’agit par exemple encore de gérer les méthodes d’accès au message qui définissent les adresses des objets en mémoire (on peut par exemple citer les méthodes dites de « Sampling », « Queuing », « Flip/Flop » qui sont des méthodes standard. The encapsulated message can be stored taking into account different parameters. This is for example to avoid duplication of information in memory. The recording of a message is unique even if it has several recipients. Each recipient and notified of the arrival of the data and its location. Recipients are then authorized to pick it up for transmission. The arrival time of the data is also part of the encapsulation data so that the receivers of the information can control the temporal validity of the latter. For example, the aging of the message must also be taken into account. For example, it is also a question of managing the access methods to the message which define the addresses of the objects in memory (we can for example cite the methods called "Sampling", "Queuing", "Flip / Flop" which are standard methods.
En référence aux figures 3a-3b, on décrit la réception d’une donnée (ou message) par une unité d’échange 300.  With reference to FIGS. 3a-3b, the reception of a data (or message) by a exchange unit 300 is described.
A la suite du stockage du message encapsulé dans l’unité de base de données 205 décrite ci-dessus en référence à la figure 2, une donnée de type « évènement » est envoyée à l’unité d’échange 300 à qui le message 201 est destiné via le bus 304 et le dispositif d’interconnexion 308. Une donnée de type « évènement » est un objet au format d’encapsulation commun dont l’objet est de prévenir le module destinataire soit du comportement d’un autre module soit d’une action à accomplir pour ce dernier.  Following the storage of the message encapsulated in the database unit 205 described above with reference to FIG. 2, data of the "event" type is sent to the exchange unit 300 to which the message 201 is intended via the bus 304 and the interconnection device 308. An “event” type data is an object in common encapsulation format whose object is to warn the recipient module either of the behavior of another module or of '' an action to be performed for the latter.
L’unité de base de données 205 (commune aux modules 200 et 300) génère et gère les évènements relatifs à l’émission d’un message encapsulé. L’unité de base de données cadence aussi les moments de transmission des données de type « évènement » aux modules d’échange qui doivent émettre le message encapsulé concerné par la donnée. Le module d’émission est prévenu par message que la donnée à émettre est disponible et où aller la chercher.  The database unit 205 (common to modules 200 and 300) generates and manages events relating to the transmission of an encapsulated message. The database unit also rates the moments of transmission of "event" type data to the exchange modules which must send the encapsulated message concerned by the data. The transmission module is notified by message that the data to be transmitted is available and where to go to get it.
La donnée de type « évènement » est ensuite reçue par un module 301 de gestion des émissions cycliques et événementielles en charge de la réception de ces données. Sur réception d’une telle donnée le module 301 envoie une demande de commande à destination du module de génération de commandes 302.  The “event” type data is then received by a module 301 for managing cyclic and event emissions in charge of receiving this data. On receipt of such data the module 301 sends a command request to the command generation module 302.
Le module de génération de commandes 302 envoie ensuite une commande à destination de l’unité de base de données via un dispositif d’interconnexion 310 et le bus 311 afin que l’objet encapsulé soit envoyé vers l’unité d’échange 300.  The command generation module 302 then sends a command to the database unit via an interconnection device 310 and the bus 311 so that the encapsulated object is sent to the exchange unit 300.
En parallèle, le module 301 envoie une demande de mise en mode attente du message encapsulé au module 303 de génération de données à émettre. Le module 302 joue ainsi un rôle de gestion du cycle (en particulier de la fréquence) d’envoi des messages. In parallel, the module 301 sends a request to put the encapsulated message in standby mode to the module 303 for generating data to be transmitted. The module 302 thus plays a role in managing the cycle (in particular the frequency) of sending messages.
L’unité de base de données envoie ensuite le message encapsulé via le bus 305 et un dispositif d’interconnexion 313 au module 303 qui désencapsule le message pour en faire un message conforme au protocole de l’équipement connecté sur le port physique de l’unité d’échange 300.  The database unit then sends the encapsulated message via the bus 305 and an interconnection device 313 to the module 303 which decapsulates the message to make it a message conforming to the protocol of the equipment connected to the physical port of the exchange unit 300.
Le message ainsi desencapsulé est transmis via un dispositif d’interconnexion 314 au module 306 de contrôle de l’émission puis au module d’interface 307 via un dispositif d’interconnexion 315. Le module de contrôle 306 après une dernière vérification de l’intégrité de la donnée à l’aide du code de contrôle (CRC) vérifie aussi que les informations contenues correspondent bien à tous les critères définis par le paramétrage du port de sortie.  The message thus encapsulated is transmitted via an interconnection device 314 to the module 306 for controlling the transmission and then to the interface module 307 via an interconnection device 315. The control module 306 after a final verification of the integrity of the data using the control code (CRC) also verifies that the information contained corresponds to all the criteria defined by the configuration of the output port.
Dans ce qui suit, on décrit les opérations réalisées par le module d’analyse et de filtrage d’une unité d’échange de données. In the following, the operations performed by the analysis and filtering module of a data exchange unit are described.
Le filtrage intervient entre la réception d’une trame et son encapsulation. Le filtrage a pour objectif de vérifier que la trame reçue est bien une trame connue, attendue et bien formée. Si ce n’est pas le cas, la trame est rejetée et un message d’erreur est généré. Le filtrage a aussi pour objectif de fournir, si la trame et acceptée, l’information des emplacements où les données nécessaires à l’encapsulation de la trame peuvent être récupérées.  Filtering takes place between the reception of a frame and its encapsulation. The purpose of filtering is to verify that the frame received is indeed a known, expected and well-formed frame. If not, the frame is rejected and an error message is generated. Filtering also aims to provide, if the frame is accepted, information on the locations where the data necessary for the encapsulation of the frame can be retrieved.
D’une manière générale, le filtrage, dans le domaine des réseaux, est l’opération qui consiste à vérifier l’intégrité et la validité d’une trame en réception.  Generally speaking, filtering in the area of networks is the operation of verifying the integrity and validity of a frame received.
La vérification de l’intégrité de la trame permet de s’assurer qu’une trame reçue respecte des propriétés liées à sa structure.  Verification of the integrity of the frame makes it possible to ensure that a frame received respects properties related to its structure.
Parmi les vérifications effectuées on trouve par exemple les altérations au niveau logique élémentaire (bit ou ensemble de bits). La vérification est réalisée grâce à un code détecteur d’erreurs du type contrôle de redondance cyclique ou CRC (acronyme de « Cyclic Redundancy Check »).  Among the checks carried out, there are for example the alterations at the elementary logical level (bit or set of bits). The verification is carried out using an error detection code of the cyclic redundancy check or CRC type (acronym for "Cyclic Redundancy Check").
On trouve aussi parmi les vérifications effectuées le fait que l’arrivée de deux trames successives doit respecter un délai minimum (on parle d’IFG, acronyme de « InterFrame Gap »). Si ce délai n’est pas respecté, la trame est considérée corrompue.  Among the checks carried out, we also find that the arrival of two successive frames must respect a minimum delay (we speak of IFG, acronym for "InterFrame Gap"). If this deadline is not respected, the frame is considered corrupt.
D’autres vérifications sont possibles comme par exemple les intervalles de longueur de la trame, notés [LMAX, LMIN] qui peuvent dépendre des protocoles. Une trame peut avoir une taille fixe (c’est par exemple le cas dans le protocole Arinc 429) ou une taille variable bornée en valeurs inférieure et supérieure (par exemple le protocole Ethernet 802.3). En plus des restrictions normatives, l’utilisateur peut durcir les conditions sur les tailles. Quand la trame ne respecte pas les contraintes de taille, elle est considérée corrompue. Other verifications are possible such as for example the length intervals of the frame, denoted [LMAX, LMIN] which may depend on the protocols. A frame can have a fixed size (this is the case for example in the Arinc 429 protocol) or a variable size bounded in lower and upper values (for example the Ethernet 802.3 protocol). In addition to the regulatory restrictions, the user can tighten the conditions on sizes. When the frame does not respect the size constraints, it is considered corrupt.
La vérification de la validité permet de s’assurer qu’une trame reçue à un point de réception donné est bien autorisée à être reçue à cet endroit (le vocable « endroit » sous-entend « port de communication » dans la terminologie réseau). La prise de décision de l’autorisation se base sur les données d’encapsulation de la trame. Si on prend l’exemple des trames de type IP (acronyme de « Internet Protocol »), respectant le standard IEEE 802.3, les données d’encapsulation sont à récupérer des champs de la pile protocolaires tels que : « IP sources », « EtherType », « MAC source », « MAC destination », etc.  Verification of validity makes it possible to ensure that a frame received at a given reception point is indeed authorized to be received at this location (the term "location" means "communication port" in network terminology). Authorization decision making is based on frame encapsulation data. If we take the example of IP type frames (acronym for "Internet Protocol"), respecting the IEEE 802.3 standard, the encapsulation data is to be retrieved from fields in the protocol stack such as: "IP sources", "EtherType "," MAC source "," MAC destination ", etc.
Chaque trame qui passe par le module de filtrage provoque une prise de décision binaire, donc avec deux états stables et aucune indécision possible : la trame passe le filtrage ou la trame ne passe pas le filtrage. Toute violation d’intégrité et/ou de validité de la trame provoque son rejet (trame ne passe donc pas le filtrage).  Each frame which passes through the filtering module causes a binary decision-making, therefore with two stable states and no possible indecision: the frame passes the filtering or the frame does not pass the filtering. Any violation of the integrity and / or validity of the frame causes its rejection (frame therefore does not pass filtering).
Deux actions sont alors déclenchées. Une première action est la suppression (purge) de la trame du module de filtrage. Une deuxième action est une levée d’un statut d’erreur par le contrôle du module de gestion du statu évoqué ci- avant. Les statuts peuvent être gérés de différentes manières. Par exemple, il est possible de choisir l’envoi d’une information d’état de façon cyclique et ce, avec une périodicité paramétrable, ou d’émettre un évènement dès la survenance d’un évènement particulier vers le module et le système de transmission de données paramétrés à cet effet. Les statuts peuvent être actifs et donc pris en compte ou masqués et donc ignorés.  Two actions are then triggered. A first action is the removal (purging) of the frame of the filtering module. A second action is to lift an error status by checking the status management module mentioned above. The statutes can be managed in different ways. For example, it is possible to choose the sending of status information cyclically and this, with a configurable periodicity, or to send an event as soon as a particular event occurs to the module and the system. data transmission configured for this purpose. The statutes can be active and therefore taken into account or hidden and therefore ignored.
Dans le cas où aucune violation des règles d’intégrité et de validité n’est détectée, la trame est acceptée dans le système, autrement dit, la trame passe le filtrage.  In the event that no violation of the integrity and validity rules is detected, the frame is accepted in the system, in other words, the frame passes the filtering.
Deux actions sont alors déclenchées. Une première action est la fourniture de la trame au module suivant (c’est-à-dire le module d’encapsulation). Une deuxième action est la génération d’un pointeur vers les tables d’encapsulation qui permet de trouver, dans les mémoires internes, les données de certains champs d’encapsulation objet (sur-encapsulation de la trame). L’encapsulation d’une trame est en fait une sur-encapsulation. Une trame est déjà une encapsulation des données utiles par des champs propres au protocole. Ici, il s’agit d’ajouter d’autres champs. Il est alors possible de parler de sur- encapsulation. Certains champs sont calculés et chargés en mémoire par un configurateur en mode hors-ligne (avant le démarrage de la phase opérationnelle) et d’autres champs sont calculés par le composant en mode en-ligne (pendant la phase opérationnelle). Two actions are then triggered. A first action is the supply of the frame to the next module (that is to say the encapsulation module). A second action is the generation of a pointer to the encapsulation tables which makes it possible to find, in the internal memories, the data of certain object encapsulation fields (over-encapsulation of the frame). The encapsulation of a frame is in fact an over-encapsulation. A frame is already an encapsulation of the useful data by fields specific to the protocol. Here it is a question of adding other fields. It is then possible to speak of over-encapsulation. Some fields are calculated and loaded into memory by a configurator in offline mode (before the start of the operational phase) and other fields are calculated by the component in online mode (during the operational phase).
Une particularité du module de filtrage, outre le fait qu’il soit conçu pour une implémentation exclusivement matérielle, est la garantie d’une performance très élevée comparativement aux systèmes existants sur le marché. L’aspect « implémentation matérielle » ici fait opposition à une mise en oeuvre logicielle basée sur un schéma type Von Neumann. Le module de filtrage, comme l’untié d’échange de données auquel il appartient est implantable dans des circuits programmables type FPGA (acronyme de « Field-Programmable Gâte Array » ou ASIC (acronyme de « application-specific integrated circuit »). La performance allie à la fois débit élevé et déterminisme temporel.  A special feature of the filter module, apart from the fact that it is designed for an exclusively hardware implementation, is the guarantee of a very high performance compared to existing systems on the market. The "hardware implementation" aspect here is opposed to a software implementation based on a Von Neumann type scheme. The filtering module, like the data exchange unit to which it belongs, can be installed in FPGA type programmable circuits (acronym for "Field-Programmable Gate Array" or ASIC (acronym for "application-specific integrated circuit"). performance combines both high throughput and temporal determinism.
Le fonctionnement du module de filtrage comporte une base de registres de réception des trames, des modules de dichotomie, et une machine d’état de contrôle.  The operation of the filtering module includes a frame reception register base, dichotomy modules, and a control state machine.
Tout le mécanisme du module de filtrage est cadencé par une machine d’état de contrôle qui pousse dans une structure de registres la trame au fur et à mesure qu’elle est reçue, et, à des moments opportuns, charge des données particulière et/ou fait des calculs sur certaines de ces données.  The entire mechanism of the filtering module is clocked by a control state machine which pushes the frame into a register structure as it is received, and, at appropriate times, loads particular data and / or make calculations on some of this data.
Avant même la fin de la réception de la trame, le filtrage, qui utilise des tables de dichotomie pour la recherche des informations et actions à effectuer, est déjà lancé car toutes les informations nécessaires sont rendues disponibles.  Even before the end of the reception of the frame, filtering, which uses dichotomy tables to search for the information and actions to be carried out, is already launched because all the necessary information is made available.
Au besoin, il est possible d’arrêter l’opération, et de purger le module si, par exemple, une corruption de donnée est détectée via les mécanismes de protection (tels que le CRC (acronyme de « Cyclic redundancy check » ou les sommes de contrôle « checksum » en anglais).  If necessary, it is possible to stop the operation, and to purge the module if, for example, data corruption is detected via protection mechanisms (such as CRC (acronym for "Cyclic redundancy check" or sums "checksum" in English).
Dans ce fonctionnement, plusieurs traitements son parallélisés. En effet, quand l’arrivée d’une trame est détectée, celle-ci est dé-sérialisée au fil de son arrivée. A chaque fois qu’un nombre suffisant de bits est correctement reçu, la machine d’état remplit un registre de réception dans la base de registres prévue à cet effet. Chaque registre est clairement identifié. Ainsi, en fonction du protocole de la trame en cours de réception, il est possible de récupérer à la volée des informations particulières pour les besoins, soit de traitement, soit de passage de paramètres pour une fonction donnée. In this operation, several treatments are parallelized. When the arrival of a frame is detected, it is de-serialized as it arrives. Each time a sufficient number of bits is correctly received, the state machine fills a reception register in the register base provided for this purpose. Each register is clearly identified. So, depending on the protocol of the frame being reception, it is possible to retrieve particular information on the fly for the needs, either of processing, or of passing parameters for a given function.
Un exemple de trame est décrit en référence à la figure 4. L’invention n’est pas limitée à un protocole particulier et peut s’appliquer à un protocole quelconque tel que le protocole Arinc 429 ou le protocole Ethernet 802.3.  An example of a frame is described with reference to FIG. 4. The invention is not limited to a particular protocol and can be applied to any protocol such as the Arinc 429 protocol or the 802.3 Ethernet protocol.
Dans l’exemple d’une trame conforme au standard IEEE 802.3, les 6 premiers octets reçus sont l’adresse MAC destination, les 6 octets suivants sont l’adresse MAC source, les 2 octets suivants sont le champ EtherType. Si pour les besoins du filtrage, le module nécessite les deux derniers octets de l’adresse MAC de destination (numéro du « Virtual Link » dans la norme Arinc 664P7), et si la base de registre est constituée de registres de 32 bits (4 octets) alors la réception du second registre, noté « Reg2 » dans la figure 4, déclenche une récupération des octets 1 et 2 pour les besoins du traitement (identification du « Virtual Link »).  In the example of a frame conforming to the IEEE 802.3 standard, the first 6 bytes received are the destination MAC address, the next 6 bytes are the source MAC address, the next 2 bytes are the EtherType field. If for filtering purposes, the module requires the last two bytes of the destination MAC address (“Virtual Link” number in the Arinc standard 664P7), and if the registry is made up of 32-bit registers (4 bytes) then the reception of the second register, noted “Reg2” in FIG. 4, triggers a recovery of bytes 1 and 2 for processing purposes (identification of the “Virtual Link”).
L’opération de réception et de stockage, en plus des tâches de récupération des paramètres pendant la réception, assure la vérification de l’intégrité des trames : vérification de l’enveloppe de la trame, de l’IFG, de la taille, du CRC, etc.  The reception and storage operation, in addition to the task of recovering the parameters during reception, ensures verification of the integrity of the frames: verification of the frame envelope, IFG, size, CRC, etc.
Les informations récupérées de l’encapsulation (parfois après un traitement dessus) sont utilisées pour s’assurer de la validité de la trame. En d’autres termes, vérifier si la trame est bien autorisée à passer dans la suite du système. Cette activité est prise en charge par les « tables de dichotomie » appelées aussi « tables de filtrage ».  The information recovered from the encapsulation (sometimes after processing above) is used to ensure the validity of the frame. In other words, check if the frame is authorized to pass through the rest of the system. This activity is handled by the “dichotomy tables” also called “filter tables”.
Pour une optimisation des performances, le schéma de la dichotomie est divisé en plusieurs étages dont chaque étage peut être lui-même subdivisé en plusieurs parties. Le principe de partitionnement en « étages » et « parties » obéit aux deux règles suivantes. Les « étages » sont « pipelinés », c’est-à-dire, les sorties d’un « étage » d’ordre n-1 sont des entrées pour l’étage d’ordre n. L’exécution de toutes les « parties » dans un même « étage » est parallélisée.  For optimal performance, the dichotomy diagram is divided into several stages, each stage of which can itself be subdivided into several parts. The principle of partitioning into "stages" and "parts" obeys the following two rules. The "stages" are "pipelined", that is to say, the outputs of a "stage" of order n-1 are inputs for the stage of order n. The execution of all "parts" in the same "floor" is parallelized.
Dans un exemple de mise en oeuvre, la dichotomie est organisée en deux étages dont le premier est lui-même subdivisé en deux parties. Chronologiquement, les recherches du premier étage sont parallélisées. Les sorties du premier étages constituent des entrées pour le second étage qui, en sortie, fournit un pointeur vers des structures mémoires qui permettent au module d’encapsulation de sur-encapsuler de la trame reçue.  In an exemplary implementation, the dichotomy is organized in two stages, the first of which is itself subdivided into two parts. Chronologically, research on the first floor is parallelized. The outputs of the first stage constitute inputs for the second stage which, at the output, provides a pointer to memory structures which allow the encapsulation module to over-encapsulate the received frame.
La figure 5 est un schéma illustrant un module de filtrage selon des modes de réalisation. Le fonctionnement global de ce module est synchrone. Ce module utilise une horloge unique distribuée. Il est en outre géré par une machine à états finie 501 (FSM acronyme de « Final State Machine »). L’intérêt de cette manière de faire est de pouvoir maîtriser le déclanchement et la durée de chaque opération ce qui induit une garantie d’un temps de traitement borné et connu, et donc, une garantie de déterminisme temporel. FIG. 5 is a diagram illustrating a filtering module according to embodiments. The overall operation of this module is synchronous. This module uses a single distributed clock. It is also managed by a finite state machine 501 (FSM acronym for "Final State Machine"). The advantage of this way of doing things is to be able to control the trigger and the duration of each operation, which induces a guarantee of a limited and known processing time, and therefore, a guarantee of temporal determinism.
La trame en réception est dé-sérialisée dans le module d’entrée 500 « DataJN » qui la stocke au fur et à mesure de son arrivée dans une base de registres 507. Dès la disponibilité d’informations pertinentes dans cette dernière, celles-ci sont récupérées pour être exploitées. Dans l’exemple de la figure 5, le premier octet du premier registre peut être mis à disposition, dès sa réception, du module 502 pour la recherche dichotomique de l’étage 1 partie 2, notée E1 P2. Le lancement du bloc 502 nécessite une commande de la machine 501 ainsi que des données complémentaires (notées « data externes » telle que l’enveloppe de trame et l’horloge).  The frame on reception is de-serialized in the input module 500 "DataJN" which stores it as and when it arrives in a register 507. As soon as relevant information is available in the latter, these are recovered to be used. In the example of FIG. 5, the first byte of the first register can be made available, upon receipt, of the module 502 for the dichotomous search of stage 1 part 2, denoted E1 P2. The launching of block 502 requires a command from the machine 501 as well as additional data (denoted "external data" such as the frame envelope and the clock).
En parallèle, la réception de la trame continue et d’autres informations sont prélevées à la volée soit pour alimenter les recherches dichotomiques, soit pour alimenter une unité 503 de calcul spécifiques qui alimente par la suite les recherches dichotomiques. L’unité 503 permet de traiter certaines informations d’encapsulation qui ne sont pas utilisables dans leur état brut et/ou doivent être combinées entre elles pour qu’elles soient exploitables par la suite. Par exemple, le module 502 ne peut être lancé qu’après extraction directe de l’octet 2 du registre 2 et mise à disposition d’un résultat de traitement de l’unité 503 basé sur l’octet 1 du registre 2. Le lancement du module In parallel, the reception of the continuous frame and other information is taken on the fly either to feed the dichotomous searches, or to feed a specific calculation unit 503 which subsequently feeds the dichotomous searches. The unit 503 makes it possible to process certain encapsulation information which is not usable in their raw state and / or must be combined together so that they can be used subsequently. For example, the module 502 can only be launched after direct extraction of byte 2 from register 2 and provision of a processing result of unit 503 based on byte 1 of register 2. Launching of the module
504 comprenant l’étage 2 de la dichotomie, noté E2, ne peut se faire qu’une fois les traitements de l’étage 1 complétés. En effet, les résultats des modules 502 (E1 P1 ) et504 comprising stage 2 of the dichotomy, noted E2, can only be done after the treatments of stage 1 have been completed. Indeed, the results of modules 502 (E1 P1) and
505 (la partie 1 de l’étage 1 notée E1 P2) sont injectés comme entrées dans le module 504. De plus, ces entrées ne sont pas exclusives. Chaque étage peut avoir besoin d’entrées complémentaires (en plus de celle de l’étage amont). Dans l’exemple de la figure 5, le module 504 nécessite le dernier octet de l’avant-dernier registre ainsi qu’un résultat fourni par l’unité 503. 505 (part 1 of stage 1 denoted E1 P2) are injected as inputs into module 504. In addition, these inputs are not exclusive. Each floor may need additional entrances (in addition to that of the upstream floor). In the example in FIG. 5, the module 504 requires the last byte of the penultimate register as well as a result supplied by the unit 503.
En parallèle de tous ces traitements, une unité 506 de contrôle d’intégrité vérifie que la trame en réception ne comporte pas d’anomalie. Les vérifications portent sur plusieurs paramètres tel que par exemple le CRC, la longueur, l’IFG, ou autre. Cette unité informe la machine 501 du statut de la réception en cours et lève une anomalie le cas échéant. Tout au long du fonctionnement, des statuts sont générés et échangés afin de prévenir tout dysfonctionnement et détecter toute anomalie. In parallel with all these processing operations, an integrity control unit 506 verifies that the frame on reception does not contain any anomaly. The checks relate to several parameters such as for example the CRC, the length, the IFG, or other. This unit informs the machine 501 of the status of the reception in progress and raises an anomaly if necessary. Throughout the operation, statuses are generated and exchanged in order to prevent any malfunction and detect any anomaly.
Les sorties du modules de filtrage peuvent être au nombre de un ou trois selon l’état final de la machine d’état de contrôle. Une sortie est un mot de statut contenant l’état final de la machine d’état avec, le cas échéant, une indication (communément appelée drapeau ou « flag » en anglais) à propos de l’anomalie constatée. Si le traitement s’est correctement déroulé, alors le module de filtrage fournit en plus le contenu de la base de registres qui n’est autre que la trame reçue et un pointeur, issu du dernier étage de la dichotomie, sur les structures mémoires permettant de créer l’objet issu de l’encapsule de la trame.  The outputs of the filter modules can be one or three depending on the final state of the control state machine. An output is a status word containing the final state of the state machine with, if necessary, an indication (commonly called a flag) about the anomaly observed. If the processing was carried out correctly, then the filtering module provides in addition the content of the register base which is none other than the frame received and a pointer, coming from the last stage of the dichotomy, on the memory structures allowing create the object from the frame encapsulation.
En référence à la figure 6, on décrit maintenant le fonctionnement d’une unité de base de données 600. With reference to FIG. 6, the operation of a database unit 600 will now be described.
Une trame de données encapsulée est reçue via le bus 602 depuis l’unité d’échange telle que décrite précédemment en référence à la figure 1 (en particulier depuis un module d’encapsulation tel que le module 112 de la figure 1 ) par le module d’interface RX 610. Cette trame de données est transmise à un module des évènements d’écriture 630 par l’intermédiaire d’un dispositif d’interconnexion 620. Le module des évènements d’écriture 630 est en charge de transmettre les trames de données encapsulées reçues à un module de gestion de la mémoire 650.  An encapsulated data frame is received via the bus 602 from the exchange unit as described above with reference to FIG. 1 (in particular from an encapsulation module such as the module 112 of FIG. 1) by the module RX interface module 610. This data frame is transmitted to a write event module 630 via an interconnection device 620. The write event module 630 is responsible for transmitting the encapsulated data received at a memory management module 650.
Pour cela, en fonction des informations de la trame de données encapsulées transmises, en particulier en fonction des informations situées en en-tête de la trame, le module des évènements d’écriture 630 communique avec un module de gestion des données 642 afin d’obtenir l’adresse d’écriture dans la mémoire 660 de la trame de données. Le module de gestion des données 642 est en charge d’attribuer une adresse d’écriture dans la mémoire 660 à chaque trame de données.  For this, as a function of the information in the transmitted encapsulated data frame, in particular as a function of the information located at the header of the frame, the write event module 630 communicates with a data management module 642 in order to obtain the write address in the memory 660 of the data frame. The data management module 642 is responsible for assigning a write address in the memory 660 to each data frame.
Une fois l’adresse d’écriture de la trame de données reçue du module de gestion des données 642, le module des évènements d’écriture 630 communique avec le module de gestion de la mémoire 650 en transmettant une demande d’écriture par l’intermédiaire d’un premier dispositif d’interconnexion 641 et en transmettant la trame de données par l’intermédiaire d’un second dispositif d’interconnexion 640.  Once the write address of the data frame received from the data management module 642, the write event module 630 communicates with the memory management module 650 by transmitting a write request by the via a first interconnection device 641 and by transmitting the data frame via a second interconnection device 640.
Dès la trame de données reçue, le module de gestion de la mémoire 650 stocke la trame de données dans la mémoire 660.  As soon as the data frame received, the memory management module 650 stores the data frame in the memory 660.
Lorsque la trame de données a été stockée, le module des évènements d’écriture 630 communique avec un module évènements 631 et l’informe du stockage de la trame de données dans la mémoire 660. En fonction des informations de la trame de données encapsulées stockées, en particulier en fonction des informations situées en en-tête de la trame, le module évènements 631 communique avec le module interface évènement 611 par l’intermédiaire d’un dispositif d’interconnexion 621 qui envoie via le bus 604 un message à l’unité d’échange (en particulier, au module de gestion des émissions 114) concernant les données disponibles avec les références des données disponibles. Le module évènement 631 est en charge d’informer l’unité d’échange des trames de données stockées disponibles. When the data frame has been stored, the write event module 630 communicates with an event module 631 and informs it of the storage of the data frame in the memory 660. As a function of the information of the stored encapsulated data frame, in particular as a function of the information located at the header of the frame, the event module 631 communicates with the event interface module 611 via the 'through an interconnection device 621 which sends via the bus 604 a message to the exchange unit (in particular, to the emission management module 114) concerning the available data with the references of the available data. The event module 631 is responsible for informing the exchange unit of the available stored data frames.
Lorsque l’unité d’échange souhaite récupérer une trame de données, le module de génération des commandes 113 envoie une commande de lecture via le bus 603 à l’interface de commande 612. L’interface de commande 612 transmet cette commande au module de commande de lecture 632 par l’intermédiaire d’un dispositif d’interconnexion 622. Le module de commande de lecture 632 est en charge de la réception des commandes de trames de données depuis le module d’unité d’échange et de l’envoi des trames de donnés commandées.  When the exchange unit wishes to recover a data frame, the command generation module 113 sends a read command via the bus 603 to the command interface 612. The command interface 612 transmits this command to the command module read command 632 via an interconnection device 622. The read control module 632 is in charge of receiving commands for data frames from the exchange unit module and of sending ordered data frames.
Le module de commande de lecture 632 qui reçoit la commande fait une demande au module de gestion des données 642 afin d’obtenir l’adresse à laquelle récupérer la trame de données en fonction des références fournies dans la commande.  The read control module 632 which receives the command makes a request to the data management module 642 in order to obtain the address from which to retrieve the data frame according to the references provided in the command.
Le module de gestion des données 642 transmet alors l’adresse au module de commande de lecture 632 qui communique sa commande au module de gestion de la mémoire 650 par l’intermédiaire d’un premier dispositif d’interconnexion 643. Le module de gestion de la mémoire 650 récupère la trame de données depuis la mémoire 660 à partir de l’adresse communiquée et transmet la trame de données au module de commande de lecture 632 par l’intermédiaire d’un second dispositif d’interconnexion 644.  The data management module 642 then transmits the address to the read control module 632 which communicates its command to the memory management module 650 via a first interconnection device 643. The management module the memory 650 retrieves the data frame from the memory 660 from the address communicated and transmits the data frame to the read control module 632 via a second interconnection device 644.
Une fois la trame de données récupérée par le module de commande de lecture 632, celui-ci transmet la trame de données au module d’interface TX 613 par l’intermédiaire d’un dispositif d’interconnexion 623. Le module d’interface TX 613 transmet enfin la trame de données à l’unité d’échange (en particulier au module de génération des données à émettre 115) via le bus 605.  Once the data frame has been retrieved by the read control module 632, the latter transmits the data frame to the TX interface module 613 via an interconnection device 623. The TX interface module 613 finally transmits the data frame to the exchange unit (in particular to the module for generating the data to be transmitted 115) via the bus 605.
L’unité de base de données comprend également un module de gestion du temps 614 qui communique avec le module d’horloge 116 de l’unité d’échange via le bus 606 afin de transmettre les mises à jour de l’heure générale du système. Le module de gestion du temps 614 est aussi en charge de la fourniture des signaux de synchronisation aux modules qui en ont fait la demande. Les dispositifs d’interconnexion 620, 621 , 622, 623, 640, 641 , 643, 644 de l’unité de base de données ont les mêmes propriétés et capacités que les dispositifs d’interconnexion décrits ci-dessus en référence de l’unité d’échange. La présente invention a été décrite et illustrée dans la présente description détaillée en référence aux figures jointes. Toutefois la présente invention ne se limite pas aux formes de réalisation présentées. D’autres variantes, modes de réalisation et combinaisons de caractéristiques peuvent être déduits et mis en oeuvre par la personne du métier à la lecture de la présente description et des figures annexées. The database unit also includes a time management module 614 which communicates with the clock module 116 of the exchange unit via the bus 606 in order to transmit the updates of the general time of the system. . The time management module 614 is also in charge of supplying the synchronization signals to the modules which have requested it. The interconnection devices 620, 621, 622, 623, 640, 641, 643, 644 of the database unit have the same properties and capacities as the interconnection devices described above with reference to the unit exchange. The present invention has been described and illustrated in the present detailed description with reference to the attached figures. However, the present invention is not limited to the embodiments presented. Other variants, embodiments and combinations of characteristics can be deduced and implemented by a person skilled in the art on reading the present description and the appended figures.
Pour satisfaire des besoins spécifiques, une personne compétente dans le domaine de l’invention pourra appliquer des modifications ou adaptations.  To meet specific needs, a person competent in the field of the invention may apply modifications or adaptations.
Dans les revendications, le terme “comporter” n’exclut pas d’autres éléments ou d’autres étapes. L’article indéfini « un » n’exclut pas le pluriel. Un seul processeur ou plusieurs autres unités peuvent être utilisées pour mettre en oeuvre l’invention. Les différentes caractéristiques présentées et/ou revendiquées peuvent être avantageusement combinées. Leur présence dans la description ou dans des revendications dépendantes différentes, n’exclut pas en effet la possibilité de les combiner. Les signes de référence ne sauraient être compris comme limitant la portée de l’invention.  In the claims, the term "include" does not exclude other elements or steps. The indefinite article "one" does not exclude the plural. A single processor or several other units can be used to carry out the invention. The various features presented and / or claimed can be advantageously combined. Their presence in the description or in different dependent claims does not exclude the possibility of combining them. The reference signs should not be understood as limiting the scope of the invention.

Claims

REVENDICATIONS
1. Système de transmission de données comprenant une unité d’échange de donnés (100, 200, 300) ; dans lequel, pour transmettre une trame de données, celle-ci transite successivement au moins par :  1. Data transmission system comprising a data exchange unit (100, 200, 300); in which, to transmit a data frame, it passes successively at least through:
- un module d’interface (107, 202, 307) configuré pour recevoir ladite trame de données depuis l’extérieur du système de transmission ;  - an interface module (107, 202, 307) configured to receive said data frame from outside the transmission system;
- un module d’analyse et de filtrage (1 17, 203) en charge du traitement de ladite trame de données reçue depuis le module d’interface avant encapsulation ; et - an analysis and filtering module (1 17, 203) in charge of processing said data frame received from the interface module before encapsulation; and
- un module d’encapsulation (1 12, 204) en charge d’encapsuler ladite trame de données traitée par le module d’analyse et de filtrage ; caractérisé en ce que, deux modules successifs par lesquels transite ladite trame de données sont reliés entre eux par un dispositif d’interconnexion (120, 123 ; 207, 208) comprenant chacun une mémoire temporaire pour stocker ladite trame et les accès en écriture et en lecture à ladite mémoire étant indépendants en fréquence. - an encapsulation module (1 12, 204) in charge of encapsulating said data frame processed by the analysis and filtering module; characterized in that, two successive modules through which said data frame passes are linked together by an interconnection device (120, 123; 207, 208) each comprising a temporary memory for storing said frame and the write and write accesses reading to said memory being independent in frequency.
2. Système de transmission de données selon la revendication 1 comprenant en outre une unité de base de données (101 , 205), dans lequel l’unité de base de données (101 , 205) est configurée pour stocker les trames de données encapsulées par le module d’encapsulation (1 12, 204) et dans lequel l’unité de base de données est reliée au module d’encapsulation par un dispositif d’interconnexion (108, 209) comprenant une mémoire temporaire pour stocker ladite trame et les accès en écriture et en lecture à ladite mémoire étant indépendants en fréquence. The data transmission system according to claim 1 further comprising a database unit (101, 205), wherein the database unit (101, 205) is configured to store the frames of data encapsulated by the encapsulation module (1 12, 204) and in which the database unit is connected to the encapsulation module by an interconnection device (108, 209) comprising a temporary memory for storing said frame and the accesses in writing and reading in said memory being independent in frequency.
3. Système de transmission de données selon la revendication 2, dans lequel pour transmettre une trame de données, celle-ci transite en outre successivement au moins par : 3. The data transmission system as claimed in claim 2, in which to transmit a data frame, the latter also passes successively at least through:
- un module de génération des données à émettre (1 15, 303) en charge de recevoir des trames de données encapsulées de la part de l’unité de base de données (101 , 205) et de les traiter en vue d’une retransmission ; et  - a module for generating the data to be sent (1 15, 303) responsible for receiving encapsulated data frames from the database unit (101, 205) and processing them for retransmission ; and
- un module de contrôle de l’émission (1 18, 306) en charge de désencapsuler une trame de données encapsulées reçue du module de génération des données à émettre (115, 303) puis de transmettre la trame de données désencapsulée au module d’interface (107, 202, 307) en vue de l’émission de la trame de données désencapsulée hors du système de transmission. - a transmission control module (1 18, 306) in charge of de-encapsulating an encapsulated data frame received from the module for generating the data to be transmitted (115, 303) then transmitting the de-encapsulated data frame to the module interface (107, 202, 307) for sending the unencapsulated data frame outside the transmission system.
4. Système de transmission de données selon la revendication 3, dans lequel l’unité de base de données (101 , 205) est reliée au module de génération des données à émettre (1 15, 303) par un dispositif d’interconnexion (1 1 1 , 313) comprenant une mémoire temporaire pour stocker ladite trame et les accès en écriture et en lecture à ladite mémoire étant indépendants en fréquence. 4. Data transmission system according to claim 3, wherein the database unit (101, 205) is connected to the module for generating the data to be transmitted (1 15, 303) by an interconnection device (1 1 1, 313) comprising a temporary memory for storing said frame and the write and read accesses to said memory being independent in frequency.
5. Système de transmission de données selon l’une quelconque des revendications 2 à 4, dans lequel l’unité d’échange de données (100, 200, 300) comporte également : 5. Data transmission system according to any one of claims 2 to 4, in which the data exchange unit (100, 200, 300) also comprises:
- un module de gestion (1 14, 301 ) en charge de gérer les émissions de trames de données encapsulées de la part de l’unité de base de données (101 , 205) ; et  - a management module (1 14, 301) in charge of managing the transmissions of encapsulated data frames on the part of the database unit (101, 205); and
- un module de génération des commandes (1 13, 302) en charge de la génération de commandes à destination de l’unité de base de données (101 , 205) pour commander l’extraction d’une donnée à retransmettre et la communiquer au module de génération des données à émettre (115, 303).  - A command generation module (1 13, 302) in charge of generating commands to the database unit (101, 205) to control the extraction of data to be retransmitted and communicate it to the module for generating the data to be transmitted (115, 303).
6. Système de transmission de données selon la revendication 5, dans lequel l’unité de base de données (101 , 205) est reliée au module de gestion (1 14, 301 ) par un dispositif d’interconnexion (1 10, 308) comprenant une mémoire temporaire pour stocker des données de commande et de signalisation et les accès en écriture et en lecture à ladite mémoire étant indépendants en fréquence. 6. Data transmission system according to claim 5, wherein the database unit (101, 205) is connected to the management module (1 14, 301) by an interconnection device (1 10, 308) comprising a temporary memory for storing control and signaling data and the write and read accesses to said memory being independent in frequency.
7. Système de transmission de données selon l’une quelconque des revendications 5 ou 6, dans lequel l’unité de base de données (101 , 205) est reliée au module de génération des commandes (1 13, 302) par un dispositif d’interconnexion (109, 310) comprenant une mémoire temporaire pour stocker des données de commande et de signalisation et les accès en écriture et en lecture à ladite mémoire étant indépendants en fréquence. 7. A data transmission system according to any one of claims 5 or 6, wherein the database unit (101, 205) is connected to the command generation module (1 13, 302) by a device d interconnection (109, 310) comprising a temporary memory for storing control and signaling data and the write and read accesses to said memory being independent in frequency.
8. Système de transmission de données selon l’une quelconque des revendications 1 à 7, dans lequel l’unité d’échange de données (100, 200, 300) comporte en outre un module de gestion de statut (1 19), en charge de stocker les états de fonctionnement courant de chacun des modules du système de transmission de données, relié au module d’interface (107, 202, 307) par un dispositif d’interconnexion (121 ) comprenant une mémoire temporaire pour stocker des données de commande et de signalisation et les accès en écriture et en lecture à ladite mémoire étant indépendants en fréquence. 8. Data transmission system according to any one of claims 1 to 7, wherein the data exchange unit (100, 200, 300) further comprises a status management module (1 19), in task of storing the current operating states of each of the modules of the data transmission system, connected to the interface module (107, 202, 307) by an interconnection device (121) comprising a temporary memory for storing data of command and signaling and the write and read accesses to said memory being independent in frequency.
9. Système de transmission de données selon l’une quelconque des revendications 1 à 8, dans lequel deux modules successifs par lesquels transite ladite trame de données fonctionnent selon des horloges indépendantes. 9. Data transmission system according to any one of claims 1 to 8, in which two successive modules through which said data frame passes operate according to independent clocks.
10. Système de transmission de données selon l’une quelconque des revendications 1 à 9, dans lequel la mémoire de chaque dispositif d’interconnexion est paramétrable à l’initialisation. 10. Data transmission system according to any one of claims 1 to 9, wherein the memory of each interconnection device is configurable at initialization.
1 1. Système de transmission de données selon l’une quelconque des revendications 1 à 10, dans lequel chaque dispositif d’interconnexion comprend une interface d’écriture pour stocker des données dans la mémoire temporaire au fur et à mesure de leur réception et une interface de lecture pour lire lesdites donnés dans l’ordre de leur réception. 1 1. Data transmission system according to any one of claims 1 to 10, in which each interconnection device comprises a write interface for storing data in the temporary memory as they are received and a read interface for reading said data in the order of their reception.
12. Système de transmission de données selon la revendication 11 , dans lequel chaque dispositif d’interconnexion (120, 123, 108, 11 1 , 125, 122 ; 207, 208, 209 ; 313, 134, 315) dans lequel transite une trame de données est configuré pour stocker les trames de données au fur et à mesure de leur réception et pour lire lesdites trames de données dans l’ordre de leur réception. 12. The data transmission system according to claim 11, in which each interconnection device (120, 123, 108, 11 1, 125, 122; 207, 208, 209; 313, 134, 315) in which a frame passes through. is configured to store data frames as they are received and to read said data frames in the order of their reception.
13. Système de transmission de données selon la revendication 11 ou la revendication 12, dans lequel les interfaces de lecture et d’écriture ont une relation d’horloge asynchrone. 13. The data transmission system according to claim 11 or claim 12, wherein the read and write interfaces have an asynchronous clock relation.
14. Système de transmission de données selon l’une quelconque des revendications 11 à 13, dans lequel l’interface d’écriture est configurée pour réaliser un traitement sur au moins une donnée stockée dans ladite mémoire temporaire pour détecter des erreurs et interrompre le stockage des données si une erreur est détectée. 14. Data transmission system according to any one of claims 11 to 13, in which the write interface is configured to carry out processing on at least one data stored in said temporary memory to detect errors and interrupt the storage. data if an error is detected.
15. Système de transmission de données selon l’une quelconque des revendications 11 à 14, dans lequel l’interface de lecture est configurée pour lire les données en totalité, pour relire les données ou pour supprimer les données. 15. The data transmission system according to any one of claims 11 to 14, wherein the read interface is configured to read the whole data, to re-read the data or to delete the data.
16. Système de transmission de données selon l’une quelconque des revendications 11 à 15, dans lequel l’interface de lecture est configurée pour réaliser un traitement sur au moins une donnée stockée dans ladite mémoire temporaire afin d’extraire des informations sur ladite au moins une donnée. 16. Data transmission system according to any one of claims 11 to 15, in which the read interface is configured to carry out processing on at least one data item stored in said temporary memory in order to extract information on said au minus one data.
17. Système de transmission de données selon l’une quelconque des revendications 1 à 16, dans lequel chaque dispositif d’interconnexion comprend une interface de rapport d’erreurs pour transmettre les erreurs de fonctionnement en écriture ou en lecture. 17. Data transmission system according to any one of claims 1 to 16, in which each interconnection device comprises an error reporting interface for transmitting operating errors in writing or in reading.
18. Système de transmission de données selon l’une quelconque des revendications 1 à 17, dans lequel le module d’analyse et de filtrage (1 17, 203) comporte : 18. Data transmission system according to any one of claims 1 to 17, in which the analysis and filtering module (1 17, 203) comprises:
- une unité de réception (500) de trame de données à retransmettre,  a reception unit (500) of data frame to be retransmitted,
- une unité de mémoire (507) pour stocker lesdites données de ladite trame au fur et à mesure de leur réception par l’unité de réception,  - a memory unit (507) for storing said data of said frame as and when they are received by the reception unit,
- au moins une unité de traitement (505, 502, 504) pour réaliser un traitement sur au moins une donnée stockée dans ladite unité de mémoire, le résultat dudit traitement étant destiné à être utilisé dans la gestion de la retransmission des données.  - at least one processing unit (505, 502, 504) for carrying out processing on at least one data item stored in said memory unit, the result of said processing being intended to be used in the management of data retransmission.
19. Système de transmission de données selon la revendication 18, dans lequel le module d’analyse et de filtrage (1 17, 203) comporte également une unité de commande (501 ) pour déclencher le chargement de données depuis au moins l’un parmi ladite unité de réception et de l’unité de mémoire vers ladite au moins une unité de traitement, ledit chargement et ledit traitement étant réalisés pendant la réception de ladite trame au fur et à mesure du stockage des données dans ladite mémoire. 19. The data transmission system according to claim 18, in which the analysis and filtering module (1 17, 203) also comprises a control unit (501) for triggering the loading of data from at least one of said receiving unit and the memory unit to said at least one processing unit, said loading and said processing being carried out during the reception of said frame as data is stored in said memory.
20. Système de transmission de données selon l’une quelconque des revendications 1 à 19, dans lequel chaque module est réalisé dans un circuit programmable ou un circuit intégré propre à une application. 20. Data transmission system according to any one of claims 1 to 19, in which each module is produced in a programmable circuit or an integrated circuit specific to an application.
21. Système de transmission de données selon l’une quelconque des revendications 1 à 20, dans lequel chaque dispositif d’interconnexion est réalisé dans un circuit programmable ou un circuit intégré propre à une application. 21. Data transmission system according to any one of claims 1 to 20, in which each interconnection device is produced in a programmable circuit or an integrated circuit specific to an application.
EP19816376.8A 2018-10-31 2019-10-29 Data transmission system Pending EP3874700A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1860078A FR3087979B1 (en) 2018-10-31 2018-10-31 DATA TRANSMISSION SYSTEM
PCT/FR2019/052569 WO2020089558A1 (en) 2018-10-31 2019-10-29 Data transmission system

Publications (1)

Publication Number Publication Date
EP3874700A1 true EP3874700A1 (en) 2021-09-08

Family

ID=65685649

Family Applications (1)

Application Number Title Priority Date Filing Date
EP19816376.8A Pending EP3874700A1 (en) 2018-10-31 2019-10-29 Data transmission system

Country Status (4)

Country Link
US (1) US11552908B2 (en)
EP (1) EP3874700A1 (en)
FR (1) FR3087979B1 (en)
WO (1) WO2020089558A1 (en)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5841771A (en) * 1995-07-07 1998-11-24 Northern Telecom Limited Telecommunications switch apparatus and method for time switching
US6226680B1 (en) * 1997-10-14 2001-05-01 Alacritech, Inc. Intelligent network interface system method for protocol processing
JP2002149504A (en) * 2000-11-07 2002-05-24 Nec Corp Method and system for checking memory
US7613813B2 (en) * 2004-09-10 2009-11-03 Cavium Networks, Inc. Method and apparatus for reducing host overhead in a socket server implementation
US7924863B2 (en) * 2007-01-10 2011-04-12 Etherntty Networks Ltd. Device and method for processing data chunks
US8837501B2 (en) * 2010-05-18 2014-09-16 Lsi Corporation Shared task parameters in a scheduler of a network processor
US20110103391A1 (en) * 2009-10-30 2011-05-05 Smooth-Stone, Inc. C/O Barry Evans System and method for high-performance, low-power data center interconnect fabric
US20210160318A1 (en) * 2014-06-04 2021-05-27 Pure Storage, Inc. Scale out storage platform having active failover
US11438279B2 (en) * 2018-07-23 2022-09-06 Pure Storage, Inc. Non-disruptive conversion of a clustered service from single-chassis to multi-chassis

Also Published As

Publication number Publication date
FR3087979B1 (en) 2021-08-06
WO2020089558A1 (en) 2020-05-07
US11552908B2 (en) 2023-01-10
US20210352025A1 (en) 2021-11-11
FR3087979A1 (en) 2020-05-01

Similar Documents

Publication Publication Date Title
EP2793431B1 (en) Distributed method for data acquisition in an AFDX network
EP2885899B1 (en) Device and method for unidirectional data transfer
FR2820921A1 (en) DEVICE AND METHOD FOR TRANSMISSION IN A SWITCH
CA2006831C (en) System with a single hdlc circuit and a conversion buffer memory for transmitting hdlc frames over a pcm channel
FR3014622A1 (en) ARCHITECTURE FOR CRITICAL DATA TRANSMISSION IN AVIONICS SYSTEMS
FR2824434A1 (en) Digital packet switched network broadcasting nodes/links having nodes broadcasting simultaneously several links and recovery path calculation minimising links per node.
FR2998125A1 (en) METHOD FOR TRANSMITTING DATA PACKETS BETWEEN TWO COMMUNICATION MODULES AND TRANSMITTER MODULE AND RECEIVER MODULE
WO2015145382A1 (en) Electronic component with deterministic response
WO2020109733A2 (en) Data management for storing data frames in the memory of a data transmission system
WO2020089558A1 (en) Data transmission system
FR2765425A1 (en) Error detection on high speed serial link on integrated circuit
FR3071118A1 (en) ELECTRONIC DEVICE AND METHOD FOR RECEIVING DATA VIA A REBOUND COMMUNICATION NETWORK, COMMUNICATION SYSTEM AND COMPUTER PROGRAM THEREOF
FR3079695A1 (en) ANALYSIS AND FILTERING OF DATA IN A DATA TRANSMISSION SYSTEM
EP3654613B1 (en) Protocol for transmitting a data flow in transit between a host computer and a remote client
FR3001310A1 (en) CHIP NETWORK INTERFACE PROVIDED WITH ADAPTIVE DATA SENDING INITIATION SYSTEM
EP3637645B1 (en) Electronic device and method for receiving data via a redundant communication network, associated communication system and computer program
EP0974902B1 (en) Method of detecting errors on a serial link of an integrated circuit and device to realise this method
EP2740039B1 (en) Device for exchanging data between at least two applications
EP3748935B1 (en) Method for storing digital files implemented by a deterministic avionics network with predetermined routing, and associated avionics communication system
EP1716670A1 (en) Gateway and data transmission system for a motor vehicle diagnostic network
WO2021105262A1 (en) Shared data management system
EP4027619A1 (en) End system for an avionics communication system and associated avionics communication system
WO2014086823A1 (en) Input output device transferring and/or receiving data to a control device
EP3005625B1 (en) Communication management component and method
FR3036572A1 (en) DIGITAL DATA PROCESSING SYSTEM MULTIMEDIA

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20210519

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20231120