PM73121ꢀAAL1gator II
Data Sheet
PMC-Sierra, Inc.
PMC-980620
,VVXHꢀꢁ
AAL1 SAR Processor
7.8.1 R_OAM_QUEUE_TBL
Organization: 2 words
Base address: 0 8000h
Index: 1h
Type: Read/Write
Function: OAM cells received from the ATM side are stored in a FIFO queue in the mem-
ory. Head and tail pointers are used to keep track of the read and write locations of the
OAM cell buffers. There are 256 cell buffers in the OAM receive queue. Of these 256
cell buffers, 255 are usable. The 256th buffer is used to detect a full queue as follows:
When the queue is empty, OAM_HEAD = OAM_TAIL = N. When a cell is received,
the cell is written into the buffer at index (OAM_TAIL + 1) mod 256, and OAM_
TAIL is replaced with (OAM_TAIL + 1) mod 256. When the processor receives an
interrupt, it reads the cell at the buffer index (OAM_HEAD + 1) mod 256. After com-
pleting the read, it sets OAM_HEAD to (OAM_HEAD + 1) mod 256. This process is
continued until OAM_HEAD = OAM_TAIL, at which time the OAM receive queue is
empty. The receive OAM interrupt can be cleared by asserting the CLR_RX_OAM_
LATCH bit in the CMD_REG (refer to “CMDREG Word Format” on page 165).
If an OAM cell arrived between the time the OAM_TAIL was last read and CLR_RX_
OAM_LATCH was asserted, this OAM cell’s arrival can be detected within the inter-
rupt service routine by re-reading OAM_TAIL after CLR_RX_OAM_LATCH was
asserted.
Format:
Offset
Name
Description
0
1
OAM_HEAD
OAM_TAIL
Head pointer.
Tail pointer.
OAM_HEAD Word Format
Field (Bits)
Description
OAM_HEAD
(7:0)
The microprocessor should increment to the next cell location when it reads a
cell. Initialize to 0.
OAM_TAIL Word Format
Field (Bits)
Description
OAM_TAIL
(7:0)
Incremented by the RALP after it writes a cell to the OAM cell queue.
Initialize to 0.
ꢀꢃꢂ