Buffer Descriptor Format - Motorola MC68824 User Manual

Token-passing bus controller
Table of Contents

Advertisement

DISPLACEMENT
(IN BYTES)
DESCRIPTION OF FIELD
0
RESERVED
2
DATA BUFFER POINTER - HIGH
4
DATA BUFFER POINTER -LOW
6
BD CONTROL AND OFFSET
8
BUFFER LENGTH
OA
RECEIVE INDICATION WORD
OC
RESERVED
OE
NEXT BUFFER DESCRIPTOR POINTER - HIGH
10
NEXT BUFFER DESCRIPTOR POINTER - LOW
Figure 4-4. Buffer Descriptor Format
4.1.2.1 DATA BUFFER POINTER. These two words contain the 32·bit pointer to the data buffer.
The data buffer pointer links the buffer descriptor to its associated data buffer. Each buffer de-
scriptor has only one associated data buffer. The buffer descriptor points to its associated data
buffer whether the buffer descriptor is being used for a TX frame, an RX frame, or is still in the
free buffer descriptor pool. This pointer must be initialized by the host.
4.1.2.2 BUFFER DESCRIPTOR CONTROL AND OFFSET. This word contains the control and offset
information for a buffer descriptor and must be initialized by the host. The offset is useful for
appending upper layer software information to the data buffer. The offset tells the TBC how far
from the beginning of the data buffer actual data begins. This is useful for passing data through
the ISO layers. As the message is passed down through the software layers, address and control
information may be appended to the front of the data and the offset may be changed for the next
ISO layer so that the data does not have to be rewritten. Note that bit F of this word has a different
meaning for the TX queue and the free buffer descriptor pool.
o
C
B
A
2
i
LABD
i
OF14
i
OF13
i
OF12
i
OFll
i
OF10
i
OF9
i
OF8
i
OF7
i
OF6
i
OF54
i
OF4
i
OF3
i
OF2
i
OFI
OFO
LABD - Last Buffer Descriptor, Transmit Queue Case (TBC will use last BD)
o
This BD is not the last one (next buffer descriptor pointer is valid)
1 This is the last linked buffer in this frame
LABD - Last Buffer Descriptor, Free BD Pool Case (TBC will not use last BD while receiving)
o
This buffer descriptor is not the last one
This is the last linked buffer in the pool queue and this buffer descriptor is not valid. The
TBC will set the BD pool empty bit in interrupt status word 0 upon detection of this
condition.
OF14·0FO - Offset Length in Bytes from the Head of the Buffer where Actual Data Begins
In free BD pool case, buffer pointer plus offset must be even. In transmit queue case, if this
is the first BD of the frame then buffer pointer plus offset may be even or odd. In transmit
queue case, if this is NOT the first BD of the frame then buffer pointer plus offset must be
even. Also in transmit queue case, if a frame has to be divided into two or more buffer
descriptors and the first data buffer only holds one byte of data then the BD pointer plus
offset must be even.
MC68824 USER'S MANUAL
MOTOROLA
11.7
II

Advertisement

Table of Contents
loading

Table of Contents