DS3181/DS3182/DS3183/DS3184
141
10.7.4 Receive Cell/Packet Processor
The Receive Cell Processor and Receive Packet Processor both receive the incoming data stream from the
Receive Framer (minus all overhead and stuff data), however, only one of the processors will be enabled. The
other will be disabled. Which processor is enabled is determined by the system interface mode. In UTOPIA mode,
the Receive Cell Processor is enabled. In POS-PHY mode, if the PORT.CR2.PMCPE bit is low, the Receive
Packet Processor is enabled. If the
PORT.CR2.PMCPE bit is high, the Receive Cell Processor is enabled.
The bits in a byte are received MSB first, LSB last. When they are output serially, they are output MSB first, LSB
last. The bits in a byte in an incoming signal are numbered in the order they are received , 1 (MSB) to 8 (LSB).
However, when a byte is stored in a register, the MSB is stored in the highest numbered bit (7], and the LSB is
stored in the lowest numbered bit (0). This is to differentiate between a byte in a register and the corresponding
byte in a signal.
10.7.5 Cell Processor
10.7.5.1 Transmit Cell Processor
The Transmit Cell Processor accepts data from the Transmit FIFO and performs bit reordering, cell padding, HEC
processing, cell error insertion, and cell scrambling. The data output from the Transmit Cell Processor can be either
a serial data stream (bit synchronous mode) or an 8-bit parallel data stream (octet-aligned mode). Cell processing
can be disabled (clear-channel enable). Disabling cell processing disables cell padding, HEC processing, and cell
error insertion. Only bit reordering and cell scrambling are not disabled.
When cell processing is disabled, data is continually read out of the Transmit FIFO. When the Transmit FIFO is
empty, the output data stream is padded with FFh until the Transmit FIFO contains more data than the "almost
empty" level.
The 32-bit data words read from the Transmit FIFO are multiplexed into an 8-bit parallel data stream and passed
on to bit reordering.
Bit reordering changes the bit order of each byte. If bit reordering is enabled, the incoming 8-bit data stream
DT[7:0] with DT[7] being the MSB and DT[0] being the LSB is rearranged so that the MSB is in DT[0] and the LSB
is in DT[7] of the outgoing data stream DT[7:0]. In bit synchronous mode, DT[7] is the first bit transmitted. If cell
processing is disabled the data stream is passed on to cell scrambling, bypassing cell padding, HEC processing,
and cell error insertion.
Cell padding inserts fill cells. After a cell end, fill cells are inserted into the data stream if the Transmit FIFO does
not contain a complete cell. The fill cell type and fill cell payload value are programmable. The resulting data
stream is passed on to HEC processing. If cell processing is disabled, cell padding will not be performed.
HEC processing calculates a HEC and inserts it into the cell. HEC calculation is a CRC-8 calculation over the four
header bytes. The polynomial used is x
8 + x2 + x + 1. The coset polynomial, x6 + x4 + x2 + 1, is added (modulo 2) to
the residue. The calculated HEC is then inserted into the byte immediately following the header. HEC coset
polynomial addition is programmable. If the cell received from the Transmit FIFO contains a HEC byte, the received
HEC byte can be passed through or overwritten with the calculated HEC byte. HEC byte pass through is
programmable. If the cell received from the Transmit FIFO does not contain a HEC byte, the calculated HEC byte
is inserted into the cell. If cell processing is disabled, HEC processing will not be performed.
Cell error insertion inserts errors into the HEC byte. The HEC bits to be errored are programmable. Error insertion
can be controlled by a register or by the manual error insertion input (TMEI). The error insertion initiation type
(register or input) is programmable. If a register controls error insertion, the number and frequency of the errors are
programmable. If cell processing is disabled, cell error insertion will not be performed.
Cell scrambling can scramble the 48-byte cell payload, scramble the entire cell data stream, or scramble the data
stream with a Distributed Sample Scrambler (DSS). If the payload or the entire data stream is scrambled, a self-
synchronous scrambler with a generation polynomial of x
43 + 1 is used. For payload scrambling, the scrambler
scrambles the 48-byte payload, and does not scramble the four header or the HEC bytes. For a DSS scrambled
data stream, a distributed sample scrambler with a generation polynomial of x
31 + x28 + 1 is used for scrambling.
The transmit DSS scrambler scrambles the 48-byte payload and the four byte header. Scrambles the first HEC bit
(HEC[1]) with the first transmit DSS scrambler sample (the transmit DSS scrambler bit from 211 bits earlier),
scrambles the second HEC bit (HEC[2]) with the second transmit DSS scrambler sample (the current transmit DSS
scrambler bit), and. Does not scramble the remaining HEC bits (HEC[3:8]). DSS scrambling can only be performed