Fault-tolerant digital communications channel having synchronized unidirectional links
AssigneeApplied Micro Circuits Corporation
InventorsNick Kucharewski, Yair Hadas
Life of this patent
Estimating the term…
Abstract
A method of synchronizing or initiating channel lock in a serial loop formed by an initializing transceiver and subject transceivers disclosed. Should a transceiver in the serial loop detect that its receiving serial channel is desynchronized, it sends an unlock signal to the next transceiver in the loop. The unlock signal guarantees that the next transceiver's receiving serial channel will be desynchronized. Only the initializing transceiver may initiate a channel lock sequence.
Claims14
A method for communicating between a plurality of transceivers, the transceivers being arranged in a serial communication loop such that an initializing transceiver transmits to a first transceiver, and so on until a last transceiver in the loop transmits to the initializing transceiver, wherein each transceiver has a corresponding transmitting serial channel and a receiving serial channel, the transmitting serial channel for each transceiver being the receiving serial channel for a next transceiver in the loop, comprising:
- establishing duplex communication in the loop such that each receiving serial channel is synchronized with respect to its transceiver, and wherein this synchronization is unstable;
- detecting a loss of synchronization in the receiving serial channel of a transceiver in the loop;
- transmitting a desynchronizing signal from the detecting transceiver over its transmitting serial channel to the next transceiver in the loop;
- wherein reception of the desynchronizing signal by the next transceiver causes its receiving serial channel to be desynchronized, whereby a loss of synchronization in a receiving serial channel of a given transceiver in the loop is propagated to each the remaining receiving serial channel in the loop;
- transmitting a first synchronizing signal from the initializing transceiver over its transmitting serial channel to the first transceiver if the initializing transceiver detects a loss of synchronization in its receiving serial channel;
- starting a timeout period;
- if the first synchronizing signal is received at the first transceiver, transmitting a second synchronizing signal from the first transceiver over its transmitting serial channel;
- if the initializing transceiver receives the second synchronizing signal before the timeout period expires, resuming duplex communication such that each transceiver's receiving serial channel is synchronized;
- and
- if the initializing transceiver does not receive the second synchronizing signal before the timeout period expires, transmitting the desynchronizing signal from the initializing transceiver to the first transceiver, whereby the serial communication loop is protected from contention between multiple initializing transceivers.
A system for communication, comprising:
- a plurality of transceivers arranged in a serial communication loop from an initializing transceiver to a last transceiver, each transceiver coupled to a corresponding serializer/deserializer (SERDES), each SERDES having a transmitting serial channel and a receiving serial channel arranged so that the transmitting serial channel for the initializing transceiver's SERDES is the receiving serial channel for a first transceiver's SERDES, and so on such that the transmitting serial channel for the last transceiver's SERDES is the receiving serial channel for the initializing transceiver's SERDES;
- and wherein each transceiver is configured to detect a loss of synchronization in its SERDES' receiving serial channel and, in response to such a detection, command its SERDES to transmit a desynchronizing signal over its transmitting serial channel to a next SERDES in the loop, wherein reception of the desynchronizing signal by a transceiver's SERDES causes its receiving serial channel to be desynchronized, whereby a loss of synchronization in a receiving serial channel of a given transceiver's SERDES is propagated to each receiving serial channel in the loop;
- and wherein the initializing transceiver is configured to, in response to detecting a loss of synchronization in its receiving serial channel, command its SERDES to transmit a first synchronizing signal over its transmitting serial channel to the first transceiver's SERDES and start a timeout clock to establish a timeout period;
- and wherein the first transceiver is configured to, if the first synchronizing signal is received at the first transceiver's SERDES, command its SERDES to transmit a second synchronizing signal over its transmitting serial channel to a next SERDES in the loop, the initializing transceiver being configured to, if its SERDES does not receive the second synchronizing signal before the timeout period expires, command its SERDES to transmit the desynchronizing signal over its transmitting serial channel to the first transceiver's SERDES, whereby the serial communication loop is protected from contention between multiple initializing transceivers.
Dependencies are inferred from the claim text.