á
PRELIMINARY
DS3 UNI FOR ATM
XRT7245
REV. 1.03
287
Note:
regarding Figure 95
1. The Receive UTOPIA Data bus is configured to be
16 bits wide. Hence, the data, which the Receive
UTOPIA Interface block places on the Receive
UTOPIA Data bus, is expressed in terms of 16-bit
words (e.g., W0–W26).
2. The Receive UTOPIA Interface Block is configured
to handle 54 bytes/cell. Hence, Figure 95 illustrates
the ATM Layer processor reading 27 words (e.g.,
W0 through W26) for each ATM cell.
In Figure 95, the ATM Layer processor is initially
reading ATM cell data from the Receive UTOPIA
Interface within UNI #2 (RxAddr[4:0] = 03h). How-
ever, the ATM Layer processor is also polling the
Receive UTOPIA Interface block within UNI #1 (RxA-
ddr[4:0] = 01h) and some “non-existent” device at
RxAddr[4:0] = 1Fh. The ATM Layer processor com-
pletes its reading of the cell from UNI #1 at clock
edge #4. Afterwards, the ATM Layer will cease to
read any more cell data from UNI #1, and will begin
to read some cell data from UNI #2 (RxAddr[4:0] =
03h). The ATM Layer processor will indicates its
intention to select a new UNI device for reading by
negating the RxEnB* signal, at clock edge #5 (see
the shaded portion of Figure 95). At this time, UNI #1
will notice two things:
1.
The UTOPIA Address for the Receive UTOPIA
Interface block, within UNI #1 is on the Receive
UTOPIA Address bus (RxAddr[4:0] = 01h).
The RxEnB* signal has been negated.
2.
UNI #1 will interpret this signaling as an indication
that the ATM Layer processor is going to be perform-
ing read operations from it. Afterwards, the ATM
Layer processor will begin to read ATM cell data from
the Receive UTOPIA Interface block, within UNI #1.
7.4.2.3
The Receive UTOPIA Interface block will generate
interrupts upon the following conditions:
Change of Cell Alignment (e.g., the detection of
“runt” cells)
Rx FIFO Overrun
Rx FIFO Underrun
Receive UTOPIA Interrupt Servicing
If one of these conditions occur and if that particular
condition is enabled for interrupt generation, then
when the local μP/μC reads the UNI Interrupt status
register, as shown below, it should read “xxx1xxxxb”
(where the -b suffix denotes a binary expression, and
the -x denotes a “don’t care” value).
At this point, the local μC/μP has determined that the
Receive UTOPIA Interface block is the source of the
interrupt, and that the Interrupt Service Routine
should branch accordingly.
The next step in the interrupt service routine should be
to determine which of the three Receive UTOPIA
Block interrupt conditions has occurred and is causing
the Interrupt. In order to accomplish this, the local
μP/μC should now read the “Rx UT Interrupt Enable/
Status Register, which is located at address 6Bh in
the UNI device. The bit format of this register is
presented below.
UNI Interrupt Status Register (Address = 05h)
B
IT
7
B
IT
6
B
IT
5
B
IT
4
B
IT
3
B
IT
2
B
IT
1
B
IT
0
Rx DS3
Interrupt
Status
Rx PLCP
Interrupt
Status
Rx CP
Interrupt
Status
Rx UTOPIA
Interrupt
Status
Tx UTOPIA
Interrupt
Status
Tx CP
Interrupt
Status
Tx DS3
Interrupt
Status
One Sec
Interrupt
Status
RO
RO
RO
RO
RO
RO
RO
RUR
x
x
x
x
1
x
x
x
Address = 6Bh, Rx UT Interrupt Enable/Status Register
B
IT
7
B
IT
6
B
IT
5
B
IT
4
B
IT
3
B
IT
2
B
IT
1
B
IT
0
Unused
RxFIFO
Reset
RxFIFO
Overflw
Interrupt
Enable
RxFIFO
Underflw
Interrupt
Enable
RCOCA
Interrupt
Enable
RxFIFO
Overflw
Interrupt
Status
RxFIFO
Underflw
Interrupt
Status
RCOCA
Interrupt
Status
RO
R/W
R/W
R/W
R/W
RUR
RUR
RUR