WO2010132946A1 - Universal serial bus with lossless data pipe and precision synchronisation layer - Google Patents

Universal serial bus with lossless data pipe and precision synchronisation layer Download PDF

Info

Publication number
WO2010132946A1
WO2010132946A1 PCT/AU2010/000607 AU2010000607W WO2010132946A1 WO 2010132946 A1 WO2010132946 A1 WO 2010132946A1 AU 2010000607 W AU2010000607 W AU 2010000607W WO 2010132946 A1 WO2010132946 A1 WO 2010132946A1
Authority
WO
WIPO (PCT)
Prior art keywords
usb
data
time
usb device
superspeed
Prior art date
Application number
PCT/AU2010/000607
Other languages
French (fr)
Inventor
Peter Graham Foster
Original Assignee
Chronologic Pty. Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chronologic Pty. Ltd. filed Critical Chronologic Pty. Ltd.
Publication of WO2010132946A1 publication Critical patent/WO2010132946A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/423Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3027Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/08Speed or phase control by synchronisation signals the synchronisation signals recurring cyclically

Definitions

  • the present invention relates to a method and apparatus for providing a synchronization and timing system, with connectivity based on revision three of the Universal Serial Bus (USB) architecture (or USB 3.0), of particular but by no means exclusive use in providing clocks, data acquisition and automation and control of test and measurement equipment, instrumentation interfaces and process control equipment, synchronized to an essentially arbitrary degree in either a local environment or in a distributed scheme.
  • USB Universal Serial Bus
  • USB 2.0 data is encoded using differential signalling (viz. in which two wires transfer the information) in the form of the difference between the signal levels of those two wires.
  • the USB 2.0 specification is intended as an enhancement to the PC architecture, spanning portable, desktop and home environments.
  • USB was user focussed so the USB 2.0 specification lacked a mechanism for synchronising devices to any great precision.
  • US Patent No. 6,343,364 discloses an example of frequency locking to USB traffic, which is directed toward a smart card reader.
  • This document teaches a local, free-running clock that is compared to USB SYNC and packet ID streams; its period is updated to match this frequency, resulting in a local clock with a nominal frequency of 1.5 MHz. This provides a degree of synchronization sufficient to read smart card information into a host PC but, as this approach is directed to a smart card reader, inter-device synchronization is not addressed.
  • WO 2007/092997 discloses a synchronized USB device that allows the generation of accurate clock frequencies on board the LJSB device regardless of the accuracy of the clock in the Host PC.
  • the USB SOF packet is decoded by the LJSB device, and treated as a clock carrier signal instead of acting as a clock reference.
  • the carrier signal once decoded from the USB traffic, is combined with a scaling factor to generate synchronization information and hence to synthesize a local clock signal with precise control of the clock frequency.
  • the frequency of the local clock signal can be more accurate than the somewhat ambiguous frequency of the carrier signal.
  • US Application No. 10/620,769 also teaches a method and apparatus to further synchronize multiple local clocks in phase by measurement of signal propagation time from the host to each device and provision of clock phase compensation on each of the USB devices.
  • USB device contains a local clock that is synchronised to an externally provided time signature across Ethernet using the IEEE-1588 protocol.
  • the USB device's clock is synchronised to a timebase derived from a Global Positioning System (GPS) synchronised clock.
  • GPS Global Positioning System
  • USB 2.0 is limited in range by the device response timeout. This is the window of time that the USB Host Controller allocates for receipt of a signal from a given USB device in response to a request from said USB Host Controller.
  • the physical reach of USB 2.0 is therefore approximately 25 m.
  • USB 3.0 The USB 3.0 specification was released in November 2008 and is also focussed on consumer applications.
  • the USB 3.0 specification makes significant changes to the architecture of USB.
  • the background art synchronisation schemes discussed above will not work with the new 5 Gb/s protocol (termed 'SuperSpeed USB') because it does away with the broadcast mechanism for SOF packets.
  • USB 3.0 defines two parallel and independent USB busses on the same connection cable. Firstly, the USB 2.0 bus remains unchanged (for backward compatibility) and offers Low Speed (1.5 Mb/s), Full Speed (12 Mb/s) and High Speed (480 Mb/s) protocols. The second bus - for 5 Gb/s traffic - provides the SuperSpeed USB. These busses operate independently, except that operation of the busses to a given USB device is mutually exclusive. That is, if a
  • USB 3.0 The dual-bus architecture of USB 3.0 is depicted schematically at 10 in figure 1.
  • Personal Computer 12 containing USB Host Controller 14, is connected to USB 3.0 Hub 16 by first USB 3.0-compliant cable 18;
  • USB 3.0 device 20 is connected to a downstream port 22 of USB 3.0 Hub 16 by second USB 3.0- compliant cable 24.
  • USB Host Controller 14 contains both a USB 2.0 Host 26 and a SuperSpeed Host 28. These two hosts 26, 28 are independent of one another, and each host 26, 28 is capable of connecting up to 127 devices (including hubs).
  • USB 3.0-compliant cables are compound cables, containing a USB 2.0-compliant cable and a series of shielded conductors capable of transmitting SuperSpeed signals.
  • USB 3.0-compliant cable 18 comprises USB 2.0-compliant cable 30 and shielded conductors 32.
  • USB 3.0 Hub 16 contains both a USB 2.0 Hub function 34 and a SuperSpeed Hub function 36, each connected directly to its respective Host 26, 28 by compound cable 18.
  • USB 3.0 device 20 contains both a USB 2.0 device function 38 and a SuperSpeed device function 40, each connected back to its respective hub function 34, 36 of USB 3.0 Hub 16 by compound cable 24.
  • SuperSpeed Host 28 checks for the presence of a SuperSpeed device function (40). If a SuperSpeed device is found, then a connection is established. If a SuperSpeed device is not found (as in the case where only a USB 2.0 device is connected to port 22), then the - A -
  • USB 2.0 Host 26 checks for the presence of a USB 2.0 device function (38) at device 20. Once the Host Controller 14 determines which device function is connected, it tells the USB 3.0 Hub 16 to only enable communication for downstream port 22 corresponding to whether the USB 2.0 device function 38 or SuperSpeed device function 40 is attached. This means that only one of the two parallel busses is in operation at any one time to an end device such as USB 3.0 device 20.
  • SuperSpeed USB has a different architecture from that of the USB 2.0 bus. Very high speed communication systems consume large amounts of power owing to high bit rates. A design requirement of SuperSpeed USB was lower power consumption, to extend the battery life of user devices. This has resulted in a change from the previous broadcast design of the USB 2.0: SuperSpeed is not a broadcast bus, but rather directs communication packets to a specific node in the system and shuts down communication on idle links.
  • a SuperSpeed Hub function acts as a device to the host (or upstream port) and as a host to the device (or downstream port). This means that the SuperSpeed Hub function acts to buffer and schedule transactions on its downstream ports rather than merely acting as a repeater. Similarly, the SuperSpeed Hub function does so with scheduling transmissions on the upstream port. A heavily burdened Hub function can therefore add significant non-deterministic delays in packet transmission through the system. This also precludes the use of USB 2.0 synchronisation schemes such as that of US Patent Application No. 12/279,328 from operating on SuperSpeed USB.
  • the crude Isochronous synchronisation of USB 2.0 has been significantly improved in the USB 3.0 specification. Opening an Isochronous communication pipe between a Host Controller and a USB device guarantees a fixed bandwidth allocation in each Service Interval for the communication pipe.
  • the Isochronous Protocol of USB 3.0 contains a so-called Isochronous Timestamp Packet (ITP), which is sent at somewhat regular intervals to each Isochronous Endpoint and which contains a timestamp of the beginning of ITP transmission by the USB Host Physical Layer (Phy) in the time domain of the Host Controller.
  • Isochronous Timestamp Packet is accurate to about 25 ns.
  • SuperSpeed USB shuts down idle links to conserve power, but links must be active in order to receive an Isochronous Timestamp Packet.
  • the Host Controller must therefore guarantee that all links to a device are in full active mode (termed power state UO) before transmission of the Isochronous Timestamp Packet.
  • USB 3.0 also does not provide a way of determining the propagation time of packets in SuperSpeed USB and hence no way of accurately knowing the phase relationship between time domains on different USB devices. Phase differences of several hundred nanoseconds are expected to be a best case scenario with SuperSpeed USB making it impractical for instrumentation or other precision timing requirements.
  • US Patent No. 5,566,180 discloses a method of synchronising clocks in which a series of devices on a communication network transmit their local time to each other and network propagation time is determined by the ensemble of messages. Further disclosures by Eidson (US Patents Nos. 6,278,710, 6,665,316, 6,741 ,952 and 7,251 ,199) extend this concept but merely work toward a synchronisation scheme in which a constant stream of synchronising messages are transferred between each of the nodes of a distributed instrument network via Ethernet. This continual messaging consumes bandwidth and limits the accuracy of the possible synchronisation to several hundred nano-seconds in a point-to-point arrangement and substantially lower accuracy (typically micro-seconds) in a conventional switched subnet.
  • clock signals' and 'synchronisation' in this disclosure are used to refer to clock signals, trigger signals, delay compensation information and propagation time measurement messages. It should also be understood that a 'notion of time' in this disclosure is used to denote an epoch or 'real time' and can also be used to refer to the combination of a clock signal and an associated epoch.
  • the present invention provides a method of synchronising the operation of a plurality of USB devices attached to a common USB Host Controller with lossless or error corrected data delivery, the method comprising: syntonising (or synchronising the rate of) respective local clocks on said USB devices; synchronising, or phase aligning, said clocks; and opening a plurality of lossless or error corrected data pipes between said Host Controller and said USB devices.
  • the USB devices are SuperSpeed USB devices.
  • this approach may be described as using a variety of synchronisation methods including utilising an isochronous timestamp packet SuperSpeed synchronisation channel and a "Bulk transfer mode" data delivery method of synchronisation across either SuperSpeed or non-SuperSpeed USB.
  • the lossless or error corrected data pipe is a Control, Bulk, Streamed Bulk or Interrupt pipe.
  • the method comprising: delivering data across the lossless or error corrected plurality of data pipes; and timestamping or coordinating receipt or use of data by respective USB device functions in the USB devices with the clocks once synchronized.
  • the method comprising: timestamping and coordinating receipt or use of data by the respective USB device functions in the USB devices with the clocks once synchronized.
  • the receipt of data by each of the USB device functions may comprise: receiving the data from an external interface to the respective USB device; storing the data in a local buffer or FIFO memory in the respective USB device; and transmitting the data to the USB Host Controller across the lossless or error corrected plurality of data pipes; wherein the position of the data in the FIFO corresponds to a specific time.
  • the method may include: receiving the data from the USB Host Controller across the lossless or error corrected plurality of data pipes; storing the data in a local buffer or FIFO memory in the respective USB device; and the respective USB Device functions using the data at a specific
  • the receipt or use of data by a USB device function may comprise performing some other function based on the data at some predetermined moment in a notion of time of the USB device.
  • a synchronisation bridge comprises a home entertainment system whereby audio and video streams are synchronised and distributed across a plurality of busses, for example SuperSpeed USB and Ethernet, most notably using Precision Time Protocol (PTP) or IEEE-1588.
  • PTP Precision Time Protocol
  • audio-visual information for example for home theatre or gaming applications, is decoded by a bridge (or may also be decoded by another component and transferred to a bridge) for delivery across a plurality of synchronised networks.
  • video streams are passed across said SuperSpeed USB that is synchronised to said Ethernet for delivery of said audio streams, although other embodiments will be evident to those skilled in the art.
  • the USB devices are SuperSpeed USB devices
  • the method further comprises: opening at least one Isochronous communication pipe between the Host Controller and a respective one of the USB devices; ensuring that the respective USB device is in link state UO in preparation for receiving an Isochronous Timestamp Packet (ITP); the Host Controller sending a plurality of periodic multicast Isochronous Timestamp Packets to each of the Isochronous endpoints; and the respective USB device syntonising its local clock to a time domain of the Host Controller using a timestamp contained in the periodic Isochronous Timestamp Packets as a reference time.
  • ITP Isochronous Timestamp Packet
  • each of the local clocks may be syntonised using an Isochronous transfer technique.
  • Timestamps containing the Host Controller time must be accurate to ⁇ 25 ns at the start of the Host Controller's Isochronous Timestamp Packet generation to meet the USB 3.0 standard.
  • a simple syntonisation technique would result in a large amount of jitter in the local clock frequency so statistical techniques may be employed to reduce the jitter.
  • This syntonisation technique may use only Isochronous Timestamp Packets that are not flagged as having been delayed in hubs for synchronising the local clocks.
  • the method comprises determining respective propagation times of signals from a specified point in a USB network containing said USB devices to each of said plurality of USB devices .
  • the method comprises phase aligning the local clocks with the USB Set_lsochronous_Delay feature.
  • the lossless or error corrected data pipes are Control, Bulk, Streamed Bulk or Interrupt pipes, or any combination thereof.
  • USB 3.0 Hubs are intelligent devices, receiving data from either upstream or downstream and scheduling it for transmission on the downstream or upstream ports respectively. It is therefore possible that an Isochronous Timestamp Packet may get stuck in a queue and be delayed before being re-transmitted to the downstream ports.
  • the USB 3.0 specification requires that LJSB Hubs provide information about any excessive delay in the transfer of an Isochronous Timestamp Packet through its internal circuitry. This allows circuitry inside said plurality of Isochronous endpoints to ignore Isochronous Timestamp Packets that may have been delayed in transit from said Host Controller to any of said USB devices, which would otherwise have caused increased clock mismatch between the USB devices.
  • USB specification provides a method for determining the propagation time of Isochronous Timestamp Packets through a USB Hub resulting in increased synchronisation accuracy of said local clocks.
  • This broad approach therefore permits the provision of a synchronised USB that delivers data across a lossless or error corrected pipe with synchronisation accuracy limited only by propagation delays in USB cables.
  • this approach would permit synchronisation of the receipt or use of data by a USB device function with an inter-device accuracy of the order of 200 ns.
  • the synchronisation or phase alignment of the local clock of the SuperSpeed USB device may be effected by adjusting the phase of the local clock, such as by utilising the USB device feature Set_lsochronous_Delay.
  • synchronising, or phase aligning, the notion of time of each of the plurality of local clocks may be achieved by any of the methods taught in this specification, but more particularly using the methods of either the second or third aspects (described below) or by using an external trigger signal to each USB device to synchronise the USB devices after they have been syntonised (also as described below).
  • a method of synchronising the use of data delivered via a plurality of USB communication pipes comprising: opening an isochronous pipe between a USB Host Controller and a USB device; syntonising a local clock of the USB device by locking the clock to a periodic signal structure contained in the isochronous pipe; synchronising the local clock of the USB device (or creating a notion of time for the local clock) with a second clock of the USB Host Computer; opening a plurality of lossless or error corrected data pipes between a Host Controller and the plurality of attached USB devices; transferring data, time-stamped in the time domain of the second clock, across the plurality of lossless or error corrected data pipes; buffering the time-stamped data; and using the time-stamped data; wherein the data is delivered in a lossless or error corrected manner and the timestamps enable the reconstruction of a temporal data record.
  • Defining the notion of time may comprise resetting a counter on receipt of a specified numbered one of Stat of Frame packets, the counter being clocked by the local clock.
  • the method comprises assembling the time-stamped data sent from the USB Host to the USB device for synchronous use by the USB device.
  • the method may include using the time-stamped data to control an external device in a deterministic manner.
  • the time-stamped data sent from the USB Device to the USB Host may be a time-critical measurement record.
  • a method of synchronising the operation of a plurality of USB devices requiring high data integrity with an external instrument comprising: syntonising a respective local clock of each of the USB devices; synchronising, or phase aligning, the local clocks with a time signature received from the external instrument; opening a plurality of lossless or error corrected data pipes between a Host Controller and the plurality of attached USB devices; delivering time-stamped data across the data pipes; buffering the data; and using the data in synchrony with the notion of time of the external instrument.
  • the present invention provides a method of determining the downstream propagation time of signals from a USB Host Controller across one or more USB cables and one or more USB Hubs to a SuperSpeed USB device, comprising: opening at least one Isochronous communication pipe between the Host Controller and the SuperSpeed USB device; ensuring that (i.e. placing in or checking that) the SuperSpeed
  • USB device is in link state UO in preparation for receiving an Isochronous Timestamp Packet (ITP); controlling the USB Host Controller to send a plurality of Isochronous Timestamp Packets (which, by their nature, are roughly periodic) across the Isochronous communication pipe, the Isochronous Timestamp
  • ITP Isochronous Timestamp Packet
  • the signals transmitted by the SuperSpeed USB device may be transmitted across the Isochronous pipe, but alternatively across any transfer type supported by USB.
  • any given communication package in either upstream or downstream directions may be delayed by a hub.
  • the Isochronous Timestamp Packet contains a Packet Delayed flag which is set by a hub on reclocking the Isochronous Timestamp Packet if the Hub has delayed retransmission for any reason. This allows delayed packets to be ignored from the process of synchronising the SuperSpeed USB device's local time.
  • Upstream communication packets do not provide notification of hub delays, but hub delays are significantly larger than the stochastic errors, resulting in the distribution being substantially multi-modal. This allows delayed upstream packets to be ignored from the measurement of upstream propagation time.
  • the SuperSpeed USB device is a first of a plurality of the SuperSpeed USB devices attached to a common point in the USB network (such as the USB Host Controller), and the method further comprises: ensuring that the first SuperSpeed USB device is in link state UO; ensuring that the other one or more SuperSpeed USB devices are not in link state UO; ensuring that no request is made to change the link state of any links in the USB; performing propagation time measurements according to any of the propagation time measurement method of this invention described herein (including according to the second, third, fourth, fifth and sixth broad aspects); wherein no traffic other than the propagation time measurement traffic is present on the USB when measuring the propagation time to minimize delaying propagation time traffic.
  • this embodiment reduces the uncertainty in signal propagation measurements caused by queuing of messages across the network.
  • Some of the other one or more SuperSpeed USB devices may be unable to be synchronised according to this method, but they should still be precluded from communicating across the USB during the propagation time measurement so that the USB Hubs need not delay any signal propagation from queuing of messages.
  • USB Host Controller Compliance of the USB Host Controller is very tightly controlled. Modification of such a Host Controller to allow timestamping of the reception of communication packets from SuperSpeed USB devices may be unrealistic or impractical. It is therefore desirable to measure the passage of signals at some other point in the USB network and timestamp messages accordingly at that point. Hence, it is desirable that a conventional USB Host Controller be employed, wherein there is no provision for timestamping the receipt of a communication packet.
  • the present invention provides a method of determining the downstream propagation time of signals from a USB Host Controller to a SuperSpeed USB device in a USB network, comprising: opening one or more Isochronous communication pipes between the Host Controller and the SuperSpeed USB device; ensuring that the SuperSpeed USB device is in link state UO in preparation for receiving an Isochronous Timestamp Packet (ITP); the USB Host Controller sending a plurality of multicast periodic Isochronous Timestamp Packets across the Isochronous communication pipes, each of the Isochronous Timestamp Packets containing a respective first timestamp indicative of a local time of the USB Host Controller when the USB Host Controller generated each of the plurality of Isochronous Timestamp Packets; locking a local clock of the SuperSpeed USB device to information including the first timestamp derived from one or more of the Isochronous Timestamp Packets (ITP), the locking
  • cable propagation time may be determined.
  • the measurement clock may be syntonised and synchronised to the notion of time of the USB Host Controller by a SuperSpeed USB synchronisation channel, a non-SuperSpeed USB synchronisation channel or any other suitable means including reception of a timing signal from an external source.
  • the master LJSB device is attached near the top of the USB network.
  • the method may include statistically analyzing a plurality determinations of propagation time to improve accuracy of measurement of the downstream propagation time.
  • the method of this embodiment allows synchronisation, or phase adjustment, of the notion of time of the SuperSpeed USB device to match the notion of time of the master USB Device, and by reference back to the notion of time of the
  • USB Host Controller if desired.
  • the present invention provides an apparatus for determining the relative downstream propagation time of signals from a USB
  • Host Controller to a SuperSpeed USB device comprising: a SuperSpeed-capable upstream port adapted to provide a SuperSpeed upstream connection and a non-SuperSpeed upstream connection; a plurality of SuperSpeed-capable downstream ports; first circuitry, adapted to perform a USB3 hub function, the USB3 hub function providing connectivity to the upstream port and to the downstream ports in accordance with the USB3 specification for both SuperSpeed and non-
  • Second circuitry adapted to perform one or more SuperSpeed or non-SuperSpeed USB device functions, and connected to one or more of the downstream ports; third circuitry, adapted to decode synchronisation information
  • USB Host Controller with the third circuitry (which, as will be appreciated by those in the art, results in the synchronisation containing a constant but generally unknown phase offset from the true notion of time of the USB Host
  • Controller adapted to monitor SuperSpeed USB traffic for a timestamp signal with a first timestamp received at one of the downstream ports; fifth circuitry, adapted to create a second timestamp corresponding to detection of the timestamp signal; sixth circuitry, adapted to decode the first timestamp from the SuperSpeed USB traffic corresponding to a data packet or packets for which the second timestamp was generated; and seventh circuitry or a computational mechanism, adapted to determine a time difference between said first and second timestamps in the time domain of the local measurement clock.
  • cable propagation time may be determined.
  • the synchronisation information may also comprise a trigger signal, a clock signal and clock phase information.
  • the present invention provides a method of synchronising the operation of a plurality of SuperSpeed USB devices with respective local clocks in a USB network, comprising: syntonising the local clocks of the SuperSpeed USB devices; synchronising, or phase aligning, respective notions of time of the local clocks with the method of either the second or third broad aspects of the present invention; and maintaining syntonisation of the local clocks, and thereby a synchronous notion of time, by any of the methods of the present invention described herein; whereby the SuperSpeed USB devices are synchronised and adapted to enable coordinated operation of a plurality of functions on the SuperSpeed USB devices, synchronised to a common time domain.
  • the plurality of SuperSpeed USB devices may be synchronised.
  • the SuperSpeed USB devices are synchronised to a notion of time and timebase of a USB Host Controller of the USB network.
  • any communication bus such as a synchronous form of Ethernet, PXI, PXI-express, USB, wireless communication means or any other communication means can deliver syntonising signals to a plurality of attached devices and only synchronise the notion of time of each of the plurality of devices only once.
  • the LJSB devices are synchronised to a common notion of time by a common external trigger signal that is applied synchronously to each syntonised USB device.
  • the present invention provides a method of determining the propagation time of signals across a SuperSpeed USB cable connecting a link pair having first and second members, comprising: transitioning the first member of the link pair to a Loopback state as a Loopback Master; transitioning the second member of the link pair to a Loopback state as a Loopback Slave; transmitting a signal from the first member to the second member; the first member starting a first timer upon transmission of the signal; the second member receiving the signal from the first member and responding by starting a second timer; the second member re-clocking and retransmitting the signal to the first member; the second member stopping the second timer upon retransmission of the signal to produce a second timer value; the first member receiving the signal from the second member and responding by stopping the first timer to produce a first timer value; and determining a cable propagation time from the first and second timer values.
  • the method comprises determining the cable propagation time from half a difference between the first and second timer values.
  • the method includes making plural determinations of the cable propagation time.
  • the accuracy of the determination of the cable propagation time may be improved by making repeated measurements of the cable propagation time and using statistical means — averaging or otherwise — to determine a final value.
  • first member and the second member each has a respective syntonised local clock. In another embodiment, the first member and the second member each has a respective synchronised local clock.
  • the method may include the first and second members transmitting their respective first and second timer values to a Host Controller for calculation of the cable propagation time.
  • the present invention provides a method to improve the accuracy of determining the cable propagation time for signals from a USB Host Controller (or designated point within a USB tree) to a given USB Device.
  • the system of Foster ef a/. (US Patent Application 10/620769) determines propagation time by measuring the round trip time of messages from the USB Host (or said designated point) to the USB Device and back. This introduces an uncertainty in the measurement due to the indeterminate latency in the USB Device message response time.
  • the system of Foster ef a/ allows compensation of clock phase only to an arbitrary absolute phase across the USB network and does not seek to provide an absolute clock phase for each synchronised USB device.
  • the present invention therefore provides a method of minimizing uncertainty in signal propagation time measurements and thereby allowing each of the attached USB devices to be synchronised to an absolute clock phase.
  • This method also allows different USB device architectures to be used. For example different USB microcontrollers (and different circuit layouts) may be used in a plurality of USB Devices — which would otherwise result in a range of different implementation-based retransmission latencies across a plurality of different device types.
  • the present invention provides a method of determining the absolute phase of a syntonised local clock of a USB Device attached to a USB network, comprising: designating a master USB device in the USB; monitoring USB data traffic with the master USB device at a detection point near the top of the USB network for a plurality of specified signals; monitoring USB data traffic with the USB Device for the specified signals; transmitting a first of the specified signals from a USB Host
  • Controller in the USB network to the USB Device starting a first timer on the master USB Device upon detection of the first signal; starting a second timer on the USB Device upon detection of the first signal; transmitting a second of the specified signals from the USB device in response to receipt of the first signal; stopping the second timer on the USB Device upon detection of the second signal to produce a second timer value; stopping the first timer on the master USB Device upon detection of the second signal to produce a first timer value; and determining a signal propagation time from the first and second timer values.
  • the method comprises determining the signal propagation time from half a difference between the first and second timer values. Furthermore, the method may comprise applying statistical methods to a plurality of such measurements or determinations of propagation time to increase the accuracy of said measurements.
  • the propagation time may arise from propagation across a plurality of USB cable segment and one or more USB Expansion Hubs.
  • the USB Device and the master USB Device may be syntonised, so that the first and second timers measure time according to substantially the same notion of time (that is, they have the same rate). This ensures that an accurate determination of the propagation time can be made from the difference in the timer values.
  • the master USB Device and the USB Device are syntonised to clock carrier signals contained within the USB data traffic and the phase of a local clock of the (or, where there are a plurality of such USB devices, each) USB Device is sychronised to the reception of the clock carrier signals.
  • the method includes the USB Device monitoring the USB data traffic at a detection point upstream of the USB device function.
  • the method includes decoding the USB data traffic with circuitry located at substantially the same detection point as the USB Device, and locking a local clock of the USB Device to periodic signal structures within the USB data traffic. This ensures that the propagation time that is measured corresponds to the propagation time of signals from a USB Host Controller (or some common point within the USB network defined by the location at which the master USB device is monitoring the USB data traffic) to the point at which the clock carrier within the USB Data Traffic is decoded by decoding circuitry provided in the USB device. In this way the absolute phase of the syntonised local clock of the USB Device can be determined with respect to the phase of the clock carrier signals within the USB Data Traffic.
  • USB devices This allows a plurality of such USB devices to be synchronised to an absolute phase that can in turn be synchronised to some other notion of time.
  • the present invention provides a method of determining the propagation time of signals across a SuperSpeed USB cable connecting a link pair having first and second members, comprising: transitioning the first member of the link pair to a Loopback state as a Loopback Master; transitioning the second member of the link pair to a Loopback state as a Loopback Slave; transmitting a signal from the first member to the second member; the first member starting a timer upon transmission of the signal; the second member receiving the signal from the first member of the link pair and responding by re-clocking and retransmitting the signal to the first member, the re-clocking delaying the retransmission by a retransmission latency; the first member receiving the signal from the second member and responding by stopping the timer to produce a timer value; and determining a propagation time from the timer value and a known or predetermined retransmission latency.
  • the method comprises determining the propagation time from half the timer value minus the retransmission latency.
  • propagation time can be determined.
  • the accuracy of determining the cable propagation time may be improved by making repeated measurements of the cable propagation time (and, for example, employing a statistical technique to obtain a value for the cable propagation time).
  • the first and second members are configured to have syntonised local clocks, and more preferably to have synchronised local clocks.
  • the method includes providing a USB Host Controller with the timer value and the retransmission latency, and calculating the cable propagation time with the USB Host Controller.
  • the invention also provides apparatuses and systems arranged to perform each of the methods of the invention described above.
  • apparatuses according to the invention can be embodied in various ways.
  • such devices could be constructed in the form of multiple components on a printed circuit or printed wiring board, on a ceramic substrate or at the semiconductor level, that is, as a single silicon (or other semiconductor material) chip.
  • Figure 1 is a schematic diagram of the dual-bus architecture of USB3 according to the background art
  • Figure 2 is a schematic diagram of a synchronised USB according to an embodiment of the present invention, containing both SuperSpeed and non-SuperSpeed USB devices
  • Figure 3 is a schematic diagram of the relative timing of periodic timing signals used for synchronisation of SuperSpeed and non-SuperSpeed USB devices of the synchronised USB of figure 2.
  • a synchronised USB according to a first embodiment of the present invention is shown schematically at 70 in figure 2, provided in a personal computer (PC) 72.
  • PC 72 includes a SuperSpeed USB Host Controller 74 that is connected to a network 76 containing a SuperSpeed USB Timing Hub 78, a SuperSpeed USB device 80 and a non-SuperSpeed USB device 82.
  • USB Host Controller 74 is connected to USB Timing Hub 78 by compound USB cable 84 comprising SuperSpeed conductors 86 and non-SuperSpeed conductors 88.
  • USB Timing Hub 78 supports attachment of both a SuperSpeed USB device 80 and non-SuperSpeed USB device 82, so both SuperSpeed conductors 86 and non-SuperSpeed conductors 88 carry signals between SuperSpeed USB Host Controller 74 and USB Timing Hub 78.
  • SuperSpeed USB device 80 is connected to USB Timing Hub 78 by SuperSpeed-compliant compound USB cable 90, comprising SuperSpeed conductors 92 and non-SuperSpeed conductors 94.
  • USB 80 is a SuperSpeed USB device
  • USB Timing Hub 78 turns off non-SuperSpeed data traffic to conductors 94, so the connection between SuperSpeed device 80 and USB Timing Hub 78 is provided by SuperSpeed conductors 92 alone.
  • Non- SuperSpeed USB device 82 is connected to USB Timing Hub 78 by SuperSpeed-compliant compound USB cable 96, comprising SuperSpeed conductors 98 and non-SuperSpeed conductors 100.
  • SuperSpeed conductors 92 (of compound USB cable 90) between USB Timing Hub 78 and SuperSpeed USB device 80 are adapted to provide a SuperSpeed synchronisation channel
  • non-SuperSpeed cable segment 100 (of compound USB cable 96) between USB Timing Hub 78 and non-SuperSpeed USB device 82 can be said to provide a non-SuperSpeed synchronisation channel.
  • SuperSpeed USB device 80 is synchronised to non-SuperSpeed USB device 82.
  • Frames in non-SuperSpeed USB traffic have a substantially constant phase relationship with the Isochronous SuperSpeed Timestamp packets.
  • Figure 3 is a schematic representation of an exemplary timing diagram at 110 of timing signal traffic through USB Timing Hub 78 of figure 2 showing the relationships between timing signals of a SuperSpeed and non-SuperSpeed synchronisation channel.
  • USB Host Controller embraces all forms of USB Host Controller, including standard USB Host controllers, USB-on-the-go Host Controllers and wireless USB Host Controllers.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

A method of synchronising the operation of a plurality of USB devices attached to a common USB Host Controller with lossless or error corrected data delivery, the method comprising: syntonising respective local clocks on the USB devices; synchronising, or phase aligning, the clocks; and opening a plurality of lossless or error corrected data pipes between the Host Controller and the USB devices.

Description

UNIVERSAL SERIAL BUS WITH LOSSLESS DATA PIPE AND PRECISION
SYNCHRONISATION LAYER
RELATED APPLICATION This application is based on and claims the benefit of the filing date of US application no. 61/179904 filed 20 May 2009, the content of which as filed is incorporated herein by reference in its entirety.
FIELD OF THE INVENTION The present invention relates to a method and apparatus for providing a synchronization and timing system, with connectivity based on revision three of the Universal Serial Bus (USB) architecture (or USB 3.0), of particular but by no means exclusive use in providing clocks, data acquisition and automation and control of test and measurement equipment, instrumentation interfaces and process control equipment, synchronized to an essentially arbitrary degree in either a local environment or in a distributed scheme.
BACKGROUND OF THE INVENTION
The USB specification up to and including revision 2.0 was intended to facilitate the interoperation of devices from different vendors in an open architecture. USB 2.0 data is encoded using differential signalling (viz. in which two wires transfer the information) in the form of the difference between the signal levels of those two wires. The USB 2.0 specification is intended as an enhancement to the PC architecture, spanning portable, desktop and home environments.
However, USB was user focussed so the USB 2.0 specification lacked a mechanism for synchronising devices to any great precision. Several proposals attempted to address this and other deficiencies. For example, US Patent No. 6,343,364 (Leydier et al.) discloses an example of frequency locking to USB traffic, which is directed toward a smart card reader. This document teaches a local, free-running clock that is compared to USB SYNC and packet ID streams; its period is updated to match this frequency, resulting in a local clock with a nominal frequency of 1.5 MHz. This provides a degree of synchronization sufficient to read smart card information into a host PC but, as this approach is directed to a smart card reader, inter-device synchronization is not addressed.
WO 2007/092997 (Foster et al.) discloses a synchronized USB device that allows the generation of accurate clock frequencies on board the LJSB device regardless of the accuracy of the clock in the Host PC. The USB SOF packet is decoded by the LJSB device, and treated as a clock carrier signal instead of acting as a clock reference.
The carrier signal, once decoded from the USB traffic, is combined with a scaling factor to generate synchronization information and hence to synthesize a local clock signal with precise control of the clock frequency. In this way, the frequency of the local clock signal can be more accurate than the somewhat ambiguous frequency of the carrier signal.
This arrangement is said to be able to produce a local clock signal to arbitrarily high frequencies, such as a clock frequency of tens of megahertz, and thus to ensure that the local clock of each device connected to a given USB is synchronized in frequency. US Application No. 10/620,769 also teaches a method and apparatus to further synchronize multiple local clocks in phase by measurement of signal propagation time from the host to each device and provision of clock phase compensation on each of the USB devices.
US Patent Application 12/279,328 (Foster et. al.) teaches synchronisation of the local clocks of a plurality of USB devices to a timebase received from another interface. In one embodiment, a USB device contains a local clock that is synchronised to an externally provided time signature across Ethernet using the IEEE-1588 protocol. In yet another embodiment the USB device's clock is synchronised to a timebase derived from a Global Positioning System (GPS) synchronised clock.
All of the above systems work within the bounds of conventional USB 2.0 and as such are limited in several areas. USB 2.0 is limited in range by the device response timeout. This is the window of time that the USB Host Controller allocates for receipt of a signal from a given USB device in response to a request from said USB Host Controller. The physical reach of USB 2.0 is therefore approximately 25 m.
The USB 3.0 specification was released in November 2008 and is also focussed on consumer applications. The USB 3.0 specification makes significant changes to the architecture of USB. In particular, the background art synchronisation schemes discussed above will not work with the new 5 Gb/s protocol (termed 'SuperSpeed USB') because it does away with the broadcast mechanism for SOF packets.
USB 3.0 defines two parallel and independent USB busses on the same connection cable. Firstly, the USB 2.0 bus remains unchanged (for backward compatibility) and offers Low Speed (1.5 Mb/s), Full Speed (12 Mb/s) and High Speed (480 Mb/s) protocols. The second bus - for 5 Gb/s traffic - provides the SuperSpeed USB. These busses operate independently, except that operation of the busses to a given USB device is mutually exclusive. That is, if a
SuperSpeed connection is possible, then the USB 2.0 bus in disconnected to that device.
The dual-bus architecture of USB 3.0 is depicted schematically at 10 in figure 1. Personal Computer 12, containing USB Host Controller 14, is connected to USB 3.0 Hub 16 by first USB 3.0-compliant cable 18; USB 3.0 device 20 is connected to a downstream port 22 of USB 3.0 Hub 16 by second USB 3.0- compliant cable 24.
USB Host Controller 14 contains both a USB 2.0 Host 26 and a SuperSpeed Host 28. These two hosts 26, 28 are independent of one another, and each host 26, 28 is capable of connecting up to 127 devices (including hubs). USB 3.0-compliant cables are compound cables, containing a USB 2.0-compliant cable and a series of shielded conductors capable of transmitting SuperSpeed signals. Hence, USB 3.0-compliant cable 18 comprises USB 2.0-compliant cable 30 and shielded conductors 32.
USB 3.0 Hub 16 contains both a USB 2.0 Hub function 34 and a SuperSpeed Hub function 36, each connected directly to its respective Host 26, 28 by compound cable 18. USB 3.0 device 20 contains both a USB 2.0 device function 38 and a SuperSpeed device function 40, each connected back to its respective hub function 34, 36 of USB 3.0 Hub 16 by compound cable 24.
At enumeration of USB 3.0 device 20, SuperSpeed Host 28 checks for the presence of a SuperSpeed device function (40). If a SuperSpeed device is found, then a connection is established. If a SuperSpeed device is not found (as in the case where only a USB 2.0 device is connected to port 22), then the - A -
USB 2.0 Host 26 checks for the presence of a USB 2.0 device function (38) at device 20. Once the Host Controller 14 determines which device function is connected, it tells the USB 3.0 Hub 16 to only enable communication for downstream port 22 corresponding to whether the USB 2.0 device function 38 or SuperSpeed device function 40 is attached. This means that only one of the two parallel busses is in operation at any one time to an end device such as USB 3.0 device 20.
Furthermore, SuperSpeed USB has a different architecture from that of the USB 2.0 bus. Very high speed communication systems consume large amounts of power owing to high bit rates. A design requirement of SuperSpeed USB was lower power consumption, to extend the battery life of user devices. This has resulted in a change from the previous broadcast design of the USB 2.0: SuperSpeed is not a broadcast bus, but rather directs communication packets to a specific node in the system and shuts down communication on idle links.
This significantly affects any extension of the synchronisation schemes of, for example, US Patent Application No. 12/279,328, whose method and apparatus for synchronising devices is based on a broadcast clock carrier signal that is delivered to each device on the bus, which is unsuitable in SuperSpeed USB.
A SuperSpeed Hub function acts as a device to the host (or upstream port) and as a host to the device (or downstream port). This means that the SuperSpeed Hub function acts to buffer and schedule transactions on its downstream ports rather than merely acting as a repeater. Similarly, the SuperSpeed Hub function does so with scheduling transmissions on the upstream port. A heavily burdened Hub function can therefore add significant non-deterministic delays in packet transmission through the system. This also precludes the use of USB 2.0 synchronisation schemes such as that of US Patent Application No. 12/279,328 from operating on SuperSpeed USB.
The crude Isochronous synchronisation of USB 2.0 has been significantly improved in the USB 3.0 specification. Opening an Isochronous communication pipe between a Host Controller and a USB device guarantees a fixed bandwidth allocation in each Service Interval for the communication pipe. The Isochronous Protocol of USB 3.0 contains a so-called Isochronous Timestamp Packet (ITP), which is sent at somewhat regular intervals to each Isochronous Endpoint and which contains a timestamp of the beginning of ITP transmission by the USB Host Physical Layer (Phy) in the time domain of the Host Controller. The Isochronous Timestamp Packet is accurate to about 25 ns. SuperSpeed USB shuts down idle links to conserve power, but links must be active in order to receive an Isochronous Timestamp Packet. The Host Controller must therefore guarantee that all links to a device are in full active mode (termed power state UO) before transmission of the Isochronous Timestamp Packet.
Unfortunately the Isochronous Timestamp packet can be delayed in propagation down the USB network. USB 3.0 also does not provide a way of determining the propagation time of packets in SuperSpeed USB and hence no way of accurately knowing the phase relationship between time domains on different USB devices. Phase differences of several hundred nanoseconds are expected to be a best case scenario with SuperSpeed USB making it impractical for instrumentation or other precision timing requirements.
US Patent No. 5,566,180 (Eidson et al.) discloses a method of synchronising clocks in which a series of devices on a communication network transmit their local time to each other and network propagation time is determined by the ensemble of messages. Further disclosures by Eidson (US Patents Nos. 6,278,710, 6,665,316, 6,741 ,952 and 7,251 ,199) extend this concept but merely work toward a synchronisation scheme in which a constant stream of synchronising messages are transferred between each of the nodes of a distributed instrument network via Ethernet. This continual messaging consumes bandwidth and limits the accuracy of the possible synchronisation to several hundred nano-seconds in a point-to-point arrangement and substantially lower accuracy (typically micro-seconds) in a conventional switched subnet.
It should be understood that the terms 'clock signals' and 'synchronisation' in this disclosure are used to refer to clock signals, trigger signals, delay compensation information and propagation time measurement messages. It should also be understood that a 'notion of time' in this disclosure is used to denote an epoch or 'real time' and can also be used to refer to the combination of a clock signal and an associated epoch. SUMMARY OF THE INVENTION
It is a general object of the present invention to enable precision synchronisation of a plurality USB devices, up to a predefined maximum, according to the USB3 Specification.
In a first broad aspect the present invention provides a method of synchronising the operation of a plurality of USB devices attached to a common USB Host Controller with lossless or error corrected data delivery, the method comprising: syntonising (or synchronising the rate of) respective local clocks on said USB devices; synchronising, or phase aligning, said clocks; and opening a plurality of lossless or error corrected data pipes between said Host Controller and said USB devices.
In a particular embodiment, the USB devices are SuperSpeed USB devices.
Thus, this approach may be described as using a variety of synchronisation methods including utilising an isochronous timestamp packet SuperSpeed synchronisation channel and a "Bulk transfer mode" data delivery method of synchronisation across either SuperSpeed or non-SuperSpeed USB.
In one embodiment, the lossless or error corrected data pipe is a Control, Bulk, Streamed Bulk or Interrupt pipe.
In one embodiment, the method comprising: delivering data across the lossless or error corrected plurality of data pipes; and timestamping or coordinating receipt or use of data by respective USB device functions in the USB devices with the clocks once synchronized.
In a certain embodiment, the method comprising: timestamping and coordinating receipt or use of data by the respective USB device functions in the USB devices with the clocks once synchronized.
The receipt of data by each of the USB device functions may comprise: receiving the data from an external interface to the respective USB device; storing the data in a local buffer or FIFO memory in the respective USB device; and transmitting the data to the USB Host Controller across the lossless or error corrected plurality of data pipes; wherein the position of the data in the FIFO corresponds to a specific time.
The method may include: receiving the data from the USB Host Controller across the lossless or error corrected plurality of data pipes; storing the data in a local buffer or FIFO memory in the respective USB device; and the respective USB Device functions using the data at a specific
(i.e. determinable, predefined or controlled) time.
In a particular embodiment, the receipt or use of data by a USB device function may comprise performing some other function based on the data at some predetermined moment in a notion of time of the USB device.
Thus the invention provides a means for synchronising a plurality of USB devices, such as audio-visual devices, whereby data is delivered in one of the error-corrected transfer modes for high quality of service. In yet another preferred embodiment a synchronisation bridge comprises a home entertainment system whereby audio and video streams are synchronised and distributed across a plurality of busses, for example SuperSpeed USB and Ethernet, most notably using Precision Time Protocol (PTP) or IEEE-1588.
In this case, audio-visual information, for example for home theatre or gaming applications, is decoded by a bridge (or may also be decoded by another component and transferred to a bridge) for delivery across a plurality of synchronised networks. In a preferred embodiment, video streams are passed across said SuperSpeed USB that is synchronised to said Ethernet for delivery of said audio streams, although other embodiments will be evident to those skilled in the art. In one embodiment, the USB devices are SuperSpeed USB devices, and the method further comprises: opening at least one Isochronous communication pipe between the Host Controller and a respective one of the USB devices; ensuring that the respective USB device is in link state UO in preparation for receiving an Isochronous Timestamp Packet (ITP); the Host Controller sending a plurality of periodic multicast Isochronous Timestamp Packets to each of the Isochronous endpoints; and the respective USB device syntonising its local clock to a time domain of the Host Controller using a timestamp contained in the periodic Isochronous Timestamp Packets as a reference time.
Thus, each of the local clocks may be syntonised using an Isochronous transfer technique. Timestamps containing the Host Controller time must be accurate to ±25 ns at the start of the Host Controller's Isochronous Timestamp Packet generation to meet the USB 3.0 standard. A simple syntonisation technique would result in a large amount of jitter in the local clock frequency so statistical techniques may be employed to reduce the jitter.
This syntonisation technique may use only Isochronous Timestamp Packets that are not flagged as having been delayed in hubs for synchronising the local clocks.
In one embodiment, the method comprises determining respective propagation times of signals from a specified point in a USB network containing said USB devices to each of said plurality of USB devices .
In one embodiment, the method comprises phase aligning the local clocks with the USB Set_lsochronous_Delay feature.
In one embodiment, the lossless or error corrected data pipes are Control, Bulk, Streamed Bulk or Interrupt pipes, or any combination thereof.
USB 3.0 Hubs are intelligent devices, receiving data from either upstream or downstream and scheduling it for transmission on the downstream or upstream ports respectively. It is therefore possible that an Isochronous Timestamp Packet may get stuck in a queue and be delayed before being re-transmitted to the downstream ports. The USB 3.0 specification requires that LJSB Hubs provide information about any excessive delay in the transfer of an Isochronous Timestamp Packet through its internal circuitry. This allows circuitry inside said plurality of Isochronous endpoints to ignore Isochronous Timestamp Packets that may have been delayed in transit from said Host Controller to any of said USB devices, which would otherwise have caused increased clock mismatch between the USB devices.
Furthermore the USB specification provides a method for determining the propagation time of Isochronous Timestamp Packets through a USB Hub resulting in increased synchronisation accuracy of said local clocks. This broad approach therefore permits the provision of a synchronised USB that delivers data across a lossless or error corrected pipe with synchronisation accuracy limited only by propagation delays in USB cables. Typically this approach would permit synchronisation of the receipt or use of data by a USB device function with an inter-device accuracy of the order of 200 ns.
The synchronisation or phase alignment of the local clock of the SuperSpeed USB device may be effected by adjusting the phase of the local clock, such as by utilising the USB device feature Set_lsochronous_Delay.
Furthermore, synchronising, or phase aligning, the notion of time of each of the plurality of local clocks may be achieved by any of the methods taught in this specification, but more particularly using the methods of either the second or third aspects (described below) or by using an external trigger signal to each USB device to synchronise the USB devices after they have been syntonised (also as described below).
According to this aspect, there is also provided a method of synchronising the use of data delivered via a plurality of USB communication pipes, comprising: opening an isochronous pipe between a USB Host Controller and a USB device; syntonising a local clock of the USB device by locking the clock to a periodic signal structure contained in the isochronous pipe; synchronising the local clock of the USB device (or creating a notion of time for the local clock) with a second clock of the USB Host Computer; opening a plurality of lossless or error corrected data pipes between a Host Controller and the plurality of attached USB devices; transferring data, time-stamped in the time domain of the second clock, across the plurality of lossless or error corrected data pipes; buffering the time-stamped data; and using the time-stamped data; wherein the data is delivered in a lossless or error corrected manner and the timestamps enable the reconstruction of a temporal data record.
Defining the notion of time may comprise resetting a counter on receipt of a specified numbered one of Stat of Frame packets, the counter being clocked by the local clock.
In one embodiment, the method comprises assembling the time-stamped data sent from the USB Host to the USB device for synchronous use by the USB device. The method may include using the time-stamped data to control an external device in a deterministic manner.
The time-stamped data sent from the USB Device to the USB Host may be a time-critical measurement record.
Also according to this aspect of the invention, there is provided a method of synchronising the operation of a plurality of USB devices requiring high data integrity with an external instrument, comprising: syntonising a respective local clock of each of the USB devices; synchronising, or phase aligning, the local clocks with a time signature received from the external instrument; opening a plurality of lossless or error corrected data pipes between a Host Controller and the plurality of attached USB devices; delivering time-stamped data across the data pipes; buffering the data; and using the data in synchrony with the notion of time of the external instrument.
In a second broad aspect, the present invention provides a method of determining the downstream propagation time of signals from a USB Host Controller across one or more USB cables and one or more USB Hubs to a SuperSpeed USB device, comprising: opening at least one Isochronous communication pipe between the Host Controller and the SuperSpeed USB device; ensuring that (i.e. placing in or checking that) the SuperSpeed
USB device is in link state UO in preparation for receiving an Isochronous Timestamp Packet (ITP); controlling the USB Host Controller to send a plurality of Isochronous Timestamp Packets (which, by their nature, are roughly periodic) across the Isochronous communication pipe, the Isochronous Timestamp
Packets containing respective first timestamps indicative of times at which the Host Controller generated the respective Isochronous Timestamp Packets; locking a local clock of the SuperSpeed USB device to information that comprises the first timestamp, derived from one or more of the Isochronous Timestamp Packets (but preferably derived from a plurality of the Isochronous Timestamp Packets for greater accuracy), the locking being in respect of frequency such that the local clock is syntonised to a timebase of the USB Host Controller and a notion of time of the local clock is substantially synchronised to a notion of time of the USB Host Controller but with a constant phase delay equal to an average downstream propagation time of the plurality of Isochronous Timestamp Packets from the USB Host Controller to the SuperSpeed USB device; the SuperSpeed USB device transmitting a plurality of signals to the USB Host Controller, each of the signals containing a second timestamp indicative of a local time in the time domain of the SuperSpeed USB device when the respective signal was generated by the SuperSpeed device; the USB Host Controller creating a third timestamp indicative of a time of reception of the respective signals from the SuperSpeed USB device; the USB Host Controller determining a time period from one or more respective time differences between corresponding second and third timestamps (averaged, for example, when plural differences are used), the time period being indicative of a sum of a downstream propagation time and an upstream propagation time; and determining the downstream propagation time from the time period (for example, as half of the time period by assuming symmetrical upstream and downstream propagation times). Thus, this method permits a determination of cable propagation time.
The signals transmitted by the SuperSpeed USB device may be transmitted across the Isochronous pipe, but alternatively across any transfer type supported by USB.
In practice, a plurality of time differences will have a distribution of values, owing to several factors. Firstly, there will be a small stochastic error in reception and timestamping of any single signal, owing to reclocking jitter in each of the USB Hub devices. More significantly, any given communication package in either upstream or downstream directions may be delayed by a hub. In the case of downstream packets, the Isochronous Timestamp Packet contains a Packet Delayed flag which is set by a hub on reclocking the Isochronous Timestamp Packet if the Hub has delayed retransmission for any reason. This allows delayed packets to be ignored from the process of synchronising the SuperSpeed USB device's local time. Upstream communication packets do not provide notification of hub delays, but hub delays are significantly larger than the stochastic errors, resulting in the distribution being substantially multi-modal. This allows delayed upstream packets to be ignored from the measurement of upstream propagation time.
According to one embodiment, the SuperSpeed USB device is a first of a plurality of the SuperSpeed USB devices attached to a common point in the USB network (such as the USB Host Controller), and the method further comprises: ensuring that the first SuperSpeed USB device is in link state UO; ensuring that the other one or more SuperSpeed USB devices are not in link state UO; ensuring that no request is made to change the link state of any links in the USB; performing propagation time measurements according to any of the propagation time measurement method of this invention described herein (including according to the second, third, fourth, fifth and sixth broad aspects); wherein no traffic other than the propagation time measurement traffic is present on the USB when measuring the propagation time to minimize delaying propagation time traffic. Thus, this embodiment reduces the uncertainty in signal propagation measurements caused by queuing of messages across the network.
This offers a significant increase in the certainty of cable propagation time measurements and therefore allows greater precision in controlling the phase of a synchronised clock of a USB device.
Some of the other one or more SuperSpeed USB devices may be unable to be synchronised according to this method, but they should still be precluded from communicating across the USB during the propagation time measurement so that the USB Hubs need not delay any signal propagation from queuing of messages.
Compliance of the USB Host Controller is very tightly controlled. Modification of such a Host Controller to allow timestamping of the reception of communication packets from SuperSpeed USB devices may be unrealistic or impractical. It is therefore desirable to measure the passage of signals at some other point in the USB network and timestamp messages accordingly at that point. Hence, it is desirable that a conventional USB Host Controller be employed, wherein there is no provision for timestamping the receipt of a communication packet.
Therefore, according to a third broad aspect, the present invention provides a method of determining the downstream propagation time of signals from a USB Host Controller to a SuperSpeed USB device in a USB network, comprising: opening one or more Isochronous communication pipes between the Host Controller and the SuperSpeed USB device; ensuring that the SuperSpeed USB device is in link state UO in preparation for receiving an Isochronous Timestamp Packet (ITP); the USB Host Controller sending a plurality of multicast periodic Isochronous Timestamp Packets across the Isochronous communication pipes, each of the Isochronous Timestamp Packets containing a respective first timestamp indicative of a local time of the USB Host Controller when the USB Host Controller generated each of the plurality of Isochronous Timestamp Packets; locking a local clock of the SuperSpeed USB device to information including the first timestamp derived from one or more of the Isochronous Timestamp Packets (ITP), the locking being in respect of frequency and in phase with reception of the Isochronous Timestamp Packets, such that the local clock is syntonised to a timebase of the USB Host Controller and a notion of time of the local clock is substantially synchronised to a notion of time of the Host Controller, but with a constant phase delay equal to the average downstream propagation time of the Isochronous Timestamp Packets from the USB Host Controller to the SuperSpeed USB device; and designating a master USB device in the USB network; locking a measurement clock local to the Master USB device by any of the methods of this invention described herein, so that the measurement clock is syntonised and synchronised to the notion of time of the USB Host Controller; the SuperSpeed USB device transmitting a plurality of signals to the USB Host Controller, each of the signals containing respective second timestamps indicative of a local time in a time domain of the SuperSpeed USB device when the respective signal was generated by the SuperSpeed USB device; monitoring SuperSpeed USB traffic with the master USB device for the signals from the SuperSpeed USB device; the master USB Device creating respective third timestamps indicative of respective times of detection of the signals from the SuperSpeed USB device; the master USB device decoding one or more respective second timestamps from the SuperSpeed USB traffic corresponding to the respective signals for which the respective third timestamps were generated; the master USB Device determining a time period from one or more respective time differences between corresponding second and third timestamps (averaged, for example, when plural differences are used), the time period being indicative of a sum of a downstream propagation time and an upstream propagation time; and determining the downstream propagation time from the time period (for example, as half of the time period by assuming symmetrical upstream and downstream propagation times).
Thus, cable propagation time may be determined.
The measurement clock may be syntonised and synchronised to the notion of time of the USB Host Controller by a SuperSpeed USB synchronisation channel, a non-SuperSpeed USB synchronisation channel or any other suitable means including reception of a timing signal from an external source.
In one embodiment, the master LJSB device is attached near the top of the USB network.
The method may include statistically analyzing a plurality determinations of propagation time to improve accuracy of measurement of the downstream propagation time.
The method of this embodiment allows synchronisation, or phase adjustment, of the notion of time of the SuperSpeed USB device to match the notion of time of the master USB Device, and by reference back to the notion of time of the
USB Host Controller if desired.
According to a fourth broad aspect, the present invention provides an apparatus for determining the relative downstream propagation time of signals from a USB
Host Controller to a SuperSpeed USB device, comprising: a SuperSpeed-capable upstream port adapted to provide a SuperSpeed upstream connection and a non-SuperSpeed upstream connection; a plurality of SuperSpeed-capable downstream ports; first circuitry, adapted to perform a USB3 hub function, the USB3 hub function providing connectivity to the upstream port and to the downstream ports in accordance with the USB3 specification for both SuperSpeed and non-
SuperSpeed connections; second circuitry, adapted to perform one or more SuperSpeed or non-SuperSpeed USB device functions, and connected to one or more of the downstream ports; third circuitry, adapted to decode synchronisation information
(comprising, for example, one or more periodic signal structures or timestamps) from either the SuperSpeed or the non-SuperSpeed upstream connection; a local measurement clock synchronised to a notion of time of the
USB Host Controller with the third circuitry (which, as will be appreciated by those in the art, results in the synchronisation containing a constant but generally unknown phase offset from the true notion of time of the USB Host
Controller); and fourth circuitry, adapted to monitor SuperSpeed USB traffic for a timestamp signal with a first timestamp received at one of the downstream ports; fifth circuitry, adapted to create a second timestamp corresponding to detection of the timestamp signal; sixth circuitry, adapted to decode the first timestamp from the SuperSpeed USB traffic corresponding to a data packet or packets for which the second timestamp was generated; and seventh circuitry or a computational mechanism, adapted to determine a time difference between said first and second timestamps in the time domain of the local measurement clock.
Thus, cable propagation time may be determined.
The synchronisation information may also comprise a trigger signal, a clock signal and clock phase information.
According to a fifth broad aspect, the present invention provides a method of synchronising the operation of a plurality of SuperSpeed USB devices with respective local clocks in a USB network, comprising: syntonising the local clocks of the SuperSpeed USB devices; synchronising, or phase aligning, respective notions of time of the local clocks with the method of either the second or third broad aspects of the present invention; and maintaining syntonisation of the local clocks, and thereby a synchronous notion of time, by any of the methods of the present invention described herein; whereby the SuperSpeed USB devices are synchronised and adapted to enable coordinated operation of a plurality of functions on the SuperSpeed USB devices, synchronised to a common time domain.
Thus, the plurality of SuperSpeed USB devices may be synchronised.
In one embodiment, the SuperSpeed USB devices are synchronised to a notion of time and timebase of a USB Host Controller of the USB network.
Furthermore, the method may be employed with any communication bus whereby syntonisation information is readily available at substantially all of the time. In this case, any communication bus such as a synchronous form of Ethernet, PXI, PXI-express, USB, wireless communication means or any other communication means can deliver syntonising signals to a plurality of attached devices and only synchronise the notion of time of each of the plurality of devices only once.
In a further embodiment the LJSB devices are synchronised to a common notion of time by a common external trigger signal that is applied synchronously to each syntonised USB device.
In a sixth broad aspect, the present invention provides a method of determining the propagation time of signals across a SuperSpeed USB cable connecting a link pair having first and second members, comprising: transitioning the first member of the link pair to a Loopback state as a Loopback Master; transitioning the second member of the link pair to a Loopback state as a Loopback Slave; transmitting a signal from the first member to the second member; the first member starting a first timer upon transmission of the signal; the second member receiving the signal from the first member and responding by starting a second timer; the second member re-clocking and retransmitting the signal to the first member; the second member stopping the second timer upon retransmission of the signal to produce a second timer value; the first member receiving the signal from the second member and responding by stopping the first timer to produce a first timer value; and determining a cable propagation time from the first and second timer values.
In one particular embodiment, the method comprises determining the cable propagation time from half a difference between the first and second timer values.
Thus, cable propagation time can be determined. In one embodiment, the method includes making plural determinations of the cable propagation time.
Thus, the accuracy of the determination of the cable propagation time may be improved by making repeated measurements of the cable propagation time and using statistical means — averaging or otherwise — to determine a final value.
In one embodiment, the first member and the second member each has a respective syntonised local clock. In another embodiment, the first member and the second member each has a respective synchronised local clock.
The method may include the first and second members transmitting their respective first and second timer values to a Host Controller for calculation of the cable propagation time.
In yet a further embodiment, the present invention provides a method to improve the accuracy of determining the cable propagation time for signals from a USB Host Controller (or designated point within a USB tree) to a given USB Device. The system of Foster ef a/. (US Patent Application 10/620769) determines propagation time by measuring the round trip time of messages from the USB Host (or said designated point) to the USB Device and back. This introduces an uncertainty in the measurement due to the indeterminate latency in the USB Device message response time. Furthermore, the system of Foster ef a/, allows compensation of clock phase only to an arbitrary absolute phase across the USB network and does not seek to provide an absolute clock phase for each synchronised USB device.
The present invention therefore provides a method of minimizing uncertainty in signal propagation time measurements and thereby allowing each of the attached USB devices to be synchronised to an absolute clock phase. This method also allows different USB device architectures to be used. For example different USB microcontrollers (and different circuit layouts) may be used in a plurality of USB Devices — which would otherwise result in a range of different implementation-based retransmission latencies across a plurality of different device types. According to an embodiment of this aspect, therefore, the present invention provides a method of determining the absolute phase of a syntonised local clock of a USB Device attached to a USB network, comprising: designating a master USB device in the USB; monitoring USB data traffic with the master USB device at a detection point near the top of the USB network for a plurality of specified signals; monitoring USB data traffic with the USB Device for the specified signals; transmitting a first of the specified signals from a USB Host
Controller in the USB network to the USB Device; starting a first timer on the master USB Device upon detection of the first signal; starting a second timer on the USB Device upon detection of the first signal; transmitting a second of the specified signals from the USB device in response to receipt of the first signal; stopping the second timer on the USB Device upon detection of the second signal to produce a second timer value; stopping the first timer on the master USB Device upon detection of the second signal to produce a first timer value; and determining a signal propagation time from the first and second timer values.
In one particular embodiment, the method comprises determining the signal propagation time from half a difference between the first and second timer values. Furthermore, the method may comprise applying statistical methods to a plurality of such measurements or determinations of propagation time to increase the accuracy of said measurements.
According to this embodiment, the propagation time may arise from propagation across a plurality of USB cable segment and one or more USB Expansion Hubs.
The USB Device and the master USB Device may be syntonised, so that the first and second timers measure time according to substantially the same notion of time (that is, they have the same rate). This ensures that an accurate determination of the propagation time can be made from the difference in the timer values. In one particular embodiment, the master USB Device and the USB Device are syntonised to clock carrier signals contained within the USB data traffic and the phase of a local clock of the (or, where there are a plurality of such USB devices, each) USB Device is sychronised to the reception of the clock carrier signals.
In one embodiment, the method includes the USB Device monitoring the USB data traffic at a detection point upstream of the USB device function. Preferably the method includes decoding the USB data traffic with circuitry located at substantially the same detection point as the USB Device, and locking a local clock of the USB Device to periodic signal structures within the USB data traffic. This ensures that the propagation time that is measured corresponds to the propagation time of signals from a USB Host Controller (or some common point within the USB network defined by the location at which the master USB device is monitoring the USB data traffic) to the point at which the clock carrier within the USB Data Traffic is decoded by decoding circuitry provided in the USB device. In this way the absolute phase of the syntonised local clock of the USB Device can be determined with respect to the phase of the clock carrier signals within the USB Data Traffic.
This allows a plurality of such USB devices to be synchronised to an absolute phase that can in turn be synchronised to some other notion of time.
According to a seventh broad aspect, the present invention provides a method of determining the propagation time of signals across a SuperSpeed USB cable connecting a link pair having first and second members, comprising: transitioning the first member of the link pair to a Loopback state as a Loopback Master; transitioning the second member of the link pair to a Loopback state as a Loopback Slave; transmitting a signal from the first member to the second member; the first member starting a timer upon transmission of the signal; the second member receiving the signal from the first member of the link pair and responding by re-clocking and retransmitting the signal to the first member, the re-clocking delaying the retransmission by a retransmission latency; the first member receiving the signal from the second member and responding by stopping the timer to produce a timer value; and determining a propagation time from the timer value and a known or predetermined retransmission latency.
In one particular embodiment, the method comprises determining the propagation time from half the timer value minus the retransmission latency.
Thus, propagation time can be determined.
The accuracy of determining the cable propagation time may be improved by making repeated measurements of the cable propagation time (and, for example, employing a statistical technique to obtain a value for the cable propagation time).
In one embodiment, the first and second members are configured to have syntonised local clocks, and more preferably to have synchronised local clocks.
In one embodiment, the method includes providing a USB Host Controller with the timer value and the retransmission latency, and calculating the cable propagation time with the USB Host Controller.
It should be noted that all the various features of each of the above aspects of the invention can be combined as suitable and desired.
Furthermore, it should be noted that the invention also provides apparatuses and systems arranged to perform each of the methods of the invention described above.
In addition, apparatuses according to the invention can be embodied in various ways. For example, such devices could be constructed in the form of multiple components on a printed circuit or printed wiring board, on a ceramic substrate or at the semiconductor level, that is, as a single silicon (or other semiconductor material) chip.
BRIEF DESCRIPTION OF THE DRAWINGS
In order that the present invention may be more clearly ascertained, embodiments will now be described, by way of example, with reference to the accompanying drawing, in which:
Figure 1 is a schematic diagram of the dual-bus architecture of USB3 according to the background art; Figure 2 is a schematic diagram of a synchronised USB according to an embodiment of the present invention, containing both SuperSpeed and non-SuperSpeed USB devices; and
Figure 3 is a schematic diagram of the relative timing of periodic timing signals used for synchronisation of SuperSpeed and non-SuperSpeed USB devices of the synchronised USB of figure 2.
DETAILED DESCRIPTION OF THE INVENTION
A synchronised USB according to a first embodiment of the present invention is shown schematically at 70 in figure 2, provided in a personal computer (PC) 72. PC 72 includes a SuperSpeed USB Host Controller 74 that is connected to a network 76 containing a SuperSpeed USB Timing Hub 78, a SuperSpeed USB device 80 and a non-SuperSpeed USB device 82. USB Host Controller 74 is connected to USB Timing Hub 78 by compound USB cable 84 comprising SuperSpeed conductors 86 and non-SuperSpeed conductors 88.
USB Timing Hub 78 supports attachment of both a SuperSpeed USB device 80 and non-SuperSpeed USB device 82, so both SuperSpeed conductors 86 and non-SuperSpeed conductors 88 carry signals between SuperSpeed USB Host Controller 74 and USB Timing Hub 78.
SuperSpeed USB device 80 is connected to USB Timing Hub 78 by SuperSpeed-compliant compound USB cable 90, comprising SuperSpeed conductors 92 and non-SuperSpeed conductors 94. As device USB 80 is a SuperSpeed USB device, USB Timing Hub 78 turns off non-SuperSpeed data traffic to conductors 94, so the connection between SuperSpeed device 80 and USB Timing Hub 78 is provided by SuperSpeed conductors 92 alone. Non- SuperSpeed USB device 82 is connected to USB Timing Hub 78 by SuperSpeed-compliant compound USB cable 96, comprising SuperSpeed conductors 98 and non-SuperSpeed conductors 100. There are no signals across the SuperSpeed USB conductors 98 of cable 96 while a data connection is being made to Non-SuperSpeed USB device 82 by the non-SuperSpeed conductors 100. In this example, SuperSpeed conductors 92 (of compound USB cable 90) between USB Timing Hub 78 and SuperSpeed USB device 80 are adapted to provide a SuperSpeed synchronisation channel, whilst non-SuperSpeed cable segment 100 (of compound USB cable 96) between USB Timing Hub 78 and non-SuperSpeed USB device 82 can be said to provide a non-SuperSpeed synchronisation channel.
According to this embodiment, SuperSpeed USB device 80 is synchronised to non-SuperSpeed USB device 82. Frames in non-SuperSpeed USB traffic have a substantially constant phase relationship with the Isochronous SuperSpeed Timestamp packets. Figure 3 is a schematic representation of an exemplary timing diagram at 110 of timing signal traffic through USB Timing Hub 78 of figure 2 showing the relationships between timing signals of a SuperSpeed and non-SuperSpeed synchronisation channel.
Modifications within the scope of the invention may be readily effected by those skilled in the art. It is to be understood, therefore, that this invention is not limited to the particular embodiments described by way of example hereinabove and that combinations of the various embodiments described herein are readily apparent to those skilled in the art.
In the preceding description of the invention and in the claims that follow, except where the context requires otherwise owing to express language or necessary implication, the expression "Host Controller" embraces all forms of USB Host Controller, including standard USB Host controllers, USB-on-the-go Host Controllers and wireless USB Host Controllers.
In the preceding description of the invention and in the claims that follow, except where the context requires otherwise owing to express language or necessary implication, the word "comprise" or variations such as "comprises" or "comprising" is used in an inclusive sense, that is, to specify the presence of the stated features but not to preclude the presence or addition of further features in various embodiments of the invention.
Further, any reference herein to background art is not intended to imply that such background art forms or formed a part of the common general knowledge in any country.

Claims

CLAIMS:
1. A method of synchronising the operation of a plurality of USB devices attached to a common USB Host Controller with lossless or error corrected data delivery, the method comprising: syntonising respective local clocks on said USB devices; synchronising, or phase aligning, said clocks; and opening a plurality of lossless or error corrected data pipes between said Host Controller and said USB devices.
2. A method as claimed in claim 1 , wherein said USB devices are SuperSpeed USB devices.
3. A method as claimed in either claim 1 or 2, comprising: delivering data across said lossless or error corrected plurality of data pipes; and timestamping or coordinating receipt or use of data by respective USB device functions in said USB devices with said clocks once synchronized.
4. A method as claimed in either claim 1 or 2, comprising: timestamping and coordinating receipt or use of data by said respective USB device functions in said USB devices with said clocks once synchronized.
5. A method as claimed in either claim 3 or 4, wherein said receipt of data by each of said USB device functions comprises: receiving said data from an external interface to said respective USB device; storing said data in a local buffer or FIFO memory in said respective USB device; and transmitting said data to said USB Host Controller across said lossless or error corrected plurality of data pipes; wherein the position of said data in said FIFO corresponds to a specific time.
6. A method as claimed in either claim 3 or 4, including: receiving said data from said USB Host Controller across said lossless or error corrected plurality of data pipes; storing said data in a local buffer or FIFO memory in said respective USB device; and said respective USB Device functions using said data at a specific time.
7. A method as claimed in either claim 3 or 4, wherein said receipt or use of said data by said respective USB device functions comprises performing some other function based on the data at some predetermined moment in a notion of time of the respective USB device.
8. A method as claimed in any one of claim 1 to 7, further comprising: opening at least one Isochronous communication pipe between said Host Controller and a respective one of said USB devices; ensuring that the respective USB device is in link state UO in preparation for receiving an Isochronous Timestamp Packet (ITP); said Host Controller sending a plurality of periodic multicast Isochronous Timestamp Packets to each of the Isochronous endpoints; and the respective USB device syntonising its local clock to a time domain of the Host Controller using a timestamp contained in the periodic Isochronous Timestamp Packets as a reference time.
9. A method as claimed in any one of claims 1 to 8, comprising reducing jitter in said local clock with at least one statistical technique.
10. A method as claimed in any one of claims 1 to 9, including using only Isochronous Timestamp Packets that are not flagged as having been delayed in hubs for synchronising said local clocks.
1 1. A method as claimed in any one of claims 1 to 10, comprising determining respective propagation times of signals from a specified point in a USB network containing said USB devices to each of said plurality of USB devices .
12. A method as claimed in any one of claims 1 to 11 , including phase aligning said local clocks with the USB Set_lsochronous_Delay feature.
13. A method as claimed in any one of claims 1 to 12, wherein said lossless or error corrected data pipes are Control, Bulk, Streamed Bulk or Interrupt pipes, or any combination thereof.
14. A method of synchronising the use of data delivered via a plurality of USB communication pipes, comprising: opening an isochronous pipe between a USB Host Controller and a USB device; syntonising a local clock of said USB device by locking said clock to a periodic signal structure contained in said isochronous pipe; synchronising said local clock of said USB device (or creating a notion of time for said local clock) with a second clock of said USB Host Computer; opening a plurality of lossless or error corrected data pipes between a Host Controller and said plurality of attached USB devices; transferring data, time-stamped in the time domain of said second clock, across said plurality of lossless or error corrected data pipes; buffering said time-stamped data; and using said time-stamped data; wherein said data is delivered in a lossless or error corrected manner and said timestamps enable the reconstruction of a temporal data record.
15. A method as claimed in claim 14, wherein defining said notion of time comprises resetting a counter on receipt of a specified numbered one of Stat of Frame packets, said counter being clocked by said local clock.
16. A method as claimed in either claim 14 or 15, comprising assembling said time-stamped data sent from said USB Host to said USB device for synchronous use by said USB device.
17. A method as claimed in claim 16, comprising using said time-stamped data to control an external device in a deterministic manner.
18. A method as claimed in either claim 14 or 15, wherein said time-stamped data sent from said USB Device to said USB Host is a time-critical measurement record.
19. A method of synchronising the operation of a plurality of USB devices requiring high data integrity with an external instrument, comprising: syntonising a respective local clock of each of said USB devices; synchronising, or phase aligning, said local clocks with a time signature received from said external instrument; opening a plurality of lossless or error corrected data pipes between a Host Controller and said plurality of attached USB devices; delivering time-stamped data across said data pipes; buffering said data; and using said data in synchrony with the notion of time of said external instrument.
PCT/AU2010/000607 2009-05-20 2010-05-20 Universal serial bus with lossless data pipe and precision synchronisation layer WO2010132946A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17990409P 2009-05-20 2009-05-20
US61/179,904 2009-05-20

Publications (1)

Publication Number Publication Date
WO2010132946A1 true WO2010132946A1 (en) 2010-11-25

Family

ID=43125664

Family Applications (10)

Application Number Title Priority Date Filing Date
PCT/AU2010/000603 WO2010132942A1 (en) 2009-05-20 2010-05-20 Method and apparatus for synchronising the local time of a plurality of instruments
PCT/AU2010/000607 WO2010132946A1 (en) 2009-05-20 2010-05-20 Universal serial bus with lossless data pipe and precision synchronisation layer
PCT/AU2010/000601 WO2010132940A1 (en) 2009-05-20 2010-05-20 High density, low jitter, synchronous usb expansion
PCT/AU2010/000608 WO2010132947A1 (en) 2009-05-20 2010-05-20 Synchronisation and trigger distribution across instrumentation networks
PCT/AU2010/000606 WO2010132945A1 (en) 2009-05-20 2010-05-20 Precision synchronisation architecture for superspeed universal serial bus devices
PCT/AU2010/000605 WO2010132944A1 (en) 2009-05-20 2010-05-20 Synchronous network of superspeed and non-superspeed usb devices
PCT/AU2010/000599 WO2010132938A1 (en) 2009-05-20 2010-05-20 Compound universal serial bus architecture providing precision synchronisation to an external timebase
PCT/AU2010/000600 WO2010132939A1 (en) 2009-05-20 2010-05-20 Superspeed link pair propagation time measurement and phase compensation
PCT/AU2010/000604 WO2010132943A1 (en) 2009-05-20 2010-05-20 Jitter reduction method and apparatus for distributed synchronised clock architecture
PCT/AU2010/000602 WO2010132941A1 (en) 2009-05-20 2010-05-20 Universal time-based extensions for instrumentation

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/AU2010/000603 WO2010132942A1 (en) 2009-05-20 2010-05-20 Method and apparatus for synchronising the local time of a plurality of instruments

Family Applications After (8)

Application Number Title Priority Date Filing Date
PCT/AU2010/000601 WO2010132940A1 (en) 2009-05-20 2010-05-20 High density, low jitter, synchronous usb expansion
PCT/AU2010/000608 WO2010132947A1 (en) 2009-05-20 2010-05-20 Synchronisation and trigger distribution across instrumentation networks
PCT/AU2010/000606 WO2010132945A1 (en) 2009-05-20 2010-05-20 Precision synchronisation architecture for superspeed universal serial bus devices
PCT/AU2010/000605 WO2010132944A1 (en) 2009-05-20 2010-05-20 Synchronous network of superspeed and non-superspeed usb devices
PCT/AU2010/000599 WO2010132938A1 (en) 2009-05-20 2010-05-20 Compound universal serial bus architecture providing precision synchronisation to an external timebase
PCT/AU2010/000600 WO2010132939A1 (en) 2009-05-20 2010-05-20 Superspeed link pair propagation time measurement and phase compensation
PCT/AU2010/000604 WO2010132943A1 (en) 2009-05-20 2010-05-20 Jitter reduction method and apparatus for distributed synchronised clock architecture
PCT/AU2010/000602 WO2010132941A1 (en) 2009-05-20 2010-05-20 Universal time-based extensions for instrumentation

Country Status (7)

Country Link
US (11) US20120066417A1 (en)
EP (10) EP2433198B1 (en)
JP (4) JP2012527660A (en)
CN (3) CN102439532A (en)
AU (7) AU2010251767A1 (en)
CA (3) CA2761377A1 (en)
WO (10) WO2010132942A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013181690A1 (en) * 2012-06-03 2013-12-12 Chronologic Pty Ltd Synchronisation of a system of distributed computers

Families Citing this family (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1150596B (en) * 1960-01-15 1963-06-20 Wilmot Breeden Ltd Closure for vehicle doors
AU2010251767A1 (en) * 2009-05-20 2011-12-01 Chronologic Pty. Ltd. Compound universal serial bus architecture providing precision synchronisation to an external timebase
US8135883B2 (en) * 2010-01-19 2012-03-13 Standard Microsystems Corporation USB hub apparatus supporting multiple high speed devices and a single super speed device
US8428045B2 (en) * 2010-03-16 2013-04-23 Harman International Industries, Incorporated Media clock recovery
US8645601B2 (en) * 2010-06-11 2014-02-04 Smsc Holdings S.A.R.L. Methods and systems for performing serial data communication between a host device and a connected device
US8484387B2 (en) * 2010-06-30 2013-07-09 Silicon Image, Inc. Detection of cable connections for electronic devices
US8719475B2 (en) * 2010-07-13 2014-05-06 Broadcom Corporation Method and system for utilizing low power superspeed inter-chip (LP-SSIC) communications
US8560754B2 (en) * 2010-09-17 2013-10-15 Lsi Corporation Fully integrated, low area universal serial bus device transceiver
EP2434360B1 (en) * 2010-09-22 2020-01-08 Siemens Aktiengesellschaft Motion control system
US8364870B2 (en) * 2010-09-30 2013-01-29 Cypress Semiconductor Corporation USB port connected to multiple USB compliant devices
JP5269047B2 (en) * 2010-11-29 2013-08-21 シャープ株式会社 Electronic equipment system, electronic equipment and connection equipment
US8825925B1 (en) * 2011-02-14 2014-09-02 Cypress Semiconductor Corporation Systems and methods for super speed packet transfer
CN102221860B (en) * 2011-06-14 2012-09-12 浙江红苹果电子有限公司 Method and device for infinite signal cascade of back board signals among chassises
TWI539289B (en) * 2011-06-16 2016-06-21 Eever Technology Inc Usb 3.0 host with low power consumption and method for reducing power consumption of a usb 3.0 host
US8799532B2 (en) 2011-07-07 2014-08-05 Smsc Holdings S.A.R.L. High speed USB hub with full speed to high speed transaction translator
US8996747B2 (en) * 2011-09-29 2015-03-31 Cypress Semiconductor Corporation Methods and physical computer-readable storage media for initiating re-enumeration of USB 3.0 compatible devices
CN102955585A (en) * 2011-08-24 2013-03-06 鸿富锦精密工业(深圳)有限公司 Mouse
US8843664B2 (en) 2011-09-29 2014-09-23 Cypress Semiconductor Corporation Re-enumeration of USB 3.0 compatible devices
JP2013090006A (en) * 2011-10-13 2013-05-13 Nikon Corp Electronic apparatus and program
US8898354B2 (en) * 2011-12-15 2014-11-25 Icron Technologies Corporation Methods and devices for synchronizing to a remotely generated time base
US9590411B2 (en) 2011-12-15 2017-03-07 Schweitzer Engineering Laboratories, Inc. Systems and methods for time synchronization of IEDs via radio link
US9697159B2 (en) * 2011-12-27 2017-07-04 Intel Corporation Multi-protocol I/O interconnect time synchronization
JP5763519B2 (en) * 2011-12-28 2015-08-12 ルネサスエレクトロニクス株式会社 USB hub controller, USB host controller, and system
TWI482026B (en) * 2012-02-07 2015-04-21 Etron Technology Inc Low power consumption usb 3.0 host and method for reducing power consumption of a usb 3.0 host
US20130254440A1 (en) * 2012-03-20 2013-09-26 Icron Technologies Corporation Devices and methods for transmitting usb termination signals over extension media
WO2013165416A1 (en) * 2012-05-02 2013-11-07 Intel Corporation Configuring a remote m-phy
JP5970958B2 (en) * 2012-05-22 2016-08-17 富士通株式会社 Information processing apparatus, delay difference measurement method, and delay difference measurement program
US9087158B2 (en) * 2012-06-30 2015-07-21 Intel Corporation Explicit control message signaling
US20140019777A1 (en) * 2012-07-11 2014-01-16 Tsun-Te Shih Power data communication architecture
CN103577365A (en) * 2012-07-19 2014-02-12 财团法人工业技术研究院 Portable electronic device
US9709680B2 (en) 2012-09-08 2017-07-18 Schweitzer Engineering Laboratories, Inc. Quality of precision time sources
US9599719B2 (en) 2012-10-19 2017-03-21 Schweitzer Engineering Laboratories, Inc. Detection of manipulated satellite time signals
US9400330B2 (en) 2012-10-19 2016-07-26 Schweitzer Engineering Laboratories, Inc. Manipulation resilient time distribution network
WO2014062924A1 (en) 2012-10-19 2014-04-24 Schweitzer Engineering Laboratories, Inc. Time distribution device with multi-band antenna
ES2552829B1 (en) 2012-10-19 2017-03-23 Schweitzer Engineering Laboratories, Inc. Time Distribution Switch
KR20140065074A (en) * 2012-11-21 2014-05-29 삼성전자주식회사 Mobile device and usb hub
TWI497306B (en) * 2012-11-29 2015-08-21 Faraday Tech Corp Usb super speed hub and associated traffic managing method
US9709682B2 (en) 2013-05-06 2017-07-18 Schweitzer Engineering Laboratories, Inc. Multi-constellation GNSS integrity check for detection of time signal manipulation
US9759816B2 (en) 2013-01-11 2017-09-12 Schweitzer Engineering Laboratories, Inc. Multi-constellation GNSS integrity check for detection of time signal manipulation
US20150370747A1 (en) * 2013-01-25 2015-12-24 Hewlett Packard Development Company, L.P. Usb controllers coupled to usb ports
KR20140106184A (en) * 2013-02-26 2014-09-03 삼성전자주식회사 Cable, mobile terminal for connecting thereof and operating method thereof
US20140244852A1 (en) * 2013-02-27 2014-08-28 Ralink Technology Corp. Method of Reducing Mutual Interference between Universal Serial Bus (USB) data transmission and wireless data transmission
US9236039B2 (en) * 2013-03-04 2016-01-12 Empire Technology Development Llc Virtual instrument playing scheme
JP2014217039A (en) * 2013-04-30 2014-11-17 富士通株式会社 Transmission device and synchronization control method
US9083503B2 (en) 2013-05-02 2015-07-14 Schweitzer Engineering Laboratories, Inc. Synchronized clock event report
CN103309397B (en) * 2013-06-17 2015-11-18 杭州锐达数字技术有限公司 Based on the synchronous sampling method of the data acquisition equipment of USB
US9319100B2 (en) 2013-08-12 2016-04-19 Schweitzer Engineering Laboratories, Inc. Delay compensation for variable cable length
CN104426025B (en) * 2013-09-03 2018-04-17 鸿富锦精密工业(深圳)有限公司 Electronic device connects system
US11025345B2 (en) 2013-09-19 2021-06-01 Radius Universal Llc Hybrid cable providing data transmission through fiber optic cable and low voltage power over copper wire
US10277330B2 (en) 2013-09-19 2019-04-30 Radius Universal Llc Fiber optic communications and power network
US10855381B2 (en) * 2013-09-19 2020-12-01 Radius Universal Llc Fiber optic communications and power network
US9133019B2 (en) * 2013-12-03 2015-09-15 Barry John McCleland Sensor probe and related systems and methods
CN104750649B (en) * 2013-12-31 2017-09-29 中核控制系统工程有限公司 The synchronous time sequence control method of open topological structure bus
US9606955B2 (en) 2014-02-10 2017-03-28 Intel Corporation Embedded universal serial bus solutions
US9270442B2 (en) 2014-04-29 2016-02-23 Schweitzer Engineering Laboratories, Inc. Time signal propagation delay correction
US9811488B2 (en) * 2014-04-29 2017-11-07 Mcci Corporation Apparatus and methods for dynamic role switching among USB hosts and devices
US10834160B2 (en) * 2014-05-04 2020-11-10 Valens Semiconductor Ltd. Admission control while maintaining latency variations of existing sessions within their limits
US9425652B2 (en) 2014-06-16 2016-08-23 Schweitzer Engineering Laboratories, Inc. Adaptive holdover timing error estimation and correction
CN104133801A (en) * 2014-06-18 2014-11-05 长芯盛(武汉)科技有限公司 Data transmission device and data transmission method
TWI509418B (en) * 2014-06-30 2015-11-21 Chant Sincere Co Ltd A data transfer system and method of controlling the same
CN104156036A (en) * 2014-07-08 2014-11-19 北京中科泛华测控技术有限公司 Multi-board-card synchronous interconnecting method, master board card and slave board cards
JP6458388B2 (en) * 2014-07-30 2019-01-30 ブラザー工業株式会社 Reading device, control method thereof, and computer program
US10579574B2 (en) 2014-09-30 2020-03-03 Keysight Technologies, Inc. Instrumentation chassis with high speed bridge board
US9813173B2 (en) 2014-10-06 2017-11-07 Schweitzer Engineering Laboratories, Inc. Time signal verification and distribution
US9710406B2 (en) * 2014-12-15 2017-07-18 Intel Corporation Data transmission using PCIe protocol via USB port
KR101585063B1 (en) 2014-12-22 2016-01-13 포항공과대학교 산학협력단 A device PHY for serial data communication without an external clock signal
US20160344661A1 (en) * 2015-05-18 2016-11-24 Justin T. Esgar System and method for linking external computers to a server
CN105512071B (en) * 2015-12-07 2018-04-03 上海兆芯集成电路有限公司 High speed interface host-side controller
CN105550134B (en) * 2015-12-07 2018-04-03 上海兆芯集成电路有限公司 High speed interface host-side controller
CN106909198B (en) * 2015-12-22 2020-11-06 华硕电脑股份有限公司 External device, electronic device and electronic system
US10375108B2 (en) 2015-12-30 2019-08-06 Schweitzer Engineering Laboratories, Inc. Time signal manipulation and spoofing detection based on a latency of a communication system
JP2017163204A (en) * 2016-03-07 2017-09-14 APRESIA Systems株式会社 Communication apparatus
US10095653B2 (en) * 2016-04-02 2018-10-09 Intel Corporation Apparatuses, systems, and methods for accurately measuring packet propagation delays through USB retimers
US10503684B2 (en) 2016-07-01 2019-12-10 Intel Corporation Multiple uplink port devices
US10527732B2 (en) 2017-02-09 2020-01-07 Schweitzer Engineering Laboratories, Inc. Verification of time sources
JP6897307B2 (en) * 2017-05-19 2021-06-30 セイコーエプソン株式会社 Circuit equipment, electronic devices, cable harnesses and data transfer methods
US20180376034A1 (en) * 2017-06-22 2018-12-27 Christie Digital Systems Usa, Inc. Atomic clock based synchronization for image devices
US20190025872A1 (en) * 2017-07-18 2019-01-24 Qualcomm Incorporated Usb device with clock domain correlation
US11592884B2 (en) * 2018-01-25 2023-02-28 Intel Corporation Power management of discrete communication port components
US10896106B2 (en) * 2018-05-10 2021-01-19 Teradyne, Inc. Bus synchronization system that aggregates status
EP3791279A4 (en) * 2018-05-11 2022-01-26 Cigent Technology, Inc. Method and system for improved data control and access
US11630424B2 (en) 2018-07-13 2023-04-18 Schweitzer Engineering Laboratories, Inc. Time signal manipulation detection using remotely managed time
US10713185B2 (en) * 2018-07-16 2020-07-14 Logitech Europe S.A. Wireless communication with peripheral device
US10819727B2 (en) 2018-10-15 2020-10-27 Schweitzer Engineering Laboratories, Inc. Detecting and deterring network attacks
CN109855798A (en) * 2018-12-09 2019-06-07 北京航天计量测试技术研究所 A kind of portable pressure in-line calibration device based on PXI bussing technique
US10912104B2 (en) 2019-02-01 2021-02-02 Schweitzer Engineering Laboratories, Inc. Interleaved, static time division multiple access (TDMA) for minimizing power usage in delay-sensitive applications
CN110018977A (en) * 2019-03-20 2019-07-16 芯启源(上海)半导体科技有限公司 Infringement recognition methods, system, terminal and medium based on usb protocol
US10873402B2 (en) 2019-04-30 2020-12-22 Corning Research & Development Corporation Methods and active optical cable assemblies for providing a reset signal at a peripheral end
US10884973B2 (en) 2019-05-31 2021-01-05 Microsoft Technology Licensing, Llc Synchronization of audio across multiple devices
US11075534B2 (en) * 2019-10-12 2021-07-27 Hynetek Semiconductor Co., Ltd. USB type-C interface circuit and charging method thereof, USB device
US11126220B2 (en) * 2020-01-29 2021-09-21 Dell Products L.P. System and method for time synchronization between information handling systems
US11170800B2 (en) 2020-02-27 2021-11-09 Microsoft Technology Licensing, Llc Adjusting user experience for multiuser sessions based on vocal-characteristic models
US20220327088A1 (en) * 2021-04-12 2022-10-13 Icron Technologies Corporation Predicting free buffer space in a usb extension environment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040088445A1 (en) * 2002-07-17 2004-05-06 Weigold Adam Mark Synchronized multichannel universal serial bus
WO2008138053A1 (en) * 2007-05-15 2008-11-20 Fiberbyte Pty Ltd Usb based synchronization and timing system
WO2008138052A1 (en) * 2007-05-15 2008-11-20 Chronologic Pty Ltd Method and system for reducing triggering latency in universal serial bus data acquisition

Family Cites Families (131)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4757460A (en) * 1985-06-14 1988-07-12 Zenith Electronics Corporation Communications network with individualized access delays
GB2242800B (en) * 1990-04-03 1993-11-24 Sony Corp Digital phase detector arrangements
JPH05161181A (en) * 1991-12-10 1993-06-25 Nec Corp Time synchronization system
US5553302A (en) * 1993-12-30 1996-09-03 Unisys Corporation Serial I/O channel having independent and asynchronous facilities with sequence recognition, frame recognition, and frame receiving mechanism for receiving control and user defined data
US5832310A (en) * 1993-12-30 1998-11-03 Unisys Corporation Serial I/O channel having dependent and synchronous sources of control data and user defined data
EP0683577A3 (en) * 1994-05-20 1998-09-09 Siemens Aktiengesellschaft Forwarding at high bit rate data streams via data outputs of a device with low internal data processing rate
US5566180A (en) 1994-12-21 1996-10-15 Hewlett-Packard Company Method for recognizing events and synchronizing clocks
US6219628B1 (en) * 1997-08-18 2001-04-17 National Instruments Corporation System and method for configuring an instrument to perform measurement functions utilizing conversion of graphical programs into hardware implementations
JP3189774B2 (en) * 1998-01-28 2001-07-16 日本電気株式会社 Bit synchronization circuit
FI106285B (en) * 1998-02-17 2000-12-29 Nokia Networks Oy Measurement reporting in a telecommunication system
US6064679A (en) 1998-05-01 2000-05-16 Emulex Corporation Hub port without jitter transfer
US6278710B1 (en) 1998-09-10 2001-08-21 Agilent Technologies, Inc. Enhancements to time synchronization in distributed systems
US6665316B1 (en) 1998-09-29 2003-12-16 Agilent Technologies, Inc. Organization of time synchronization in a distributed system
US6092210A (en) * 1998-10-14 2000-07-18 Cypress Semiconductor Corp. Device and method for synchronizing the clocks of interconnected universal serial buses
US8073985B1 (en) * 2004-02-12 2011-12-06 Super Talent Electronics, Inc. Backward compatible extended USB plug and receptacle with dual personality
US6636912B2 (en) * 1999-10-07 2003-10-21 Intel Corporation Method and apparatus for mode selection in a computer system
US6496895B1 (en) * 1999-11-01 2002-12-17 Intel Corporation Method and apparatus for intializing a hub interface
JP3479248B2 (en) * 1999-12-17 2003-12-15 日本電気株式会社 ATM transmission test equipment
JP2001177570A (en) * 1999-12-17 2001-06-29 Mitsubishi Electric Corp Communication network system, and slave unit, master unit, repeater and synchronization controlling method in communication network system
US6946920B1 (en) * 2000-02-23 2005-09-20 Cypress Semiconductor Corp. Circuit for locking an oscillator to a data stream
US6297705B1 (en) * 2000-02-23 2001-10-02 Cypress Semiconductor Corp. Circuit for locking an oscillator to a data stream
US6407641B1 (en) * 2000-02-23 2002-06-18 Cypress Semiconductor Corp. Auto-locking oscillator for data communications
JP3536792B2 (en) * 2000-02-28 2004-06-14 ヤマハ株式会社 Synchronous control device and synchronous control method
US7080160B2 (en) * 2000-04-27 2006-07-18 Qosmetrics, Inc. Method for creating accurate time-stamped frames sent between computers via a network
WO2001088668A2 (en) * 2000-05-18 2001-11-22 Brix Networks, Inc. Hardware time stamping and registration of packetized data method and system
US6680970B1 (en) * 2000-05-23 2004-01-20 Hewlett-Packard Development Company, L.P. Statistical methods and systems for data rate detection for multi-speed embedded clock serial receivers
JP2002007307A (en) * 2000-06-23 2002-01-11 Fuji Photo Film Co Ltd Device and method for controlling equipment
US6343364B1 (en) 2000-07-13 2002-01-29 Schlumberger Malco Inc. Method and device for local clock generation using universal serial bus downstream received signals DP and DM
US6748039B1 (en) * 2000-08-11 2004-06-08 Advanced Micro Devices, Inc. System and method for synchronizing a skip pattern and initializing a clock forwarding interface in a multiple-clock system
DE10041772C2 (en) * 2000-08-25 2002-07-11 Infineon Technologies Ag Clock generator, especially for USB devices
US7093151B1 (en) * 2000-09-22 2006-08-15 Cypress Semiconductor Corp. Circuit and method for providing a precise clock for data communications
KR100405023B1 (en) * 2000-12-05 2003-11-07 옵티시스 주식회사 Optical communication interface module for universal serial bus
US6760772B2 (en) * 2000-12-15 2004-07-06 Qualcomm, Inc. Generating and implementing a communication protocol and interface for high data rate signal transfer
KR100392558B1 (en) 2001-05-14 2003-08-21 주식회사 성진씨앤씨 Pc-based digital video recorder system with a multiple of usb cameras
US6975618B1 (en) * 2001-06-26 2005-12-13 Hewlett-Packard Development Company, L.P. Receiver and correlator used to determine position of wireless device
US7478006B2 (en) * 2001-08-14 2009-01-13 National Instruments Corporation Controlling modular measurement cartridges that convey interface information with cartridge controllers
US7165005B2 (en) * 2001-08-14 2007-01-16 National Instruments Corporation Measurement module interface protocol database and registration system
US6823283B2 (en) * 2001-08-14 2004-11-23 National Instruments Corporation Measurement system including a programmable hardware element and measurement modules that convey interface information
US7542867B2 (en) * 2001-08-14 2009-06-02 National Instruments Corporation Measurement system with modular measurement modules that convey interface information
US7080274B2 (en) * 2001-08-23 2006-07-18 Xerox Corporation System architecture and method for synchronization of real-time clocks in a document processing system
US7251199B2 (en) 2001-12-24 2007-07-31 Agilent Technologies, Inc. Distributed system time synchronization including a timing signal path
US6741952B2 (en) 2002-02-15 2004-05-25 Agilent Technologies, Inc. Instrument timing using synchronized clocks
GB2385684A (en) * 2002-02-22 2003-08-27 Sony Uk Ltd Frequency synchronisation of clocks
JP2003316736A (en) * 2002-04-19 2003-11-07 Oki Electric Ind Co Ltd Usb circuit and data structure
US7206327B2 (en) * 2002-05-17 2007-04-17 Broadcom Corporation Method and circuit for insertion of time stamp into real time data
US7395366B1 (en) * 2002-09-27 2008-07-01 Cypress Semiconductor Corp. System, method, and apparatus for connecting USB peripherals at extended distances from a host computer
US7269217B2 (en) 2002-10-04 2007-09-11 Intersil Americas Inc. PWM controller with integrated PLL
DE10262079A1 (en) * 2002-12-23 2004-11-18 Infineon Technologies Ag Method and device for extracting a clock frequency on which a data stream is based
US7120813B2 (en) 2003-01-28 2006-10-10 Robert Antoine Leydier Method and apparatus for clock synthesis using universal serial bus downstream received signals
JP4377603B2 (en) * 2003-03-26 2009-12-02 Okiセミコンダクタ株式会社 Bus communication system and communication control method thereof
JP3909704B2 (en) * 2003-04-04 2007-04-25 ソニー株式会社 Editing system
US7506179B2 (en) * 2003-04-11 2009-03-17 Zilker Labs, Inc. Method and apparatus for improved DC power delivery management and configuration
US7339861B2 (en) * 2003-04-21 2008-03-04 Matsushita Electric Industrial Co., Ltd. PLL clock generator, optical disc drive and method for controlling PLL clock generator
JP4373267B2 (en) * 2003-07-09 2009-11-25 株式会社ルネサステクノロジ Spread spectrum clock generator and integrated circuit device using the same
US7145438B2 (en) * 2003-07-24 2006-12-05 Hunt Technologies, Inc. Endpoint event processing system
US20050108600A1 (en) * 2003-11-19 2005-05-19 Infineon Technologies Ag Process and device for testing a serializer circuit arrangement and process and device for testing a deserializer circuit arrangement
CN1954526B (en) * 2004-02-05 2012-08-01 皇家飞利浦电子股份有限公司 Method and apparatus for synchronization over 802.3AF
JP2005239393A (en) * 2004-02-27 2005-09-08 Kyocera Mita Corp Image forming device
US7456699B2 (en) 2004-03-22 2008-11-25 Mobius Microsystems, Inc. Frequency controller for a monolithic clock generator and timing/frequency reference
US7319345B2 (en) * 2004-05-18 2008-01-15 Rambus Inc. Wide-range multi-phase clock generator
US7020727B2 (en) * 2004-05-27 2006-03-28 Motorola, Inc. Full-span switched fabric carrier module and method
US6978332B1 (en) * 2004-07-02 2005-12-20 Motorola, Inc. VXS multi-service platform system with external switched fabric link
US20060165132A1 (en) * 2004-11-15 2006-07-27 Emin Chou Computer peripheral interface
US7710965B2 (en) * 2004-11-23 2010-05-04 Broadlogic Network Technologies Inc. Method and system for multi-program clock recovery and timestamp correction
US7602820B2 (en) * 2005-02-01 2009-10-13 Time Warner Cable Inc. Apparatus and methods for multi-stage multiplexing in a network
US7835773B2 (en) * 2005-03-23 2010-11-16 Kyocera Corporation Systems and methods for adjustable audio operation in a mobile communication device
CN100487983C (en) 2005-04-13 2009-05-13 台均科技(深圳)有限公司 USB data audio-signal multiplexing transmitting line
US7480126B2 (en) * 2005-04-27 2009-01-20 National Instruments Corporation Protection and voltage monitoring circuit
US7366939B2 (en) * 2005-08-03 2008-04-29 Advantest Corporation Providing precise timing control between multiple standardized test instrumentation chassis
JP4510097B2 (en) * 2006-01-11 2010-07-21 パナソニック株式会社 Clock generation circuit
US7830874B2 (en) * 2006-02-03 2010-11-09 Itron, Inc. Versatile radio packeting for automatic meter reading systems
US7610175B2 (en) * 2006-02-06 2009-10-27 Agilent Technologies, Inc. Timestamping signal monitor device
JP2007215039A (en) * 2006-02-10 2007-08-23 Ricoh Co Ltd Frequency synthesizer, communication device, and frequency synthesizing method
EP2784621A3 (en) 2006-02-15 2014-11-12 Chronologic Pty Ltd Distributed synchronization and timing system
JP2007251228A (en) * 2006-03-13 2007-09-27 Toshiba Corp Voltage-controlled oscillator, operating current adjusting device, and operation current adjustment method of the voltage-controlled oscillator
US7242590B1 (en) * 2006-03-15 2007-07-10 Agilent Technologies, Inc. Electronic instrument system with multiple-configuration instrument modules
US20070217170A1 (en) * 2006-03-15 2007-09-20 Yeap Boon L Multiple configuration stackable instrument modules
US20070217169A1 (en) * 2006-03-15 2007-09-20 Yeap Boon L Clamshell housing for instrument modules
US7509445B2 (en) * 2006-04-12 2009-03-24 National Instruments Corporation Adapting a plurality of measurement cartridges using cartridge controllers
US8660152B2 (en) 2006-09-25 2014-02-25 Futurewei Technologies, Inc. Multi-frame network clock synchronization
JP5054993B2 (en) * 2007-02-09 2012-10-24 富士通株式会社 Conversion device, method, program, recording medium, and communication system for synchronous / asynchronous communication network
TW200841182A (en) * 2007-04-11 2008-10-16 Asustek Comp Inc Multimedia extendable module and computer device thereof
WO2008146427A1 (en) * 2007-05-28 2008-12-04 Nihon University Propagation delay time measuring system
US7778283B2 (en) * 2007-06-04 2010-08-17 Agilent Technologies, Inc. Timing bridge device
US7573342B2 (en) * 2007-07-20 2009-08-11 Infineon Technologies Ag VCO pre-compensation
US8451819B2 (en) * 2008-03-26 2013-05-28 Qualcomm Incorporated Methods and apparatus for uplink frame synchronization in a subscriber station
US8239581B2 (en) * 2008-05-15 2012-08-07 Seagate Technology Llc Data storage device compatible with multiple interconnect standards
US8250266B2 (en) * 2008-05-15 2012-08-21 Seagate Technology Llc Data storage device compatible with multiple interconnect standards
US8341303B2 (en) * 2008-06-30 2012-12-25 Intel Corporation Asymmetrical universal serial bus communications
US8239158B2 (en) * 2008-08-04 2012-08-07 National Instruments Corporation Synchronizing a loop performed by a measurement device with a measurement and control loop performed by a processor of a host computer
US8143936B2 (en) * 2008-09-12 2012-03-27 Intel Mobile Communications GmbH Application of control signal and forward body-bias signal to an active device
TWI374350B (en) * 2008-11-11 2012-10-11 Genesys Logic Inc Serial bus clock frequency calibration system and method
US9104821B2 (en) * 2008-12-31 2015-08-11 Intel Corporation Universal serial bus host to host communications
TW201027351A (en) * 2009-01-08 2010-07-16 Innostor Technology Corp Signal converter of all-in-one USB connector
US8407508B2 (en) * 2009-02-18 2013-03-26 Genesys Logic, Inc. Serial bus clock frequency calibration system and method thereof
AU2010251767A1 (en) * 2009-05-20 2011-12-01 Chronologic Pty. Ltd. Compound universal serial bus architecture providing precision synchronisation to an external timebase
US8112571B1 (en) * 2009-07-23 2012-02-07 Cypress Semiconductor Corporation Signal connection device and method
US9197023B2 (en) * 2009-09-14 2015-11-24 Cadence Design Systems, Inc. Apparatus for enabling simultaneous content streaming and power charging of handheld devices
US8151018B2 (en) * 2009-09-25 2012-04-03 Analogix Semiconductor, Inc. Dual-mode data transfer of uncompressed multimedia contents or data communications
US8719112B2 (en) * 2009-11-24 2014-05-06 Microsoft Corporation Invocation of accessory-specific user experience
US7865629B1 (en) * 2009-11-24 2011-01-04 Microsoft Corporation Configurable connector for system-level communication
TWI460572B (en) * 2009-12-04 2014-11-11 Via Tech Inc Clock generator and usb module
US8510494B2 (en) * 2009-12-24 2013-08-13 St-Ericsson Sa USB 3.0 support in mobile platform with USB 2.0 interface
US8135883B2 (en) * 2010-01-19 2012-03-13 Standard Microsystems Corporation USB hub apparatus supporting multiple high speed devices and a single super speed device
US8516290B1 (en) * 2010-02-02 2013-08-20 Smsc Holdings S.A.R.L. Clocking scheme for bridge system
US8428045B2 (en) * 2010-03-16 2013-04-23 Harman International Industries, Incorporated Media clock recovery
JP5226722B2 (en) * 2010-03-26 2013-07-03 株式会社バッファロー Storage device
JP5153822B2 (en) * 2010-04-28 2013-02-27 株式会社バッファロー Peripheral device and method for connecting host device and peripheral device
TWI417703B (en) * 2010-07-22 2013-12-01 Genesys Logic Inc Clock-synchronized method for universal serial bus (usb)
US8560754B2 (en) * 2010-09-17 2013-10-15 Lsi Corporation Fully integrated, low area universal serial bus device transceiver
CN101968779A (en) * 2010-09-30 2011-02-09 威盛电子股份有限公司 Universal serial bus transmission transaction translator and microframe synchronous method
US8364870B2 (en) * 2010-09-30 2013-01-29 Cypress Semiconductor Corporation USB port connected to multiple USB compliant devices
US8656205B2 (en) * 2010-10-04 2014-02-18 Jmicron Technology Corp. Generating reference clocks in USB device by selecting control signal to oscillator form plural calibration units
JP5917069B2 (en) * 2010-10-20 2016-05-11 キヤノン株式会社 COMMUNICATION CONTROL DEVICE AND ITS CONTROL METHOD
US8452910B1 (en) * 2010-10-21 2013-05-28 Total Phase, Inc. Capture of USB packets into separate USB protocol streams based on different USB protocol specifications
US9009380B2 (en) * 2010-12-02 2015-04-14 Via Technologies, Inc. USB transaction translator with SOF timer and USB transaction translation method for periodically sending SOF packet
US8572306B2 (en) * 2010-12-02 2013-10-29 Via Technologies, Inc. USB transaction translator and USB transaction translation method
US8825925B1 (en) * 2011-02-14 2014-09-02 Cypress Semiconductor Corporation Systems and methods for super speed packet transfer
US8718088B2 (en) * 2011-05-13 2014-05-06 SiFotonics Technologies Co, Ltd. Signal converter of consumer electronics connection protocols
CN102955585A (en) * 2011-08-24 2013-03-06 鸿富锦精密工业(深圳)有限公司 Mouse
JP5936498B2 (en) * 2012-01-16 2016-06-22 ルネサスエレクトロニクス株式会社 USB3.0 device and control method
US20130191568A1 (en) * 2012-01-23 2013-07-25 Qualcomm Incorporated Operating m-phy based communications over universal serial bus (usb) interface, and related cables, connectors, systems and methods
TWI443494B (en) * 2012-04-16 2014-07-01 M31 Technology Corp Clock Generation Method and System Using Pulse Wave Identification
CN103294636A (en) * 2012-05-09 2013-09-11 威盛电子股份有限公司 Concentrator control chip
US8930585B2 (en) * 2012-05-29 2015-01-06 Mediatek Inc. USB host controller and scheduling methods thereof
US8959272B2 (en) * 2012-07-06 2015-02-17 Blackberry Limited Interposer and intelligent multiplexer to provide a plurality of peripherial buses
KR20140065074A (en) * 2012-11-21 2014-05-29 삼성전자주식회사 Mobile device and usb hub
TWI598738B (en) * 2012-12-24 2017-09-11 宏碁股份有限公司 An interface extension device
CN203102268U (en) * 2013-01-30 2013-07-31 青岛汉泰电子有限公司 Control bus with trigger synchronization function and clock synchronization function
US8954623B2 (en) * 2013-04-23 2015-02-10 Mediatek Inc. Universal Serial Bus devices supporting super speed and non-super speed connections for communication with a host device and methods using the same
KR20150009239A (en) * 2013-07-16 2015-01-26 삼성전자주식회사 Internal interface of image forming apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040088445A1 (en) * 2002-07-17 2004-05-06 Weigold Adam Mark Synchronized multichannel universal serial bus
WO2008138053A1 (en) * 2007-05-15 2008-11-20 Fiberbyte Pty Ltd Usb based synchronization and timing system
WO2008138052A1 (en) * 2007-05-15 2008-11-20 Chronologic Pty Ltd Method and system for reducing triggering latency in universal serial bus data acquisition

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Universal Serial Bus 3.0 Specification, Revision 1.0", 12 November 2008 (2008-11-12), Retrieved from the Internet <URL:http://www.usb.org/developers/docs/usb_30_spec_060910.zip> [retrieved on 20100616] *
"Universal Serial Bus Specification, Revision 2.0", 27 April 2000 (2000-04-27), Retrieved from the Internet <URL:http://www.usb.org/developers/docs/usb_20_052510.zip> [retrieved on 20100616] *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013181690A1 (en) * 2012-06-03 2013-12-12 Chronologic Pty Ltd Synchronisation of a system of distributed computers

Also Published As

Publication number Publication date
US20120131374A1 (en) 2012-05-24
WO2010132941A1 (en) 2010-11-25
US8984321B2 (en) 2015-03-17
EP2432754A4 (en) 2013-01-23
US20120066537A1 (en) 2012-03-15
EP2433198A4 (en) 2013-01-23
EP2432754B1 (en) 2014-07-16
US8667316B2 (en) 2014-03-04
EP2433196A1 (en) 2012-03-28
EP2433193B1 (en) 2013-11-27
US20120060045A1 (en) 2012-03-08
EP2433193A4 (en) 2013-01-02
WO2010132943A1 (en) 2010-11-25
JP2012527659A (en) 2012-11-08
JP5575229B2 (en) 2014-08-20
EP2433194A4 (en) 2012-12-26
EP2432754A1 (en) 2012-03-28
CA2761363A1 (en) 2010-11-25
EP2433197A4 (en) 2013-01-02
WO2010132938A1 (en) 2010-11-25
EP2433196B1 (en) 2014-07-16
EP2433195A1 (en) 2012-03-28
EP2433195A4 (en) 2012-12-26
US20120066417A1 (en) 2012-03-15
US20140229756A1 (en) 2014-08-14
WO2010132940A1 (en) 2010-11-25
JP2012527658A (en) 2012-11-08
JP5636043B2 (en) 2014-12-03
AU2010251767A1 (en) 2011-12-01
WO2010132945A1 (en) 2010-11-25
AU2010251769A1 (en) 2011-12-01
AU2010251769B2 (en) 2014-12-18
CN102428423A (en) 2012-04-25
EP2433194A1 (en) 2012-03-28
US8745431B2 (en) 2014-06-03
EP2790110A1 (en) 2014-10-15
US20120059964A1 (en) 2012-03-08
WO2010132944A1 (en) 2010-11-25
AU2010251773A1 (en) 2011-12-01
CA2761377A1 (en) 2010-11-25
EP2433196A4 (en) 2012-12-26
AU2010251776A1 (en) 2011-12-01
CN102439531A (en) 2012-05-02
EP2433195B1 (en) 2014-01-22
WO2010132942A1 (en) 2010-11-25
EP2433198A1 (en) 2012-03-28
AU2010251774A1 (en) 2011-12-01
EP2433197A1 (en) 2012-03-28
JP2014197421A (en) 2014-10-16
US20120066418A1 (en) 2012-03-15
EP2433193A1 (en) 2012-03-28
WO2010132947A1 (en) 2010-11-25
WO2010132939A1 (en) 2010-11-25
JP2012527660A (en) 2012-11-08
EP2433198B1 (en) 2014-09-03
US20140298072A1 (en) 2014-10-02
AU2010251772A1 (en) 2011-12-01
EP2433194B1 (en) 2014-08-13
EP2433197B1 (en) 2014-08-13
US20120059965A1 (en) 2012-03-08
US20150039791A1 (en) 2015-02-05
US8626980B2 (en) 2014-01-07
AU2010251771A1 (en) 2011-12-01
EP2800004A1 (en) 2014-11-05
US20150089098A1 (en) 2015-03-26
CA2761379A1 (en) 2010-11-25
US8793524B2 (en) 2014-07-29
EP2800005A1 (en) 2014-11-05
CN102439532A (en) 2012-05-02

Similar Documents

Publication Publication Date Title
WO2010132946A1 (en) Universal serial bus with lossless data pipe and precision synchronisation layer
JP5231255B2 (en) Distributed synchronization and timing system
AU2013204702A1 (en) Compound universal serial bus architecture providing precision synchronisation to an external timebase

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10777235

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10777235

Country of ref document: EP

Kind code of ref document: A1