GB2392589A - Adaptive clock recovery using a packet delay variation buffer and packet count - Google Patents
Adaptive clock recovery using a packet delay variation buffer and packet count Download PDFInfo
- Publication number
- GB2392589A GB2392589A GB0220114A GB0220114A GB2392589A GB 2392589 A GB2392589 A GB 2392589A GB 0220114 A GB0220114 A GB 0220114A GB 0220114 A GB0220114 A GB 0220114A GB 2392589 A GB2392589 A GB 2392589A
- Authority
- GB
- United Kingdom
- Prior art keywords
- packet
- clock
- tdm
- packets
- buffer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000011084 recovery Methods 0.000 title claims description 19
- 230000003044 adaptive effect Effects 0.000 title description 4
- 238000000034 method Methods 0.000 claims abstract description 18
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000005070 sampling Methods 0.000 claims 3
- 238000001914 filtration Methods 0.000 claims 2
- 230000001105 regulatory effect Effects 0.000 abstract 1
- 230000007774 longterm Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/062—Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
- H04J3/0632—Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
A method of recovering a clock signal in a Time Division Multiplexed (TDM) packet network having a source TDM clock and a destination TDM clock provided by an oscillator 22. The output rate is regulated by a Packet Delay Variation (PDV) buffer depth control algorithm 26 and a packet count 16, the packet count being low pass filtered 16. The method prevents underrun or overrun errors due to the buffer being empty or full and dispenses with the need for dedicated clock generation circuits.
Description
Adaptive Clock Recovery The invention relates to the recovery of clock
signals for a TDM output from packets of TDM data which have been transmitted over a packet network.
TDM links are synchronous circuits, with a constant bit rate governed by the service clockf5e,ice. With a packet network the connection between the ingress and egress frequency is broken, since packets are discontinuous in time. From Figure 1, the TDM service frequency at the customer premises must be exactly reproduced at the egress of the packet network (fregen). The consequence of a long-term mismatch in frequency is that the queue at the egress of the packet network will either fill up or empty, depending on whether the regenerated clock is slower or faster than the original.
This will cause loss of data and degradation of the service.
The relevant standards on circuit emulation services over ATM, ITU standard 1.363.1 and ATM Forum standard af-vtoa-0078 refer to the concept of adaptive clock recovery in general terms.
This invention seeks to provide an adaptive method for recovering the original service clock frequency from the arrival rate of packets across the network.
According to the invention there is provided a method of recovering a clock signal, and a reference clock recovery system, as set out in the accompanying claims.
Embodiments of the invention will now be more particularly described, by way of example only, with reference to the accompanying drawings, in which: Figure 1 is a schematic diagram showing a leased line TDM service being carried across a packet network; and Figure 2 is a schematic diagram showing a packet count clock recovery method in accordance with an embodiment of the invention.
In Figure 1, the rate of transmission of packets from the source device is isochronous and determined by Service. However, the rate of packet arrival at the destination device is perturbed by the intervening packet network. Packets will typically arrive in bursts separated by varying amounts of delay. The delay between successive packets and bursts will vary depending on the amount of traffic in the network. The characteristics of the network are non-deterministic, but over the long term the rate of arrival at the destination will equal the rate of departure at the source (assuming no lost or duplicate packets). The TDM output at the destination is isochronous and determined by fregen. This is provided by the Digitally Controlled Oscillator (DCO) (22) in Figure 2. The output is supplied from a Packet Delay Variation (PDV) Buffer (12). If the buffer has zero packets in it when the TDM output requires to transmit then an underrun will occur, which is undesirable. In order to minimise underrun events it is necessary to build up the PDV buffer (12) so that it contains sufficient packets to supply the TDM output for the majority of inter packet delays. However, the PDV buffer (12) cannot be made arbitrarily large because this directly increases the end to end latency which, in general, is required to be as low as possible, the maximum tolerable latency being dependent on the application. For example, voice requires lower latency than data.
Thus the optimal PDV Buffer depth depends upon network conditions and application.
The clock recovery method described here allows the buffer depth to be varied independently of the clock recovery mechanism. This allows the clock recovery to stabilise prior to setting up the PDV Buffer, and allows the buffer to be changed during operation to match any underlying shift in network characteristics.
When packets arrive at the Packet Input (10) they are placed into the PDV Buffer (12) in a Queue (14). They also cause the Packet Count in Packet Counter (16) to be incremented. The Packet Count will increment by one for each packet received. The rate at which packets are received is determined by the frequency of the source TDM clock Service. The rate at which the PDV Buffer (12) is emptied is determined by the frequency
of the destination TDM clock frcgcn. The Packet Count is decremented by one each time that the DCO output indicates that a packet has been transmitted from the TDM output (18). Note that if the PDV Buffer (12) is empty when the TDM output (18) requests a packet, an underrun packet will be supplied to the TDM output (18). In this case the Packet Count will still be decremented. Therefore the value in the Packet Counter can be positive or negative.
Hence, given an ideal fixed delay packet network, the value of the Packet Count will increase if fservicc exceeds fregen, will decrease if fregen exceeds Service, and will remain constant if the frequencies are identical.
Therefore a Clock Control Algorithm (20) can sample this value at a fixed interval (the Clock Control Interval), perform a calculation to determine a correction that can be applied in order to converge the local frequency to the source frequency, and write the new local frequency value to a DCO (22).
With a real network the value of the Packet Count fluctuates due to the burst nature of the incoming packet stream. This causes fluctuations in the recovered clock. Therefore a filter function (24) is provided on the device which provides the following benefits: À reduces the workload of the Clock Control Algorithm (which may be implemented by an external CPU) in terms of numerical processing reduces the workload of the Clock Control Algorithm by allowing the Clock Control Interval to be increased À reduces fluctuations in the recovered clock In this embodiment the filter (24) is a first order low pass filter with the following difference equation that is simple to implement in hardware without requiring any dividers or multipliers: Yn = Yn + (Xn-Yn)/2 (Equation 1) Where: Yn is the Filter Output Xn is the Packet Count
P is a programmable parameter that determines the time constant of the filter n is the sample number that increments each time that a packet is taken from the PDV Buffer The Clock Control Algorithm (20) reads the Filter Output and determines the correction required to stabilise the Packet Count, and writes the required Frequency to the DCO.
A simple first order Clock Control Algorithm is given by the following difference equation: Fm = aFm-' + |3Ym i Where: Fm is the Frequency to be written to the DCO a,,B are constants that determine the time constant Fm is the Current DCO Frequency Ym is the Filter output m is the sample number that increments each time the Clock Control Algorithm reads the Filter Output The time constant is selected to track long term drift in fsenice but reject short term variation due to packet delay variations.
The PDV Depth Control Algorithm (26) should make relatively infrequent adjustments to the PDV Buffer (12) which may be based on any ofthe following: À Filtered Depth reading of queue depth provided by Depth Filter (28), which may be of the type described by Equation (2) À Underrun events (indicating the Queue is too small) À Maximum and Minimum Depth readings À Network Delay Measurements (for example obtained by a network "ping" utility)
The Minimum & Maximum queue depth values are reset to the current Queue Depth when they are read by the PDV Buffer Depth Control Algorithm (26), and are then adjusted whenever the Packet Queue Depth is altered.
Alternative Filter algorithms may be used.
Alternative Clock Control Algorithms may be used e.g. 2n and higher order, fuzzy logic, neural networks, and self-tuning algorithms that vary parameters such as the time constant or Clock Control Interval over time.
An internal or external CPU may be used for the Clock Control & Depth Control Algorithms Sequence numbers may be used within the packets, in which case the Packet Count increment can be made to take into account lost packets. This improves the performance of the clock recovery method in networks with a significant percentage of lost packets.
In this case, when a packet arrives the following algorithm may be applied to determine the Packet Count increment. (Wraparound must also be detected and dealt with appropriately). If Sk > Sk then increment = Sk - Sk Else increment = 0 Where: Sk is the sequence number of the received packet Sk is the sequence number of the previous received packet Byte or Bit resolution rather than Packet resolution may be used, where the Counter value represents Bytes or Bits rather than Packets. In this case, when a packet arrives, the Counter is incremented by the number of payload bytes or bits that it contains, whereas the Counter is decremented by one whenever the DCO output indicates that a byte or bit has been transmitted by the TDM output.
The method has application in timing recovery over packet based systems or other asynchronous systems. A typical application of the method described above is in emulation of TDM (time division multiplexed) circuits across a packet network, such as Ethernet, ATM or IF. Circuit emulation may be used to support the provision of leased line services to customers using legacy TDM equipment. For example, Figure 1 shows a leased line TDM service being carried across a packet network. The advantages are that a carrier can upgrade to a packet switched network, whilst still maintaining their existing TDM business.
The clock recovery method described above provides the following advantages: 1. The method makes use of all of the incoming data packets at the destination device to converge average packet egress rate to average packet ingress rate.
2. No special timing packets or information is required.
3. No expensive Clock Generation Circuits are required (such as oven controlled crystal oscillators).
4. A Packet Counter is maintained that allows the difference between the rate at which packets are received at the packet input and the rate at which they are transmitted from the TDM output to be monitored.
5. The Packet Counter value is operated on by packet ingress and packet egress events. 6. The Packet Counter value is filtered at an appropriate interval.
7. The filtered Packet Counter value is used by a Clock Control Algorithm to adjust the egress packet rate of the device.
8. The separation of the filter from the Clock Recovery Algorithm allows the Clock Control Algorithm to operate at a much slower rate than the filter. So that, for example, a high speed filter could be implemented in Hardware and a low speed Clock Control Algorithm with an external CPU. This confers significant benefits, such as flexibility, reduction of development risk, ease of optimising the solution for a specific environment etc. 9. The method allows packets to be deleted from the PDV Buffer and dummy packets to be inserted into the PDV Buffer in order to adjust the device latency. This does not affect the counter value mentioned above.
10. The PDV Buffer Depth is filtered at an appropriate interval.
Minimum & Maximum PDV Buffer Depth values are maintained 12. The filtered PDV Buffer Depth, and Minimum & Maximum PDV Buffer Depth values may be used by a Buffer Depth Control Algorithm which may run at a much slower rate than the rate at which the filter is updating.
13. The PDV Buffer depth can to be varied independently of the clock recovery mechanism. This allows the clock recovery to stabilise prior to setting up the PDV Buffer, and allows the buffer to be changed during operation to match any underlying shift in network characteristics.
Claims (9)
1. A method of recovering a clock signal for a TDM output from packets of TDM data which have been transmitted over a packet network, the method comprising: providing a packet buffer to store incoming packets after transmission over the packet network, maintaining a packet count which is incremented as packets arrive at the packet buffer, and decremented each time a packet leaves the packet buffer, and sampling the packet count and controlling the clock frequency of the TDM output on the basis of the sampled packet count.
2. A method as claimed in claim 1, which further comprises: sampling the packet count at a fixed interval, performing a calculation to determine the source frequency of a TDM clock at the source of the packets, and writing a new local frequency value to a digitally controlled oscillator which controls the clock frequency of said TDM output.
3. A method as claimed in claim 1 or 2, which further comprises filtering the value of the packet count before sampling the packet count.
4. A method as claimed in claim 3 wherein the filtering is carried out using a first order low pass filter.
5. A method as claimed in any preceding claim which further comprises: making adjustments to the packet buffer, by adding or removing packets, based on at least a filtered reading of the depth of the packet buffer.
6. A reference clock recovery system, for recovering a clock signal for a TDM output from packets of TDM data which have been transmitted over a packet network, the system comprising: a packet buffer for storing incoming packets after transmission over the packet network,
i a packet counter which maintains a packet count which is incremented as packets arrive at the packet buffer, and decremented each time a packet leaves the packet buffer, and a clock control device which samples the packet count value and controls the clock frequency of the TDM output on the basis of the sampled packet count.
7. A reference clock recovery system as claimed in claim 6, which further comprises a digitally controlled oscillator which controls the clock frequency of said TDM output, and wherein the clock control device performs a clock control algorithm which determines the source frequency of a TDM clock at the source of the packets, and writes a new local frequency value to the digitally controlled oscillator so as to control the clock frequency of said TDM output.
8. A reference clock recovery system as claimed in claim 6 or 7, which further comprises a packet counter filter arranged to filter the value of the packet count before the value of the packet count is sampled by the clock control device.
9. A reference clock recovery system which further comprises a buffer depth control device arranged to make adjustments to the packet buffer, by adding or removing packets, based on at least a filtered reading of the depth of the packet buffer.
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB0220114A GB2392589A (en) | 2002-08-30 | 2002-08-30 | Adaptive clock recovery using a packet delay variation buffer and packet count |
| EP03102552A EP1394974A3 (en) | 2002-08-30 | 2003-08-15 | Adaptive clock recovery in packet networks |
| KR1020030059013A KR20040019931A (en) | 2002-08-30 | 2003-08-26 | Adaptive clock recovery |
| US10/652,645 US20050100006A1 (en) | 2002-08-30 | 2003-08-28 | Adaptive clock recovery |
| CNA031555748A CN1489348A (en) | 2002-08-30 | 2003-08-29 | Self-adoptive clock recovering |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB0220114A GB2392589A (en) | 2002-08-30 | 2002-08-30 | Adaptive clock recovery using a packet delay variation buffer and packet count |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| GB0220114D0 GB0220114D0 (en) | 2002-10-09 |
| GB2392589A true GB2392589A (en) | 2004-03-03 |
Family
ID=9943176
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| GB0220114A Withdrawn GB2392589A (en) | 2002-08-30 | 2002-08-30 | Adaptive clock recovery using a packet delay variation buffer and packet count |
Country Status (1)
| Country | Link |
|---|---|
| GB (1) | GB2392589A (en) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2413043A (en) * | 2004-04-06 | 2005-10-12 | Wolfson Ltd | Clock synchroniser and clock and data recovery using an elastic buffer |
| WO2007054757A1 (en) * | 2005-11-09 | 2007-05-18 | Freescale Semiconductor, Inc. | A method for managing under-run and a device having under-run management capabilities |
| US7949083B2 (en) | 2003-12-17 | 2011-05-24 | Wolfson Microelectronics Plc | Clock synchroniser |
| EP2613473A3 (en) * | 2006-02-13 | 2013-10-09 | Belair Networks Inc. | System and method for packet timing of circuit emulation services over networks |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5274680A (en) * | 1990-11-23 | 1993-12-28 | Thomson-Csf | Device for the transmission of synchronous information by an asynchronous network, notably an ATM network |
| US5526362A (en) * | 1994-03-31 | 1996-06-11 | Telco Systems, Inc. | Control of receiver station timing for time-stamped data |
| US5838689A (en) * | 1995-07-11 | 1998-11-17 | Matsushita Electric Industrial Co., Ltd | Cell Receiver |
| US6044092A (en) * | 1997-06-11 | 2000-03-28 | At&T Corp. | Method and apparatus for performing automatic synchronization failure detection in an ATM network |
| US6400683B1 (en) * | 1998-04-30 | 2002-06-04 | Cisco Technology, Inc. | Adaptive clock recovery in asynchronous transfer mode networks |
-
2002
- 2002-08-30 GB GB0220114A patent/GB2392589A/en not_active Withdrawn
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5274680A (en) * | 1990-11-23 | 1993-12-28 | Thomson-Csf | Device for the transmission of synchronous information by an asynchronous network, notably an ATM network |
| US5526362A (en) * | 1994-03-31 | 1996-06-11 | Telco Systems, Inc. | Control of receiver station timing for time-stamped data |
| US5838689A (en) * | 1995-07-11 | 1998-11-17 | Matsushita Electric Industrial Co., Ltd | Cell Receiver |
| US6044092A (en) * | 1997-06-11 | 2000-03-28 | At&T Corp. | Method and apparatus for performing automatic synchronization failure detection in an ATM network |
| US6400683B1 (en) * | 1998-04-30 | 2002-06-04 | Cisco Technology, Inc. | Adaptive clock recovery in asynchronous transfer mode networks |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7949083B2 (en) | 2003-12-17 | 2011-05-24 | Wolfson Microelectronics Plc | Clock synchroniser |
| US8537957B2 (en) | 2003-12-17 | 2013-09-17 | Wolfson Microelectronics Plc | Clock synchroniser |
| GB2413043A (en) * | 2004-04-06 | 2005-10-12 | Wolfson Ltd | Clock synchroniser and clock and data recovery using an elastic buffer |
| GB2413043B (en) * | 2004-04-06 | 2006-11-15 | Wolfson Ltd | Clock synchroniser and clock and data recovery apparatus and method |
| WO2007054757A1 (en) * | 2005-11-09 | 2007-05-18 | Freescale Semiconductor, Inc. | A method for managing under-run and a device having under-run management capabilities |
| US8089978B2 (en) | 2005-11-09 | 2012-01-03 | Freescale Semiconductor, Inc. | Method for managing under-run and a device having under-run management capabilities |
| EP2613473A3 (en) * | 2006-02-13 | 2013-10-09 | Belair Networks Inc. | System and method for packet timing of circuit emulation services over networks |
Also Published As
| Publication number | Publication date |
|---|---|
| GB0220114D0 (en) | 2002-10-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7411970B2 (en) | Adaptive clock recovery | |
| US6252850B1 (en) | Adaptive digital clock recovery | |
| KR100831498B1 (en) | Clock synchronization over a packet network | |
| US5844891A (en) | Cell-based clock recovery device | |
| CA2254591C (en) | Method of and apparatus for multiplexing and demultiplexing digital signal streams | |
| CA2219118C (en) | Closed loop clock recovery for synchronous residual time stamp | |
| US20040240478A1 (en) | Methods and systems for adaptive rate management, for adaptive pointer management, and for frequency locked adaptive pointer management | |
| KR20010052153A (en) | Circuit and method for service clock recovery | |
| US5761203A (en) | Synchronous and asynchronous recovery of signals in an ATM network | |
| US6714548B2 (en) | Digital clock recovery | |
| EP1394974A2 (en) | Adaptive clock recovery in packet networks | |
| GB2392589A (en) | Adaptive clock recovery using a packet delay variation buffer and packet count | |
| US7457390B2 (en) | Timeshared jitter attenuator in multi-channel mapping applications | |
| US7315539B2 (en) | Method for handling data between a clock and data recovery circuit and a data processing unit of a telecommunications network node of an asynchronous network, as well as a bit rate adaptation circuit and a clock and data recovery system | |
| US8081664B2 (en) | Method and arrangement for regenerating a timing signal in digital data communication | |
| US20020031129A1 (en) | Method of managing voice buffers in dynamic bandwidth circuit emulation services | |
| KR100263184B1 (en) | Apparatus and mrthod for recovering an adaptive clock of aali protocl in atm communication system | |
| JPH0478247A (en) | Packet synchronization recovery circuit |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WAP | Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1) |