A SONET demapper includes three desynchronizers, each of which includes a RAM-based, shared digital phase locked loop, shared elastic storage, and twenty-eight divide-by 33/34/44/45 counters. Unlike a conventional desynchronizer which uses separate FIFOs for each of the twenty-eight T1/E1 channels, the elastic storage for each channel is an addressed portion of a shared block of RAM. Each desynchronizer generates a clock for each of the twenty-eight T1/E1 channels based on a FIFO depth count for each channel which is derived from a read pointer, an “effective write pointer”, and the divide-by clock for the channel. Each desynchronizer can desynchronize both T1 and E1 signals as well as a combination of these signals. In addition, the invention combines the leak FIFO and desynchronizer FIFO into a single FIFO with an effective write pointer. This eliminates the need to maintain separate counters and pointers for separate FIFOs.
1. A desynchronizer for a SONET demapper, comprising:
a) a data FIFO for storing data for a plurality of channels; and b) a plurality of digital phase locked loops coupled to said FIFO for reading data out of said FIFO, said plurality of digital phase locked loops being implemented with shared circuitry for generating FIFO read addresses and a plurality of divide-by counters selectively coupled, one at a time, to said shared circuitry in response to a clock signal. 2. A desynchronizer according to a depth calculator for determining the FIFO depth of each of said channels, said depth calculator being selectively coupled, one at a time, to said divide-by counters in response to a clock signal. 3. A desynchronizer according to a count stopper responsive to said depth calculator for adjusting the counting rate of the divide-by counter based on FIFO depth. 4. A desynchronizer according to a first subtracter coupled to a read pointer and an effective write pointer. 5. A desynchronizer according to said effective write pointer is the difference between a write pointer and a leak depth. 6. A desynchronizer according to a data output and a clock output providing data and clock signals for the channel associated with the divide-by counter. 7. A desynchronizer according to each of said divide-by counters is configurable to read either T1 or E1 data. 8. A desynchronizer according to said clock signal is approximately 68.68 MHz. 9. A desynchronizer according to a time wheel counter coupled to a clock, said time wheel counter providing said clock signal. 10. A desynchronizer according to said read addresses include a used tributary unit which allows for multicasting. 11. A SONET demapper, comprising:
a) a first plurality of desynchronizers, each desynchronizer including
i) a data FIFO for storing data for a second plurality of channels; and ii) a second plurality of digital phase locked loops coupled to said FIFO for reading data out of said FIFO, said plurality of digital phase locked loops being implemented with shared circuitry for generating FIFO read addresses and a plurality of divide-by counters selectively coupled, one at a time, to said shared circuitry in response to a clock signal; and b) a first plurality of front end circuits, each coupled to one of said data FIFOs, and each coupled to a source of a SONET signal. 12. A SONET demapper according to a depth calculator for determining the FIFO depth of each of said channels, said depth calculator being selectively coupled, one at a time, to said divide-by counters in response to a clock signal. 13. A SONET demapper according to a count stopper responsive to said depth calculator for adjusting the counting rate of the divide-by counter based on FIFO depth. 14. A SONET demapper according to a first subtracter coupled to a read pointer and an effective write pointer, the read pointer being generated by said shared circuitry and the effective write pointer being generated by a corresponding front end circuit. 15. A SONET demapper according to said effective write pointer is the difference between a write pointer and a leak depth. 16. A SONET demapper according to a data output and a clock output providing data and clock signals for the channel associated with the divide-by counter. 17. A SONET demapper according to each of said divide-by counters is configurable to read either T1 or E1 data. 18. A SONET demapper according to each of said front end circuits provides an E1 /T1 indicator for each channel. 19. A SONET demapper according to each of said front end circuits provides a used tributary unit indicator for each channel which allows for multicasting. 20. A SONET demapper according to each of said front end circuits provides a depth enable indicator. 21. A desynchronizer for a SONET demapper, comprising:
a) a combined leak and desynchronizer FIFO; and b) a digital phase locked loops coupled to said FIFO for reading data out of said FIFO, wherein
said FIFO has a read pointer, a write pointer, and an effective write pointer which separates the leak portion of the FIFO from the desynchronizer portion. 22. A desynchronizer according to the effective write pointer is the difference between the write pointer and leak FIFO depth. 23. A desynchronizer according to c) depth measurement means for periodically measuring leak FIFO depth. 24. A desynchronizer according to the effective write pointer is recalculated each time a depth measurement is made.
[0001] 1. Field of the Invention [0002] The invention relates to telecommunications. More particularly, the invention relates to desynchronizers utilized in a high density demapper for a SONET network component. [0003] 2. State of the Art [0004] The Synchronous Optical Network (SONET) or the Synchronous Digital Hierarchy (SDH), as it is known in Europe, is a common transport scheme which is designed to accommodate both DS-1 (T1) and E1 traffic as well as multiples (DS-3 and E-3) thereof. A DS-1 signal consists of up to twenty-four time division multiplexed DS-0 signals plus an overhead bit. Each DS-0 signal is a 64 kb/s signal and is the smallest allocation of bandwidth in the digital network, i.e. sufficient for a single telephone connection. An E1 signal consists of up to thirty-two time division multiplexed DS-0 signals with at least one of the DS-0s carrying overhead information. Developed in the early 1980s, SONET has a base (STS-1) rate of 51.84 Mbit/sec in North America. The STS-1 signal can accommodate 28 DS-1 signals or 21 E1 signals or a combination of both. In Europe, the base (STM-1) rate is 155.520 Mbit/sec, equivalent to the North American STS-3 rate (3*51.84=155.520). The STS-3 (STM-1) signals can accommodate 63 E1 signals or 84 DS-1 signals, or a combination of both. When combined in an STS-3 (STM-1) signal, the individual E1 and/or T1 signals are referred to as tributary units (TUs) or channels. The abbreviation STS stands for Synchronous Transport Signal and the abbreviation STM stands for Synchronous Transport Module. STS-n signals are also referred to as Optical Carrier (OC-n) signals when transported optically rather than electrically. [0005] Within the synchronous optical network structure, traffic consisting of continuous signals (e.g. T1 and E1 signals) are transported between network elements by “mapping”the signals into “containers”or “tributaries” of different sizes. Payload mapping in SONET or SDH is not uniform, resulting in payload bits being assigned to complete bytes. Some of these bytes contain overhead information or reserved bits. This generates “mapping jitter”. As the payloads of the containers are passed from the originating point through network elements to the terminating point, they are remapped into other containers that may be timed by different clocks. Clock differences are compensated by the use of pointers that identify the start of the virtual container carrying a T1 or E1 signal. Periodic pointer increments and decrements indicate payload movement and result in “pointer jitter”. When the signals are eventually restored from the last container, by “demapping”, there are instantaneous periods where the restored data may burst or carry no information. This irregularity in signals is referred to generally as “jitter”. When the signal is returned to its original form, i.e. a plurality of T1 /E1 signals, desynchronizers are used to create a continuous stream of bits at the average originating clock rate with little or no jitter and with no loss of data. Current desynchronizers remove mapping and pointer jitter by the use of elastic storage of information where the storage level of the elastic store device defines the output of a phase locked loop used to regenerate the average originating clock. [0006] In a conventional demapper/desynchronizer, a separate phase locked loop and elastic storage (FIFO) is provided for each T1 /E1 signal. Each phase locked loop includes circuitry for desynchronizing a T1 signal or an E1 signal, but not both. Consequently, in order to provide sufficient desynchronizers for a completely de-mapped STS-3 signal, conventional equipment provides 63 E1 desynchronizers or 84 T1 desynchronizers or a combination of both. In order to be assured of the capability of desynchronizing any combination of T1 and E1 signals, the equipment must include 63 E1 desynchronizers and 84 T1 desynchronizers. This results in a relatively large number of unused desynchronizers at any given time. [0007] The modern practice in SONET technology is to provide switch components on chips which, when linked together, form “path”, “section”, and “line” terminating equipment. Signals are treated differently at path, section, and line terminating equipment. At line and section terminating equipment, some or all signals may be remapped without demapping or desynchronizing. At path terminating equipment all signals are demapped and desynchronized. Thus, it is desirable to provide a demapper/desynchronizer on a separate chip or set of chips because some terminating equipment will not need any demapper/desynchronizer. However, it is not practical to provide 63+84 desynchronizers on a single chip. [0008] It is therefore an object of the invention to provide a desynchronizer for a SONET signal demapper. [0009] It is also an object of the invention to provide a SONET signal demapper which has desynchronizers for both T1 and E1 signals. [0010] It is another object of the invention to provide a SONET signal demapper which does not have a large number of unused desynchronizers. [0011] It is still another object of the invention to provide a SONET signal demapper which can handle all of the tributaries in an STS-3 multiplexed signal. [0012] It is yet another object of the invention to provide a SONET signal demapper which makes efficient use of chip space. [0013] In accord with these objects which will be discussed in detail below, a demapper according to the present invention includes three desynchronizers, each of which includes elastic storage and a plurality of digital phase locked loops. The phase locked loops are implemented with shared circuitry for generating read addresses for the elastic storage and a plurality, e.g. twenty-eight, divide-by 33/34/44/45 counters. Unlike a conventional desynchronizer which uses separate FIFOs for each of the twenty-eight T1 /E1 channels, the elastic storage for each channel is an addressed portion of a shared block of RAM. Each desynchronizer is driven by a 68.68 MHz clock which runs a time wheel counter. The time wheel counter multiplexes among pointers to RAM and registers, and also selects the appropriate divide-by 33/34/44/45 counter. Each desynchronizer generates a clock for each of the twenty-eight T1 /E1 channels based on a FIFO depth count for each channel which is derived from a read pointer, an “effective write pointer”, and the divide-by clock for the channel. The FIFO depth counts are updated for seven channels every nine SONET rows (on a specified TOH byte), i.e. all twenty-eight FIFO depth counts get updated every thirty-six SONET rows (four frames). Unlike conventional desynchronizers which utilize separate leak and desynchronize FIFOs, the demappers and desynchronizers of the invention combine leak and desynchronize FIFOs into a single FIFO. The FIFO count which separates the leak and desynchronizing portions of the FIFO is what is referred to as the “effective write pointer”. Each desynchronizer can desynchronize both T1 and E1 signals as well as a combination of these signals. The shared RAM based digital phase locked loops of the desynchronizers are more efficient than the flip-flops used in individual phase locked loops of the prior art. By sharing most of the components of the desynchronizer, chip area is saved, thus allowing a higher density component. [0014] Additional objects and advantages of the invention will become apparent to those skilled in the art upon reference to the detailed description taken in conjunction with the provided figures. [0015] [0016] [0017] [0018] Referring now to [0019] The input of the demapper 10 is obtained from an overhead terminator (not shown) such as the PHAST® terminator manufactured by Transwitch Corporation, Shelton, Conn. The PHAST® terminator outputs a byte-wide serial stream of multiplexed tributary units (also known as a Virtual Tributaries) with most of the SONET overhead bytes removed. This serial data stream includes up to sixty-three or eighty-four TUs multiplexed according to SONET mapping techniques. Moreover, the serial data stream includes substantial jitter. The demapper 10 demaps (demultiplexes) the individual T1 /E1 data streams and distributes these jittery data streams into individually addressed RAM based FIFOs 18, 20, 22. Each of these RAM blocks 18, 20, 22 provides sufficient memory for up to twenty-eight FIFOs. Each of these FIFOs, is a combined leak and desynchronizer FIFO and each stores up to sixty-four bits (±4 pointer movements for leaking) plus sixty-four bits for de-jittering. Each FIFO has one write pointer and one or more (in the case of multicasting) read pointers. The leak FIFO depth is subtracted from the write pointer when depth measurement is updated and the difference is the “effective write pointer”. [0020] Details of the demapper and desynchronizer of the invention are see with reference to [0021] Referring now to [0022] The front end control A 104 and front end control B 106 allow the device to be coupled to an optical ring. Each front end control derives the following signals from the SONET frame: data, tributary unit number (TU#), line number (for depth measurement), depth enable and control. The synchronization and arbitration unit 108 takes these signals and provides the following signals: address (a multiplexing of TU# and line #), A/B indicator, data, control, and Depth enable A&B. When Depth Enable is asserted, the line # is selected and when Depth Enable is not asserted, TU# is selected. The address is used to address the RAM 122 and when the line # is selected, the address is forwarded to the back end as illustrated by the arrow labeled “Line #”. The line # is a five bit decode of the SONET row in a four frame multiframe. The addressing RAM 122 uses the address to output a five bit “used tributary unit” (UTU) number which is forwarded to the back end as indicated by the arrow labeled “UTU”. The UTU is a mapping of A or B side TUs to one of twenty-eight channels and a line # to any FIFO channel allowing broadcasting or multicasting. This mapping is set up by the processor 126 in the RAM 122. The UTU also specifies a read address in buffer 124 and specifies the same write address in buffer 124 after one clock delay 120. The read addressing of the buffer 124 causes a write pointer 124 [0023] Data is clocked into the FIFO 18 from the synchronization and arbitration block 108 together with data residue 124 [0024] The control signal from the synchronization and arbitration block 108 is also delivered to the adder 112 and the adder/subtracter 116. The adder 112 counts up the write pointer which is stored in buffer 124 [0025] The depth enable from the front end control allows addressing of RAM 122 and, via the UTU output of 122 [0026] Turning now to [0027] As mentioned above with reference to [0028] The time wheel counter 202 selects a counter module 12 [0029] The Q output (which is a fractional part of the read pointer in thirty-seconds of a bit) of the down counter 248 is stored in a part of buffer 204 selected by multiplexer 210 which is controlled by the Line # signal. The most significant bit of the Q output of the down counter 248 is the “Clock OUT” line of the demapper. [0030] The incrementor 220 increments a read pointer stored in buffer 208 which is concatenated with the UTU from buffer 206 to form the read address used to address the RAM FIFO 18. From the foregoing, it will be appreciated that the read pointer is incremented every time data is read from the counter module 12 [0031] The read pointer stored in buffer 208 is also used to calculate the depth measurement stored in buffer 206. The depth measurement is the (7 bit) difference between the read pointer and the effective write pointer as determined by subtracter 216, concatenated with the fractional value of the output of the down counter 248 associated with this Line #. The depth measurement is read out of the buffer 206 based on the read address supplied by the time wheel counter 202. The depth measurement is written into the buffer 206 based on the write address which is one cycle delayed by delay 224. The buffer 206 is only write enabled when the delayed time wheel count is the same as the Line # as established by XNOR 226, at which time data from the registers 204 is written to the appropriate address in the buffer 206. [0032] In order to implement the phase locked loop, the depth measurement read from the buffer 206 is subtracted from a (17 bit) bias value by subtracter 218 and the result is sent to the accumulator 222. The bias, which is different for E1 and T1, is chosen so that it will, with the FIFO depth at midpoint, produce a carry which will modulate the down counter so as to produce the nominal E1 or T1 average frequency. The accumulator reads an accumulator value from the buffer 208, adds to it the results from the subtracter 218 and writes the new accumulator result back to the buffer 208 on the next clock cycle. When the accumulator overflows, a carry value is written to the buffer 208. The carry value is used in conjunction with the output of flip-flop 238 to freeze the down counter 248 for the “extra” 34th or 45th count as described above. Thus, when the rate of incoming data exceeds the rate at which data is being written out, the buffer depth increases resulting in a decrease in the output of the subtracter. As a result, the accumulator will overflow less often and fewer carries will be generated. With fewer carries, the down counter 248 will freeze less often, resulting in a more frequent zero count and a slightly increased output data rate. When the rate of incoming data is less than the rate at which data is written out, the opposite occurs. [0033] There have been described and illustrated herein a desynchronizer and a high density SONET demapper incorporating the same. While particular embodiments of the invention have been described, it is not intended that the invention be limited thereto, as it is intended that the invention be as broad in scope as the art will allow and that the specification be read likewise. Thus, while the desynchronizer has been illustrated with twenty-eight counters for servicing twenty-eight tributary units, more counters or fewer counters could be used depending on the application. Similarly, while the demapper has been shown as containing three desynchronizers, more desynchronizers or fewer desynchronizers could be used depending on the application. Further, while the presently preferred clock is 68.68 MHz, it will be appreciated that there are other suitable frequencies. It will therefore be appreciated by those skilled in the art that yet other modifications could be made to the provided invention without deviating from its spirit and scope as so claimed. BACKGROUND OF THE INVENTION
SUMMARY OF THE INVENTION
BRIEF DESCRIPTION OF THE DRAWINGS
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS