Elastic buffer for local area networks
First Claim
1. An elastic buffer for absorbing frequency jitter or drift of a data stream incoming on an input data line, comprising:
- a serial circular stack of data register cells;
means for storing data bits in said cells from an incoming data stream one at a time with each bit in a cell adjacent a cell in which is stored a next earlier bit at a clock frequency BCLK equal to the frequency of arrival of the incoming data;
means for directing stored data from said data registers onto an output data line one at a time at a predetermined fixed clock rate XCLK equal to the average frequency of incoming data;
wherein at any instant the register from which data is taken out is a number of registers away from the register into which data is stored, the number increasing when the frequency of BCLK is greater than that of XCLK and decreasing when the frequency of BCLK is less than that of XCLK;
wherein said directing means includes;
a plurality of output gates each coupled betweenthe output data line and an output of a correspondingone of said data registers;
an output pointer circuit selectively coupled to each of said output gates, in turn, at a frequency equal to said average frequency and operable when so coupled to release data from a corresponding one of said data registers onto the data output line;
a plurality of input gates each coupled betweenthe input data line and an input of a corresponding one of said data registers;
an input pointer circuit selectively coupled toeach of said input gates, in turn, at a frequency equal to the frequency of arrival of the input data and operable when so coupled to open a corresponding input gate and allow transmission of data from said line onto a corresponding data register;
wherein said input and output pointers eachinclude a plurality of latches, one corresponding to each cell of said data registers, wherein all latches except a selected latch reset to a zero bit while the selected latch resets to a "1" bit and in response to incoming clock signals after each cycle each latch passes its bit level onto a next adjacent latch wherein a "1" level in a given latch causes a control signal to issue to an associated one of the input and output gates of a corresponding data register cell to open the gate and permit a data bit to flow thereby; and
wherein said data register cells each include an ERDET line precharged to a predetermined voltage level, normally non-transmitting gate means connecting said ERDET line to ground, said gate means responsive to a coincident signal from an output pointer latch corresponding to said each cell and from an immediately preceding input pointer latch, and from an input pointer latch corresponding to said each cell and a coincident signal from an immediately preceding output pointer latch to open and ground said ERDET line.
3 Assignments
0 Petitions
Accused Products
Abstract
An elastic buffer for absorbing frequency jitter or drift of an incoming data signal which includes a serial stack of data register. These data registers are used for storing data bits from an incoming data stream one at a time with each bit adjacent a next earlier bit at a frequency equal to the frequency of the incoming data and also for releasing stored bits onto an output data line. The stored bits are released one at a time at a predetermined fixed rate equal to the average frequency of incoming data from a number of registers away from the register into which data is being written which depends on the frequency difference between incoming data and the fixed rate aforesaid.
16 Citations
11 Claims
-
1. An elastic buffer for absorbing frequency jitter or drift of a data stream incoming on an input data line, comprising:
-
a serial circular stack of data register cells; means for storing data bits in said cells from an incoming data stream one at a time with each bit in a cell adjacent a cell in which is stored a next earlier bit at a clock frequency BCLK equal to the frequency of arrival of the incoming data; means for directing stored data from said data registers onto an output data line one at a time at a predetermined fixed clock rate XCLK equal to the average frequency of incoming data; wherein at any instant the register from which data is taken out is a number of registers away from the register into which data is stored, the number increasing when the frequency of BCLK is greater than that of XCLK and decreasing when the frequency of BCLK is less than that of XCLK; wherein said directing means includes; a plurality of output gates each coupled between the output data line and an output of a corresponding one of said data registers; an output pointer circuit selectively coupled to each of said output gates, in turn, at a frequency equal to said average frequency and operable when so coupled to release data from a corresponding one of said data registers onto the data output line;
a plurality of input gates each coupled betweenthe input data line and an input of a corresponding one of said data registers;
an input pointer circuit selectively coupled toeach of said input gates, in turn, at a frequency equal to the frequency of arrival of the input data and operable when so coupled to open a corresponding input gate and allow transmission of data from said line onto a corresponding data register;
wherein said input and output pointers eachinclude a plurality of latches, one corresponding to each cell of said data registers, wherein all latches except a selected latch reset to a zero bit while the selected latch resets to a "1" bit and in response to incoming clock signals after each cycle each latch passes its bit level onto a next adjacent latch wherein a "1" level in a given latch causes a control signal to issue to an associated one of the input and output gates of a corresponding data register cell to open the gate and permit a data bit to flow thereby; and wherein said data register cells each include an ERDET line precharged to a predetermined voltage level, normally non-transmitting gate means connecting said ERDET line to ground, said gate means responsive to a coincident signal from an output pointer latch corresponding to said each cell and from an immediately preceding input pointer latch, and from an input pointer latch corresponding to said each cell and a coincident signal from an immediately preceding output pointer latch to open and ground said ERDET line. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of absorbing frequency jitter or drift of an incoming stream of data, comprising:
-
storing sequentially the data bits in a stack of circularly connected register cells at a clock rate BCLK equal to the frequency of arrival of data bits in said data stream; directing the stored data bits from said cells one at a time at a fixed clock rate XCLK whose frequency equals the average frequency of incoming data; wherein at any instant the register from which data is taken out is a number of registers away from the register into which data is stored, which number increases when the frequency of BCLK exceeds that of XCLK and decreases when the frequency of BCLK is less than that of XCLK; and wherein said steps of storing and directing are operable such that they may occur simultaneously, and wherein each bit may be stored into or directed from any one individual cell within said stack of circularly connected cells. - View Dependent Claims (8, 9, 10, 11)
-
Specification