WO2006129269A2 - Method to synchronize locally provided clocks of different communication nodes of a time-triggered communication system - Google Patents

Method to synchronize locally provided clocks of different communication nodes of a time-triggered communication system Download PDF

Info

Publication number
WO2006129269A2
WO2006129269A2 PCT/IB2006/051712 IB2006051712W WO2006129269A2 WO 2006129269 A2 WO2006129269 A2 WO 2006129269A2 IB 2006051712 W IB2006051712 W IB 2006051712W WO 2006129269 A2 WO2006129269 A2 WO 2006129269A2
Authority
WO
WIPO (PCT)
Prior art keywords
clock
counter
communication
nodes
correction
Prior art date
Application number
PCT/IB2006/051712
Other languages
French (fr)
Other versions
WO2006129269A3 (en
Inventor
Joern Ungermann
Original Assignee
Philips Intellectual Property & Standards Gmbh
Koninklijke Philips Electronics N.V.
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 Philips Intellectual Property & Standards Gmbh, Koninklijke Philips Electronics N.V. filed Critical Philips Intellectual Property & Standards Gmbh
Publication of WO2006129269A2 publication Critical patent/WO2006129269A2/en
Publication of WO2006129269A3 publication Critical patent/WO2006129269A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0644External master-clock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Definitions

  • a typical fault-tolerant time-triggered communication system consists of several communication nodes which are connected via channels, which can be developed redundant with several channels.
  • each node determines the start of a new cycle according to its own built-in clock and is thereby not dependent on a central master.
  • At least one segment of the communication cycle is divided into a fixed number of slots, where each slot is assigned up to at most one communication controller, wherein that communication controller and alone that communication controller has the right to transmit (exclusive assignment).
  • Each node derives the cycle start from its own clock.
  • all nodes in the cluster align their clocks to each other. Using these synchronized clocks, they align the cycle start and optionally also the length of a cycle (thereby reducing the need for cycle start adjustments in the future). This is called offset and - in case of also determining the length of the communication cycle - rate correction.
  • the Time-Triggered Protocol (TTP) i.e. is a system, where only offset correction is used, while the FlexRay protocol i.e. uses both offset and rate correction.
  • the EP 1 280 024 Al proposes a method to synchronizing nodes of a distributed system for real time applications, where nodes are interconnected by a communication link and each of the nodes includes a local clock, wherein time deviations between its own local clock and all other nodes of the subset of nodes are being measured by the difference between an expected receiving time of a received message and an actual receiving time observed based on the time of its own local clock.
  • the EP 1 355 459 A2 proposes a method for synchronizing clocks in a distributed communication system comprising at least one communication media and a number of nodes connected to the communication media, whereas the nodes comprise the clocks, wherein for synchronizing the clocks differences in offset of the clocks as well as differences in rate of the clocks are corrected
  • a cluster has to be synchronized to an external influence, like a real clock or another communication cluster connected to the communication system, all nodes of the cluster must agree with each other to shift the cycle start or modify the cycle length in a certain way, to be aligned to the external influence.
  • the fault-tolerant synchronization will generally prevent the cluster from achieving synchronicity with the external influence.
  • This is an inbuilt function of the fault-tolerant clock synchronization - the system is supposed to be very stable against the (possibly erroneous) influence of only a minority of its participants. Therefore, it is necessary for (almost) all nodes of the communication system to agree upon the adjustments that shall be applied for aligning to the external influence. Erroneous nodes need not do so - the communication system must still be stable in the presence of a small set of non- conforming nodes.
  • It is a technical purpose of the invention is to develop a method that synchronizes locally provided clocks of different communication nodes of a plurality of at least two communication nodes connected via at least one channel of a time-triggered communication system, plus a communication system that can be used to execute said method.
  • the invention' s technical purpose is met by the proposed method to synchronize locally provided clocks of different communication nodes of a plurality of at least two communication nodes connected via at least one channel of a time-triggered communication system exchanging repeatedly data organized in frames, wherein preferred communication nodes among the communication nodes have a connection to an external clock source of increased accuracy, wherein the sending of frames of different communication nodes is scheduled in different slots of at least one segment of recurring cycles in which the time is divided, each preferred communication node from at least a subset of all preferred communication nodes performs the following steps: - comparing the locally provided clock with the clock source of increased accuracy, including a correction information at a predetermined location within the frame that is to be sent by the preferred communication node in its slot, setting a correction signal in the frame indicating that the locally provided clock is slow, is fast or is synchronous compared to the clock source of increased accuracy, wherein a time deviation between its own local clock and the clock source of increased accuracy is determined and the amount of deviation is specified in predetermined steps together with the correction
  • the proposed method includes an efficient mechanism in particular into the communication controller of fault-tolerant protocols and thereby effectively extending their functionality for external clock correction and alignment to be used e.g. for gateway applications. It uses preferably known and proven fault-tolerant algorithms for ensuring maximum safety. This leads to only very limited bandwidth consumption and provides thereby an advantageous, differentiating add-on feature.
  • This invention proposes to use additional information i.e. from the payload of transmitted frames to autonomously perform clock alignment within the communication controller without additional exchange of information with the host application.
  • the host application is only needed in a small set of nodes (at least one) for providing the external influence that is then distributed to all nodes in the network.
  • the predetermined steps in which the amount of deviation is specified represent a fixed amount of real time. This ensures that time deviations are calculated by the different nodes on the same basis.
  • the correction information is a two bit information, wherein a high level of the first bit means that the local clock should be delayed and a high level of the first bit means that the local clock should be brought forward and a low level of both bits means that the local clock is in time.
  • the value list comprise two counters counter_plus and counter_minus wherein at any occurrence of a signal that the local clock should be delayed the counter counter_minus is increased or the amount of the correction signal is added if the correction signal is larger than one bit and at any occurrence of a signal that the local clock should be brought forward the counter counter_plus is increased or the amount of the correction signal is added if the correction signal is larger than one bit.
  • the calculation of the correction value is derived through a comparison of the values of counter_plus and counter_minus, wherein the cycle start is delayed if counter_minus is larger and the cycle start is brought forward if counter_plus is larger. That means, if one counter is larger than the other, a correction shall be performed. If both counters are equal, no correction shall be performed. This makes it very easy to perform the comparison and saves overhead.
  • the measure as defined in of claim 9 has the advantage that trusted external clocks can be weighted.
  • the measure as defined in of claim 11 has the advantage that no overhead in the data stream is generated.
  • the time deviation being determined by measuring the difference between the local time of the local clock and the external time of the clock source of increased accuracy
  • the measure as defined in of claim 14 has the advantage that other communication systems that use a trusted time can be used for synchronization.
  • the measure as defined in of claim 15 has the advantage that common and globally available signals are used.
  • a correction of the length of the cycle is done by the same procedure.
  • a communication system according to Claim 18 which uses a distributed clock synchronization for performing the method according to one of the claims 1 to 16 characterized in, that there are a plurality of communication nodes, which are connected via at least one channel, wherein at least one preferred communication node among the communication nodes has a connection to an external clock source of increased accuracy, and that there are means provided to compare the locally provided clock with the clock source of increased accuracy.
  • FIG. 1 showing a scheme of the architecture of a communication node according to the invention
  • Fig. 2 showing a scheme of the architecture of a communication system to be used to perform the method according to the invention with a to be synchronized communication node and a preferred communication node connected to a clock source of increased accuracy.
  • a communication node 7 consists of an application host 1 and a communication controller 2 connected to a pair of redundant channels 5 and 6.
  • the communication controller 2 comprises a controller host IF and a protocol engine.
  • the presence of the single parts or the described embodiment of the communication node 7 is only exemplary, for the invention, only the communication controller 2 and the application host 1 are of importance.
  • the bus driver and the bus guardian are only listed to provide a better understanding, in which context the invention might be used.
  • the invention is not limited or restricted by the presence or absence of these devices.
  • the bus driver transmits the bits and bytes that the communication controller provides onto a connected channel 5 or 6 (an electrical or optical physical medium) and in turn provides the communication controller 2 with the information it receives on the channel.
  • the communication controller 2 delivers relevant data to the host application 1 and receives data from it that it in turn assembles to frames and delivers to the bus driver which drives the channel.
  • Fig. 2 shows a communication system 11 built up of two communication nodes 7 and 8, wherein one communication node 8 is a preferred one since it is connected via a data line 9 to an external clock source 10 of increased accuracy from which it gets trusted time information.
  • the communication system 11 is time-triggered, meaning that the time is divided into recurring cycles, where each cycle consists of several segments.
  • a typical segment of the communication cycle is divided into a fixed number of slots, where each slot is assigned up to at most one communication controller, wherein that communication controller of node 7 or 8 and alone that communication controller is assigned to transmit exclusively.
  • Other segments of the cycle can be used for dynamic arbitration schemes or other purposes.
  • the bus guardian is a device with an independent set of configuration data that enables the transmission on the bus only during those slots, which are specified by the configuration set.
  • the configuration set is precalculated at design time of the system and especially secured against changes.
  • the host application contains the data source and sink and is generally not concerned with the protocol activity. Only decisions that the communication controller cannot do alone are made by the host application.
  • the used protocol could be for example the TTP or as well the FlexRay protocol. If a communication system (cluster) consists of n nodes preferably from these n nodes, m nodes are connected to an external clock source. This clock source may be another communication cluster (of the same or a different protocol) or another clock, e.g. derived from a GPS signal.
  • Each communication controller of the communication nodes is configured with the location of two bits B within the frame payload. When using the FlexRay protocol these two bits are preferably located within the network management vector. Each communication controller is configured with a correction value c. By preconfiguring this information, as an additional advantage bandwidth is saved. This correction value c corresponds approximately to a fixed amount of real time, as close as this is possible given the implementations.
  • each communication controller may have two counters, counter_plus and counter_minus. At the beginning of a communication cycle, each communication controller sets both counters to zero. On frame transmission, only nodes of a set connected to an external clock source are allowed to set the bits B to anything but zero. The application hosts from the set connected to an external clock source choose one frame eligible for transmission per communication cycle and proceed as follows:
  • cycle start shall be delayed by c or more, it sets the first bit of B within this frame to one. • If the cycle start shall be brought forward by c or more, it sets the second bit of B within this frame to one. • If no additional correction shall be performed, they set neither bit to one. For all communication controllers is valid:
  • both counters are compared to each other. If one counter is larger than the other, a correction shall be performed. If both counters are equal, no correction shall be performed. If counter_plus is larger than counter_minus, the cycle start is delayed by c. If counter_minus is larger than counter_plus, the cycle start is brought forward by c. To be even more fault- tolerant, additional restrictions can be implemented towards which frames are evaluated for counter increasing. For communication systems within which each node is only entitled to transmit at most one frame per cycle this is not necessary. To be more concrete, if the nodes A, B, C, D, E, F are part of the set N.
  • nodes A and B set the first bit of B to one, whereas node C sets the second bit of B to one (due to a fault or different data).
  • B s for cycle start adjustment and Bi for cycle length adjustment and also two times two counters: counter_plus,l , counter_minus,l , counter_plus,s , counter_minus,s
  • nodes A and B set the first bit of B s to one, whereas node C sets the second bit of B s to one (due to a fault or different data).
  • nodes A, B and C set the second bit of Bi to one.
  • the counter counter_plus,s of all nodes is 2 whereas the counter counter_minus,s of all nodes is 1. As a result, all nodes bring the next cycle start five ticks forward in addition to their normal cycle start alignment.
  • the counter counter_plus,s of all nodes is 3 whereas the counter counter_minus,s of all nodes is 0. As a result, all nodes will generally prolong their cycles by 5 ticks from the next cycle on in addition to their normal cycle length adjustment.
  • the additional restriction to only evaluate synchronization frames does not impose practical restrictions but increases greatly the fault-tolerance of the mechanism.
  • the host application shall naturally choose only synchronization frames for setting the bits B. With more than four communication nodes within the communication system connected to a clock source of increased accuracy, one Byzantine fault can then be tolerated.
  • the list values is emptied. Only nodes of a set connected to an external clock source of increased accuracy are allowed to set the bits B to anything but zero.
  • the application hosts from the before mentioned set choose one frame eligible for transmission per communication cycle and proceed as follows:
  • An implementation example for three bits B may have the following values:
  • a correction value is derived from the value list for shifting the cycle start.
  • fault-tolerant algorithms can be used.
  • FTA fault-tolerant-average algorithm
  • FTM fault-tolerant- midpoint algorithm
  • nodes A, B, C, D, E, F are part of the set N.
  • the nodes A, B, C and D are part of the set with a connection to a clock source of increased accuracy. It is assumed that the tick length is the same in all nodes. B consists of 4 bits.
  • node A sets B to 5.
  • Node B sets B to -1.
  • Node C wants to set B to 31 but is restricted to set it only to 7.
  • Node D sets B to 7.
  • the list values of all nodes contains the values [-1,5,7,7].
  • values between -1 and 7 will be derived from the list. If the FTM is used, the highest and lowest values are removed and the arithmetic average of the new highest and lowest values is calculated. This would be 6. As a result all nodes will delay the next cycle start by six ticks in addition to their normal cycle start alignment.
  • the host application can perform this job instead of these. This requires that all frames containing external clock correction information must be made available to the host application for generating the appropriate correction value, which must then in turn be communicated to the communication controller in time for the correction.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

Fault-tolerant communication systems use distributed clock synchronization algorithms for generating independent and stable clock sources. When these communication system must be aligned to an external clock, this requires a coordinated effort through all the participating nodes. The presented method proposes an efficient and flexible way for aligning a communication cluster with another one (or multiple ones) or external real time clocks using only minimal bandwidth and hardware resources. Nodes having access to the external clock or the other communication cluster distribute the information necessary for a collective shift throughout the communication cluster.

Description

Method to synchronize locally provided clocks of different communication nodes of a time-triggered communication system
A typical fault-tolerant time-triggered communication system consists of several communication nodes which are connected via channels, which can be developed redundant with several channels.
These systems are at least partially time-triggered, meaning that the time derived from the locally in the communication nodes provided clocks is divided into recurring cycles, where each cycle consists in particular of several segments. For fault- tolerance, each node determines the start of a new cycle according to its own built-in clock and is thereby not dependent on a central master.
At least one segment of the communication cycle is divided into a fixed number of slots, where each slot is assigned up to at most one communication controller, wherein that communication controller and alone that communication controller has the right to transmit (exclusive assignment).
Each node derives the cycle start from its own clock. By a distributed, fault-tolerant algorithm, all nodes in the cluster align their clocks to each other. Using these synchronized clocks, they align the cycle start and optionally also the length of a cycle (thereby reducing the need for cycle start adjustments in the future). This is called offset and - in case of also determining the length of the communication cycle - rate correction. The Time-Triggered Protocol (TTP) i.e. is a system, where only offset correction is used, while the FlexRay protocol i.e. uses both offset and rate correction. The EP 1 280 024 Al proposes a method to synchronizing nodes of a distributed system for real time applications, where nodes are interconnected by a communication link and each of the nodes includes a local clock, wherein time deviations between its own local clock and all other nodes of the subset of nodes are being measured by the difference between an expected receiving time of a received message and an actual receiving time observed based on the time of its own local clock. The EP 1 355 459 A2 proposes a method for synchronizing clocks in a distributed communication system comprising at least one communication media and a number of nodes connected to the communication media, whereas the nodes comprise the clocks, wherein for synchronizing the clocks differences in offset of the clocks as well as differences in rate of the clocks are corrected
In the case that a cluster has to be synchronized to an external influence, like a real clock or another communication cluster connected to the communication system, all nodes of the cluster must agree with each other to shift the cycle start or modify the cycle length in a certain way, to be aligned to the external influence. In case that not all nodes of the cluster perform the correction, the fault-tolerant synchronization will generally prevent the cluster from achieving synchronicity with the external influence. This is an inbuilt function of the fault-tolerant clock synchronization - the system is supposed to be very stable against the (possibly erroneous) influence of only a minority of its participants. Therefore, it is necessary for (almost) all nodes of the communication system to agree upon the adjustments that shall be applied for aligning to the external influence. Erroneous nodes need not do so - the communication system must still be stable in the presence of a small set of non- conforming nodes.
This agreement regarding the amount of adjustment is traditionally done in the host application domain and is therefore prone to communication delays deriving from non-optimal slot assignment and constraints imposed by the workload of the host. It is therefore difficult to achieve fast decision for optimal alignment to the external influence, which is very important for closely aligning two communications clusters with one another. It is a technical purpose of the invention is to develop a method that synchronizes locally provided clocks of different communication nodes of a plurality of at least two communication nodes connected via at least one channel of a time-triggered communication system, plus a communication system that can be used to execute said method. The invention' s technical purpose is met by the proposed method to synchronize locally provided clocks of different communication nodes of a plurality of at least two communication nodes connected via at least one channel of a time-triggered communication system exchanging repeatedly data organized in frames, wherein preferred communication nodes among the communication nodes have a connection to an external clock source of increased accuracy, wherein the sending of frames of different communication nodes is scheduled in different slots of at least one segment of recurring cycles in which the time is divided, each preferred communication node from at least a subset of all preferred communication nodes performs the following steps: - comparing the locally provided clock with the clock source of increased accuracy, including a correction information at a predetermined location within the frame that is to be sent by the preferred communication node in its slot, setting a correction signal in the frame indicating that the locally provided clock is slow, is fast or is synchronous compared to the clock source of increased accuracy, wherein a time deviation between its own local clock and the clock source of increased accuracy is determined and the amount of deviation is specified in predetermined steps together with the correction signal, each communication node from at least a subset of all communication nodes performs the following steps: reading out the correction information of the frames received from the actual sending communication node or preferred communication node during the running cycle, - adding the amounts of the correction information to a value list, calculating a correction value which is derived from the value list for shifting the next cycle start.
The proposed method includes an efficient mechanism in particular into the communication controller of fault-tolerant protocols and thereby effectively extending their functionality for external clock correction and alignment to be used e.g. for gateway applications. It uses preferably known and proven fault-tolerant algorithms for ensuring maximum safety. This leads to only very limited bandwidth consumption and provides thereby an advantageous, differentiating add-on feature.
This invention proposes to use additional information i.e. from the payload of transmitted frames to autonomously perform clock alignment within the communication controller without additional exchange of information with the host application. The host application is only needed in a small set of nodes (at least one) for providing the external influence that is then distributed to all nodes in the network.
In a preferred embodiment of said invention, the predetermined steps in which the amount of deviation is specified represent a fixed amount of real time. This ensures that time deviations are calculated by the different nodes on the same basis.
In a preferred embodiment of said invention, the correction information is a two bit information, wherein a high level of the first bit means that the local clock should be delayed and a high level of the first bit means that the local clock should be brought forward and a low level of both bits means that the local clock is in time.
In a preferred embodiment of said invention, the value list comprise two counters counter_plus and counter_minus wherein at any occurrence of a signal that the local clock should be delayed the counter counter_minus is increased or the amount of the correction signal is added if the correction signal is larger than one bit and at any occurrence of a signal that the local clock should be brought forward the counter counter_plus is increased or the amount of the correction signal is added if the correction signal is larger than one bit. The advantage of this proposed step of the invention is, that in a very simple way the individual correction signals can be evaluated. The calculation is carried out in another inventive step by common redundant algorithms. The advantage is the very safe computation of the results.
It is very advantageous that the calculation of the correction value is derived through a comparison of the values of counter_plus and counter_minus, wherein the cycle start is delayed if counter_minus is larger and the cycle start is brought forward if counter_plus is larger. That means, if one counter is larger than the other, a correction shall be performed. If both counters are equal, no correction shall be performed. This makes it very easy to perform the comparison and saves overhead. The measure as defined in of claim 9 has the advantage that trusted external clocks can be weighted.
The measure as defined in of claim 11 has the advantage that no overhead in the data stream is generated. In a preferred embodiment of said invention, the time deviation being determined by measuring the difference between the local time of the local clock and the external time of the clock source of increased accuracy,
The measure as defined in of claim 14 has the advantage that other communication systems that use a trusted time can be used for synchronization. The measure as defined in of claim 15 has the advantage that common and globally available signals are used.
In a preferred embodiment of said invention, a correction of the length of the cycle is done by the same procedure. The last part of the technical purpose of the invention is met by a communication system according to Claim 18, which uses a distributed clock synchronization for performing the method according to one of the claims 1 to 16 characterized in, that there are a plurality of communication nodes, which are connected via at least one channel, wherein at least one preferred communication node among the communication nodes has a connection to an external clock source of increased accuracy, and that there are means provided to compare the locally provided clock with the clock source of increased accuracy.
These and other aspects of the invention will be apparent from and elucidated with reference to the embodiment described hereinafter. Brief description of the drawing, with communication system
Fig. 1 showing a scheme of the architecture of a communication node according to the invention, and
Fig. 2 showing a scheme of the architecture of a communication system to be used to perform the method according to the invention with a to be synchronized communication node and a preferred communication node connected to a clock source of increased accuracy. As shown in Fig. 1, a communication node 7 consists of an application host 1 and a communication controller 2 connected to a pair of redundant channels 5 and 6. The communication controller 2 comprises a controller host IF and a protocol engine. There could bus drivers, and bus guardian devices for each bus driver be present, that are not shown for better understanding.
The presence of the single parts or the described embodiment of the communication node 7 is only exemplary, for the invention, only the communication controller 2 and the application host 1 are of importance. The bus driver and the bus guardian are only listed to provide a better understanding, in which context the invention might be used. The invention is not limited or restricted by the presence or absence of these devices.
The bus driver transmits the bits and bytes that the communication controller provides onto a connected channel 5 or 6 (an electrical or optical physical medium) and in turn provides the communication controller 2 with the information it receives on the channel. The communication controller 2 delivers relevant data to the host application 1 and receives data from it that it in turn assembles to frames and delivers to the bus driver which drives the channel.
Fig. 2 shows a communication system 11 built up of two communication nodes 7 and 8, wherein one communication node 8 is a preferred one since it is connected via a data line 9 to an external clock source 10 of increased accuracy from which it gets trusted time information.
The communication system 11 is time-triggered, meaning that the time is divided into recurring cycles, where each cycle consists of several segments. A typical segment of the communication cycle is divided into a fixed number of slots, where each slot is assigned up to at most one communication controller, wherein that communication controller of node 7 or 8 and alone that communication controller is assigned to transmit exclusively. Other segments of the cycle can be used for dynamic arbitration schemes or other purposes.
The bus guardian is a device with an independent set of configuration data that enables the transmission on the bus only during those slots, which are specified by the configuration set. The configuration set is precalculated at design time of the system and especially secured against changes. The host application contains the data source and sink and is generally not concerned with the protocol activity. Only decisions that the communication controller cannot do alone are made by the host application. The used protocol could be for example the TTP or as well the FlexRay protocol. If a communication system (cluster) consists of n nodes preferably from these n nodes, m nodes are connected to an external clock source. This clock source may be another communication cluster (of the same or a different protocol) or another clock, e.g. derived from a GPS signal.
In a fault-tolerant communication system, m will be preferably chosen to be larger than 1 to prevent a single point of failure. At least m = 4 is required to be resilient against a single so called Byzantine failure.
The method according to the invention is explained according to some exemplary embodiments:
Each communication controller of the communication nodes is configured with the location of two bits B within the frame payload. When using the FlexRay protocol these two bits are preferably located within the network management vector. Each communication controller is configured with a correction value c. By preconfiguring this information, as an additional advantage bandwidth is saved. This correction value c corresponds approximately to a fixed amount of real time, as close as this is possible given the implementations.
According to a specific embodiment of the invention each communication controller may have two counters, counter_plus and counter_minus. At the beginning of a communication cycle, each communication controller sets both counters to zero. On frame transmission, only nodes of a set connected to an external clock source are allowed to set the bits B to anything but zero. The application hosts from the set connected to an external clock source choose one frame eligible for transmission per communication cycle and proceed as follows:
• If the cycle start shall be delayed by c or more, it sets the first bit of B within this frame to one. • If the cycle start shall be brought forward by c or more, it sets the second bit of B within this frame to one. • If no additional correction shall be performed, they set neither bit to one. For all communication controllers is valid:
• If a frame with a set first bit (of B) is commanded to be sent or is received, the counter counter_plus is increased. • If a frame with a set second bit is commanded to be sent or is received, the counter counter_minus is increased.
Before the end of the current communication cycle, both counters are compared to each other. If one counter is larger than the other, a correction shall be performed. If both counters are equal, no correction shall be performed. If counter_plus is larger than counter_minus, the cycle start is delayed by c. If counter_minus is larger than counter_plus, the cycle start is brought forward by c. To be even more fault- tolerant, additional restrictions can be implemented towards which frames are evaluated for counter increasing. For communication systems within which each node is only entitled to transmit at most one frame per cycle this is not necessary. To be more concrete, if the nodes A, B, C, D, E, F are part of the set N.
The nodes A, B and C are part of the set with a connection to a clock source of increased accuracy. All nodes are configured to shift the cycle start by c = 5 ticks (it is assumed that the tick length is the same in all nodes).
In communication cycle one, nodes A and B set the first bit of B to one, whereas node C sets the second bit of B to one (due to a fault or different data).
As a result the counter counter_plus of all nodes is 2 whereas the counter counter_minus of all nodes is 1. As a result, all nodes bring the next cycle start five ticks forward in addition to their normal cycle start alignment.
If the communication system also performs cycle length adjustment, additional two bits may exist: Bs for cycle start adjustment and Bi for cycle length adjustment and also two times two counters: counter_plus,l , counter_minus,l , counter_plus,s , counter_minus,s
In communication cycle one, nodes A and B set the first bit of Bs to one, whereas node C sets the second bit of Bs to one (due to a fault or different data). In communication cycle one, nodes A, B and C set the second bit of Bi to one. The counter counter_plus,s of all nodes is 2 whereas the counter counter_minus,s of all nodes is 1. As a result, all nodes bring the next cycle start five ticks forward in addition to their normal cycle start alignment.
The counter counter_plus,s of all nodes is 3 whereas the counter counter_minus,s of all nodes is 0. As a result, all nodes will generally prolong their cycles by 5 ticks from the next cycle on in addition to their normal cycle length adjustment.
If the so called FlexRay protocol is used, the additional restriction to only evaluate synchronization frames does not impose practical restrictions but increases greatly the fault-tolerance of the mechanism. In this case, the host application shall naturally choose only synchronization frames for setting the bits B. With more than four communication nodes within the communication system connected to a clock source of increased accuracy, one Byzantine fault can then be tolerated.
In the following section the method according to the invention will be described for correcting the cycle start with the help of a second example:
At the beginning of a communication cycle, the list values is emptied. Only nodes of a set connected to an external clock source of increased accuracy are allowed to set the bits B to anything but zero. The application hosts from the before mentioned set choose one frame eligible for transmission per communication cycle and proceed as follows:
• If the cycle start shall be shifted, they set B to the signed shift required. Should the shift be larger than can be expressed by b bits, the maximal shift that can be expressed within b bits shall be chosen instead.
• If no additional correction shall be performed, they set all bits to a special bit combination indicating, that the amount of required correction is zero.
An implementation example for three bits B may have the following values:
(00O)2 means, no correction value present.
Valid correction values are expressed by: (Hl)2 = -3, (110)2=-2, (101)2=-l, (10O)2=O, (001)2=+l, (010)2=+2,
(011)2=+3 For this to work, all communication controllers need to be able to access a common unit in time small enough to be useful for the task of shifting the cycle start. If the communication controllers run all with the same clock speed, this frequency may be the base unit. Should this not be feasible, each node must be configured in a way to derive from the values of the value list a meaningful number of own clock ticks.
For all communication controllers is valid:
• If a frame is commanded to be sent or is received where not all bits B are zero, value of B is added to the value list.
Before the end of the current communication cycle, which could be an instance in time after the last frame that could carry another value could have arrived and still early enough to shift the cycle start by an additional maximum correction, a correction value is derived from the value list for shifting the cycle start.
For deriving this value, known fault-tolerant algorithms can be used. To give a few examples, the fault-tolerant-average algorithm (FTA) or the fault-tolerant- midpoint algorithm (FTM) can be used, whereas the FTM is preferred since it poses the least requirements on the hardware.
To be even more fault-tolerant, additional restrictions can be implemented towards which frames are evaluated for counter increasing. For communication systems within which each node is only entitled to transmit at most one frame per cycle this is not necessary.
If the FlexRay protocol is used, the above mentioned may be considered adapted to this example as well.
To be again more concrete, if the nodes A, B, C, D, E, F are part of the set N. The nodes A, B, C and D are part of the set with a connection to a clock source of increased accuracy.. It is assumed that the tick length is the same in all nodes. B consists of 4 bits.
In communication cycle one, node A sets B to 5. Node B sets B to -1. Node C wants to set B to 31 but is restricted to set it only to 7.
Node D sets B to 7. As a result the list values of all nodes contains the values [-1,5,7,7]. Depending on the used algorithm values between -1 and 7 will be derived from the list. If the FTM is used, the highest and lowest values are removed and the arithmetic average of the new highest and lowest values is calculated. This would be 6. As a result all nodes will delay the next cycle start by six ticks in addition to their normal cycle start alignment.
If the inventive method is not implemented within all communication controllers of a communication system, the host application can perform this job instead of these. This requires that all frames containing external clock correction information must be made available to the host application for generating the appropriate correction value, which must then in turn be communicated to the communication controller in time for the correction.
This may be a work-around until all communication controllers support this mechanism. If the FlexRay protocol is uses this would require that the frames used for communicating the correction values or the respective information are known in advance and be configured into the non- supporting nodes. The host application of these nodes must then configure these frames as reception slots and extract the correction information out of these frames and configure the external correction factor correspondingly.

Claims

CLAIMS:
1. Method to synchronize locally provided clocks of different communication nodes (7, 8) of a plurality of at least two communication nodes connected via at least one channel (5, 6) of a time-triggered communication system (11) exchanging repeatedly data organized in frames, wherein preferred communication nodes (8) among the communication nodes (7, 8) have a connection (9) to an external clock source (10) of increased accuracy, wherein the sending of frames of different communication nodes is scheduled in different slots of at least one segment of recurring cycles in which the time is divided, each preferred communication node from at least a subset of all preferred communication nodes performs the following steps: comparing the locally provided clock with the clock source of increased accuracy, - including a correction information at a predetermined location within the frame that is to be sent by the preferred communication node in its slot, setting a correction signal in the frame indicating that the locally provided clock is slow, is fast or is synchronous compared to the clock source of increased accuracy, wherein a time deviation between its own local clock and the clock source of increased accuracy is determined and the amount of deviation is specified in predetermined steps together with the correction signal, each communication node from at least a subset of all communication nodes performs the following steps: reading out the correction information of the frames received from the actual sending communication node or preferred communication node during the running cycle, adding the amounts of the correction information to a value list, - calculating a correction value which is derived from the value list for shifting the next cycle start.
2. Method according to claim 1, wherein the predetermined steps in which the amount of deviation is specified represent a fixed amount of real time.
3. Method according to claim 1 or 2, wherein the correction information is a two bit information, wherein a high level of the first bit means that the local clock should be delayed and a high level of the first bit means that the local clock should be brought forward and a low level of both bits means that the local clock is in time.
4. Method according to claim 3, wherein the predetermined steps in which the amount of deviation is specified are the three possible states of the correction information
5. Method according to one of the previous claims, wherein the value list comprise two counters counter_plus and counter_minus wherein at any occurrence of a signal that the local clock should be delayed the counter counter_minus is increased or the amount of the correction signal is added if the correction signal is larger than one bit and at any occurrence of a signal that the local clock should be brought forward the counter counter_plus is increased or the amount of the correction signal is added if the correction signal is larger than one bit.
6. Method according to claim 5, wherein the calculation is carried out by common redundant algorithms.
7. Method according to one of the previous claims, wherein the calculation of the correction value is derived through a comparison of the values of counter_plus and counter_minus, wherein the cycle start is delayed if counter_minus is larger and the cycle start is brought forward if counter_plus is larger.
8. Method according to one of the previous claims, wherein the value list is set to zero at the beginning of a cycle.
9. Method according to one of the previous claims, wherein multiple frames of a single communication node in a cycle are only evaluated once.
10. Method according to one of the previous claims, wherein only some frames are evaluated according to predetermined restrictions.
11. Method according to one of the previous claims, wherein the location of the correction information is in the payload of a frame.
12. Method according to one of the previous claims, wherein the location of the correction information is in the network management vector.
(FlexRay)
13. Method according to one of the previous claims, wherein the time deviation being determined by measuring the difference between the local time of the local clock and the external time of the clock source of increased accuracy,
14. Method according to one of the previous claims, wherein the external clock is another communication system connected to at least one of the preferred communication nodes.
15. Method according to one of the claims 1 to 14, wherein the external clock is an atomic clock, in particular provided in a satellite of the global-positioning system.
16. Method according to one of the previous claims, wherein a correction of the length of the cycle is done by the same procedure.
17. Computer program product stored on a computer usable medium comprising computer readable program means for causing a computer to perform the method of anyone of the claims 1 to 17, when said computer program product is executed on a computer.
18. Communication system (11) using distributed clock synchronization for performing the method according to one of the previous claims, characterized by that there are a plurality of communication nodes (7, 8), which are connected via at least one channel (5, 6), wherein at least one preferred communication node (8) among the communication nodes has a connection (9) to an external clock source (10) of increased accuracy, and that there are means provided to compare the locally provided clock with the clock source of increased accuracy.
PCT/IB2006/051712 2005-06-02 2006-05-30 Method to synchronize locally provided clocks of different communication nodes of a time-triggered communication system WO2006129269A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP05104791 2005-06-02
EP05104791.8 2005-06-02

Publications (2)

Publication Number Publication Date
WO2006129269A2 true WO2006129269A2 (en) 2006-12-07
WO2006129269A3 WO2006129269A3 (en) 2007-02-22

Family

ID=37260172

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2006/051712 WO2006129269A2 (en) 2005-06-02 2006-05-30 Method to synchronize locally provided clocks of different communication nodes of a time-triggered communication system

Country Status (1)

Country Link
WO (1) WO2006129269A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2053830A2 (en) * 2007-08-28 2009-04-29 Honeywell International Inc. Autocratic low complexity gateway/guardian strategy and/or simple local guardian strategy for flexray or other distributed time-triggered protocol
CN106154031A (en) * 2016-06-20 2016-11-23 福州台江区超人电子有限公司 Factory Electric Power information acquisition system
CN110519001A (en) * 2019-09-10 2019-11-29 宁波三星医疗电气股份有限公司 Clock synchronizing method, device and ammeter communication module

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108848146B (en) * 2018-05-25 2020-02-18 西安云维智联科技有限公司 Scheduling optimization method based on time-triggered communication service

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6370159B1 (en) * 1998-07-22 2002-04-09 Agilent Technologies, Inc. System application techniques using time synchronization
EP1280024A1 (en) * 2001-07-26 2003-01-29 Motorola Inc. Clock synchronization in a distributed system
EP1355456A1 (en) * 2002-04-16 2003-10-22 Robert Bosch Gmbh FlexRay communication protocol

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6370159B1 (en) * 1998-07-22 2002-04-09 Agilent Technologies, Inc. System application techniques using time synchronization
EP1280024A1 (en) * 2001-07-26 2003-01-29 Motorola Inc. Clock synchronization in a distributed system
EP1355456A1 (en) * 2002-04-16 2003-10-22 Robert Bosch Gmbh FlexRay communication protocol

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2053830A2 (en) * 2007-08-28 2009-04-29 Honeywell International Inc. Autocratic low complexity gateway/guardian strategy and/or simple local guardian strategy for flexray or other distributed time-triggered protocol
EP2053830A3 (en) * 2007-08-28 2013-11-06 Honeywell International Inc. Autocratic low complexity gateway/guardian strategy and/or simple local guardian strategy for flexray or other distributed time-triggered protocol
CN106154031A (en) * 2016-06-20 2016-11-23 福州台江区超人电子有限公司 Factory Electric Power information acquisition system
CN110519001A (en) * 2019-09-10 2019-11-29 宁波三星医疗电气股份有限公司 Clock synchronizing method, device and ammeter communication module
CN110519001B (en) * 2019-09-10 2021-08-10 宁波三星医疗电气股份有限公司 Clock synchronization method and device and ammeter communication module

Also Published As

Publication number Publication date
WO2006129269A3 (en) 2007-02-22

Similar Documents

Publication Publication Date Title
JP4824666B2 (en) Method and apparatus for synchronizing global time of a plurality of buses, and bus system corresponding to such a method and apparatus
EP2490357B1 (en) A method of time synchronization of free running nodes in an avionics network
US7349512B2 (en) Clock synchronization in a distributed system
JP5050057B2 (en) Time-triggered network and clock synchronization method for clusters in the network
US11522627B2 (en) TSN enabled controller
US7075898B2 (en) Method and device for the exchange of data between at least two users connected to a bus system
US9654555B2 (en) Method for synchronizing local clocks in a distributed computer system
JP2007529163A (en) Network node
WO2004105278A1 (en) Time-triggered communication system and method for the synchronization of a dual-channel network
WO2006129269A2 (en) Method to synchronize locally provided clocks of different communication nodes of a time-triggered communication system
US8661106B2 (en) Method of correction of network synchronisation
JP2006509388A (en) System, node and method for providing media arbitration
Puhm et al. Synchronizing an ieee 1588 slave clock over both paths of a redundant ethernet system
WO2006024982A1 (en) Distributed communication system using two communication controllers as well as method for operating such communication system
Silva et al. Adapting the FTT-CAN Master for multiple-bus operation
Obermaisser Concepts of Time-Triggered Communication

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase in:

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06756022

Country of ref document: EP

Kind code of ref document: A2