
Agere Systems Inc.
75
Data Sheet
May 2001
155/622/2488 Mbits/s Data Interface
TDAT042G5 SONET/SDH
Functional Description
(continued)
Data Engine (DE) Block
(continued)
Receive Data Engine
(continued)
PPP Header Detach.
The PPP detach function matches the PPP header (corresponding to the first 4 bytes of the
PPP uncompressed frame or first 2 bytes of the PPP compressed frame) to a set of fixed or provisionable values
for each channel and outputs frames in accordance with payload control register settings. The address and control
field bytes are assumed to be 0xFF03. The block supports two fixed protocol fields (0x0021 corresponding to the
IP protocol field, and 0x8021 corresponding to the IP control protocol). Additionally, 12 provisionable registers,
PPP_Rx_HDR [0
—
11][15:0] (addresses 0x10F0
—
0x10FB), are supported on-chip to allow a large number of pro-
tocols to be recognized in the receive (ingress) data path of the chip.
The PPP detach function supports compressed or uncompressed header fields, optionally matching two fixed (one
corresponding to IP protocol) 16-bit protocol fields. This optional PPP header check allows PPP (normal or com-
pressed (i.e., no FF03)) to be checked and the header optionally stripped. Packets that fail to match one of the pro-
visioned headers or the two default headers can optionally be discarded. This function supports optionally
matching 12 programmable 16-bit protocol fields. The PPP detach function provides mismatched PPP header
count on a per-channel basis through four 28-bit counters, PM_MHC_[0
—
3][27:0] (addresses 0x1118
—
0x111F).
The function can optionally discard frames if header fields do not match on a per-channel basis. It can also option-
ally strip header fields only if they do match on a per-channel basis.
A PPP packet has the following two formats:
5-9642 (F)
* TDAT042G5 is verified to handle packets of up to 64 Kbytes. Larger packets may be processed, but no upper bound or packet size
has been determined. Packets of less than 4 bytes are discarded by the DE.
Figure 16. Uncompressed and Compressed PPP Packets
Each channel has a 16-bit register, PPP_Rx_CHK_CH [0
—
3][15:0] (addresses 0x10FC
—
0x10FF), that can be
provisioned.
If the header bytes do not match and payload control bit 7 = 0, the entire PPP packet is discarded for a given chan-
nel. Otherwise, if the header bytes do not match and payload control bit 7 = 1, the PPP packet is marked as bad
and not discarded for a given channel.
If payload control bit 6 = 0, the header is stripped, provided it matches a provisionable value; otherwise, it is left on
for a given channel.
0x7E
0x7E
0x7E
0x7E
PROTOCOL
FIELD
DATA
CRC FIELD
1 byte
2 bytes
1 byte
≤
64 Kbytes*
2 OR 4 bytes
PACKET
COMPRESSED PPP PACKET
NEXT PACKET
1 byte
1 byte
≤
64 Kbytes*
PACKET
UNCOMPRESSED PPP PACKET
NEXT PACKET
ADDRESS FIELD
0xFF
CONTROL FIELD
0x03
CRC FIELD
DATA
PROTOCOL
FIELD
2 OR 4 bytes
2 bytes
1 byte
1 byte