← Back to Patent Explorer
US5400340A Expired / Lapsed US ⏱️ 0.0 years remaining

End of packet detector and resynchronizer for serial data buses

Assignee: Apple Inc
•
Filing: 1993-03-04
•
Granted: 1995-03-21
•
Expires: 2013-03-04
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An interface device for a point-to-point connected serial bus in which bus clock and bus data transmissions on the bus cease between transmissions of packets of data, includes a low latency resynchronizing circuit and an end of packet detector which is independent of control data within the packet. The resynchronizer is based on an interface which receives bus data and bus clock from a transmission of a packet on the bus. A circular input buffer stores bus data received from the bus in data locations indicated by an input pointer in response to the bus clock. An input pointer generator supplies the input pointers to the input buffer in a circular sequence, beginning in a particular location during a first bus clock in a packet. An output selector supplies bus data from one of the N data locations in the input buffer to the selector output in response to an output pointer and in response to the local clock. An output pointer generator supplies the output pointer in a circular sequence beginning in the particular location in a local clock cycle after the first bus clock in the packet. The end of packet is detected using a comparator coupled to the input pointer generator and the output pointer generator. When the input pointer and the output pointer match, the end of the data packet is indicated. The overrun only occurs after the bus clock has stopped at the end of the packet which stops the output pointer generator.

Inventors

  • 👤 Daniel L. Hillman
  • 👤 Michael Teener

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 21:07
CPC Classifications
H; H04; H04L; H04L12/00; H04L12/28; H04L12/40; H04L12/403; H04J; H04J3/00; H04J3/02; H04J3/06; H04J3/062; H04J3/0632; H04L7/00; H04L7/0008; H04L7/0012; H04L7/02; H04L7/033; H04L7/0337; H04L7/0338

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 303 words
An interface device for a point to point connected serial bus in which bus clock and bus data transmissions on the bus cease between transmission of packets of data, comprising: a local clock source to supply a local clock; means, coupled to the bus and receiving the local clock, for resynchronizing data on the bus with the local clock, including; means, connected to the bus, for receiving bus data and bus clock from a transmission of a packet on the bus; an input buffer, coupled to the means for receiving, having N data locations to store bus data received from the bus in a data location indicated by an input pointer in response to the bus clock; an input pointer generator, coupled to the means for receiving and the input buffer, to supply the input pointer to the input buffer indicating one of the N data locations in a circular sequence for storage of bus data in response to the bus clock beginning in a particular location during a first bus clock in a packet; an output selector, having a selector output and N inputs coupled to the N data locations in the input buffer, to supply bus data from one of the N data locations in the input buffer to the selector output in response to an output pointer; and an output pointer generator, coupled to the means for receiving and the local clock source, to supply an output pointer indicating one of the N data locations in a circular sequence for output of bus data in response to the local clock beginning in the particular location in a local clock cycle after the first bus clock in the packet; and means, coupled to the bus, for detecting an end of a packet of data independent of control data in the packet.
Claim 2
Dependent Claim 303 words
An interface device for a point to point connected serial bus in which bus clock and bus data transmissions on the bus cease between transmission of packets of data, comprising: a local clock source to supply a local clock; means, coupled to the bus and receiving the local clock, for resynchronizing data on the bus with the local clock, including; means, connected to the bus, for receiving bus data and bus clock from a transmission of a packet on the bus; an input buffer, coupled to the means for receiving, having N data locations to store bus data received from the bus in a data location indicated by an input pointer in response to the bus clock; an input pointer generator, coupled to the means for receiving and the input buffer, to supply the input pointer to the input buffer indicating one of the N data locations in a circular sequence for storage of bus data in response to the bus clock beginning in a particular location during a first bus clock in a packet; an output selector, having a selector output and N inputs coupled to the N data locations in the input buffer, to supply bus data from one of the N data locations in the input buffer to the selector output in response to an output pointer; and an output pointer generator, coupled to the means for receiving and the local clock source, to supply an output pointer indicating one of the N data locations in a circular sequence for output of bus data in response to the local clock beginning in the particular location in a local clock cycle after the first bus clock in the packet; and means, coupled to the bus, for detecting an end of a packet of data independent of control data in the packet.
Claim 3
Dependent Claim 37 words
The interface device of claim 1, further including: means, coupled to the means for resynchronizing, for transmitting resynchronized data on the bus or accepting resynchronized data for local processing in response to control data in the packet.
Claim 4
Dependent Claim 36 words
The interface device of claim 2, further including: means, coupled to the means for resynchronizing, for detecting errors in a packet of resynchronized data accepted for local processing in response to control data in the packet.
Claim 5
Dependent Claim 49 words
The interface device of claim 1, wherein the means for detecting an end of a packet includes: means, coupled to the input pointer generator an the output pointer generator, for indicating an end of a packet in response to a match of the input pointer and the output pointer.
Claim 6
Dependent Claim 372 words
An interface device for a point to point connected serial bus in which bus clock and bus data transmissions on the bus cease between transmission of packets of data, comprising: a local clock source to supply a local clock; means, coupled to the bus and receiving the local clock, for resynchronizing data on the bus with the local clock, including means, connected to the bus, for receiving bus data and bus clock from a transmission of a packet on the bus; an input buffer, coupled to the means for receiving, having N data locations to store bus data received from the bus in a data location indicated by an input pointer in response to the bus clock; an input pointer generator, coupled to the means for receiving and the input buffer, to supply the input pointer to the input buffer indicating one of the N data locations in a circular sequence for storage of bus data in response to the bus clock beginning in a particular location during a first bus clock in a packet; an output selector, having a selector output and N inputs coupled to the N data locations in the input buffer, to supply bus data from one of the N data locations in the input buffer to the selector output in response to an output pointer; and an output pointer generator, coupled to the means for receiving and the local clock source, to supply an output pointer indicating one of the N data locations in a circular sequence for output of bus data in response to the local clock beginning in the particular location in a local clock cycle after the first bus clock in the packet; means, coupled to the means for resynchronizing, for transmitting resynchronized data on the bus or accepting resynchronized data for local processing in response to control data in the packet; means, coupled to the means for resynchronizing, for detecting an end of a packet of data independent of control data in the packet; and means, coupled to the means for resynchronizing and the means for detecting an end of a packet, for detecting errors in a packet of resynchronized data accepted for local processing in response to control data in the packet.
Claim 7
Dependent Claim 372 words
An interface device for a point to point connected serial bus in which bus clock and bus data transmissions on the bus cease between transmission of packets of data, comprising: a local clock source to supply a local clock; means, coupled to the bus and receiving the local clock, for resynchronizing data on the bus with the local clock, including means, connected to the bus, for receiving bus data and bus clock from a transmission of a packet on the bus; an input buffer, coupled to the means for receiving, having N data locations to store bus data received from the bus in a data location indicated by an input pointer in response to the bus clock; an input pointer generator, coupled to the means for receiving and the input buffer, to supply the input pointer to the input buffer indicating one of the N data locations in a circular sequence for storage of bus data in response to the bus clock beginning in a particular location during a first bus clock in a packet; an output selector, having a selector output and N inputs coupled to the N data locations in the input buffer, to supply bus data from one of the N data locations in the input buffer to the selector output in response to an output pointer; and an output pointer generator, coupled to the means for receiving and the local clock source, to supply an output pointer indicating one of the N data locations in a circular sequence for output of bus data in response to the local clock beginning in the particular location in a local clock cycle after the first bus clock in the packet; means, coupled to the means for resynchronizing, for transmitting resynchronized data on the bus or accepting resynchronized data for local processing in response to control data in the packet; means, coupled to the means for resynchronizing, for detecting an end of a packet of data independent of control data in the packet; and means, coupled to the means for resynchronizing and the means for detecting an end of a packet, for detecting errors in a packet of resynchronized data accepted for local processing in response to control data in the packet.
Claim 8
Dependent Claim 49 words
The interface device of claim 5, wherein the means for detecting an end of a packet includes: means, coupled to the input pointer generator and the output pointer generator, for indicating an end of a packet in response to a match of the input pointer and the output pointer.
Claim 9
Dependent Claim 303 words
An interface device for a point to point connected serial bus in which bus clock and bus data transmissions on the bus cease between transmission of packets, comprising: means, connected to the bus, for receiving bus data and bus clock from a transmission of a packet on the bus; an input buffer, coupled to the means for receiving, having N data locations to store bus data received from the bus in a data location indicated by an input pointer in response to the bus clock; an input pointer generator, coupled to the means for receiving and the input buffer, to supply the input pointer to the input buffer indicating one of the N data locations in a circular sequence for storage of bus data in response to the bus clock beginning in a particular location during a first bus clock in a packet; a local clock source supplying a local clock; an output selector, having a selector output and N inputs coupled to the N data locations in the input buffer, to supply bus data from one of the N data locations in the input buffer to the selector output in response to an output pointer; an output pointer generator, coupled to the means for receiving and the local clock source, to supply an output pointer indicating one of the N data locations in a circular sequence for output of bus data in response to the local clock beginning in the particular location in a local clock cycle after the first bus clock in the packet; and comparator means, coupled to the input pointer generator and the output pointer generator, for indicating an end of a packet, and resetting the input pointer and the output pointer to the particular location in response to a match of the input pointer and the output pointer.
Claim 10
Dependent Claim 303 words
An interface device for a point to point connected serial bus in which bus clock and bus data transmissions on the bus cease between transmission of packets, comprising: means, connected to the bus, for receiving bus data and bus clock from a transmission of a packet on the bus; an input buffer, coupled to the means for receiving, having N data locations to store bus data received from the bus in a data location indicated by an input pointer in response to the bus clock; an input pointer generator, coupled to the means for receiving and the input buffer, to supply the input pointer to the input buffer indicating one of the N data locations in a circular sequence for storage of bus data in response to the bus clock beginning in a particular location during a first bus clock in a packet; a local clock source supplying a local clock; an output selector, having a selector output and N inputs coupled to the N data locations in the input buffer, to supply bus data from one of the N data locations in the input buffer to the selector output in response to an output pointer; an output pointer generator, coupled to the means for receiving and the local clock source, to supply an output pointer indicating one of the N data locations in a circular sequence for output of bus data in response to the local clock beginning in the particular location in a local clock cycle after the first bus clock in the packet; and comparator means, coupled to the input pointer generator and the output pointer generator, for indicating an end of a packet, and resetting the input pointer and the output pointer to the particular location in response to a match of the input pointer and the output pointer.
Claim 11
Dependent Claim 40 words
The interface device of claim 7, including: means, coupled to the bus clock and the local clock, for enabling the output pointer generator to increment after the first bus clock in a packet and in synchronization with the local clock.
Claim 12
Dependent Claim 126 words
The interface device of claim 8, wherein the means for enabling includes: first means for asserting a packet start signal in response to the bus clock; a first register, coupled to receive the packet start signal from the first means and to the local clock, for registering the packet start signal on a first local clock after the packet start signal; and a second register, coupled to receive the packet start signal from the first register and to the local clock, for registering the packet start signal on a second local clock after the packet start signal to produce an increment enable signal; and means, coupled with the output pointer generator, for enabling the output pointer generator to increment in response to the increment enable signal.
Claim 13
Dependent Claim 29 words
The device of claim 7, including: means, coupled to the bus clock and the comparator means, for enabling the comparator means on the first bus clock of a packet.
Claim 14
Dependent Claim 36 words
The device of claim 10, wherein the means for enabling is responsive to a packet start signal and includes means for asserting a packet start signal in response to the first bus clock in a packet.
Claim 15
Dependent Claim 18 words
The device of claim 7, wherein the output pointer generator includes a counter clocked by the local clock.
Claim 16
Dependent Claim 19 words
The device of claim 7, wherein the input pointer generator includes a shift register clocked by the bus clock.
Claim 17
Dependent Claim 36 words
The device of claim 7, wherein the input buffer includes N registers having respective clock inputs connected to receive bus clock, data inputs connected to receive bus data, and enable inputs connected to the input pointer.
Claim 18
Dependent Claim 35 words
The device of claim 14, wherein the input pointer generator includes a shift register clocked by the bus clock and having N outputs connected to the enable inputs of respective registers in the input buffer.

References Cited (Backward Citations)

US4429386A Cited
US4873703A Cited
US4884286A Cited
US4748588A Cited
US4964142A Cited
US4933932A Cited
US4945548A Cited
US4891788A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-03-20 1998-09-19 1999-03-21 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-03-20 2002-09-19 2003-03-21 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-03-20 2006-09-19 2007-03-21 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag