(19)
(11) EP 2 045 937 A1

(12) EUROPEAN PATENT APPLICATION

(43) Date of publication:
08.04.2009 Bulletin 2009/15

(21) Application number: 07117896.6

(22) Date of filing: 04.10.2007
(51) International Patent Classification (IPC): 
H04J 3/06(2006.01)
(84) Designated Contracting States:
AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC MT NL PL PT RO SE SI SK TR
Designated Extension States:
AL BA HR MK RS

(71) Applicant: SMSC Europe GmbH
76185 Karlsruhe (DE)

(72) Inventors:
  • Green, Christopher
    Austin, 78731 (US)
  • Becker, Claudius
    76698 Ubstadt-Weiher (DE)

(74) Representative: Lohr, Georg 
Lohr, Jöstingmeier & Partner Patent- und Rechtsanwälte Junkersstrasse 3
82178 Puchheim
82178 Puchheim (DE)

   


(54) System and method for real time synchronization through a communication system


(57) A communication system, network, interface, and port architecture are provided for transporting of data across a network. The network can be arranged by connecting the ports in a daisy chain fashion to achieve a ring architecture or topology. The network forwards data according to a specific network protocol. A first port forwards frames having time information, where the time information is divided into several pieces, each piece being transmitted in a single frame. A second port receives these frames, stores them in a frame buffer and reassembles the time information from a plurality of frames.




Description

Field of the invention



[0001] The invention relates to a communication system, ports of the communication system and a method for managing a communication system, preferably to a synchronous communication system formed as a ring network of two or more ports coupled in daisy chain fashion to one another to allow communication.

Description of the related art



[0002] A communication system is generally known as a system that permits communication between nodes interconnected by a transmission line. Each node can transmit information and receive information across the transmission line. The communication system of interconnected nodes can be organized in various topologies, such as bus, ring, star, or tree topology or a combination thereof.

[0003] A bus topology network is generally regarded as linear. Transmissions from one node propagate along the transmission line and are received by all other nodes connected to that bus. A ring topology network, however, generally consists of a series of nodes connected to one another by unidirectional transmission links to form a single, closed loop. Examples of a ring network are described in IEEE 802.5 and Fiber Distributed Data Interface (FDDI).

[0004] The transmission line between nodes can be either wired or wireless, for example, copper wire, fiber optic, or wireless transmission medium for the chosen transmission line, respectively.

[0005] A communication system, for real-time applications or for transferring synchronous streaming data must have a low latency and a low transmission overhead. In addition it is often necessary to synchronize clocks between nodes and to further provide a time reference for all nodes.

[0006] US 5,907,685 discloses a method of time synchronization between network nodes based on extensive bidirectional communication. Such a bidirectional communication causes a significant load on the network, when done regularly in short intervals. Furthermore there is significant computing power required to evaluate the communicated data.

Summary of the invention



[0007] The problem to be solved by the invention is to distribute a common real-time clock over a network to a plurality of network nodes with minimal time variations between the individual nodes. Furthermore a high precision timing synchronization should be possible. The requirements of memory and processing power should be small.

[0008] Solutions of the problem are described in the independent claims. The dependent claims relate to further improvements of the invention.

[0009] The invention comprises a first communication port 11 which is configured to generate frames 60 comprising at least
  • a preamble 61 for marking the beginning of a frame,
  • a data field 63 and
  • a time field 62.


[0010] The frames 60 comprise a predetermined number of bits. Preferably the number of bits per frame is constant. Furthermore a transmit frame counter 13 is provided for counting the generated frames 60. The bit value of the transmit frame counter 13 is segmented into a predetermined number n of segments preferably having a constant size of m bits. M may be any number, preferably between 4 and 16. M may be any number, for example 8 or 16. Preferably the size of the time field is also m bits. The individual segments are then inserted into the time fields 62 of consecutive frames 60. Accordingly after n frames the complete transmit frame counter 13 has been packed into frames 60 and forwarded on the network. Preferably the frames 60 are of constant size. The n frames 16 containing the value of one transmit frame counter 13 are referred to as a set of n frames 81. Each set of n frames 81 contains a different transmit frame counter value. Accordingly the sets of n frames 81 are unique. These frames are assembled by the port. A separate framer may be included in the port. Subsequently to the assembly of the frame, by e.g. a framer, the frame is transmitted by the first communication port 11 via a transmission line 50.

[0011] A second communication port 21 receives data from the communication line. This communication port 21 has a frame buffer and decoder 22 for storing frames and for disassembling the frames or at least parts thereof. When receiving data the second communication port 21 may first synchronize on a preamble 61, if available.

[0012] The second communication port 21 according to the invention is configured for decoding the time fields 62 of consecutive frames 60 and for reassembling the transmit frame counter value after receiving a set of n frames. For this purpose the second communication port 21 preferably has a receive time register 24, in which the values of the time fields 62 of consecutive n frames 60 are transferred. After receiving a set of n frames 60 the second communication port 21 has received the full information on the transmit frame counter 13. Thus the receive time register 24 containing the last transmitted transmit frame counter value 13. This receive time register 24 represents a time, herein called the received time, as the frames are of known size. The received time is delayed against the transmitted transmit frame counter value for some time. Typically the delay of time is n frames in addition with some internal processing delay of the first and the second communication port and the propagation delay of the signals over the network. Such a delay may be added to the received time to generate a precise real time reference. In most cases this should not be necessary. For a video transmission, for example a precise relative time reference may be sufficient, as the video signals travel over the network and are therefore delayed for the same amount of time as the time information signals in the time fields of frames.

[0013] Preferably the first communication port has a stable clock 15 for generating the bits and a frame counter 13 for counting the number of generated frames 60. This clock 15 may be synchronized to a reference like a crystal oscillator or an audio or video source. Preferably a PLL is used therein.

[0014] In addition to the transmit frame counter 13 value a time checksum value may be contained in the time fields. Preferably such a time checksum is contained preferably in the last of a set of n frames. This checksum is calculated over the time fields of a set of n frames 81 or a subset thereof. The second communication port 21 would only update its received time when a valid time checksum has been received.

[0015] In general the transmit frame counter 13 preferably counts frames 60, but it may also count other entities. Such entities may be bits or bytes transmitted onto the network. Even absolute or relative time intervals like seconds, milliseconds or microseconds may be counted. For this specific case, the transmit frame counter 13 counts individual bits, the size of the frames may vary.

[0016] The transmit frame counter 13 may be preset to any value. Specifically when starting up communication the transmit frame counter 13 may be set to zero or to a value representing the time of day or to any master time reference. It may also be preset during operation, for example when there is a significant difference to the actual time of day or to the master time reference.

[0017] Preferably the transmit frame counter 13 of the first communication port 11 is incremented just before the first segment of the counter value is assembled into a frame. Accordingly the transmit frame counter 13 is incremented each n frames and represents 1/n of the frames transmitted.

[0018] In a further embodiment the transmit frame counter 13 of the first communication port 11 is incremented n counts just before the first segment of the counter value is assembled into a frame and the assembly of a set of n frames starts. Accordingly the transmit frame counter 13 is incremented each n frames for n and represents the number of the frames transmitted. Between the individual frames of a set of n frames 81 the transmit frame counter 13 should not be incremented as this would scramble the value. If there is a transmit frame counter 13 which is incremented each frame 60, there should be a latch, the transmit time register 14 which holds the counter value prior to assembly of the first counter value into a frame. The transmit time register 14 value is then used for a set of n frames 81.

[0019] Preferably the time fields 62 in the frames may contain parts of a binary or BCD encoded counter value.

[0020] To identify the first frame of a set n frames 81 there preferably is a time start identifier 78, 79. This may be a bit or a plurality of bits at a predetermined position in the frame. It must not be necessarily part of the time field. The time start identifier 78, 79 also may be a unique value in the time field 62. Such a unique value may also be a coding violation. Preferably the time start identifier 78, 79 marks the first frame of a set of n frames 81. Alternatively it may precede the first frame. As a further alternative, the time start identifier 78, 79 may mark any predetermined frame.

[0021] A time start identifier 78, 79 is not necessarily provided. It is also possible to identify the sequence of time fields 62, as the high order bits change slowly and the low order bits change between sets of n frames 81. Any method of evaluation may be used in the second communication port 21. Preferably the start of a new set of n frames 81 may be identified after comparing the time fields 62 of at least two sets of n frames 81. The low order bits have changed while the high order bits remain constant. Accordingly, for the case the high order bits are transmitted first, the first time field which has unchanged bits after a time field with changed bits identifies the high order bits. After having identified such a field, a receive port may start writing the time fields in a receive time register.

[0022] Dependent on the time resolution required at the second communication port 21 a receive frame counter 23 for counting received frames may be provided. This receive frame counter may be synchronized with the receive frame register every n frames. In addition there may be provided a bit counter for counting individual bits. This bit counter may be synchronized with the receive frame counter or it may only count the bits of a frame or of a set of n frames. In any case the second communication port can derive a higher resolution time reference by using the bit timing in conjunction with the receive frame counter.

[0023] Preferably the second communication port 21 has a stable local clock 25 for synchronizing its receiver on the bits transferred over the network. Preferably there is a PLL to synchronize a local oscillator to the bits transferred over the network. This local oscillator preferably has a higher frequency than the bit frequency.

[0024] A communication system according to the invention comprises at least a pair of communication ports 11, 21 as described above. Preferably there are a higher number of communication ports 11, 21.

[0025] A bus node or network node 10, 20 according to the invention comprises at least a communication port 11 with the features of the first communication port 11 according to claim 1 and/or a second communication port 21 according to claim 2.

[0026] An inventive method for transmitting time information over a communication system by repeating the following steps:
  • counting the number of transmitted frames,
  • storing the number of transmitted frames,
  • generating a set of n frames comprising at least
    • a start identifier for marking the beginning of a frame,
    • a data field and
    • a time field containing only 1/n of the number of bits representing the stored number of transmitted frames, while n consecutive time fields represent the stored number of transmitted frames;


[0027] An inventive method for receiving time information over a communication system by repeating the following steps:
  • receiving a set of n frames comprising at least
    • a start identifier for marking the beginning of a frame,
    • a data field and
    • a time field containing only 1/n of the number of bits representing a stored number of transmitted frames, while n consecutive time fields represent the stored number of transmitted frames;
  • storing the time fields of consecutive n frames,
  • assembling of a received number of transmitted frames from the n received time fields;


[0028] The invention allows easy resynchronization after a maximum of approximately 2*n frames, typically within 2*n-1 frames, even if time reference is completely lost or a port is connected to the network. If resynchronization has started just after the second frame of a set of n frames has been transmitted, the second port should wait until it can receive a full set of n frames starting with the first frame of this set. With an optimized recognition procedure the time for resynchronization may even reduced to n frames. In addition the overhead for transferring time information is very low, as each frame contains only 1/n of the full time information. By the invention and extremely precise long time synchronization may be performed. On one hand long time synchronization may be achieved by transferring transmit frame counter values which may also contain time of day values with high resolution. An example should demonstrate the efficiency of the invention. In a 125 Mbit/s bus system 1 million frames are transmitted per second. The time information is distributed over n=6 frames, each having time fields comprising 8 bit words. Accordingly the timing information would be 48 bits wide. A 48 bit wide transmit frame counter would overrun once a year counting frames at the frame rate of 1 million frames per second. On the other hand a very precise clock synchronization can be achieved by using a clock generator 25 into the second communication port 21, which synchronizes on the bits contained in the frames transmitted by the first communication port 11. These bits are synchronized by a clock generator 15 of the first communication port 11. Accordingly the clock generator 25 of the second communication port 21 may run synchronously with the clock generator 15 of the first communication port 11. The precision of this clock synchronization is only limited by the jitter of the transmission lines of the network. It is typically in the range of some nanoseconds.

Description of Drawings



[0029] In the following the invention will be described by way of example, without limitation of the general inventive concept, on examples of embodiment with reference to the drawings.

Figure 1 shows network nodes and a communication system according to be invention.

Figure 2 shows an exemplary data frame 60 according to the invention is shown.

Figure 3 shows a plurality of frames carrying time information.



[0030] In figure 1 a preferred embodiment according to the invention is shown. A first network node 10, a second network node 20, a third network node 30 and a fourth network node 40 are connected via network lines 50 to form a network. It is obvious, that there may be a different number of network nodes connected to the network. The minimum network comprises the first network node 10 and the second network node 20.

[0031] The first network node 10 has a first application 18 which is exchanging data with a second application 28 at the second network node 20. The first application 18 may be a video source like a camera and the second application 28 may be a video sink like a monitor.

[0032] Furthermore the first network node 10 comprises a first communication port 11. This communication port 11 has a framer 12 for generating frames, clocked by the clock generator 15. Furthermore a transmit frame counter 13 for counting transmitted frames and a transmit time register 14 for storing the value of the transmit frame counter 13 each n frames are provided. The framer 12 assembles frames comprising time fields 62, wherein the time field 62 in each frame 60 contains part of the information of the transmit frame counter 13 or the time register 14.

[0033] The second network node 20 comprises a second communication port 21. This communication port 21 has a frame buffer and decoder for buffering and decoding received frames. It is clocked by a clock generator 25, which is preferably synchronized on the received frames or bits thereof. Furthermore a receive frame counter 23 is provided for counting received frames. A receive time register 24 serves for assembling the time information from n time fields 62 received in successive frames 60.

[0034] In figure 2 an exemplary data frame 60 according to the invention is shown. This frame 60 comprises the field preamble 61 which identifies the beginning of a frame and may contain additional synchronization bits. Furthermore it comprises a time field 62 containing time information derived from the transmit frame counter. The fields 63 and 64 are used for transferring synchronous data and asynchronous data, which is also called the payload. The fields may be divided into bit groups 67. At the end of the frame 60 control bits 65 are transmitted. These bits may contain at least a checksum and additional information.

[0035] In figure 3 a sequence of frames according to the invention is shown. Within these frames the time fields 70 - 77 contain time information. Time field 70 belongs to a first set of frames. The six time fields 71 to 76 belong to a second set of frames. The time field 77 belongs to a third set of frames. The beginning of the first set of frames is marked by the time start identifier 78, while the beginning of the second set of frames is marked by the time start identifier 79. The values of the time fields 71 to 76 are assembled together by a second communication port 21 into the receive time register 80, which represents the transmit frame counter value at transmitted by a first communication port 11.

List of reference numerals



[0036] 
10
first network node
11
first communication port
12
framer
13
transmit frame counter
14
transmit time register
15
clock generator
18
first application
20
second network node
21
second communication port
22
frame buffer and decoder
23
receive frame counter
24
receive time register
25
clock generator
28
second application
30
third network node
40
fourth network node
50
network lines
60
data frame
61
preamble
62
time field
63
synchronous data
64
asynchronous data
65
control bits
67
bit groups
70
time field of first set of frames
71 - 76
time field of second set of frames
77
time field of third set of frames
78
time start identifier of second frame
79
time start identifier of third frame
80
receive time register
81
set of n frames



Claims

1. A first communication port (11), being configured to generate frames (60) having at least

- a preamble (61),

- a data field (63),

- a time field (62),

and said first communication port comprising a transmit frame counter (13),
wherein the value of the transmit frame counter (13) is divided into n segments, and each segment is placed in the time field (62) of n consecutive frames.
 
2. A second communication port (21), being configured for decoding frames (60) having at least

- a preamble (61),

- a data field (63),

- a time field (62),

and said second communication being configured for reassembling the value of the transmit frame counter (13) by evaluating the time field (62) of n consecutive frames.
 
3. The first communication port (11) according to claim 1,
characterized by
a stable clock (15) for generating the frames, which may be synchronized to a reference like a crystal oscillator or an audio or video source.
 
4. The first communication port (11) according to claim 1,
characterized by
at least one of a set of n generated frames (81) contains a time checksum for the time fields (62).
 
5. The first communication port (11) according to claim 1,
characterized by
that the transmit frame counter (13) is configured for counting other entities as bits or bytes transmitted onto the network or time intervals.
 
6. The first communication port (11) according to claim 1,
characterized by
that the transmit frame counter (13) may be preset to a predetermined value or a value representing the time of day or to any master time reference.
 
7. The first communication port (11) according to claim 1,
characterized by
that the transmit frame counter (13) is only incremented once before the first of a set of n consecutive frames 81 is generated.
 
8. The first communication port (11) according to claim 1,
characterized by
that the transmit frame counter (13) is incremented for n before the first of a set of n consecutive frames 81 is generated.
 
9. The first communication port (11) according to claim 1,
characterized by
that the value of the transmit frame counter (13) is stored in a transmit time register (14) for a set of n consecutive frames 81 and the value of the transmit time register (14) is used for generating the time fields (62) of n consecutive frames.
 
10. The first communication port (11) according to claim 1,
characterized by
at least one of n generated frames (60) contains a time start identifier(78, 79), defining the first of a set of n consecutive frames 81.
 
11. The second communication port (21) according to claim 2,
characterized by
being configured for identifying the first of n generated frames (60) by evaluating changes in bits between at least two consecutive sets of n generated frames 81.
 
12. The second communication port (21) according to claim 2,
characterized by
a receive frame counter (23) counting received frames.
 
13. The second communication port (21) according to claim 2,
characterized by
a clock generator (25) for synchronizing its receiver on the bits transferred over the network.
 
14. A communication system comprising at least one first communication port (11) and at least one second communication port (21).
 
15. A network node (10) comprising a first communication port (11).
 
16. A network node (20) comprising a second communication port (21).
 
17. A network node (10, 20) comprising at least one of a first communication port (11) and at least one of a second communication port (21).
 
18. A method for transmitting time information on a communication system by repeating the steps:

- counting the number of transmitted frames,

- storing the number of transmitted frames,

- generating a set of n frames comprising at least

o a start identifier for marking the beginning of a frame,

o a data field and

o a time field containing only 1/n of the number of bits representing the stored number of transmitted frames, while n consecutive time fields represent the stored number of transmitted frames;

- transmitting the frames on the communication system.


 
19. A method for receiving time information on a communication system by repeating the steps:

- receiving a set of n frames comprising at least

o a start identifier for marking the beginning of a frame,

o a data field and

o a time field containing only 1/n of the number of bits representing the stored number of transmitted frames, while n consecutive time fields represent the stored number of transmitted frames;

- storing the time fields of consecutive n frames,

- assembling of a received number of transmitted frames from the n received time fields.


 




Drawing










Search report










Cited references

REFERENCES CITED IN THE DESCRIPTION



This list of references cited by the applicant is for the reader's convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard.

Patent documents cited in the description