Basics of real-time measurement, control, and communication using IEEE 1588

John C. Eidson, Agilent Technologies

January 2, 2008

John C. Eidson, Agilent Technologies

Three real-time design patterns
What has emerged from these options are three distinct design patterns for enforcing real-time behavior on the components of a distributed system.

The first of these design patterns is the message-based system. In this pattern, coordination among components is achieved by message exchange. These messages contain no explicit reference to time, and the usual semantics is that any implicit time (for example, the time at which a command is to be executed) is based on the time of message receipt.

In effect, the message contains two components: the payload explicitly representing data or a command, and the relevant time implicitly represented by the time of receipt. This is the dominant pattern in general computing. Examples are remote procedure calls, publish-subscribe mechanisms and blackboard systems.

Message-based systems are used almost exclusively in current measurement systems, and in many control systems as well. While a message-based paradigm works very well for conveying state, it is a poor mechanism for specifying time, due to the fluctuations in the latencies associated with the network transport layer and operating systems. Commercial systems typically have a. global time scale established by the NTP protocol. However, time is invariably used as data (for example, in timestamping a financial transaction) and rarely for control.

The second design pattern is the time-slotted system. In this pattern, system-wide operations are broken into a succession of time-slots. Typically, these time-slots are defined by the time-slots of a time division multiplexed network transport protocol.

The time-slots may, or may not be uniform, and may or may not be based on a. global time scale. Instead of using a global time scale the time-slots may be state-based or using a token passing protocol, or they may be managed by a central authority- that notifies all participating devices when to move to the next slot. The slots are typically numbered based either on a time scale or on sequence numbers. This allows ordering of events within the granularity of the time-slots. <>Slots may be assigned to functions, but usually are assigned to devices.

This design pattern is heavily used in industrial automation. Examples are the SERCOS and Profibus protocols, and the TTP protocol of Kopetz. Provided the functions of each participating device are constrained to complete execution within a time-slot, this technique is very good at enforcing real-time performance. The time granularity is set by the duration and consistency of the time-slots and is very well matched to systems with periodic behavior. <>

The final pattern is the time-based system. In this pattern a system-wide time scale is established, and time-critical system actions are based on this time scale, rather than on message receipt times or the boundary of a time-slot. Global time scales are typically provided by local clocks participating in a synchronization protocol. Messages passed between devices can contain a. timestamp defining the occurrence time of some meaningful event, allowing the recipient to base action on the received timestamp and the global time scale.

This pattern is relatively rare due to the lack of sufficiently accurate system-wide time scales, and the lack of programming tool support. However, there are several proprietary time-based systems that have been used quite successfully in the industrial automation industry.

A time-based system should be a good match for problems with irregular or episodic time behavior, or systems where a finite number of events occur within a time too short to permit disambiguation using time-slots. These problems occur quite commonly in the test and measurement field, and in certain applications in industrial automation. The characteristics of each of these design patterns are summarized in Table 1.1 earlier.

IEEE 1588, which will be discussed in detail in later parts in this series, provides a way to easily synchronize clocks in a distributed system, thereby establishing a system-wide accurate and precise time scale. It is logical to expect this to lead to increased usage of the time-based design pattern and to more precisely defined time-slotted systems.

Since it is a rare application that perfectly matches any design paradigm, it is likely that all three of the design patterns will continue to be used, but in different proportions and in new and interesting combinations.

Part 2: An overview of theIEEE 1588 Clock Synchronization standard
Part 3: IEEE 1588's master-slave hierarchy
Part 4: Achieving sub-microsecond synchronization
Part 5: Applying 1588 to telecommunications and networking
Part 6: The future of IEEE 1588

Used with permission of its publisher, Springer Science and Business Media, this series of articles is based on material from "Measurement, Control and Communication Using IEEE 1588," by John C. Eidson and can be purchased on line.

John C. Eidson, Ph.D., received a B.S. and an M.S. from Michigan State University and a Ph.D. from Stanford University, all in electrical engineering. He held a postdoctoral position at Stanford for two years, spent six years with the Central Research Laboratory of Varian Associates, and joined the Central Research Laboratories of Hewlett-Packard in 1972. When HP split in 1999, he transferred to the Central Research Laboratory of Agilent Technologies. Dr. Eidson was heavily involved in IEEE 1451.2 and IEEE 1451.1 and is the chairperson of the IEEE 1588 standards committee and a life fellow of the IEEE.

< Previous
Page 2 of 2
Next >

Loading comments...

Most Commented

  • Currently no items

Parts Search Datasheets.com

KNOWLEDGE CENTER