EP3987726A1 - Système de communication décentralisé et procédé de commande correspondant - Google Patents

Système de communication décentralisé et procédé de commande correspondant

Info

Publication number
EP3987726A1
EP3987726A1 EP19749391.9A EP19749391A EP3987726A1 EP 3987726 A1 EP3987726 A1 EP 3987726A1 EP 19749391 A EP19749391 A EP 19749391A EP 3987726 A1 EP3987726 A1 EP 3987726A1
Authority
EP
European Patent Office
Prior art keywords
point
module
connection
communication means
communication
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.)
Withdrawn
Application number
EP19749391.9A
Other languages
German (de)
English (en)
Inventor
Jonathan Grizou
Matthieu Lapeyre
Nicolas Rabault
Pierre Rouanet
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.)
Luos
Original Assignee
Luos
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 Luos filed Critical Luos
Publication of EP3987726A1 publication Critical patent/EP3987726A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/4026Bus for use in automation systems

Definitions

  • the technical field of the invention is communication buses and more precisely communication buses between electronic devices.
  • Power saving and on-the-fly reconnection / reconnection of devices requires advanced addressing and topology sensing capabilities from the communication bus to identify and address each device as it connects or restores. his diet.
  • the communication bus In order to allow easy deployment, the communication bus must require little calculation time and have a limited footprint.
  • the I2C bus (acronym for “Inter-Integrated Circuits”) is a bidirectional half-duplex synchronous serial bus, based on two conductors. It is a light bus dedicated to electronics, with a master-slave structure and can have several masters on the same bus. Its main drawback is that it has a low communication speed and that it is not immune to electromagnetic interference. This bus does not allow automatic address allocation or detection of the network topology.
  • the CAN bus (acronym for "Controller Area Network") is a bidirectional half-duplex serial bus, developed by and for the automotive industry, highly immune to noise and reliable and based on two twisted conductors. This bus has a low communication speed associated, however, with low latency. It is subject to congestion in the event of an error in order to detect and isolate the anomaly. This bus does not allow topology detection.
  • the Ethercat bus (acronym for "Ethernet for Control Automation Technology) is a communication bus for the automation of industrial installations, based on an Ethernet type layer. This bus allows very high communication speed associated with low latency while being well immunized against noise. It also allows topology detection, however limited to a star topology. Its main disadvantages are a very expensive implementation as well as a complex use.
  • the object of the invention is a decentralized communication system in a robot comprising at least two modules, each module being connected to at least one neighboring module by a point-to-point connection, all the modules being connected to each other by at least one serial connection. , each module being chosen from at least one interface module or one communication module, one interface module being connected by a connection other than the serial connection or the point-to-point connection to at least one memory allowing communication between the memory and the at least one other module, a communication module being connected by a connection other than the serial connection or the point-to-point connection to at least one device allowing communication between the at least one device and the at least one other module, a device being chosen from at least one actuator, a sensor, a communication means, a battery, a power supply or a data processing means.
  • Each module can comprise at least two first communication means each capable of being connected to a point-to-point connection and at least one serial communication means connected to a serial connection, the communication means being connected to at least one processing means. of data.
  • a module can be a coordination or switching module configured to connect at least three modules in parallel, each module being connected by a point-to-point connection and a serial connection,
  • the coordination module being configured to retransmit predefined values received over a point-to-point connection according to predefined rules
  • the switching module being configured to retransmit messages received over a serial connection to at least one other serial connection and predefined values received over a point-to-point connection to at least one other point-to-point connection according to predefined rules.
  • the invention also relates to a method for controlling a decentralized communication system according to any one of the preceding claims, in which the communication system comprises a first module and at least a second module connected to the first module,
  • At least one message is transmitted comprising a preamble and a header between at least two modules of the communication system by carrying out the following steps:
  • the serial communication means of the first module is controlled so as to activate its transmission mode while keeping the reception mode activated
  • the first module is controlled so as to send the preamble and at least part of the header via the serial connection
  • the serial communication means of each second module are controlled so as to prohibit the transmission mode from reading at least part of the header
  • the first module is ordered so as to send the rest of the message via the serial connection
  • the serial communication means of the first module is controlled so as to activate its reception mode and its transmission mode to be deactivated and the serial communication means of each second module is controlled so to cancel the prohibition of the transmission mode.
  • a message can also include at least one of data and an error check value.
  • a neighbor detection step by step in order to discover at least one second module connected directly or indirectly to a first module and at least one routing address can be assigned to each second module connected directly or indirectly to the first module, in carrying out the following steps:
  • each module connected directly or indirectly to the first module is controlled, one after the other, so that it performs at least one neighbor detection by via the serial connection and a point-to-point connection
  • the detected neighbor module is controlled so that it confirms its presence to the first module via the point-to-point connections
  • it is ordered the first module so that it sends at least one new routing address via the serial connection
  • the neighboring module is ordered so that it registers the at least one new routing address
  • the neighboring module is ordered so that it carries out its own
  • a neighbor detection the detection of neighbors is stopped when none of the modules connected directly or indirectly detects a new neighbor.
  • each module connected directly or indirectly, to the first module, one after the other, is controlled so that it carries out at least one neighbor detection via the serial connection and a point-to-point connection,
  • the detected neighbor module is controlled so that it confirms its presence to the first module via the point-to-point connections, and the neighboring module is controlled so that it in turn carries out a detection of neighbour,
  • the detection of neighbors is stopped when none of the modules connected directly or indirectly detects a new neighbor.
  • the neighbor discovery step can be repeated for each device connected to the module.
  • the following steps can be carried out: the transmission of a first predefined value is commanded by the second point-to-point communication means point of the module on the point-to-point connection,
  • the module receives a predefined value in return by the second point-to-point communication means, for a predetermined period starting at the instant of transmission of the first value predefined by the second point-to-point communication means,
  • the predefined value is equal to the first predefined value, it is considered that a neighboring module is connected to the other end of the point-to-point connection connected to the module,
  • a module can transmit a first predefined value by its first point-to-point communication means, the first predefined value being retransmitted step by step through the modules and point-to-point connections up to in the first module
  • a module being connected to a first point-to-point connection and to a second point-to-point connection, when the module has sent a first value by the first point-to-point connection within a predefined time, the module receives a first predefined value by the second point-to-point connection within the predefined duration, it can retransmit the first predefined value by the first point-to-point connection.
  • a module being connected to a first point-to-point connection and to a second point-to-point connection, when the module has sent a first value by the first point-to-point connection within a predefined time, the module receives a second predefined value by the second point-to-point connection within the predefined duration, it can retransmit the second predefined value by the first point-to-point connection.
  • the module is a coordination or switching module, comprising a first point-to-point communication means and at least two second first communication means
  • the communication or coordination module can be controlled so as to proceed with an allocation of routing address and neighbor detection for each second point-to-point communication means, the coordination or switching module changing from second point-to-point communication means on receipt of a second predefined value by the second point-to-point communication means, and ,
  • the coordination or switching module when the coordination or switching module has received a second predefined value on each of its second first communication means, it can transmit the second predefined value by its first point-to-point communication means.
  • FIG. 1 illustrates the decentralized communication system according to a first embodiment
  • the decentralized communication system comprises at least two modules each chosen from an interface module, a communication module, a coordination module and a switching module, connected in a network.
  • the decentralized communication system is controlled by a decentralized communication process ensuring the communication of messages between the modules using different communication modes, the discovery of connected modules, and the assignment of routing addresses to each discovered module.
  • the decentralized communication system 1 comprising an interface module 2 connected to a communication module 4 by a point-to-point connection PTP (acronym for “Point to Point”) referenced 3a and by a serial connection 3b, the communication module 4 being connected moreover directly or indirectly to at least one device 7 of a complex system, in particular of a robot.
  • PTP point-to-point connection
  • serial connection 3b serial connection
  • the interface module 2 is also connected directly or indirectly to at least one memory 5 comprising instructions or data exchanged with at least one of the connected modules.
  • the interface module 2 comprises a data processing means 2a, such as a microcontroller, configured to interact with two first communication means 2b, 2e, a serial communication means 2c, and at least one third communication means 2d .
  • a data processing means 2a such as a microcontroller, configured to interact with two first communication means 2b, 2e, a serial communication means 2c, and at least one third communication means 2d .
  • the first two means of communication 2b, 2e are each capable of being connected to a point-to-point connection.
  • a single point-to-point communication means, referenced 2b is connected to a point-to-point connection 3a.
  • the serial communication medium 2c is connected to the serial connection 3b.
  • the first and second communication means 2b, 2c allow the exchange of data between the interface module 2 and, respectively, a point-to-point communication means 4b and a serial communication means 4c of the communication module 4.
  • the serial communication medium 2c comprises an independent transmission mode and a reception mode. Thus each mode can be activated or deactivated independently of the activation state of the other mode.
  • a third means of communication 2d allows the exchange of data between the interface module 2 and the at least one memory 5 via a connection 6 of a first type, in particular ethernet, wifi or bluetooth, and possibly through a remote server.
  • the data processing means 2a comprises a microprocessor or microcontroller as well as optionally at least one memory.
  • the data processing means 2a can be configured to control the transmission, with or without prior processing, of all or part of the data received from the first and second communication means 2b, 2c, 2e via the third communication means 2d to memory 5.
  • the data processing means 2a can be configured to control the reception of data by the third communication means 2d, processing them according to data received from the point-to-point connection 3a and from the serial connection 3b via the first ones. and second means of communication 2b, 2c, 2e.
  • the data processing means 2a can also be configured to control the transmission, with or without prior processing, of all or part of the data received from the third communication means 2d via the first and second communication means 2b, 2c, 2e for the communication module 4.
  • the data processing means comprises all or part of the characteristics described above, said characteristics being activated or deactivated by depending on the instructions or the results of processing the data received.
  • the point to point connection 3a includes at least one wire.
  • the point-to-point connection can be protected against noise by employing a differential or enable signal.
  • the differential signal involves a difference in signals between at least two wires of the point-to-point connection 3a.
  • the enable signal comprises both a signal sent by at least one wire of the point-to-point connection 3a and a validate signal transmitted by the serial connection 3b.
  • the signal sent on the point-to-point connection 3a is only validated when the validating signal is received simultaneously or within a predetermined period of time with respect to the instant of reception of the message on the point-to-point connection 3a.
  • the serial connection 3b also includes at least one wire.
  • the serial connection can comprise at least one pair of twisted wires, in particular of the RS485 type.
  • two power supply wires can be arranged in parallel with the serial connection 3b in order to centrally power the various connected modules.
  • connection we mean both a connection with a physical connector and an integrated connection within a printed or integrated circuit. It can also be a software connection between software modules.
  • a communication module 4 has a structure similar to that of interface module 2.
  • the communication module 4 comprises a data processing means 4a, such as a microcontroller, configured to interact with the communication means 4b, 4c, 4d, 4e.
  • a data processing means 4a such as a microcontroller
  • the data processing means 4a comprises a microprocessor or microcontroller as well as optionally at least one memory.
  • the communication module 4 comprises two first communication means 4b, 4e each capable of being connected to a point-to-point connection and a serial communication means 4c connected to the serial connection 3b.
  • the point-to-point communication means 4b is connected to the point-to-point connection 3a.
  • the point-to-point communication means 4b and the serial communication means 4c allow the exchange of data between the communication module 4 and the interface module 2 via the point-to-point connection 3a and the serial connection 3b.
  • the serial communication medium 4c comprises an independent transmission mode and a reception mode. Thus each mode can be activated or deactivated independently of the activation state of the other mode.
  • the communication module 4 comprises at least one third communication means 4d configured to exchange data with a device 7.
  • the communication module 4 can thus exchange data with several devices 7.
  • the data processing means 4a can be configured to receive data from a first device and transfer them, with or without processing, to a second device, the first and second devices being connected to the communication module 4.
  • the data processing means 4a can also be configured to control the transmission, with or without prior processing, of all or part of the data received from the third communication means 4d via the first and second communication means 4b, 4c, 4th for communication module 4.
  • the data processing means 4a can also be configured to control the transmission, with or without prior processing, of all or part of the data received from the first and second communication means 4b, 4c, 4e via the third communication means. 4d for devices 7 connected to communication module 4.
  • FIG. 2 one can see the decentralized communication system 1 according to the invention comprising a larger number of modules.
  • Each communication module 40, 41, 42, 43, 44 comprises a structure similar to that of the communication module 4 illustrated in FIG. 1. They include at least one data processing means connected to two first communication means each capable of being connected to a point-to-point connection and to a serial communication means connected to the serial connection. Each communication module 40,41, 42,43, 44 also comprises at least one third communication means connected to a device. For the sake of clarity, the first, second and third means of communication as well as the devices are not illustrated in figure 2.
  • a coordination module configured to connect in parallel several communication modules 40,41, 42,43, 44.
  • Such a coordination module 8 comprises a means for processing data, at least three first means of communication and a second means of communication. It differs from communication and interface modules in that it is not connected to any device or memory.
  • the coordination module 8 is connected to the interface module 2 by the serial connection 3 1b.
  • the serial connection 3 1b propagates to the modules connected behind the coordination module 8 via serial connections 32b, 33b, 34b each defining a branch of the star configuration.
  • the messages sent on the serial connection 3 1 b thus pass through each branch of the star configuration.
  • all the modules connected to the coordination module 8 receive messages via the serial connection to which they are connected, in a similar way to the reception of messages by the modules connected before the coordination module 8.
  • the coordination module 8 selectively duplicates the messages received on the point-to-point connection 32a to the other point-to-point connections 33a, 34a, 35a to which it is connected. However, the duplication of these messages depends on the stage of operation.
  • the data processing means of the coordination module 8 is thus configured to transmit, with or without processing, all or part of the data received from the first and second communication means via other first and second communication means respectively.
  • the coordination module 8 does not allow direct communication with a device but rather transmits the data exchanged between the modules of the decentralized communication system 1.
  • a module can be a switching module, not illustrated in FIGS. 1 and 2, having a structure similar to the coordination module 8. It comprises at least three second communication means, each connected to a separate serial connection.
  • the coordination module 8 duplicates the messages received by the serial connection 3 1b on each branch of the star configuration. However, the duplication of these messages depends on the stage of operation. However, a switching module behaves similarly to the coordination module during the neighbor discovery steps.
  • a message exchanged between two modules comprises a preamble P, a header H, and data D.
  • it comprises an error control value CTRL.
  • the preamble P is used to trigger the reception or transmission of a new message.
  • the preamble P is a period of inactivity of the decentralized communication system 1 between each message. Receiving the preamble resets the state of a module so that it can receive a new message or erase a bogus message.
  • the H header includes several fields containing information allowing a module to understand the message.
  • the H header includes a version number field, a target field, a target mode field, a source field, a command field, and a size field.
  • the version number field defines the version number of the communication method used to establish the exchanged message.
  • the version number field allows a module to determine how to read the message.
  • the target field indicates a routing address of the module to which the message is intended. Note that in the event that several devices are connected to a communication module, a routing address can be assigned to the module. communication for each connected device. Thus, the communication module can have several routing addresses.
  • the target mode field indicates the addressing mode and how to interpret the target field.
  • a first addressing mode is the ID mode during which the message is intended for a single module identified by its routing address and without acknowledgment of receipt.
  • a second addressing mode is the ID + ACK mode during which the message is intended for a single module identified by its routing address and with acknowledgment of receipt.
  • a third addressing mode is Broadcast mode during which the message is transmitted to all the modules connected to the serial connection. In such an addressing mode, the target field is not considered by the modules reading the message.
  • a fourth addressing mode during which the message is transmitted to all modules of a defined type.
  • Each module includes a Type address depending on the nature of the devices connected to it. For example, you can give type 1 address to all engines, type 2 address to all light sources, and type 3 address to all sensors.
  • a message with the type 2 address then targets all light sources connected to the communication system.
  • the source field indicates the routing address of the module from which the message originated.
  • the command field defines the type of data transmitted.
  • the size field indicates the size of the data included in the message.
  • the data D correspond to the main part of the message comprising the data exchanged.
  • the CTRL error check value is used to determine the presence of an error on receipt of the message by comparing the CTRL error check value included in the message to the error check value determined on receipt, both values being determined by applying predetermined mathematical functions to the digital values associated with the header H and the data D.
  • the error check value may in particular be a CRC cyclic redundancy check value or a checksum.
  • the message also comprises an acknowledgment of receipt A.
  • the acknowledgment of receipt can take two distinct values, a first value being associated with the message sent from the source to the target, the second value being associated with the acknowledgment sent from the target to the source. This field is used in conjunction with the second ID + ACK addressing mode.
  • the first module When controlling the transmission of a message by a first module, the first module is controlled so as to activate the transmission mode of the serial communication medium while keeping the reception mode activated.
  • a collision is the transmission of a message by two distinct modules on the serial connection in a time interval. predefined, between the start of the transmission of the preamble and the end of the transmission of the header. In order to avoid bad detections, it is considered that the time interval is preferably equal to the duration of transmission of the preamble and of at least a first bit of the header.
  • the first module is controlled so as to send the preamble or to wait for the duration of the preamble according to the embodiment.
  • the first module is then commanded so as to send the header H of a message via the serial connection.
  • a message or part of a message sent on the serial connection is read by all the modules connected to the serial connection.
  • Each module receiving the message interprets the content of the message as a function of its characteristics (routing address, type address, etc.) and of the structure of the message described above.
  • the second module On receipt of the header H, the second module reads the header H of the message, and controls its serial communication means so that the transmission mode is prohibited. In other words, the sending of the header H by a module controls the other modules receiving the header H by their serial connection, so that they cannot send a header in their turn.
  • the serial communication means of the first module is controlled so as to activate the reception mode and the transmission mode deactivated, and the serial communication means of the second module is controlled so as to deactivate the 'emission ban.
  • step-by-step discovery is initiated from interface module 2.
  • the interface module 2 is assigned the first routing address of the decentralized communication system referenced 1. Then, the activation of the transmission mode of the serial communication means 2b of the interface module 2 in mode is controlled. transmission and the interface module 2 sends a first predefined value on the point-to-point connection 3a. In the case where the first module is connected to two point-to-point connections, the detection step is repeated for each point-to-point connection.
  • a module connected to the point-to-point connection 3a receives the first predefined value, and returns, in return, this same first predefined value.
  • a new routing address to be assigned is determined.
  • a broadcast message comprising the new routing address to be assigned is then sent via the serial communication means 2c of the interface module 2.
  • the interface module 2 deduces from this that there are no modules left to discover and address. Interface module 2 then stops generating new routing addresses.
  • the interface module 2 sends the first predefined value through the point-to-point connection 3a.
  • the communication module 4 receives the first predefined value by the point-to-point connection 3a and re-transmits the first predefined value by the point-to-point connection 3a in return.
  • interface module 2 When it receives the first predefined value via point-to-point connection 3a, interface module 2 deduces that a module is connected. A second routing address is generated, and interface module 2 transmits in broadcast mode a message including the second routing address to be assigned.
  • the communication module 4 having re-emitted the first predefined value by the point-to-point connection 3a and perceiving by its second point-to-point communication means 4e receives a second predefined value, the communication module 4 records the second routing address to be allocated.
  • the second predefined value is the default value.
  • a first predefined value is sent by the communication module 4 by its second point-to-point communication means 4e.
  • the second point-to-point communication means 4e is not connected to a point-to-point connection and to another module, it cannot receive a response.
  • the sending of the second predefined value on the point-to-point connection 3a is ordered, indicating that there is no other neighbor after the communication 4.
  • the interface module 2 receives the second predefined value by the point-to-point connection 3a and stops the neighbor detection process for the point-to-point connection 3a.
  • the neighbor detection step has been described between an interface module 2 and a communication module 4. However, the same step is applied when different modules are involved.
  • a routing address can be assigned to the communication module for each connected device.
  • the communication module can have several routing addresses.
  • the neighbor detection step is repeated several times for the same module for each device connected to said module.
  • the communication module connected to several devices sends back the first predefined value by the point-to-point connection through which a first predefined value has been received as long as the communication module has not received a sufficient number of addresses. routing to register one for each device.
  • the first predefined value sent back by the point-to-point connection is sent again after the reception on the serial connection of a new routing address until each device connected to the communication module is associated with a routing address.
  • the communication module resumes the detection of neighbors by its second point-to-point communication means, as described above.
  • the neighbor detection step described above is applied to all interconnected modules, that is, as long as the interface module 2 periodically receives the first preset value by the point-to-point connection.
  • the interface module 2 is assigned a first routing address of the decentralized communication system 1. Then, the interface module 2 is ordered to send by its first point-to-point communication means 2b the first predefined value by the point-to-point connection 3 1 a
  • the communication module 40 receives the first predefined value on the point-to-point connection 3 1 a. It sends back the first predefined value by the point-to-point connection 3 1 a.
  • the interface module 2 receives the first predefined value by the point-to-point connection 3 1a and deduces from this that the neighbor discovery step must continue and that a routing address must be issued.
  • a second routing address is determined and the interface module 2 is ordered to send through the serial connection 3 1b a message in broadcast mode comprising the second routing address.
  • the message comprising the second routing address being sent on the serial connection 3 1b, it is read by each of the connected modules, regardless of their discovery by the interface module 2.
  • the communication module receives the message in broadcast mode comprising the second routing address via the serial connection 3 1b.
  • the module Since the second point-to-point communication medium of the communication module 40 perceives the default value equal to the second predefined value, the module registers the routing address to be assigned.
  • the second point-to-point communication means of the communication module 40 transmits the first predefined value by the point-to-point connection 32a
  • the routing module 8 then receives the first predefined value via the point-to-point connection 32a and sends back via the point-to-point connection 32a the first predefined value.
  • the module communication 40 receives the first predefined value via the point-to-point connection 3 1 a. As it already has a routing address, it in turn sends the first predefined value through its other point-to-point connection 3 1 a. The first predefined value is thus retransmitted step by step to interface module 2.
  • Interface module 2 receives the first predefined value via point-to-point connection 3 1a and deduces from this that another module must receive a routing address.
  • the interface module 2 determines a third routing address and then sends over the serial connection 3 1b a new message in broadcast mode comprising the third routing address.
  • the routing module 8 having re-emitted in return the first predefined value by the point-to-point connection 32a and perceiving the second predefined value on its second point-to-point communication means, it then records the third routing address received on the serial connection 3 1b in the message in broadcast mode.
  • the last module having memorized a routing address sends the first predefined value by its second point-to-point communication means.
  • the last module On receipt of the first predefined value in return, the last module having memorized a routing address and all the modules connected up to interface module 2 gradually retransmit the first predefined value.
  • interface module 2 Each time the first predefined value is received, interface module 2 generates a new routing address, and sends a new message in broadcast mode, each comprising a new routing address. The routing address thus generated and sent is stored by the discovered module.
  • the last module in the network When the last module in the network is discovered and has registered a routing address, the last module transmits the first predefined value by its second point-to-point communication means. As has been described during the description of the discovery of the network illustrated by FIG. 1, the second point-to-point communication means is not connected to a point-to-point link. point and to a module. It cannot therefore receive a response. At the end of a predetermined period, having received no response, the transmission of a second predefined value is ordered by the first point-to-point communication means of the last network module discovered and having recorded an address. The second predefined value is retransmitted step by step by each module up to interface module 2.
  • interface module 2 On receipt of this second predefined value by interface module 2, it is determined that all the connected modules have a routing address and that the discovery of the modules step by step is complete. The interface module 2 is controlled so that it does not determine a new routing address and the neighbor detection step is completed.
  • the interface module 2 each time a first predefined value is received by the point-to-point connection 3 1 a, the interface module 2 records the assigned routing address in a routing table.
  • the data processing means included in such modules is configured to transmit deterministically the first predefined value received by the point-to-point connection connected to the first means. point-to-point communication.
  • deterministic transmission is meant that the messages received by such modules via the point-to-point connection connected to the first point-to-point communication means are transmitted in a predetermined order in each branch connected by another point-to-point connection at the output of the module. The predetermined order does not change from one neighbor determination step to the next.
  • each first predefined value received as an input is transmitted by the first point-to-point connection 32a via the second point-to-point connection 33a. All the first values received by the second point-to-point connection 33a are also retransmitted by the first point-to-point connection 32a.
  • the coordination module 8 is then ordered to send the first predefined value by the third point-to-point connection 34a.
  • the coordination module 8 is then ordered to retransmit all the first values received by the fourth point-to-point connection 34a through the first point-to-point connection 32a.
  • All the first values received by the third point-to-point connection 34a are also retransmitted by the first point-to-point connection 32a.
  • the coordination module 8 is then ordered to send the first predefined value by the fourth point-to-point connection 35a.
  • the coordination module 8 is then ordered to retransmit all the first values received by the fourth point-to-point connection 35a through the first point-to-point connection 32a.
  • All the first values received by the fourth point-to-point connection 35a are also retransmitted by the first point-to-point connection 32a.
  • the coordination module 8 is then ordered so that it sends a second predefined value via the first point-to-point connection 32a.
  • the coordination module proceeds to the discovery of its branches by successively scanning the second point-to-point connection 33a, then the third point-to-point connection 34a, then the fourth point-to-point connection 35a.
  • branch scan orders are possible while remaining within the scope of the present description.
  • the selective transmission of predefined values by the coordination or switching module combined with the issuance of routing addresses by the interface module allows discovery and assignment of a routing address to all connected modules.
  • the data can then be routed by messages as defined in this description.
  • the neighbor discovery step described above is illustrated in the context of an exchange of messages in the form of either a first predefined value or a second predefined value.
  • These values can be for example structured messages or signal voltage values on the point-to-point connection.
  • the first point-to-point communication means 2b of the interface module 2 brings the point-to-point connection 3a to a first level.
  • the first point-to-point communication means of the communication module 4 perceives the first level on the point-to-point connection 3a and the message in broadcast mode comprising the routing address on the serial connection 3b, it records the routing address .
  • the first point-to-point communication means 2b of the interface module 2 maintains the first level for a predetermined time after the transmission of a message in broadcast mode comprising a routing address. If at the end of this predetermined period, he still perceives the first level by his first point-to-point communication means 2b, it interprets it as the presence of a module having memorized the routing address included in the message sent in broadcast mode.
  • the communication module 4 does not maintain the first level via its first point-to-point communication means 4b after the predetermined period following the transmission of the message in mode. broadcast.
  • the second level is perceived by its first point-to-point communication means 2b. It interprets it as the absence of a module having memorized the routing address included in the message sent in broadcast mode. Network discovery is then terminated.
  • Network discovery has been described above as part of a first discovery of the network in connection with the assignment of routing addresses. However, network discovery can be performed again later in order to verify, for example, that previously discovered modules are still connected or have not suffered a failure, that a new module has been added or replaced, or that the first discovery of the network. network was not correctly performed.
  • the discovery and addressing method described above is applied by omitting the generation of routing address, the transmission of routing address on the serial connection and the registration of the address. routing by the last discovered module.
  • the subsequent discovery step includes the following substeps.
  • the interface module 2 is ordered to send by its first point-to-point communication means 2b the first preset value by the point-to-point connection 3 1 a
  • the communication module 40 receives the first predefined value on the point-to-point connection 3 1 a. It sends back the first predefined value by the point-to-point connection 3 1 a.
  • the interface module 2 receives the first predefined value via the point-to-point connection 3 1 a and deduces therefrom that a module has been discovered.
  • the second point-to-point communication means of the communication module 40 transmits the first predefined value by the point-to-point connection 32a
  • the routing module 8 then receives the first predefined value via the point-to-point connection 32a and sends back the first predefined value via the point-to-point connection 32a.
  • the communication module 40 receives the first predefined value via the point-to-point connection 3 1 a. As has already been discovered, it in turn transmits the first preset value through its other point-to-point connection 3 1a. The first predefined value is thus transmitted step by step to interface module 2.
  • Interface module 2 receives the first predefined value through point-to-point connection 3 1a and deduces that another module has been discovered.
  • the last module that has been discovered transmits the first predefined value by its second point-to-point communication means.
  • the last module On receipt of the first predefined value in return, the last module having memorized a routing address and all the modules connected up to interface module 2 gradually retransmit the first predefined value.
  • interface module 2 determines that a new module has been discovered.
  • the last module in the network When the last module in the network is discovered, it sends the first predefined value by its second point-to-point communication means. As has been described during the description of the discovery of the network illustrated by FIG. 1, the second point-to-point communication means is not connected to a point-to-point link and to a module. It cannot therefore receive a response. At the end of a predetermined period, having received no response, the transmission of a second predefined value is ordered by the first point-to-point communication means of the last network module discovered and having recorded an address. The second preset value is gradually retransmitted by each module to interface module 2.
  • interface module 2 Upon receipt of this second predefined value by interface module 2, it is determined that all connected modules have been discovered.
  • the interface module 2 is thus able to compare the number of modules discovered with the number of modules discovered during the first step of discovery and assignment of routing addresses.
  • the neighbor discovery step described above is performed by the interface module 2.
  • the control method can be performed by any module of the communication system 1.
  • the decentralized communication system 1 and the method of controlling such a system allow communication of a memory with devices of a complex system. These devices can be actuators, batteries, power supplies, sensors, transmitters, memories of data processing means and more generally any system allowing the operation of a complex system.

Landscapes

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

Abstract

Système de communication décentralisé comprenant au moins deux modules, chaque module étant connecté à au moins un module voisin par une connexion point à point (3a), tous les modules étant connectés entre eux par au moins une connexion série (3b), chaque module étant choisi parmi un module d'interface (2) ou un module de communication (4), un module d'interface (2) étant connecté à au moins une mémoire (5), un module de communication (4) étant connecté à au moins un dispositif (7), un dispositif (7) étant choisi parmi un actionneur, un capteur, un moyen de communication, une mémoire, une batterie, une alimentation ou un moyen de traitement de données.

Description

Système de communication décentralisé et procédé de commande correspondant.
L’invention a pour domaine technique les bus de communication et plus précisément les bus de communication entre dispositifs électroniques.
Les systèmes complexes actuels impliquent de commander des dispositifs de type actionneur, capteur, émetteur, batterie, alimentation mémoire, ou calculateur, et de leur permettre de communiquer entre eux.
La densité de composants et les perturbations électromagnétiques générées par ces différents dispositifs rendent nécessaire l’utilisation d’un bus de communication résistant aux environnements bruités.
Les dispositifs permettant des réactions synchronisées et rapides des dispositifs rendent nécessaire l’utilisation d’un bus de communication à faible latence et résistant aux congestions. De même, la détection de défaillance est nécessaire afin de déterminer efficacement le disfonctionnement d’un dispositif parmi la multitude installée.
L’économie d’énergie et la connexion/reconnexion à la volée de dispositifs requièrent du bus de communication des capacités de détection de topologie et d’adressage avancé permettant d’identifier et d’adresser chaque dispositif lors de sa connexion ou du rétablissement de son alimentation.
Afin de permettre un déploiement aisé, le bus de communication doit nécessiter peu de temps de calcul et présenter un encombrement limité.
Plusieurs bus de communication ont été développés au sein de différents milieux industriels afin de répondre à des besoins spécifiques de débit, de résistance aux pannes ou de latence.
De l’état de l’art, on connaît les bus de communication suivants.
Le bus I2C (acronyme anglophone pour « Inter-Integrated Circuits ») est un bus série synchrone bidirectionnel half-duplex, reposant sur deux conducteurs. C’est un bus léger dédié à l’électronique, de structure maître-esclave et pouvant présenter plusieurs maîtres sur un même bus. Il a pour principal inconvénient de disposer d’une faible vitesse de communication et de ne pas être immunisé contre les perturbations électromagnétiques. Ce bus ne permet pas de réaliser une attribution automatique d’adresse ou de détecter la topologie du réseau.
Le bus CAN (acronyme anglophone pour « Controller Area Network ») est un bus série bidirectionnel half-duplex, développé par et pour l’industrie automobile, très immunisé au bruit et fiable et reposant sur deux conducteurs torsadés. Ce bus présente une faible vitesse de communication associé toutefois à une faible latence. Il est suj et à des congestions en cas d’erreur afin de détecter et isoler l’anomalie. Ce bus ne permet pas la détection de topologie.
Le bus Ethercat (acronyme anglophone pour « Ethernet for Control Automation Technology) est un bus de communication pour l’automatisation des installations industrielles, basé sur une couche de type Ethernet. Ce bus permet une très grande vitesse de communication associée à une faible latence tout étant bien immunisé contre le bruit. Il permet également la détection de topologie, limitée cependant à une topologie en étoile. Ses principaux inconvénients sont une mise en œuvre très coûteuse ainsi qu’une utilisation complexe.
Il apparaît ainsi qu’aucun de ces bus ne permet de disposer de capacités de communication telles qu’identifiées en introduction.
L’invention a pour objet un système de communication décentralisé dans un robot comprenant au moins deux modules, chaque module étant connecté à au moins un module voisin par une connexion point à point, tous les modules étant connectés entre eux par au moins une connexion série, chaque module étant choisi parmi au moins un module d’interface ou un module de communication, un module d’interface étant connecté par une connexion autre que la connexion série ou la connexion point à point à au moins une mémoire permettant la communication entre la mémoire et le au moins un autre module, un module de communication étant connecté par une connexion autre que la connexion série ou la connexion point à point à au moins un dispositif permettant la communication entre le au moins un dispositif et le au moins un autre module, un dispositif étant choisi parmi au moins un actionneur, un capteur, un moyen de communication, une batterie, une alimentation ou un moyen de traitement de données.
Chaque module peut comprendre au moins deux premiers moyens de communication capables chacun d’être connecté à une connexion point à point et au moins un moyen de communication série connecté à une connexion série, les moyens de communication étant connectés à au moins un moyen de traitement de données.
Un module peut être un module de coordination ou de commutation configuré pour connecter en parallèle au moins trois modules, chaque module étant connecté par une connexion point à point et une connexion série,
le module de coordination étant configuré pour retransmettre des valeurs prédéfinies reçues sur une connexion point à point en fonction de règles prédéfinies,
le module de commutation étant configuré pour retransmettre des messages reçus sur une connexion série vers au moins une autre connexion série et des valeurs prédéfinies reçues sur une connexion point à point vers au moins une autre connexion point à point en fonction de règles prédéfinies.
L’invention a également pour objet un procédé de commande d’un système de communication décentralisé selon l’une quelconque des revendications précédentes, dans lequel le système de communication comprend un premier module et au moins un deuxième module connecté au premier module,
on réalise une transmission d’au moins un message comprenant un préambule et un entête entre au moins deux modules du système de communication en réalisant les étapes suivantes :
on commande le moyen de communication série du premier module de sorte à en activer le mode d’émission tout en conservant le mode de réception activé,
on commande le premier module de sorte à émettre le préambule et au moins une partie de l’entête par la connexion série, on commande le moyen de communication série de chaque deuxième module de sorte à interdire le mode d’émission dès la lecture d’au moins une partie de l’entête,
on détermine par l’intermédiaire du premier module si un autre message est émis par un moyen de communication série d’au moins un deuxième module dans un intervalle de temps compris entre le début de l’émission du préambule et la fin de l’émission de l’entête,
si tel est le cas, on considère que le message ne doit pas être lu par le au moins un deuxième module et doit être réémis par le premier module,
si tel n’est pas le cas, on commande le premier module de sorte à émettre le reste du message par la connexion série,
lorsque la totalité du message est transmise, on commande le moyen de communication série du premier module de sorte à en activer le mode de réception et à en désactiver le mode d’émission et on commande le moyen de communication série de chaque deuxième module de sorte à en annuler l’interdiction du mode d’émission.
Un message peut comprendre également au moins un parmi des données et une valeur de contrôle d’erreur.
On peut réaliser une détection de voisin de proche en proche afin de découvrir au moins un deuxième module connecté directement ou indirectement à un premier module et on peut attribuer au moins une adresse de routage à chaque deuxième module connecté directement ou indirectement au premier module, en réalisant les étapes suivantes :
on attribue une première adresse de routage au premier module, puis
pour chaque connexion point à point connectée au premier module, on réalise les étapes suivantes : on commande chaque module connecté directement ou indirectement au premier module, l’un après l’autre, de sorte qu’il réalise au moins une détection de voisin par l’intermédiaire de la connexion série et d’une connexion point à point, à chaque détection d’un voisin, on commande le module voisin détecté de sorte qu’il confirme sa présence au premier module par les connexions point à point, on commande le premier module de sorte qu’il émette au moins une nouvelle adresse de routage par la connexion série, on commande le module voisin de sorte qu’il enregistre la au moins une nouvelle adresse de routage, et on commande le module voisin de sorte qu’il réalise à son tour une détection de voisin, on arrête la détection de voisins lorsque aucun des modules connectés directement ou indirectement ne détecte de nouveau voisin.
On peut réaliser une détection de voisin de proche en proche afin de découvrir au moins un deuxième module connecté directement ou indirectement à un premier module, en réalisant les étapes suivantes :
pour chaque connexion point à point connectée au premier module, on réalise les étapes suivantes :
on commande chaque module connecté directement ou indirectement, au premier module, l’un après l’autre, de sorte qu’il réalise au moins une détection de voisin par l’intermédiaire de la connexion série et d’une connexion point à point,
à chaque détection d’un voisin, on commande le module voisin détecté de sorte qu’il confirme sa présence au premier module par les connexions point à point, et on commande le module voisin de sorte qu’il réalise à son tour une détection de voisin,
on arrête la détection de voisins lorsque aucun des modules connectés directement ou indirectement ne détecte de nouveau voisin.
Lorsqu’un module est connecté à au moins deux dispositifs, on peut répéter l’étape de découverte de voisin pour chaque dispositif connecté au module.
Pour réaliser une détection de voisin par un module ayant reçu une première valeur prédéterminée par un premier moyen de communication point à point, on peut réaliser les étapes suivantes : on commande l’émission d’une première valeur prédéfinie par le deuxième moyen de communication point à point du module sur la connexion point à point,
on détermine si le module reçoit une valeur prédéfinie en retour par le deuxième moyen de communication point à point, pendant une durée prédéterminée débutant à l’instant d’émission de la première valeur prédéfinie par le deuxième moyen de communication point à point,
si tel est le cas et que la valeur prédéfinie est égale à la première valeur prédéfinie, on considère qu’un module voisin est connecté à l’autre extrémité de la connexion point à point connectée au module,
si tel n’est pas le cas, on considère qu’aucun deuxième module n’est connecté à l’autre extrémité de la connexion point à point connectée au deuxième moyen de communication point à point du module, et on émet une deuxième valeur prédéfinie par le premier moyen de communication point à point.
Pour confirmer sa présence au premier module, un module peut transmettre une première valeur prédéfinie par son premier moyen de communication point à point, la première valeur prédéfinie étant retransmise de proche en proche par l’intermédiaire des modules et des connexions point à point jusqu’au premier module
Un module étant connecté à une première connexion point à point et à une deuxième connexion point à point, lorsque le module a émis une première valeur par la première connexion point à point dans une durée prédéfinie, que le module reçoit une première valeur prédéfinie par la deuxième connexion point à point dans la durée prédéfinie, il peut retransmettre la première valeur prédéfinie par la première connexion point à point.
Un module étant connecté à une première connexion point à point et à une deuxième connexion point à point, lorsque le module a émis une première valeur par la première connexion point à point dans une durée prédéfinie, que le module reçoit une deuxième valeur prédéfinie par la deuxième connexion point à point dans la durée prédéfinie, il peut retransmettre la deuxième valeur prédéfinie par la première connexion point à point.
Lorsque le module est un module de coordination ou de commutation, comprenant un premier moyen de communication point à point et au moins deux deuxièmes premiers moyens de communication, on peut commander le module de communication ou de coordination de sorte à procéder à une attribution d’adresse de routage et de détection de voisin pour chaque deuxième moyen de communication point à point, le module de coordination ou de commutation changeant de deuxième moyen de communication point à point à réception d’une deuxième valeur prédéfinie par le deuxième moyen de communication point à point, et,
lorsque le module de coordination ou de commutation a reçu une deuxième valeur prédéfinie sur chacun de ses deuxièmes premiers moyens de communication, il peut transmettre la deuxième valeur prédéfinie par son premier moyen de communication point à point.
On peut déterminer qu’aucun des modules connectés directement ou indirectement au premier module ne détecte de nouveau voisin, lorsque le premier module reçoit une deuxième valeur prédéfinie par la connexion point à point par laquelle il a émis la première valeur prédéfinie.
Lorsque l’on a commandé une détection de voisins et un adressage des modules découverts par un premier module, puis, lorsque l’on a commandé une détection ultérieure de voisins par le premier module,
on peut comparer le dernier module découvert lors de détection ultérieure de voisins avec le dernier module découvert lors de la une détection initiale de voisins et de l’adressage des modules,
on peut déterminer alors si le dernier module découvert lors de la détection ultérieure de voisins est différent du dernier module découvert lors de la détection initiale de voisins et de l’adressage des modules.
D’autres buts, caractéristiques et avantages de l’invention apparaîtront à la lecture de la description suivante, donnée uniquement à titre d’exemple non limitatif et faite en référence aux dessins annexés sur lesquels :
- la figure 1 illustre le système de communication décentralisé selon un premier mode de réalisation, et
- la figure 2 illustre le système de communication décentralisé selon un deuxième mode de réalisation. Le système de communication décentralisé comprend au moins deux modules choisis chacun parmi un module d’interface, un module de communication, un module de coordination et un module de commutation, connectés en réseau.
Le système de communication décentralisé est commandé par un procédé de communication décentralisé assurant la communication de messages entre les modules selon différents modes de communication, la découverte des modules connectés, et l’attribution d’adresses de routage à chaque module découvert.
Sur la figure 1 , on peut voir le système de communication décentralisé 1 comprenant un module d’interface 2 connecté à un module de communication 4 par une connexion point à point PTP (acronyme anglophone pour « Point to Point ») référencée 3a et par une connexion série 3b, le module de communication 4 étant connecté par ailleurs directement ou indirectement à au moins un dispositif 7 d’un système complexe, notamment d’un robot.
Le module d’interface 2 est connecté par ailleurs directement ou indirectement à au moins une mémoire 5 comprenant des instructions ou données échangées avec au moins un des modules connectés.
Le module d’interface 2 comprend un moyen de traitement de données 2a, tel qu’un microcontrôleur, configuré pour interagir avec deux premiers moyens de communication 2b, 2e, un moyen de communication série 2c, et au moins un troisième moyen de communication 2d.
Les deux premiers moyen de communication 2b, 2e sont capables d’être connecté chacun à une connexion point à point. Sur la figure 1 , un seul moyen de communication point à point, référencé 2b, est connecté à une connexion point à point 3a.
Le moyen de communication série 2c est connecté à la connexion série 3b.
Les premiers et deuxième moyens de communication 2b, 2c permettent l’échange de données entre le module d’interface 2 et, respectivement, un moyen de communication point à point 4b et un moyen de communication série 4c du module de communication 4.
Le moyen de communication série 2c comprend un mode d’émission et un mode de réception indépendants. Ainsi chaque mode peut être activé ou désactivé indépendamment de l’état d’activation de l’autre mode.
Un troisième moyen de communication 2d permet l’échange de données entre le module d’interface 2 et la au moins une mémoire 5 par l’intermédiaire d’une connexion 6 d’un premier type, notamment ethernet, wifi ou bluetooth, et éventuellement par l’intermédiaire d’un serveur distant.
Le moyen de traitement de données 2a comprend un micro processeur ou microcontrôleur ainsi qu’éventuellement au moins une mémoire.
Le moyen de traitement des données 2a peut être configuré pour commander la transmission, avec ou sans traitement préalable, de tout ou partie des données reçues des premiers et deuxième moyens de communication 2b, 2c, 2e par l’intermédiaire du troisième moyen de communication 2d à destination de la mémoire 5.
Le moyen de traitement des données 2a peut être configuré pour commander la réception de données par le troisième moyen de communication 2d, les traiter en fonction de données reçues de la connexion point à point 3a et de la connexion série 3b par l’intermédiaire des premiers et deuxième moyens de communication 2b, 2c, 2e.
Le moyen de traitement des données 2a peut également être configuré pour commander la transmission, avec ou sans traitement préalable, de tout ou partie des données reçues du troisième moyen de communication 2d par l’intermédiaire des premiers et deuxième moyens de communication 2b, 2c, 2e à destination du module de communication 4.
L’homme du métier comprendra que le moyen de traitement des données comprend tout ou partie des caractéristiques décrites ci- dessus, les dites caractéristiques étant activées ou désactivées en fonction des instructions ou des résultats de traitements des données reçues.
La connexion point à point 3a comprend au moins un fil. Dans un mode de réalisation, la connexion point à point peut être protégée contre le bruit en employant un signal différentiel ou à validation.
Le signal différentiel implique une différence de signaux entre au moins deux fils de la connexion point à point 3a.
Le signal à validation comprend à la fois un signal envoyé par au moins un fil de la connexion point à point 3a et un signal validant transmis par la connexion série 3b. Le signal envoyé sur la connexion point à point 3a n’est validé que lorsque le signal validant est reçu simultanément ou dans une durée prédéterminée par rapport à l’instant de réception du message sur la connexion point à point 3a.
La connexion série 3b comprend également au moins un fil. Dans un autre mode de réalisation, la connexion série peut comprendre au moins une paire de fils torsadés, notamment de type RS485. Dans un mode de réalisation particulier, deux fils d’alimentation électrique peuvent être disposés en parallèle de la connexion série 3b afin d’alimenter de façon centralisée les différents modules connectés.
Par fil, on entend aussi bien une connexion avec un connecteur physique qu’une connexion intégrée au sein d’un circuit imprimé ou intégré. Il peut également s’agir d’une connexion logicielle entre des modules logiciels.
Comme on peut le voir sur la figure 1 , un module de communication 4 présente une structure similaire à celle du module d’interface 2.
Le module de communication 4 comprend un moyen de traitement de données 4a, tel qu’un microcontrôleur, configuré pour interagir avec des moyens de communication 4b, 4c, 4d, 4e.
Le moyen de traitement de données 4a comprend un micro processeur ou microcontrôleur ainsi qu’éventuellement au moins une mémoire.
Le module de communication 4 comprend deux premiers moyens de communication 4b, 4e capables d’être connectés chacun à une connexion point à point et un moyen de communication série 4c connecté à la connexion série 3b.
Le moyen de communication point à point 4b est connecté à la connexion point à point 3a.
Le moyen de communication point à point 4b et le moyen de communication série 4c permettent l’échange de données entre le module de communication 4 et le module d’interface 2 par l’intermédiaire respectivement de la connexion point à point 3 a et de la connexion série 3b.
Le moyen de communication série 4c comprend un mode d’émission et un mode de réception indépendants. Ainsi chaque mode peut être activé ou désactivé indépendamment de l’état d’activation de l’autre mode.
Le module de communication 4 comprend au moins un troisième moyen de communication 4d configuré pour échanger des données avec un dispositif 7. Le module de communication 4 peut ainsi échanger des données avec plusieurs dispositifs 7. Dans un tel cas, le moyen de traitement des données 4a peut être configuré pour recevoir des données d’un premier dispositif et les transférer, avec ou sans traitement, à destination d’un deuxième dispositif, les premier et deuxième dispositifs étant connectés au module de communication 4.
Le moyen de traitement des données 4a peut également être configuré pour commander la transmission, avec ou sans traitement préalable, de tout ou partie des données reçues du troisième moyen de communication 4d par l’intermédiaire des premier et deuxième moyens de communication 4b, 4c, 4e à destination du module de communication 4.
Le moyen de traitement des données 4a peut également être configuré pour commander la transmission, avec ou sans traitement préalable, de tout ou partie des données reçues des premier et deuxième moyens de communication 4b, 4c, 4e par l’intermédiaire du troisième moyen de communication 4d à destination des dispositifs 7 connectés au module de communication 4. Sur la figure 2, on peut voir le système de communication décentralisé 1 selon l’invention comprenant un plus grand nombre de modules.
L’homme du métier comprendra aisément que le nombre de modules du système de communication décentralisé 1 est adapté à la taille et aux fonctions du système complexe. Il en découle que l’architecture présentée sur la figure 2 n’est qu’un exemple d’architecture et que d’autres architectures et agencements de modules sont possibles et dans la portée de la présente description.
Chaque module de communication 40,41 ,42,43 ,44 comprend une structure similaire à celle du module de communication 4 illustré sur la figure 1 . Ils comprennent au moins un moyen de traitement des données connecté à deux premiers moyens de communication capable chacun d’être connecté à une connexion point à point et à un moyen de communication série connecté à la connexion série. Chaque module de communication 40,41 ,42,43 ,44 comprend également au moins un troisième moyen de communication connecté à un dispositif. Dans un souci de clarté, les premiers, deuxièmes et troisièmes moyens de communication ainsi que les dispositifs ne sont pas illustrés sur la figure 2.
Par ailleurs, les connexions point à point
3 l a, 32a, 33a, 34a, 35a, 36a et les connexion séries 3 lb, 32b, 33b, 34b comprennent chacune une structure similaire respectivement à celles des connexions point à point 3a et série 3b de la figure 1 .
Toutefois, certaines configurations de dispositifs peuvent requérir une configuration parallèle, également appelée configuration en étoile. Pour réaliser cela, on a recours à un module de coordination. Sur la figure 2, on peut voir un tel module de coordination référencé 8 configuré pour connecter en parallèle plusieurs modules de communication 40,41 ,42,43 ,44.
Un tel module de coordination 8 comprend un moyen de traitement des données, au moins trois premiers moyens de communication et un deuxième moyen de communication. Il diffère des modules de communication et d’interface de par le fait qu’il n’est pas connecté à un dispositif ou à une mémoire. Sur la figure 2, on peut voir également que le module de coordination 8 est connecté au module d’interface 2 par la connexion série 3 1b . La connexion série 3 1b se propage aux modules connectés derrière le module de coordination 8 par l’intermédiaire de connexions séries 32b, 33b, 34b définissant chacune une branche de la configuration en étoile.
Les messages émis sur la connexion série 3 1 b transitent ainsi sur chaque branche de la configuration en étoile. Ainsi, tous les modules connectés au module de coordination 8 reçoivent des messages par la connexion série à laquelle ils sont connectés, de façon similaire à la réception des messages par les modules connectés avant le module de coordination 8.
Le module de coordination 8 duplique de façon sélective les messages reçus sur la connexion point à point 32a vers les autres connexions point à point 33a, 34a, 35 a auxquelles il est connecté. Cependant, la duplication de ces messages dépend de l’étape de fonctionnement.
Le moyen de traitement des données du module de coordination 8 est ainsi configuré pour transmettre, avec ou sans traitement, tout ou partie des données reçues des premier et deuxième moyens de communication par l’intermédiaire d’autres premiers et deuxièmes moyens de communication respectivement.
En d’autres termes, le module de coordination 8 ne permet pas d’assurer directement la communication avec un dispositif mais de transmettre les données échangées entre les modules du système de communication décentralisé 1 .
Par ailleurs, un module peut être un module de commutation, non illustré sur les figures 1 et 2, présentant une structure similaire au module de coordination 8. Il comprend au moins trois deuxièmes moyens de communication, connectés chacun à une connexion série séparé. Le module de coordination 8 duplique les messages reçus par la connexion série 3 1b sur chaque branche de la configuration en étoile. Cependant, la duplication de ces messages dépend de l’étape de fonctionnement. Un module de commutation se comporte toutefois de façon similaire au module de coordination lors des étapes de découverte des voisins.
Les différentes étapes d’un procédé de commande du système de communication décentralisé 1 vont maintenant être décrites.
Afin de pouvoir faire communiquer les différents modules connectés au sein du système de communication décentralisé par l’intermédiaire d’échanges de messages, plusieurs étapes sont nécessaires.
La structure des messages échangés entre modules va maintenant être décrite.
Un message échangé entre deux modules comprend un préambule P, un entête H, et des données D. Dans un mode de réalisation particulier, il comprend une valeur de contrôle d’erreur CTRL.
Le préambule P est employé afin de déclencher la réception ou la transmission d’un nouveau message. Dans un mode de réalisation, le préambule P est une période d’inactivité du système de communication décentralisé 1 entre chaque message. La réception du préambule permet de réinitialiser l’état d’un module de sorte qu’il puisse recevoir un nouveau message ou effacer un message faux.
L’entête H comprend plusieurs champs contenant les informations permettant à un module de comprendre le message.
L’entête H comprend un champ de numéro de version, un champ de cible, un champ de mode de la cible, un champ de source, un champ de commande et un champ de taille.
Le champ de numéro de version définit le numéro de version du procédé de communication employé pour établir le message échangé. Le champ de numéro de version permet à un module de déterminer comment lire le message. Le champ de cible indique une adresse de routage du module auquel le message est destiné. Il est à noter que dans le cas où plusieurs dispositifs sont connectés à un module de communication, une adresse de routage peut être assignée au module de communication pour chaque dispositif connecté. Ainsi, le module de communication peut disposer de plusieurs adresses de routage.
Le champ de mode de la cible indique le mode d’adressage et comment interpréter le champ de cible.
Un premier mode d’adressage est le mode ID au cours duquel le message est destiné à un module unique identifié par son adresse de routage et sans accusé de réception.
Un deuxième mode d’adressage est le mode ID+ACK au cours duquel le message est destiné à un module unique identifié par son adresse de routage et avec accusé de réception.
Un troisième mode d’adressage est le mode Broadcast au cours duquel le message est transmis à tous les modules connectés à la connexion série. Dans un tel mode d’adressage, le champ de cible n’est pas considéré par les modules lisant le message.
Dans un mode de réalisation, on prévoit un quatrième mode d’adressage appelé mode Type au cours duquel le message est transmis à tous les modules d’un type défini. Chaque module comprend une adresse Type dépendant de la nature des dispositifs qui lui sont connectés. Par exemple, on peut donner l’adresse type 1 à tous les moteurs, l’adresse type 2 à toutes les sources de lumière, et l’adresse type 3 à tous les capteurs. Dans le cadre de cet exemple, un message avec l’adresse type 2 vise alors toutes les sources de lumière connectées au système de communication. Le champ de source indique l’adresse de routage du module à l’origine du message.
Le champ de commande définit le type de données transmises.
Le champ de taille indique la taille des données comprises dans le message.
Les données D correspondent à la partie principale du message comprenant les données échangées.
La valeur de contrôle d’erreur CTRL permet de déterminer la présence d’erreur à la réception du message en comparant la valeur de contrôle d’erreur CTRL comprise dans le message à la valeur de contrôle d’erreur déterminée à la réception, les deux valeurs étant déterminées par application de fonctions mathématiques prédéterminées aux valeurs numériques associées à l’entête H et aux données D . La valeur de contrôle d’erreur peut être notamment une valeur de contrôle de redondance cyclique CRC ou une somme de contrôle.
Dans un mode de réalisation particulier, le message comprend également un accusé de réception A. Dans un mode de réalisation, l’accusé de réception peut prendre deux valeurs distinctes, une première valeur étant associée au message envoyé de la source à la cible, la deuxième valeur étant associée à l’accusé de réception envoyé de la cible à la source. Ce champ est employé en conjonction du deuxième mode d’adressage ID+ACK.
L’étape de transmission d’un message entre deux modules va maintenant être décrite.
Lorsque l’on commande l’émission d’un message par un premier module, on commande le premier module de sorte à activer le mode d’émission du moyen de communication série tout en conservant le mode de réception activé.
Cela permet au premier module de détecter d’éventuelles erreurs de collision lors de la transmission de l’entête H. On définit qu’une collision est l’émission d’un message par deux modules distincts sur la connexion série dans un intervalle de temps prédéfini, compris entre le début de l’émission du préambule et la fin de l’émission de l’entête. Afin d’éviter de mauvaises détections, on considère que l’intervalle de temps est de préférence égal à la durée d’émission du préambule et du au moins un premier bit de l’entête.
On commande le premier module de sorte à émettre le préambule ou à attendre la durée du préambule selon le mode de réalisation.
Si on ne détecte pas de collision de message, on commande ensuite le premier module de sorte à émettre l’entête H d’un message par la connexion série. Un message ou partie de message émis sur la connexion série est lu par tous les modules connectés à la connexion série. Chaque module recevant le message interprète le contenu du message en fonction de ses caractéristiques (adresse de routage, adresse type, ... ) et de la structure du message décrite ci-dessus. A réception de l’entête H, le deuxième module lit l’entête H du message, et commande son moyen de communication série de sorte que le mode d’émission soit interdit. En d’autres termes, l’émission de l’entête H par un module commande les autres modules recevant l’entête H par leur connexion série, de sorte qu’ils ne puissent émettre d’entête à leur tour.
On commande alors l’émission du reste du message.
Lorsque la totalité du message est transmise, on commande le moyen de communication série du premier module de sorte à activer le mode de réception et à désactiver le mode d’émission et on commande le moyen de communication série du deuxième module de sorte à désactiver l’interdiction d’émission.
En d’autres termes, après émission du message, les modules connectés reviennent dans leur état par défaut.
Par ailleurs, l’homme du métier se rendra compte que le procédé d’échange de message décrit ci-dessus permet à un module émettant un message de prendre le contrôle du moyen de communication série des autres modules connectés. Une telle prise de commande permet d’éviter les problèmes d’encombrement du réseau et mauvaise qualité de service QoS (acronyme anglophone pour « Quality of Service »).
L’étape de détection de voisin va maintenant être décrite en relation avec la figure 1 .
Lorsqu’un module de communication 4 est connecté au module d’interface 2, il n’est pas découvert et ne possède pas d’adresse de routage.
Afin de pouvoir échanger des messages nécessitant une adresse de routage, on initialise une découverte de proche en proche à partir du module d’interface 2.
Il est à noter que par défaut tous les modules connectés ont le mode de réception de leur moyen de communication série 2b activé.
Pour réaliser cette étape, on attribue au module d’interface 2 la première adresse de routage du système de communication décentralisé référencé 1 . Ensuite, on commande l’activation du mode émission du moyen de communication série 2b du module d’interface 2 en mode émission et on fait émettre par le module d’interface 2 une première valeur prédéfinie sur la connexion point à point 3a. Dans le cas où le premier module est connecté à deux connexions point à point, on répète l’étape de détection pour chaque connexion point à point.
Un module connecté à la connexion point à point 3a reçoit la première valeur prédéfinie, et renvoie, en retour, cette même première valeur prédéfinie.
Lorsque le module d’interface 2 reçoit en retour par la connexion point à point 3a la première valeur prédéfinie, on détermine une nouvelle adresse de routage à attribuer.
On émet ensuite par l’intermédiaire du moyen de communication série 2c du module d’interface 2 un message en mode broadcast comprenant la nouvelle adresse de routage à attribuer.
Ce message étant émis sur la connexion série 3b, il est lu par chacun des modules connectés, indépendamment de leur découverte par le module d’interface 2.
Un module recevant à la fois le message en mode broadcast comprenant la nouvelle adresse de routage à attribuer par la connexion série, et ayant émis la première valeur prédéfinie sur une connexion point à point connectée à son premier moyen de communication point à point et percevant une deuxième valeur prédéfinie sur son deuxième moyen de communication point à point, enregistre l’adresse de routage à attribuer. Il émet ensuite la première valeur prédéfinie par la connexion point à point connectée à son deuxième moyen de communication point à point pour poursuivre la découverte du réseau. Si un autre module est connecté à l’autre extrémité de la connexion point à point connectée à son deuxième moyen de communication point à point, il reçoit en retour la première valeur prédéfinit, et réémet en retour la première valeur prédéfinie par la connexion point à point connectée au module d’interface 2. . Le module d’interface 2 en déduit qu’il reste des modules à découvrir et à adresser. Le module d’interface 2 génère et émet alors une autre adresse de routage.
Si aucun autre module n’est connecté à l’autre extrémité de la connexion point à point connectée à son deuxième moyen de communication point à point, il ne reçoit pas en retour la première valeur prédéfinit. Il réémet alors en retour une deuxième valeur prédéfinie par la connexion point à point connectée au module d’interface 2.
Le module d’interface 2 en déduit qu’il ne reste pas de modules à découvrir et à adresser. Le module d’interface 2 arrête alors la génération de nouvelles adresses de routage.
Dans le cas illustré par la figure 1 , le module d’interface 2 émet la première valeur prédéfinie par la connexion point à point 3a. Le module de communication 4 reçoit la première valeur prédéfinie par la connexion point à point 3a et réémet en retour la première valeur prédéfinie par la connexion point à point 3a.
Lorsqu’il reçoit la première valeur prédéfinie par la connexion point à point 3a, le module d’interface 2 en déduit qu’un module est connecté. On génère une deuxième adresse de routage, et le module d’interface 2 émet en mode broadcast un message comprenant la deuxième adresse de routage à attribuer.
Le module de communication 4 ayant réémis la première valeur prédéfinie par la connexion point à point 3a et percevant par son deuxième moyen de communication point à point 4e reçoit une deuxième valeur prédéfinie, le module de communication 4 enregistre la deuxième adresse de routage à attribuer. On note que la deuxième valeur prédéfinie est la valeur par défaut.
On fait émettre par le module de communication 4 une première valeur prédéfinie par son deuxième moyen de communication point à point 4e.
Le deuxième moyen de communication point à point 4e n’étant pas connecté à une connexion point à point et à un autre module, il ne peut recevoir de réponse. Au bout d’une durée prédéterminé, n’ayant pas reçu de réponse, on commande l’émission de la deuxième valeur prédéfinie sur la connexion point à point 3a indiquant qu’il n’y a pas d’autre voisin après le module de communication 4.
Le module d’interface 2 reçoit la deuxième valeur prédéfinie par la connexion point à point 3a et arrête le procédé de détection de voisin pour la connexion point à point 3a. L’étape de détection de voisin a été décrite entre un module d’interface 2 et un module de communication 4. Toutefois, la même étape est appliquée lorsque des modules différents sont impliqués.
Il est à noter que dans le cas où plusieurs dispositifs sont connectés à un module de communication, une adresse de routage peut être assignée au module de communication pour chaque dispositif connecté. Ainsi, le module de communication peut disposer de plusieurs adresses de routage. L’étape de détection de voisin est répétée plusieurs fois pour le même module pour chaque dispositif connecté audit module.
Plus particulièrement, le module de communication connecté à plusieurs dispositifs émet en retour la première valeur prédéfinie par la connexion point à point par laquelle une première valeur prédéfinie a été reçue tant que le module de communication n’a pas reçu un nombre suffisant d’adresses de routage pour en enregistrer une pour chaque dispositif.
Plus précisément, la première valeur prédéfinie émise en retour par la connexion point à point est émise de nouveau après la réception sur la connexion série d’une nouvelle adresse de routage jusqu’à ce que chaque dispositif connecté au module de communication soit associé à une adresse de routage.
Ensuite, le module de communication reprend la détection de voisins par son deuxième moyen de communication point à point, tel que décrit ci-dessus.
L’étape de détection de voisin décrite ci-dessus est appliquée à tous les modules interconnectés, c’est-à-dire tant que le module d’interface 2 reçoit périodiquement la première valeur prédéfinie par la connexion point à point.
L’étape de détection de voisin généralisée à un plus grand nombre de modules va maintenant être décrite en regard de la figure 2.
Lors de leur connexion, aucun des modules illustrés sur la figure 2 ne possède d’adresse de routage. Ils ne peuvent donc pas communiquer par l’intermédiaire de messages nécessitant une adresse de routage. Pour remédier à cela, on réalise l’étape de détection à partir du module d’interface 2.
On attribue au module d’interface 2 une première adresse de routage du système de communication décentralisé 1 . Ensuite, on commande le module d’interface 2 pour émettre par son premier moyen de communication point à point 2b la première valeur prédéfinie par la connexion point à point 3 1 a
Le module de communication 40 reçoit la première valeur prédéfinie sur la connexion point à point 3 1 a. Il émet en retour la première valeur prédéfinie par la connexion point à point 3 1 a.
Le module d’interface 2 reçoit la première valeur prédéfinie par la connexion point à point 3 1 a et en déduit que l’étape de découverte de voisin doit se poursuivre et qu’une adresse de routage doit être émise.
On détermine une deuxième adresse de routage et on commande le module d’interface 2 pour émettre par la connexion série 3 1b un message en mode broadcast comprenant la deuxième adresse de routage.
Le message comprenant la deuxième adresse de routage étant émis sur la connexion série 3 1 b, il est lu par chacun des modules connectés, indépendamment de leur découverte par le module d’interface 2.
Le module de communication reçoit le message en mode broadcast comprenant la deuxième adresse de routage par la connexion série 3 1b.
Comme le deuxième moyen de communication point à point du module de communication 40 perçoit la valeur par défaut égale à la deuxième valeur prédéfinie, le module enregistre l’adresse de routage à attribuer.
Le deuxième moyen de communication point à point du module de communication 40 émet la première valeur prédéfinie par la connexion point à point 32a
Le module de routage 8 reçoit alors la première valeur prédéfinie par la connexion point à point 32a et émet en retour par la connexion point à point 32a la première valeur prédéfinie. Le module de communication 40 reçoit la première valeur prédéfinie par la connexion point à point 3 1 a. Comme il dispose déjà d’une adresse de routage, il émet à son tour la première valeur prédéfinie par son autre connexion point à point 3 1 a. La première valeur prédéfinie est ainsi retransmise de proche en proche jusqu’au module d’interface 2.
Le module d’interface 2 reçoit la première valeur prédéfinie par la connexion point à point 3 1 a et en déduit qu’un autre module doit recevoir une adresse de routage.
Le module d’interface 2 détermine alors une troisième adresse de routage et émet alors sur la connexion série 3 1b un nouveau message en mode broadcast comprenant la troisième adresse de routage.
Le module de routage 8 ayant réémis en retour la première valeur prédéfinie par la connexion point à point 32a et percevant la deuxième valeur prédéfinie sur son deuxième moyen de communication point à point, il enregistre alors la troisième adresse de routage reçue sur la connexion série 3 1b dans le message en mode broadcast.
Le dernier module ayant mémorisé une adresse de routage émet par son deuxième moyen de communication point à point la première valeur prédéfinie.
A réception en retour de la première valeur prédéfinie, le dernier module ayant mémorisé une adresse de routage et tous les modules connectés jusqu’au module d’interface 2 retransmettent de proche en proche la première valeur prédéfinie.
A chaque réception de la première valeur prédéfinie, le module d’interface 2 génère une nouvelle adresse de routage, et émet un nouveau message en mode broadcast comprenant chacun une nouvelle adresse de routage. L’adresse de routage ainsi générée et émise est mémorisée par le module découvert.
Lorsque le dernier module du réseau est découvert et a enregistré une adresse de routage, le dernier module émet la première valeur prédéfinie par son deuxième moyen de communication point à point. Comme cela a été décrit lors de la description de la découverte du réseau illustrée par la figure 1 , le deuxième moyen de communication point à point n’est pas connecté à une liaison point à point et à un module. Il ne peut donc pas recevoir de réponse. Au bout d’une durée prédéterminée, n’ayant pas reçu de réponse, on commande l’émission d’une deuxième valeur prédéfinie par le premier moyen de communication point à point du dernier module du réseau découvert et ayant enregistré une adresse. La deuxième valeur prédéfinie est retransmise de proche en proche par chaque module jusqu’au module d’interface 2.
A réception de cette deuxième valeur prédéfinie par le module d’interface 2, on détermine que tous les modules connectés ont une adresse de routage et que la découverte des modules de proche en proche est terminée. On commande le module d’interface 2 de sorte qu’il ne détermine pas de nouvelle adresse de routage et on termine l’étape de détection de voisin.
Dans un mode de réalisation particulier, à chaque réception d’une première valeur prédéfinie par la connexion point à point 3 1 a, le module d’interface 2 enregistre l’adresse de routage attribuée dans une table de routage.
Il est à noter que dans le cas particulier des modules de coordination ou de commutation, le moyen de traitement des données compris dans de tels modules est configuré pour transmettre de façon déterministe la première valeur prédéfinie reçue par la connexion point à point connectée au premier moyen de communication point à point. Par transmission déterministe, on entend que les messages reçus par de tels modules par l’intermédiaire de la connexion point à point connectée au premier moyen de communication point à point sont transmis dans un ordre prédéterminé dans chaque branche connectée par une autre connexion point à point en sortie du module. L’ordre prédéterminé ne change pas d’une étape de détermination de voisin à la suivante.
Dans le cas du module de coordination 8 illustré sur la figure 2, on transmet chaque première valeur prédéfinie reçue en entrée par la première connexion point à point 32a par la deuxième connexion point à point 33a. On retransmet également toutes les premières valeurs reçues par la deuxième connexion point à point 33a par la première connexion point à point 32a.
Lorsque l’on reçoit une deuxième valeur prédéfinie par la deuxième connexion point à point 33a, on détermine que tous les modules de la branche ont été détectés et ont reçu une adresse de routage. On commande alors le module de coordination 8 pour qu’il émette la première valeur prédéfinie par la troisième connexion point à point 34a.
On commande ensuite le module de coordination 8 pour qu’il retransmette toutes les premières valeurs reçues par la quatrième connexion point à point 34a par la première connexion point à point 32a.
On retransmet également toutes les premières valeurs reçues par la troisième connexion point à point 34a par la première connexion point à point 32a.
Lorsque l’on reçoit une deuxième valeur prédéfinie par la troisième connexion point à point 34a, on détermine que tous les modules de la branche ont été détectés et ont reçu une adresse de routage. On commande alors le module de coordination 8 pour qu’il émette la première valeur prédéfinie par la quatrième connexion point à point 35a.
On commande ensuite le module de coordination 8 pour qu’il retransmette toutes les premières valeurs reçues par la quatrième connexion point à point 35 a par la première connexion point à point 32a.
On retransmet également toutes les premières valeurs reçues par la quatrième connexion point à point 35 a par la première connexion point à point 32a.
Lorsque l’on reçoit une deuxième valeur prédéfinie par la quatrième connexion point à point 35 a, on détermine que tous les modules de la branche ont été détectés, et ont reçu une adresse de routage, et que toutes les branches ont été détectées. On commande alors le module de coordination 8 pour qu’il émette une deuxième valeur prédéfinie par la première connexion point à point 32a.
Dans l’exemple ci-dessus, le module de coordination procède à la découverte de ses branches en balayant successivement la deuxième connexion point à point 33a, puis la troisième connexion point à point 34a puis la quatrième connexion point à point 35a. Toutefois, d’autres ordres de balayage des branches sont possibles tout en restant dans la portée de la présente description.
La transmission sélective des valeurs prédéfinies par le module de coordination ou de commutation combinée à l’émission d’adresses de routage par le module d’interface permet de découvrir et d’attribuer une adresse de routage à tous les modules connectés.
On peut alors procéder à l’acheminement des données par des messages tels que définis dans la présente description.
L’étape de découverte des voisins décrite ci-dessus est illustrée dans le cadre d’un échange de messages sous forme soit d’une première valeur prédéfinie, soit d’une deuxième valeur prédéfinie. Ces valeurs peuvent être par exemple des messages structurés ou des valeurs de tension de signal sur la connexion point à point.
Toutefois, dans un but d’accélération des échanges de messages et donc d’une accélération de la découverte du réseau, les messages peuvent être concaténés.
Ainsi, dans le cas illustré par la figure 1 , le premier moyen de communication point à point 2b du module d’interface 2 porte la connexion point à point 3a à un premier niveau. Lorsque le premier moyen de communication point à point du module de communication 4 perçoit le premier niveau sur la connexion point à point 3a et le message en mode broadcast comprenant l’adresse de routage sur la connexion série 3b, il enregistre l’adresse de routage.
Le premier moyen de communication point à point 2b du module d’interface 2 maintient le premier niveau pendant une durée prédéterminée après l’émission d’un message en mode broadcast comprenant une adresse de routage. Si à l’issue de cette durée prédéterminée, il perçoit toujours le premier niveau par son premier moyen de communication point à point 2b, il l’interprète comme la présence d’un module ayant mémorisé l’adresse de routage comprise dans le message émis en mode broadcast.
Lors de l’émission de la troisième adresse de routage, le module de communication 4 ne maintient pas le premier niveau par l’intermédiaire de son premier moyen de communication point à point 4b après la durée prédéterminée consécutive à l’émission du message en mode broadcast.
Le deuxième niveau est perçu par son premier moyen de communication point à point 2b . Il l’interprète comme l’absence d’un module ayant mémorisé l’adresse de routage comprise dans le message émis en mode broadcast. La découverte du réseau est alors interrompue.
La découverte du réseau a été décrite ci-dessus dans le cadre d’une première découverte du réseau en liaison avec l’attribution d’adresses de routage. Toutefois, la découverte du réseau peut être réalisée de nouveau ultérieurement afin de vérifier par exemple que les modules précédemment découverts sont toujours connectés ou n’ont pas subi de défaillance, qu’un nouveau module a été ajouté ou substitué ou que la première découverte du réseau n’a pas été correctement réalisée.
Pour réaliser une telle découverte ultérieure, on applique le procédé de découverte et d’adressage décrit plus haut en omettant la génération d’adresse de routage, l’émission d’adresse de routage sur la connexion série et l’enregistrement de l’adresse de routage par le dernier module découvert.
En se référant à la figure 2, l’étape de découverte ultérieure comprend les sous-étapes suivantes.
On commande le module d’interface 2 pour émettre par son premier moyen de communication point à point 2b la première valeur prédéfinie par la connexion point à point 3 1 a
Le module de communication 40 reçoit la première valeur prédéfinie sur la connexion point à point 3 1 a. Il émet en retour la première valeur prédéfinie par la connexion point à point 3 1 a. Le module d’interface 2 reçoit la première valeur prédéfinie par la connexion point à point 3 1 a et en déduit qu’un module a été découvert.
Le deuxième moyen de communication point à point du module de communication 40 émet la première valeur prédéfinie par la connexion point à point 32a
Le module de routage 8 reçoit alors la première valeur prédéfinie par la connexion point à point 32a et émet en retour par la connexion point à point 32a la première valeur prédéfinie. Le module de communication 40 reçoit la première valeur prédéfinie par la connexion point à point 3 1 a. Comme il a déjà été découvert, il émet à son tour la première valeur prédéfinie par son autre connexion point à point 3 1 a. La première valeur prédéfinie est ainsi retransmise de proche en proche jusqu’au module d’interface 2.
Le module d’interface 2 reçoit la première valeur prédéfinie par la connexion point à point 3 1 a et en déduit qu’un autre module a été découvert.
Le dernier module ayant été découvert émet par son deuxième moyen de communication point à point la première valeur prédéfinie.
A réception en retour de la première valeur prédéfinie, le dernier module ayant mémorisé une adresse de routage et tous les modules connectés jusqu’au module d’interface 2 retransmettent de proche en proche la première valeur prédéfinie.
A chaque réception de la première valeur prédéfinie, le module d’interface 2 détermine qu’un nouveau module a été découvert.
Lorsque le dernier module du réseau est découvert, il émet la première valeur prédéfinie par son deuxième moyen de communication point à point. Comme cela a été décrit lors de la description de la découverte du réseau illustrée par la figure 1 , le deuxième moyen de communication point à point n’est pas connecté à une liaison point à point et à un module. Il ne peut donc pas recevoir de réponse. Au bout d’une durée prédéterminée, n’ayant pas reçu de réponse, on commande l’émission d’une deuxième valeur prédéfinie par le premier moyen de communication point à point du dernier module du réseau découvert et ayant enregistré une adresse. La deuxième valeur prédéfinie est retransmise de proche en proche par chaque module jusqu’au module d’interface 2.
A réception de cette deuxième valeur prédéfinie par le module d’interface 2, on détermine que tous les modules connectés ont été découverts.
Le module d’interface 2 est ainsi apte à comparer le nombre de modules découverts au nombre de modules découverts lors de la première étape de découverte et d’attribution d’adresses de routage.
Il est également possible de déterminer la présence d’un défaut dans une connexion ou dans un module en comparant le dernier module du réseau et/ou de chaque branche découvert lors de la découverte ultérieure du réseau avec le dernier module du réseau et/ou de chaque branche découvert lors de la découverte initiale du réseau et de l’adressage des modules. Si le dernier module découvert est différent du dernier module découvert lors de la découverte initiale du réseau et de l’adressage des modules, on détermine que la connexion point à point entre le dernier module découvert lors de la découverte ultérieure et le module immédiatement suivant est défaillante ou que le module immédiatement suivant est défaillant. On peut ainsi identifier la position de ce défaut dans la topologie du réseau dès lors que l’étape de découverte est réalisée à partir du même module que celui à partir duquel la première étape de découverte et d’attribution d’adresses de routage a été réalisée.
L’étape de découverte des voisins décrite ci-dessus est réalisée par le module d’interface 2. Toutefois, cette étape et plus généralement, le procédé de commande peuvent être réalisés par n’importe quel module du système de communication 1 . Le système de communication décentralisé 1 et le procédé de commande d’un tel système permettent la communication d’une mémoire avec des dispositifs d’un système complexe. Ces dispositifs peuvent être des actionneurs, des batteries, des alimentations, des capteurs, des émetteurs, des mémoires des moyens de traitement de données et plus généralement tout système permettant le fonctionnement d’un système complexe.

Claims

REVENDICATIONS
1 . Système de communication décentralisé dans un robot comprenant au moins deux modules, chaque module étant connecté à au moins un module voisin par une connexion point à point, tous les modules étant connectés entre eux par au moins une connexion série, chaque module étant choisi parmi au moins un module d’interface (2) ou un module de communication (4),
un module d’interface (2) étant connecté par une connexion autre que la connexion série ou la connexion point à point à au moins une mémoire (5) permettant la communication entre la mémoire et le au moins un autre module,
un module de communication (4) étant connecté par une connexion autre que la connexion série ou la connexion point à point à au moins un dispositif (7) permettant la communication entre le au moins un dispositif et le au moins un autre module,
un dispositif (7) étant choisi parmi au moins un actionneur, un capteur, un moyen de communication, une batterie, une alimentation ou un moyen de traitement de données.
2. Système selon la revendication 1 , dans lequel chaque module comprend au moins deux premiers moyens de communication capables chacun d’être connecté à une connexion point à point et au moins un moyen de communication série connecté à une connexion série, les moyens de communication étant connectés à au moins un moyen de traitement de données.
3. Système selon l’une quelconque des revendications précédentes, dans lequel un module est un module de coordination ou de commutation configuré pour connecter en parallèle au moins trois modules, chaque module étant connecté par une connexion point à point et une connexion série,
le module de coordination étant configuré et pour retransmettre des valeurs prédéfinies reçues sur une connexion point à point en fonction de règles prédéfinies, le module de commutation étant configuré pour retransmettre des messages reçus sur une connexion série vers au moins une autre connexion série et des valeurs prédéfinies reçues sur une connexion point à point vers au moins une autre connexion point à point en fonction de règles prédéfinies.
4. Procédé de commande d’un système de communication décentralisé selon l’une quelconque des revendications précédentes, dans lequel le système de communication comprend un premier module et au moins un deuxième module connecté au premier module,
on réalise une transmission d’au moins un message comprenant un préambule (P) et un entête (H) entre au moins deux modules du système de communication en réalisant les étapes suivantes :
on commande le moyen de communication série du premier module de sorte à en activer le mode d’émission tout en conservant le mode de réception activé,
on commande le premier module de sorte à émettre le préambule (P) et au moins une partie de l’entête (H) par la connexion série,
on commande le moyen de communication série de chaque deuxième module de sorte à interdire le mode d’émission dès la lecture d’au moins une partie de l’entête,
on détermine par l’intermédiaire du premier module si un autre message est émis par un moyen de communication série d’au moins un deuxième module dans un intervalle de temps compris entre le début de l’émission du préambule (P) et la fin de l’émission de l’entête (H), si tel est le cas, on considère que le message ne doit pas être lu par le au moins un deuxième module et doit être réémis par le premier module,
si tel n’est pas le cas, on commande le premier module de sorte à émettre le reste du message par la connexion série,
lorsque la totalité du message est transmise, on commande le moyen de communication série du premier module de sorte à en activer le mode de réception et à en désactiver le mode d’émission et on commande le moyen de communication série de chaque deuxième module de sorte à en annuler l’interdiction du mode d’émission.
5. Procédé selon la revendication 4, dans lequel un message comprend au moins un parmi des données (D) et une valeur de contrôle d’erreur (CTRL).
6. Procédé selon l’une quelconque des revendications 4 ou 5 , dans lequel on réalise une détection de voisin de proche en proche afin de découvrir au moins un deuxième module connecté directement ou indirectement à un premier module et on attribue au moins une adresse de routage à chaque deuxième module connecté directement ou indirectement au premier module, en réalisant les étapes suivantes : on attribue une première adresse de routage au premier module, puis
pour chaque connexion point à point connectée au premier module, on réalise les étapes suivantes :
on commande chaque module connecté directement ou indirectement, au premier module, l’un après l’autre, de sorte qu’il réalise au moins une détection de voisin par l’intermédiaire de la connexion série et d’une connexion point à point,
à chaque détection d’un voisin, on commande le module voisin détecté de sorte qu’il confirme sa présence au premier module par les connexions point à point, on commande le premier module de sorte qu’il émette au moins une nouvelle adresse de routage par la connexion série, on commande le module voisin de sorte qu’il enregistre la au moins une nouvelle adresse de routage, et on commande le module voisin de sorte qu’il réalise à son tour une détection de voisin,
on arrête la détection de voisins lorsque aucun des modules connectés directement ou indirectement ne détecte de nouveau voisin.
7. Procédé selon l’une quelconque des revendications 4 ou 5 , dans lequel on réalise une détection de voisin de proche en proche afin de découvrir au moins un deuxième module connecté directement ou indirectement à un premier module, en réalisant les étapes suivantes : pour chaque connexion point à point connectée au premier module, on réalise les étapes suivantes :
on commande chaque module connecté directement ou indirectement, au premier module, l’un après l’autre, de sorte qu’il réalise au moins une détection de voisin par l’intermédiaire de la connexion série et d’une connexion point à point,
à chaque détection d’un voisin, on commande le module voisin détecté de sorte qu’il confirme sa présence au premier module par les connexions point à point, et on commande le module voisin de sorte qu’il réalise à son tour une détection de voisin,
on arrête la détection de voisins lorsque aucun des modules connectés directement ou indirectement ne détecte de nouveau voisin.
8. Procédé selon l’une quelconque des revendications 6 ou 7, dans lequel, lorsqu’un module est connecté à au moins deux dispositifs, on répète l’étape de découverte de voisin pour chaque dispositif connecté au module.
9. Procédé selon l’une quelconque des revendications 6 à 8, dans lequel pour réaliser une détection de voisin par un module ayant reçu une première valeur prédéterminée par un premier moyen de communication point à point, on réalise les étapes suivantes :
on commande l’émission d’une première valeur prédéfinie par le deuxième moyen de communication point à point du module sur la connexion point à point,
on détermine si le module reçoit une valeur prédéfinie en retour par le deuxième moyen de communication point à point, pendant une durée prédéterminée débutant à l’instant d’émission de la première valeur prédéfinie par le deuxième moyen de communication point à point,
si tel est le cas et que la valeur prédéfinie est égale à la première valeur prédéfinie, on considère qu’un module voisin est connecté à l’autre extrémité de la connexion point à point connectée au module,
si tel n’est pas le cas, on considère qu’aucun deuxième module n’est connecté à l’autre extrémité de la connexion point à point connectée au deuxième moyen de communication point à point du module et on émet une deuxième valeur prédéfinie par le premier moyen de communication point à point.
10. Procédé selon l’une quelconque des revendications 6 à 9, dans lequel, pour confirmer sa présence au premier module, un module transmet une première valeur prédéfinie par son premier moyen de communication point à point, la première valeur prédéfinie étant retransmise de proche en proche par l’intermédiaire des modules et des connexions point à point jusqu’au premier module.
1 1 . Procédé selon l’une quelconque des revendications 6 à 10, dans lequel, un module étant connecté à une première connexion point à point et à une deuxième connexion point à point, lorsque le module a émis une première valeur par la première connexion point à point dans une durée prédéfinie, que le module reçoit une première valeur prédéfinie par la deuxième connexion point à point dans la durée prédéfinie, il retransmet la première valeur prédéfinie par la première connexion point à point.
12. Procédé selon l’une quelconque des revendications 6 à 1 1 , dans lequel, un module étant connecté à une première connexion point à point et à une deuxième connexion point à point, lorsque le module a émis une première valeur par la première connexion point à point dans une durée prédéfinie, que le module reçoit une deuxième valeur prédéfinie par la deuxième connexion point à point dans la durée prédéfinie, il retransmet la deuxième valeur prédéfinie par la première connexion point à point.
13. Procédé selon l’une quelconque des revendications 6 à 12, dans lequel, lorsque le module est un module de coordination ou de commutation, comprenant un premier moyen de communication point à point et au moins deux deuxièmes premiers moyens de communication, on commande le module de communication ou de coordination de sorte à procéder à une attribution d’adresse de routage et de détection de voisin pour chaque deuxième moyen de communication point à point, le module de coordination ou de commutation changeant de deuxième moyen de communication point à point à réception d’une deuxième valeur prédéfinie par le deuxième moyen de communication point à point, et,
lorsque le module de coordination ou de commutation a reçu une deuxième valeur prédéfinie sur chacun de ses deuxièmes premiers moyens de communication, il transmet la deuxième valeur prédéfinie par son premier moyen de communication point à point.
14. Procédé selon l’une quelconque des revendications 6 à 13 , dans lequel on détermine qu’aucun des modules connectés directement ou indirectement au premier module ne détecte de nouveau voisin, lorsque le premier module reçoit une deuxième valeur prédéfinie par la connexion point à point par laquelle il a émis la première valeur prédéfinie.
15. Procédé selon l’une quelconque des revendications 6 à 14, dans lequel,
lorsque l’on a commandé une détection de voisins et un adressage des modules découverts par un premier module, puis
lorsque l’on a commandé une détection ultérieure de voisins par le premier module,
on compare le dernier module découvert lors de détection ultérieure de voisins avec le dernier module découvert lors de la une détection initiale de voisins et de l’adressage des modules,
on détermine alors si le dernier module découvert lors de la détection ultérieure de voisins est différent du dernier module découvert lors de la détection initiale de voisins et de l’adressage des modules
EP19749391.9A 2019-06-21 2019-06-21 Système de communication décentralisé et procédé de commande correspondant Withdrawn EP3987726A1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/FR2019/051521 WO2020254732A1 (fr) 2019-06-21 2019-06-21 Système de communication décentralisé et procédé de commande correspondant

Publications (1)

Publication Number Publication Date
EP3987726A1 true EP3987726A1 (fr) 2022-04-27

Family

ID=67539522

Family Applications (1)

Application Number Title Priority Date Filing Date
EP19749391.9A Withdrawn EP3987726A1 (fr) 2019-06-21 2019-06-21 Système de communication décentralisé et procédé de commande correspondant

Country Status (5)

Country Link
US (1) US20220021555A1 (fr)
EP (1) EP3987726A1 (fr)
JP (1) JP2022537232A (fr)
KR (1) KR20220021446A (fr)
WO (1) WO2020254732A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114915920B (zh) * 2021-02-09 2024-04-16 京东科技信息技术有限公司 消息的传输方法、装置、机器人以及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4719458A (en) * 1986-02-24 1988-01-12 Chrysler Motors Corporation Method of data arbitration and collision detection in a data bus
US5185866A (en) * 1988-12-30 1993-02-09 Pitney Bowes Inc. Dual mode communication among plurality of processors using three distinct data channels each having different function and operations
US6484215B1 (en) * 1998-11-16 2002-11-19 Rockwell Technologies, Llc System having I/O module number assignment utilizing module number signal line having pair of inputs adapted for receiving module number signal and propagation of module number signal down stream
NL1027672C2 (nl) * 2004-12-06 2006-06-12 Neopost Sa Werkwijze voor het bepalen van een netwerktopologie in een inrichting voor het verwerken van fysieke documenten, zoals poststukken.
US7680090B2 (en) * 2007-02-28 2010-03-16 Freescale Semiconductor, Inc. System and method for monitoring network traffic
US8856434B2 (en) * 2008-09-26 2014-10-07 Cypress Semiconductor Corporation Memory system and method
DE102008050102B4 (de) * 2008-10-06 2010-11-04 Phoenix Contact Gmbh & Co. Kg Kommunikationsentität zur Kommunikation über ein busorientiertes Kommunikationsnetzwerk
DE102008060007A1 (de) * 2008-11-25 2010-05-27 Pilz Gmbh & Co. Kg Verfahren zum Übertragen von Daten in einem automatisierten Steuerungssystem
US9672182B2 (en) * 2014-08-21 2017-06-06 Infineon Technologies Ag High-speed serial ring

Also Published As

Publication number Publication date
US20220021555A1 (en) 2022-01-20
JP2022537232A (ja) 2022-08-25
WO2020254732A1 (fr) 2020-12-24
KR20220021446A (ko) 2022-02-22

Similar Documents

Publication Publication Date Title
FR2598575A1 (fr) Dispositif de commande de reseau de zone locale
EP3987726A1 (fr) Système de communication décentralisé et procédé de commande correspondant
FR2676131A1 (fr) Systeme de communication.
EP0752669A1 (fr) Dispositif de communication entre une pluralité de modules fonctionnels installés dans une unité locale et un bus externe de type ARINC 629
EP2751959B1 (fr) Procédé d'échange de données entre noeuds d'une grappe de serveurs et grappe de serveurs mettant en oeuvre ce procédé
EP0812084B1 (fr) Dispositif de communication entre une pluralité de modules fontionnels installés dans une unité locale et un bus externe de type ethernet
FR2841715A1 (fr) Procede de generation d'adresse dans un dispositif relie a un reseau et un dispositif disposant de ce procede
FR3076162A1 (fr) Systeme de communication decentralise et procede de commande correspondant
FR2857805A1 (fr) Procede et dispositif de transmission de donnees
FR2765425A1 (fr) Procede de detection d'erreurs sur une liaison serie d'un circuit integre et dispositif de mise en oeuvre du procede
FR2698464A1 (fr) Système d'appareils distribués en réseau.
FR2678096A1 (fr) Procede et systeme de transmission de messages entre une borne de controle et des bornes commandees.
EP0895159B1 (fr) Procédé de purge des tampons de liaisons séries à haut débit et dispositif de mise en oeuvre du procédé
EP1011051A1 (fr) Protocole et système de liaison par BUS entre éléments d'un microcontrôleur
EP3933798A1 (fr) Procédé de gestion d'une batterie d'accumulateurs
FR3093198A1 (fr) Transmission de données liées sur bus I2C
CN114598566A (zh) 一种基于spi总线的通信系统及方法
FR3015825A1 (fr) Procede d'attribution d'identifiant d'appareil dans un systeme de bus et systeme de bus ainsi gere
EP0589743B1 (fr) Dispositif modulaire permettant le couplage et le multiplexage de bus de différents types
FR2920721A1 (fr) Procede de commande de systeme de generation de puissance pour vehicule
EP0737021B1 (fr) Procédé et dispositif de communication entre une pluralité de terminaux, compatible avec la norme ARINC 629
FR2704337A1 (fr) Dispositif logique de gestion centralisée.
WO2024126466A1 (fr) Identification d'ancres de véhicule
WO2023144479A1 (fr) Attribution d'adresses pour unité de distribution d'énergie modulaire
EP0466555A1 (fr) Réseau local d'intercommunication de modules de traitement de données

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: 20211116

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: 20230711

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

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20231122