Method of radio communication in a system comprising a plurality of communicating modules
10448395 · 2019-10-15
Assignee
Inventors
Cpc classification
H04Q2209/43
ELECTRICITY
H04Q9/00
ELECTRICITY
H04J3/0652
ELECTRICITY
H04W84/18
ELECTRICITY
H04Q2209/82
ELECTRICITY
H04W56/0045
ELECTRICITY
International classification
H04Q9/00
ELECTRICITY
Abstract
A method of radio communication in a system including a plurality of communicating modules, each communicating module being able to obtain at least one measured physical value and to transmit a message encapsulating at least one measured physical value to a hub device according to a given radio communication protocol, the sending of the message being performed during a communication time interval, defined by a start instant and an end instant, a waiting time separating two successive communication time intervals of one and the same communicating module. For each communicating module of the plurality of communicating modules, the waiting time is calculated as a function of an updated counter of the communicating module as a function of a receipt of an acknowledgement message originating from the hub device.
Claims
1. A method of radio communication in a system comprising a plurality of communicating modules, each communicating module being able to obtain at least one measured physical value and to transmit a message encapsulating said at least one measured physical value to a hub device according to a given radio communication protocol, the sending of the message being performed during a communication time interval, defined by a start instant and an end instant, a waiting time separating two successive communication time intervals of one and the same communicating module: wherein each communicating module of the plurality of communicating modules, the waiting time is calculated as a function of an updated counter of said communicating module as a function of a receipt of an acknowledgement message originating from the hub device.
2. The method of communication according to claim 1, wherein said counter takes an initial value equal to a predetermined maximum value.
3. The method of communication according to claim 2, wherein, subsequent to a message send and to a receipt of a corresponding acknowledgement message originating from the hub device, the value of the counter is decremented by a predetermined decrementation value.
4. The method of communication according to claim 3, wherein, subsequent to a message send and in the absence of receipt of an acknowledgement message originating from the hub device during a communication interval, if the value of the counter is strictly less than the predetermined maximum value, the value of the counter is incremented by a predetermined incrementation value.
5. The method of communication according to claim 4, wherein the decrementation value is different from the incrementation value.
6. The method of communication according to claim 2, comprising, subsequent to a message send and to a receipt, by a communicating module, of a corresponding acknowledgement message originating from the hub device, a step, implemented by said receiver communicating module, of extracting from the acknowledgement message a temporal shift value t, positive or negative, to be applied during a following send.
7. The method of communication according to claim 2, wherein the calculated waiting time is equal either to a predetermined communication period duration if the value of the counter is different from the predetermined maximum value, or to said communication period duration increased by a random additional duration if the value of the counter is equal to the predetermined maximum value.
8. The method of communication according to claim 1, implemented by each communicating module supplied by an AC electrical voltage distribution network of given frequency, furthermore comprising a step of detecting timing period as a function of said frequency.
9. The method of communication according to claim 8, comprising the reception of supply voltage values, and for each voltage value, when said value is greater than a first predetermined voltage threshold value or less than a second predetermined voltage threshold value, increasing of a synchronization counter.
10. The method of communication according to claim 9, wherein when the synchronization counter reaches a predetermined timing period counter value, a timing pulse is sent, said timing pulse serving to determine the instant of start of communication time interval of the communicating module.
11. A computer program comprising instructions for implementing the steps of a method of communication in accordance with claim 1 upon the running of the program by a processor of a programmable device.
12. A radio communication system comprising a plurality of communicating modules and a hub device, each communicating module being able to obtain at least one measured physical value and to transmit a message encapsulating said at least one measured physical value to the hub device according to a given radio communication protocol, the sending of the message being performed during a communication time interval, defined by a start instant and an end instant, a waiting time separating two successive communication time intervals of one and the same communicating module, wherein each communicating module of the plurality of communicating modules comprises a unit adapted to calculate the waiting time as a function of a counter, updating said communicating module as a function of a receipt of an acknowledgement message originating from the hub device.
13. A communication system according to claim 12, wherein each communicating module is a module for measuring electrical values of an electrical installation.
14. The communication system according to claim 12, wherein at least one communicating module supplied by an AC electrical voltage distribution network of given frequency, and wherein each communicating module supplied by the distribution network implements a detection of timing period as a function of said frequency and a determination of an instant of start of communication time interval as a function of said timing period.
15. The communication system according to claim 12, wherein at least one communicating module is adapted to receive an acknowledgement message originating from the hub device and to extract from the acknowledgement message a temporal shift value t, positive or negative, to be applied during a following send by said communicating module.
Description
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
(1) Other features and advantages of the invention will emerge from the description given thereof hereinbelow, by way of wholly nonlimiting indication, with reference to the appended figures, among which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
DETAILED DESCRIPTION OF THE INVENTION
(9)
(10) In this system 1, a plurality of communicating modules, M.sub.1 to M.sub.n are able to communicate by a wireless communication protocol with a hub device C.
(11) For example, each of the communicating modules is a measurement module adapted to measure electrical quantities of an electrical installation, for example the current, the voltage, and to transmit communication frames, formatted according to a given communication protocol, and encapsulating measured values.
(12) As a variant, other types of communicating modules are present in the system 1, for example sensors of current, of energy, of temperature, of moisture. Of course, the above list is not exhaustive.
(13) In one embodiment, the communication protocol is the ZigBee Green Power protocol.
(14) Each of the communicating modules M.sub.1 to M.sub.n is supplied electrically, either by an electrical supply cable conveying electrical energy provided by a single-phase or three-phase electrical energy provision network, or by an autonomous electrical energy source, for example a cell per communicating module.
(15) The respective electrical supply source of each communicating module is not illustrated in
(16) The total number n of communicating modules of the system 1 is arbitrary, for example equal to 20.
(17) The hub device C is preferably wired up so as to be supplied by the electrical energy provision network (not illustrated in
(18) Each of the modules M.sub.1 to M.sub.n comprises a radio send/receive unit 10.sub.1 to 10.sub.n, adapted to send messages Tx destined for the hub device C, and to receive messages Rx originating from the hub device C.
(19) The messages transmitted and received are formatted according to the chosen communication protocol.
(20) The hub device C comprises a send/receive unit 12, adapted to communicate according to the chosen communication protocol with each of the send/receive units of each of the modules M.sub.1 to M.sub.n.
(21) From a communications point of view, the system 1 operates according to a star network architecture, having as central communication node the hub device C, each of the communicating modules forming a communication node of the star communications network.
(22) Each of the modules M.sub.1 to M.sub.n also comprises a calculation unit 14.sub.1 to 14.sub.n, for example a processor, and a data storage unit 16.sub.1 to 16.sub.n. The calculation 14.sub.i and storage 16 units are able to cooperate to implement a computer program comprising program code instructions making it possible to execute steps of the method of communication according to the invention. Thus, each communicating module is a programmable device adapted to implement program code instructions.
(23) The hub device C also comprises a calculation unit 18, for example a processor, and a data storage unit 20. The calculation 18 and storage 20 units are able to cooperate to implement program code instructions making it possible to execute steps according to one embodiment of the method of communication according to the invention.
(24)
(25) For each period of duration T, each communicating module M.sub.1 to M.sub.n is allocated a communication interval of duration dt comprising a send phase, followed, with optionally a waiting period, by a receive phase, also called a listening phase.
(26) For example, the duration dt is of the order of 10 to 40 milliseconds, and the period T is of the order of 5 seconds.
(27) For example, in
(28) Each communication interval has a start instant and an end instant, denoted for example t.sub.n,i and t.sub.n,f for the communicating module M.sub.n.
(29) The communication intervals are regularly distributed over the send period, and spaced temporally so as to decrease the risk of collision. The respective start and end instants are regularly distributed in this example.
(30)
(31) It is clear that the more the total number n of communicating modules increases, the higher the risk of interference.
(32) Conventionally, the hub device C dispatches, via the send/receive unit 12, an acknowledgement message (ACK) to the sender communicating module in case of receipt of an uncorrupted sent message.
(33) As explained in the introduction, preferably, the periods of listening of the communicating modules are limited, so as to avoid overly significant energy consumption.
(34) In case of non-receipt of an acknowledgement message relating to a sent message, a known scheme consists in waiting a random time and returning this message. The instants of start and of end of sending defining the communication intervals of the diverse communicating modules are no longer periodic in time. Such a scheme may induce new collisions, and does not make it possible to guarantee the maximum waiting time before a successful message dispatch.
(35)
(36) The method is implemented by each of the communicating modules M.sub.1 to M.sub.n of the system considered.
(37) This method makes it possible to manage the selection of the communication intervals so as to decrease the risk of collision, while guaranteeing that a communicating module dispatches a message in a given maximum time.
(38) A first step 30 consists in supplying electrical power to the current communicating module M.sub.k implementing the method.
(39) Step 30 is followed by a step 32 of initializing a counter, implemented by a variable Counter, to a predetermined maximum value MaxCnt, for example equal to 10. The value MaxCnt is adjustable to any positive integer value, chosen so that the system is stable, for example as a function of an occupancy rate with respect to the maximum communication time for each communicating module.
(40) The value MaxCnt is for example chosen as a function of the number n of communicating modules and of the duration T of a communication period.
(41) During a step 34 of comparison, the value of the variable Counter is compared with the predetermined value MaxCnt, and it is determined whether the variable Counter is different from the predetermined maximum value MaxCnt.
(42) In case of difference, step 34 of comparison is followed by a step 36 of setting to zero of a variable Jitter representative of the additional waiting time before the start instant of a next communication interval associated with the current communicating module M.sub.k.
(43) In case of equality between the value of the variable Counter and of the predetermined value MaxCnt, step 34 of comparison is followed by a step 38 in which the variable Jitter representative of the additional waiting time before the start instant of a next communication interval associated with the current communicating module M.sub.k is set to a random value lying between 0 and T. A random distribution law, for example a law uniform over the interval [0, T], is applied.
(44) Thereafter in step 40 of determining the waiting time Att.sub.k, for the current communicating module, before the start instant of a next communication interval, the following calculation formula is applied:
Att.sub.k=T+Jitter
(45) Step 40 of determining the waiting time Att.sub.k is followed by an effective waiting step 42, of duration equal to the waiting time Att.sub.k determined.
(46) Thereafter, the communicating module M.sub.k enters a send and receive communication phase 44, for a communication time interval of predetermined duration dt.
(47) For example, in an embodiment, the current communicating module M.sub.k sends a message containing information in respect of measurements of current and/or of voltage destined for the hub device, by point-to-point communication, using the ZigBee Green Power protocol, and then waits for an acknowledgement message ACK originating from the hub device.
(48) Under nominal operation, for the time interval of duration dt, the current communicating module sends a message, waits for and receives an acknowledgement message relating to the message sent.
(49) Quite obviously, it is possible to dispatch several messages during the communication time interval envisaged.
(50) In the following step 46 of acknowledgement verification it is verified whether the acknowledgement message or each acknowledgement message envisaged has been received.
(51) In case of positive verification, therefore if the radio communication has operated, step 46 is followed by a step 48 of comparison making it possible to verify whether the value of the variable Counter is greater than zero.
(52) If the value of the variable Counter is strictly greater than zero, step 48 is followed by a step 50 of decrementing the variable Counter by a predetermined integer decrementation value Dec. For example, the value Dec is equal to 1.
(53) After step 50, the method returns to step 34 described previously.
(54) If the value of the Counter variable is equal to 0, it is left unchanged and step 48 is followed by step 34 described previously.
(55) In case of negative verification in the reception acknowledgement verification step 46, therefore in the case of collision or interference, step 46 is followed by a step 52 of comparing the value of the variable Counter with the predetermined maximum value MaxCnt, so as to determine whether the value of the variable Counter is strictly less than MaxCnt.
(56) If the value of the variable Counter is strictly less than the predetermined value MaxCnt, then the comparison step 52 is followed by a step 54 of incrementing the value of the variable Counter by a predetermined incrementation value Inc. For example, Inc=2.
(57) Preferably, the incrementation value Inc is different from the decrementation value Dec, so as to make the value of the variable Counter evolve in a dissymmetric manner as a function of the receipt or non-receipt of an acknowledgement message.
(58) Advantageously, this makes it possible to avoid remaining in situations of non-continuous cyclic collisions, for example in case of collision every two periods.
(59) In an advantageous embodiment, the incrementation value is greater than the decrementation value.
(60) Step 54 is followed by step 34 described previously.
(61) If the value of the variable Counter is equal to the predetermined value MaxCnt, then step 52 is followed by step 34 described previously. Thus, if the current communicating module has not received any acknowledgement in response to the dispatching of the first message, the value of the variable Counter remains unchanged.
(62) By applying the method described hereinabove, as soon as the value of the variable Counter is different from the predetermined maximum value MaxCnt, the waiting time of the current communicating module is chosen equal to the period T, without adding an additional random waiting time Jitter.
(63) Advantageously, the method described hereinabove in one of its embodiments makes it possible to initialize a system comprising a plurality of communicating modules as soon as they are installed, without any prior phase of determining the communication intervals associated with each of the nodes when bringing them into service.
(64) Indeed, the proposed method of communication allows automatic convergence, each communicating module being adapted to find a collision-free communication time interval.
(65) Advantageously, in case of successful reception, the time intervals are repeated periodically, the waiting time between two time intervals being equal to T.
(66) In order to further improve the communication between communicating modules, whilst limiting the duration of listening for the acknowledgement messages on each communicating module, it is proposed, in an embodiment of the invention, for each communicating module supplied electrically by an electrical energy provision network, to regulate the sending of the messages as a function of the frequency of the AC current provided by this network, so as to decrease the risk of temporal drift.
(67)
(68) The module M.sub.k comprises a unit 62.sub.k for input of AC voltage provided by the network, for example a 50 Hz voltage, and a unit 64.sub.k for analogue-digital conversion of one phase only of the supply network.
(69) For example, when the supply network is single-phase, the single voltage phase is selected as reference voltage.
(70) When the supply network is three-phase comprising three phase conductors and a neutral conductor, the voltage of the first phase, denoted V1, is selected as reference voltage. Alternatively, the voltage of the second or of the third phase are used.
(71) The analogue-digital conversion unit 64.sub.k provides digital voltage samples V1 to a timing period detection unit 66.sub.k adapted to carry out calculations and to dispatch a timing pulse 68 to the radio send/receive unit 10.sub.k.
(72) For example, a timing pulse 68 is sent every 10 ms for a supply network frequency of 50 Hz.
(73) A first, upper voltage threshold value V.sub.max and a second, lower voltage threshold value V.sub.min are provided beforehand and stored.
(74) The first voltage threshold value V.sub.max is a positive value, and the second voltage threshold value V.sub.min is a negative value. For example these values lie between 80V and +80V. In one embodiment, V.sub.min=V.sub.max.
(75) Advantageously, the same voltage threshold values V.sub.max and V.sub.min are stored in each of the communicating modules M.sub.1 to M.sub.n of the system 1, so as to ensure synchronization between these modules.
(76)
(77) During a first initialization step 70, a synchronization counter CounterSync is initialized to zero, and two boolean state variables, called WasPositive and WasNegative are initialized to FALSE.
(78) In the voltage sample reception step 72, a voltage value V is received.
(79) The voltage value V is compared in the comparison step 74 with the first, upper voltage threshold value V.sub.max. If V is greater than V.sub.max, step 74 is followed by a step 76 in which the boolean variable WasPositive is set to TRUE.
(80) Step 76 is followed by a step 78 in which it is verified whether the boolean variable WasNegative is equal to TRUE. In case of positive comparison in step 78, this step is followed by a step 80 in which the boolean variable WasNegative is set to FALSE and the synchronization counter CounterSync is increased by 1.
(81) In case of negative comparison in step 78, this step is followed by step 72 described previously.
(82) If the voltage value V is less than V.sub.max, step 74 is followed by a step 82 of comparing the voltage V with the second, lower voltage threshold value V.sub.min.
(83) If V is greater than V.sub.min, step 82 is followed by step 72 described previously.
(84) If V is less than V.sub.min, step 82 is followed by a step 84 in which the boolean variable WasNegative is set to TRUE.
(85) Step 84 is followed by a step 86 in which it is verified whether the boolean variable WasPositive is equal to TRUE. In case of positive comparison in step 86, this step is followed by a step 88 in which the boolean variable WasPositive is set to FALSE and the synchronization counter CounterSync is increased by 1.
(86) In case of negative comparison in step 86, this step is followed by step 72 described previously.
(87) The respective steps 80 and 88 are followed by a comparison 90 of the synchronization counter with a timing period counter value CP representative of a number of changes of values of states with respect to the values of upper and lower voltage threshold defining a send period.
(88) The timing period counter value is predetermined, for example greater than 10, preferably equal to 500.
(89) If in the comparison step 90, the synchronization counter is greater than or equal to the timing period counter value CP, a timing pulse is sent in step 92, and the synchronization counter is reset to zero in step 94. Otherwise, step 90 is followed by step 72 described previously.
(90) Step 94 is followed by step 72 described previously.
(91) Quite obviously, diverse variants of implementation of a timing period detection unit are conceivable.
(92) It should be noted that the synchronization method described with reference to
(93)
(94) Below the graph G.sub.1 are represented two graphs G.sub.2 and G.sub.3 representative of the values of the boolean variables WasPositive and WasNegative as a function of time, over several temporal sub-periods.
(95) Finally a last graph G.sub.4 represents the value of the synchronization counter CounterSync corresponding to each sub-period.
(96) The graphs G.sub.1 to G.sub.4 are aligned with respect to the abscissa axis (time axis) which comprises, in the example of
(97) Advantageously, each communicating module implements such a timing period detection unit based on one and the same voltage value obtained from the supply network, thereby making it possible to synchronize the communicating modules and to limit the clock drift.
(98) Moreover, advantageously, the implementation of such a unit, for each communicating module supplied with electricity by the distribution network, makes it possible to preserve the synchronization of the communicating modules even in case of stoppage of the hub device.
(99) However, in certain installations, all or some of the communicating modules are not supplied by the electrical supply network, but these modules comprise an autonomous power supply.
(100) In this case, as an alternative, it is envisaged to dispatch synchronization or re-synchronization information to the communicating modules connected on the basis of the hub device.
(101) In this alternative embodiment, the hub device uses the bidirectional communication with each of the communicating modules.
(102) The hub device uses its own internal clock, or an external clock to calculate, on receipt of a message originating from a given communicating module M.sub.k, a temporal shift t, positive or negative, to be applied by the communicating module M.sub.k during a following send.
(103) The temporal shift, with an associated sign to indicate whether it is a lead or a lag, is dispatched by the hub device to the communicating module, preferably in the message containing the acknowledgement ACK of receipt.
(104) The recipient communicating module M.sub.k is then able to extract this temporal shift information from the message received and to store it so as to apply the temporal shift indicated during a following send.
(105) This is a method of master-slave synchronization in a network with star topology, the master device being the hub device.
(106) Furthermore, the hub device can, by this same method of dispatching a temporal shift t to be applied, dispatch instructions to re-arrange the order of the communication time intervals associated with the communicating modules, in such a way that sends of correlated measurement information are grouped together temporally. For example, in an application, it is beneficial to group together an information item, transmitted by a first module, in respect of current and an information item, transmitted by a second module, in respect of temperature, the corresponding measurements being performed substantially at the same time, so as to obtain at intervals of a few milliseconds these correlated information items.
(107) In another embodiment, certain of the communicating modules of a communication system are supplied by autonomous energy sources, and other modules are supplied by an electrical energy supply network. In this embodiment, the diverse embodiments of the invention that were described hereinabove are combined, so as to allow each communicating module to determine the optimized communication intervals for avoiding possible collisions or interference.