PTP is the protocol that the OCS is planning to use to distribute time to the subsystems, including the camera. With hardware support in network cards it is capable of distributing a sub-microsecond accuracy time standard over a LAN, and is targeted at control systems with micro second accuracy requirements. 

Background:

  • Intro to PTP
  • IEEE 1588-2008 "IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems"

  • The Linux PTP project
  • Example of ethernet cards with PTP hardware support
  • A plausible Din Rail mountable HCU type computer is here.  The UNO-1483G is an Intel 4th generation Core i3 DIN-Rail controller with lots of ports etc.  It uses the I210 network chip so may work with linuxptp.  
  • There is linuxptp support in Redhat 6 with decent documentation here.

Notes:

  • Currently there is very limited documentation in section 3.6 of LSE-70 version 17.
    • Private discussion with Dave Mills he indicated he is expecting observatory subsystems to have hardware support for PTP on at least the main OCS interface host. For the camera this would be the CCS-OCS bridge. The OCS middleware (SAL) will provide some support for 
      • Making a kernel level call to retrieve the current time from the card
      • Scheduling a high-priority interrupt at a particular time
  • There is also a related camera requirement CAM-REQ-0111: Timestamp Accuracy and Precision
  • Within the CCS we need to decide
    • If we will require hardware support for PTP on the HCU's. If this available and affordable?
  • Separately we need to understand if the DAQ will have 
    • An independent time standard (derived from GPS or similar)
    • Its own way of synchronizing with the observatory time standard
    • Will require any support from CCS (for example be a slave to the CCS-OCS PTP network adapter)
      • It is unclear (to me) if there is currently support in RTEMS for PTP capable network cards

 

 

 

#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))
  • No labels