
MT90520
Data Sheet
60
Zarlink Semiconductor Inc.
Figure 22 - Segmentation Control Structure - SDT Format
Note 1:
Fields which appear in dark grey are reserved fields
which must be cleared by software upon initialization.
Note 2
: Fields which appear in light grey are those which are
updated by hardware.
Number of TDM Octets:
Indicates the number of TDM octets required to fill the next
cell of the corresponding VC. Initialize to 47d.
Number of Channels:
Indicates the number of TDM channels in the VC associated
with this control structure (possible values = 1d to 128d).
RM (Remainder):
When set, this bit indicates that there is enough TDM data to create
more than one cell in the current frame. Initialize to ‘0’.
Read Pointer:
This value represents the location in the circular buffers from which the
next TDM value will be read. Should generally be initialized to “0”, but if the chip is sup-
porting a large number of VCs, this field may be used to distribute cell generation over
more than 1 frame. See “Read Pointer Field” on page 61 for more details.
W (Wait for Multiframe):
When set, the TX_SAR module waits for the multiframe
boundary to produce the first cell (seq. num = 0; pointer = 0).
F (First Cell):
If set, indicates that the next cell is the first one to be sent for the current
VC. Should be initialized to ‘1’, except if the
Read Pointer
is used to scatter the cell
generation over multiple frames (this bit should then be cleared).
SRTS:
If
SE
is set, an SRTS value is read from the Clock Management module at the
beginning of each cell sequence (SN = 0) and stored in this field. In cells with odd
sequence numbers, the MSB from this field is placed into the CSI bit of the SAR-PDU
header. The
SRTS
value is then shifted left.
SN (Sequence Number):
Holds the sequence number of the next cell to be gener-
ated. Must be initialized to “0”.
Structure Length:
This field contains the length of the multiframe structure (payload
substructure + signalling substructure). For non-CAS VCs, this field should be initial-
ized to
Number of Channels
. For CAS VCs, this field = (
Number of Channels
)*m +
roundup(
Number of Channels
/2) where m=24 for DS1 and 16 for E1.
M (Mode):
“01” = (DS1 with CAS and
Number of Channels
= 1); “10” = (E1 with CAS
and
Number of Channels
= 1); “11” = (E1 with CAS and
Number of Channels
= 2);
“00” = all other cases.
Structure Boundary Pointer:
Indicates the distance, in octets, between the last pay-
load byte written and the next structure boundary. Initialize to “0”.
SE (SRTS Enable):
When set, indicates that the VC is transmitting SRTS data. When
cleared, the CSI bit of outgoing odd-numbered cells is set to ‘0’. Only one VC per port
may carry SRTS information.
PS (Pointer Sent):
Used to ensure that only a single pointer cell is sent within an
eight-cell sequence. Initialize to ‘0’.
PE (Pointer Enable):
When set, a pointer cell will be generated once per 8-cell
sequence. This bit must be cleared to ‘0’ for single-channel VCs not transporting CAS,
but set in all other cases.
P (Pointer Cell):
Indicates that the next cell to be produced will be a pointer cell.
Should be initialized to the same value as the
PE
bit.
Current CAS:
When transporting CAS, this field is used to keep track of which circular
buffer pointer to read next. Must be initialized to 0Ah.
Current TDM:
Used to keep track of which circular buffer pointer to read next. Must be
initialized to 0Ah.
Last:
Contains the address (relative to word 0) of the last valid
Segmentation Circu-
lar Buffer Base Address
in the control structure. The formula for this field is: 09h
+
Number of Channels
.
Number of CAS:
Contains the size, in octets, of the signalling substructure. If CAS is
not being transmitted, this field should be initialized to “0”. Otherwise, the formula is:
roundup(
Number of Channels
/2).
Cell Count Statistic:
Rollover counter which counts the number of cells transmitted
on this VC by the TX_SAR module. Initialize to “0”.
GFC:
The Generic Flow Control value is placed in the GFC field of cell headers in a
UNI cell. If the cell is using NNI formatting, these bits hold the four MSBs of the VPI.
VPI:
This value is placed in the VPI field of outgoing cell headers.
VCI:
This value is placed in the VCI field of the generated cell headers.
PTI:
This value is placed in the PTI field of outgoing cell headers.
C (CLP):
This value is placed in the CLP field of the cell headers.
HEC:
This value is placed in the HEC (UDF1) field of outgoing cell headers. The phys-
ical layer is generally responsible for calculating HEC values; therefore, this field is
used as a place holder. If the physical layer does not calculate the HEC, the user may
generate the appropriate HEC value by performing a modulo-2 division of the first four
octets of the cell header using the generator polynomial G(x) = x
8
+ x
2
+ x + 1.
UDF2:
This value is placed in the UDF2 field of the cell header when the UTOPIA is
operating in 16-bit mode.
Segmentation Circular Buffer X Base Address:
The bits of this field are concate-
nated with the
Read Pointer
bits to form a 20-bit
word
address to external memory.
This value is used to address a particular TDM or CAS value in a particular buffer. One
pointer is needed for each channel in the VC.
0
15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Number of
TDM Octets
Read
Pointer
Number of
Channels
R
R W F
SRTS
SN
Structure Length
R
M
Current CAS
Current TDM
Last
Number of CAS
Cell Count Statistic
GFC
VPI
VCI
VCI
PTI
C
HEC
UDF2
Segmentation Circular Buffer 0
Base Address (bits<19:6>)
Segmentation Circular Buffer 1
Base Address (bits<19:6>)
Segmentation Circular Buffer 126
Base Address (bits<19:6>)
Segmentation Circular Buffer 127
Base Address (bits<19:6>)
Minimum Structure Size -
22 bytes (1 channel)
Maximum Structure Size -
276 bytes (128 channels)
+00
Byte
Add
+02
+04
+08
+06
+0A
+0C
+0E
+12
+10
+16
+14
+112
+110
+00
Word
Add
+01
+02
+03
+04
+05
+06
+07
+08
+09
+0A
+0B
+88
+89
Res
Res
Res
Res
Structure Boundary Pointer
S
E
P
S
P