Skip to content

Specification for downsampled clock synchronization protocol #128

@glopesdev

Description

@glopesdev
  • Proposed
  • Prototype: Not Started
  • Implementation: Not Started
  • Specification: Not Started

Summary

Standardize the operation of the clock synchronization protocol for transmission over virtual serial ports operating over much slower baud rates. This would allow logging the Harp clock synchronization signal on non-Harp devices running their own local clocks for the purposes of automated post-hoc alignment.

Motivation

The device-specific developments in harp-tech/device.behavior#3 provide an interesting option for general-purpose interoperability of the Harp clock synchronization protocol with non-Harp IO devices for alignment purposes.

The implemented solution transmits the clock via a digital output using a lower baud rate which can be recorded by other devices which are not Harp devices. Generalizing the approach would allow potentially embedding this slower transmission protocol into clock synchronizer devices themselves, allowing these devices to become a one-stop shop for all device synchronization needs.

Routines such as harp-tech/harp-python#38 could also be adapted to provide a general infrastructure for automatically aligning any Harp and non-Harp streams post-hoc.

Detailed Design

Multiple levels should be considered to complete the detailed design, specifically:

  • consider whether a new core register or a standardized device-specific register are more appropriate to provide this feature;
  • hardware implementation requirements to assess the difficulties and impact of implementing this transmission over existing clock synchronizer devices;
  • assess the requirements to develop an automated post-hoc alignment procedure.
    The existing design needs to be reviewed and its internals understood to find out operation limits and applicability to heterogeneous devices with varying sample rates. We need to understand whether configuration of the virtual baud rate should be allowed to allow customizing the amount of downsampling per application, and the implications and tradeoffs of changing this parameter.

Drawbacks

There may be unknown impacts of providing downsampled transmission of the clock signal in parallel with generating the original synchronization signal which need to be taken into account during development of this specification.

Alternatives

Not doing this will continue to proliferate ad-hoc solutions for interoperable clock synchronization between non-Harp and Harp devices, including TTL sync pulses, pseudo-random sequences, counters, etc.

Unresolved Questions

The existing design needs to be reviewed and its internals understood to find out operation limits and applicability to heterogeneous devices with varying sample rates. We need to understand whether configuration of the virtual baud rate should be allowed to customize the amount of downsampling per application, and the implications and tradeoffs of changing this parameter.

Design Meetings

Metadata

Metadata

Assignees

No one assigned

    Labels

    proposalRequest for a new feature

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions