Patent ID: 8285897
Filing Date: 2012-10-09
Classification: G06F,H04J,H04L

Abstract:
1. A multichannel universal serial bus system comprising: (i) circuitry configured to observe USB traffic in a USB tree that comprises a USB host and a plurality of USB devices, (ii) circuitry configured to measure respective round trip times of a plurality of transactions, each of said transactions comprising a transmission of a data packet from said USB host to one of said plurality of USB devices and a transmission of a corresponding response data packet from said one of said plurality of USB devices to said USB host such that each of said round trip times comprises a time between dispatch by said USB host of a data packet and receipt by said USB host of a corresponding response data packet, said corresponding response data packet being generated by said one of said plurality of USB devices in response to receiving said data packet, said circuitry being configured to measure respective round trip times for each of the plurality of USB devices, (iii) circuitry configured to determine relative phases of respective local clocks of said USB devices with respect to a local clock of a reference USB device selected from said plurality of USB devices, each relative phase corresponding to each one of said plurality of USB devices other than the reference USB device, each relative phase being determined by calculating half the differences between said respective round trip times corresponding to said one of said plurality of USB devices and a round trip time corresponding to said reference USB device, (iv) circuitry configured to synchronize said USB devices in phase by adjusting phases of respective local clocks of at least some of said USB devices by phase offsets determined to result in respective local clocks of said plurality of USB devices in said USB tree being substantially in phase, and (v) circuitry configured to transmit a predetermined trigger command to one or more of said plurality of USB devices by said USB host in order to have said one or more of said plurality of USB devices in receipt of said trigger command decode said trigger command and start or stop executing one or more processes on a next change of state of respective local clocks of said one or more of said plurality of USB devices.