Claims
- 1. An apparatus for receiving input data and a write enable signal at a non-uniform first data rate and for providing output data at a substantially uniform second data rate, the apparatus comprising:
a saturating elastic store having a plurality of data storage locations, the saturating elastic store receiving the input data and the write enable signal, the saturating elastic store operative to store input data concurrent with the write enable at one of said plurality of data storage locations, the saturating elastic store further operative to provide a data storage level signal indicative of the number of data storage locations currently used; a digital filter having a transfer function coupled to the saturating elastic store and receiving said data storage level signal, said digital filter operative to filter said data storage level and to provide the filtered data storage level signal an output control word; a digitally controlled read enable generator providing a read enable signal at the second data rate, the digitally controlled read enable generator coupled to the digital filter and receiving as an input said control word from said digital filter, said digitally controlled read enable generator responsive to said control word by varying said read enable signal from said second data rate, said digitally controlled read enable generator further coupled to the saturating elastic store and providing the read enable signal to the saturating elastic store; said saturating elastic store further operative to read data stored at one of said plurality of storage locations and to provide said read data as an output concurrently with said read enable signal.
- 2. The apparatus of claim 1 wherein the transfer function of the digital filter is a low pass filter.
- 3. The apparatus of claim 2 wherein the low pass filter transfer function has the form of
- 4. The apparatus of claim 1 wherein the digitally controlled read enable generator includes;
a stuff enable generator for providing a stuff enable signal, the stuff enable generator coupled to the digital filter and receiving the control word therefrom; a read enable signal generator for providing read enable signals at the second data rate, the read enable signals including data stuff opportunities interspersed between the read enable signals, the data stuff opportunities allowing for the adjustment of the nominal read data rate by providing an opportunity for an additional read enable signal during a corresponding stuff opportunity, the read enable signal generator also providing the stuff opportunities to the stuff signal generator; the stuff enable generator providing a stuff enable signal to the read enable generator as a function of the control word and the corresponding stuff opportunity, wherein the read enable signal generator is responsive to the stuff enable signal by providing an additional read enable signal at the corresponding stuff opportunity.
- 5. The apparatus of claim 4 wherein the stuff enable generator includes:
a first adder having a first input receiving the control word from the digital filter and providing an output; a second adder having a positive input coupled to the first output and a negative input coupled to a predetermined constant equal to the max control word value, the second adder operative to provide an output of the difference between the first output and the predetermined constant; a first comparator having a first comparator input coupled to the output of the first adder and a second comparator input coupled to the predetermined constant, the comparator operative to provide an output indicative of the relative magnitude of the two inputs; a multiplexer having a first mux input coupled to the output of the first adder and receiving the first output therefrom and a second mux input coupled to the output of the second adder and a selection input coupled to the output of the first comparator, wherein the multiplexer is operative to provide as an output the first mux input when the first comparator input is greater than the second comparator input and to provide as an output the second mux input when the when the second comparator input is greater than the first comparator input; a register having an input coupled to the multiplexer output for storing the output of the multiplexer, and for providing the output of the multiplexer as an output, the output of the register being coupled to a second input of the first adder and a first comparator input of a second comparator and the second comparator input of the second comparator being coupled to the control word, the output of the second comparator providing the stuff enable signal when the second comparator input of the second comparator is less than the first comparator input of the second comparator.
- 6. The apparatus of claim 1 wherein the saturating elastic store includes:
a memory having a plurality of storage locations for storing data, the memory being coupled to the data input; a write pointer logic being coupled to the write enable signal and providing a saturating write enable signal to the memory and providing a write pointer; a read pointer logic module coupled to the read enable signal and providing a read pointer; a read/write pointer comparator coupled to the write pointer logic module and the read pointer logic module and receiving the write pointer and the read pointer, the read/write pointer comparator operative to compare the write pointer and the read pointer and to provide a full signal when after writing current data to memory the write pointer is greater than or equal to the read pointer and an empty signal if after reading the current memory and providing as an output, the read pointer is less than or equal to the write pointer; the write pointer coupled to the read/write pointer comparator and responsive to said full signal by not providing a saturating write enable signal to the memory while the full signal is active; the read pointer coupled to the read/write pointer comparator and responsive to said empty signal by not advancing the read pointer to the memory while the empty signal is active.
- 7. The apparatus of claim 1 wherein the saturating elastic store includes:
a memory having a plurality of storage locations for storing data, the memory being coupled to the data input and to a system clock; a write pointer logic being coupled to the write enable signal and providing a saturating write enable signal to the memory and providing a write pointer; a read pointer logic module coupled to the read enable signal and providing a read pointer; a read/write pointer comparator coupled to the write pointer logic module and the read pointer logic module and receiving the write pointer and the read pointer, the read/write pointer comparator operative to compare the write pointer and the read pointer and to provide a full signal when after writing current data to memory the write pointer is greater than or equal to the read pointer and an empty signal if after reading the current memory and providing as an output, the read pointer is less than or equal to the write pointer; a digitally controlled read enable generator which receives the full and empty signals from the read/write pointer comparator, and is operative to produce additional read enables when the full signal is active, and to produce fewer read enables when the empty signal is active.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority of U.S. Provisional Patent Application No. 60/351,594 filed Jan. 25, 2002 entitled JITTER AND WANDER REDUCTION APPARATUS.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60351594 |
Jan 2002 |
US |