
Multi-Service Access Device For Channelized Interfaces
Telecom Standard Product Data Sheet
Production
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use
Document ID: PMC-1990823, Issue 4
602
When the last byte of a properly terminated packet is received, an interrupt is generated. While
the RDLC Status register is being read the PKIN bit will be logic 1. This can be a signal to the
external processor to empty the bytes remaining in the FIFO or to just increment a number-of-
packets-received count and wait for the FIFO to fill to a programmable level. Once the RDLC
Status register is read, the PKIN bit is cleared to logic 0 . If the RDLC Status register is read
immediately after the last packet byte is read from the FIFO, the PBS[2] bit will be logic 1 and
the CRC and non-integer byte status can be checked by reading the PBS[1:0] bits.
When the FIFO fill level is exceeded, an interrupt is generated. The FIFO must be emptied to
remove this source of interrupt.
The RDLC can be used in a polled or interrupt driven mode for the transfer of frame data. In the
polled mode, the processor controlling the RDLC must periodically read the RDLC Status
register to determine when to read the RDLC Data register. In the interrupt driven mode, the
processor controlling the RDLC uses the S/UNI-MACH48 INTB output and the S/UNI-MACH48
Interrupt Service Routine (Section 14.24) to determine when to read the RDLC Data register.
In the case of interrupt driven data transfer from the RDLC to the processor, the INTB output of
the S/UNI-MACH48 is connected to the interrupt input of the processor. The processor interrupt
service routine verifies what block generated the interrupt by following the S/UNI-MACH48
Interrupt Service Routine (Section 14.24). Once it has identified that the RDLC has generated the
interrupt, it processes the data in the following order:
1. RDLC Status register read. The INTR bit should be logic 1.
2. If OVR = 1, then discard last frame and go to step 1. Overrun causes a reset of FIFO
pointers. Any packets that may have been in the FIFO are lost.
3. If COLS = 1, then set the EMPTY FIFO software flag.
4. If PKIN = 1, increment the PACKET COUNT. If the FIFO is desired to be emptied as soon
as a complete packet is received, set the EMPTY FIFO software flag. If the EMPTY FIFO
software flag is not set, FIFO emptying will delayed until the FIFO fill level is exceeded.
5. Read the RDLC Data register.
6. Read the RDLC Status register.
7. If OVR = 1, then discard last frame and go to step 1. Overrun causes a reset of FIFO
pointers. Any packets that may have been in the FIFO are lost.
8. If COLS = 1, then set the EMPTY FIFO software flag.
9. If PKIN = 1, increment the PACKET COUNT. If the FIFO is desired to be emptied as soon
as a complete packet is received, set the EMPTY FIFO software flag. If the EMPTY FIFO
software flag is not set, FIFO emptying will delayed until the FIFO fill level is exceeded.