
RELEASED
PM73122 AAL1GATOR-32
DATASHEET
PMC-1981419
ISSUE 7
32 LINK CES/DBCES AAL1 SAR PROCESSOR
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
418
15.4.3 Adaptive Status Output
The AAL1gator provides the average buffer depth in units of bytes for an external
circuit to generate an adaptive clock. (If adap_filt_size is set to zero it will
provide the current buffer depth with no averaging). The general mechanism is
often termed “buffer centering”. A clock delta value is determined externally by
subtracting the nominal buffer depth(value of CDVT) from the actual buffer
depth. This delta value is then transformed into the frequency selection for an
external frequency synthesizer. The closed-loop action of this circuit causes the
delta value to find a center point. When the delta is above the center point, there
is too much data buffered and the frequency must be increased. When the delta
is below the center point, the frequency must be reduced.
The AAL1gator implements a programmable weighted moving average internally.
However if an alternative adaptive algorithm is desired then this information can
be processed externally. Also in High Speed mode, since an E3 or DS3 clock
cannot be internally synthesized, this information can be used for external
synthesis of an E3 or DS3 clock.
Figure 117 below shows an example of the CGC Interface for adaptive data. In
this example the line number is 21, and the average buffer depth in units of bytes
is 43. These values are encoded into the 6 data words following the format
shown in Table 39.
Table 39 Frame Difference
CGC_DOUT(3:0) Value
CGC_LINE_OUT(4:0)
Value
3
2
1
0
5
queue(7)
queue(6)
queue(5)
queue(4)
4
queue(3)
queue(2)
queue(1)
queue(0)
3
A1SP(1)
A1SP(0)
buff_depth(13)
buff_depth(12)
2
buff_depth(11)
buff_depth(10)
buff_depth(9)
buff_depth(8)
1
buff_depth(7)
buff_depth(6)
buff_depth(5)
buff_depth(4)
0
buff_depth(3)
buff_depth(2)
buff_depth(1)
buff_depth(0)