Motorola MC68824 User Manual page 88

Token-passing bus controller
Table of Contents

Advertisement

Upon frame reception, the TBC will perform the following steps:
1. For each FD which is pulled off the free pool the TBC will:
• Update the indication word (offset
0)
bit 15 (NRV). If this is the last frame in this RX
queue, then NRV
= a
else NRV
=
1.
• Update the receive status word (offset
2)
to reflect possible errors found while receiving
this frame. The TBC will accept the frame in which errors were found according to the
RX status error mask located in the private area (see 2.1.14 RX Frame Status Error
Mask).
• Check the control word for next FD pointer (offset 4). If the NPV bit is cleared, the TBC
will set the FDPE bit in interrupt status word 0, and this FD will be used by the TBC.
Also, the W-FD bit will be checked and the FDPL bit in interrupt status word 0 will be
set if required.
• Update the first BD pointer (offset C) as it fetches a BD from the free pool if the first
II
BD fetched has LABD
=
O.
• Load the frame data length (offset 10).
• Load the frame control (offset 1 B), the destination and source address.
2. For each BD which is fetched from the free pool the TBC will:
• Check bit 15 of the BD control and offset word (offset 6). If LABD
=
1, then the TBC will
NOT use this last BD. The buffer descriptor pool empty bit in interrupt status word
a
will be set. If the RX status error mask permits it, the TBC will receive the frame's header
information (Le., the information stored in the FD) provided a free FD is still avai!able.
• Check bit 15 of the buffer length (offset 8). If W-BD
=
1, then the TBC will set the BD
pool low bit in interrupt status word O.
,
• Update the receive indication word (offset A) to inform the host if this is the last BD
for this frame and the number of unused data bytes in this buffer.
3. The TBC will load the data from the frame into the data buffer(s) associated to the BD(s)
which was (were) pulled from the free pool.
4. The TBC will check the private area to find the last FD residing in the appropriate receive
queue. It will change this last FD's next receive valid (NRV) bit to a one indicating that there
is at least one more FD in the queue. The TBC will then link the received FD to the last FD
in the queue, and update the RX EOO pointer for that access class in the private area.
5. Lastly, the TBC will set the RXDF bit (received data frame) located in interrupt status word
a
and generate an interrupt if enabled.
As the host reads received frames, it must keep at least one FD linked to the queue for each
access class to know where to start reading. Before adding FDs to the FD pool, the host must
clear the confirmation/indication word in the frame descriptor as well as the status indication
word. The host can then free up memory space or add the FD or BD back into the linked list.
4.4 REQUEST WITH RESPONSE (RWR) TRANSMISSION
The mechanism used by the host to prepare an RWR frame for transmission is the same as for
any other frame with one exception: the frame control field for that frame (offset 1 B of FD) must
have RWR encoded in it. When the TBC reaches this frame in the transmit queue, it transmits the
frame and waits three slot times for a response as defined in IEEE 802.4. If no valid response
arrives, the TBC will try to transmit the frame again, up to the RWR max retry limit which is
specified by the user in offset 6E of the private area. IEEE specifies this value to be programmable
and to have a maximum value of seven, however the TBC allows a maximum value of 255 for
MC68824 USER'S MANUAL
MOTOROLA
.1-1 "

Advertisement

Table of Contents
loading

Table of Contents