Precision Time Protocol IEEE1588Klaus MählertProduct Management Group ManagerKonstanz – April 17, 2012
Precision Time Protocol IEEE1588with AVT GigE camerasPresentation by courtesy of Allied Vision Technologies
What is Precision Time Protocol?• An IEEE1588 networking standard• Used to manage clock synchronization of multiple devices across an Ethernet network• Cameras can utilize the same time base and relevance for the timestamp• Adopted by machine vision with GigE Vision 2.0
Competing clock synchronization schemes• Network time protocol (NTP) • Offers poor accuracy ~ 10 ms • Low cost, most common clock synchronization scheme in networking• Global Positioning System (GPS) • Provides excellent precision ~ ns • An expensive component to incorporate into every device• Precision Time Protocol (PTP) • Provides excellent precision ~ µs • Low cost - can be incorporated into cameras using a firmware change and without additional hardware
TimeStampValue represents camera clock• The heart beat of the camera • Drives signal timing including exposure start time • Attached to every frame and used by the driver to calculate frame rate
Enabling PTP Synchronization• PtpMode = Off • TimeStampValue is not synchronized with any other device.• PtpMode = Master • All Slave devices synchronize their clock to this cameras TimeStampValue.• PtpMode = Slave • TimeStampValue is altered to align with a Master TimeStampValue.• PtpMode = Auto • Uses the IEEE1588 best master clock algorithm to determine which device is master.
Monitoring PTP Synchronization• PtpStatus = Off (Read only) • The device PtpMode is set to off.• PtpStatus = Master (Read only) • The device is configured and working as Master PTP device.• PtpStatus = Error (Read only) • The slave device is in the process of synchronizing with the master.• PtpStatus = Slave (Read only) • The device is acting as a slave and synchronized to within several microseconds of the master.
How is PTP synchronization realized?• Master PTP clock transmits a “Sync” telegram using multicast messaging.• Slave PTP clock cameras receive multicast and calculate time difference between its own clock and the Master PTP clock.• Clock synchronization, using follow up and delay messages is used to align the Slave PTP device clocks to the Master PTP clock.
How is PTP synchronization realized?• Once a Slave clock is within 2 µs of the master, its PtpStatus is changed from Error to Slave.• If the timestamps are 2 seconds or more apart, the Slave camera overwrites its own timestamp with the Master camera timestamp.
Implementing a scheduled software triggerThe PtpTriggerTime attribute is used to definea future TimeStampValue for start of exposure.1. Achieve clock synchronization. Set PtpMode = Master, Slave or Auto.2. Set camera FrameRate, FrameStartTriggerMode, and AcquisitionMode as desired. Start an acquisition stream using AcquisitionStart.3. Determine the current camera TimeStampValue using TimeStampValueLatch.4. Set PtpTriggerTime to a value which sufficiently exceeds the current camera TimeStampValue. Allow several seconds for the camera to receive PtpTriggerTime
PtpTriggerTime Notes• Setting PtpTriggerTime will suspend all frame triggers in a camera’s current AcquisitionStart stream while PtpTriggerTime >= TimeStampValue• When TimeStampValue increases to reach PtpTriggerTime, frame triggers resume• To implement a scheduled (future) software trigger set PtpTriggerTime = TimeStampValue + = Time required to upload PtpTriggerTime to the camera The PtpTriggerTime event does not start a new acquisition stream, it simply resumes frame triggers on an existing stream.
Suggested PTP Camera Networks• A switch is required for implementing a PTP network• Cannot currently implement PTP synchronization across multiple adapters• LAG between host and switch has been tested and shown poor results• 10 GigE Uplink ports are being tested and have shown good initial results
Comparing TimeStampValues between cameraevents and frames• Camera EventControls allow the host to receive a TimeStampValue for a selected event, e.g. EventSyncIn1Rise. Likewise all frames returned from camera have a TimeStampValue associated with them.• Comparison of these TimeStampValues can give valuable information, and with PTP synchronization, allow for a common time base between cameras and event sensors.
Thank you for your attention. STEMMER IMAGING GmbH Gutenbergstr. 9-13 82178 Puchheim Germany Phone: +49 89 80902-236 Fax: +49 89 80902-116 firstname.lastname@example.org www.stemmer-imaging.de Your contact: Klaus Mählert