descriptor, unless the previous STP descriptor in the
ring is also OWNED by the software.
used for receive purposes by the controller, and the
driver must recognize this. (The driver will recognize
this if it follows the software rules.)
When LAPPEN = 1, then hardware will use a modified
form of descriptor parsing as follows:
The controller will ignore all descriptors with OWN = 0
and STP = 0 and move to the next descriptor when
searching for a place to begin a new frame. In other
words, the controller is allowed to skip entries in the
ring that it does not own, but only when it is looking for
a place to begin a new frame.
n The controller will examine OWN and STP to deter-
mine where to begin placing an RCV frame. A new
RCV frame will only begin in a buffer that has
OWN = 1 and STP =1.
n The controller will always obey the OWN bit for de-
termining whether or not it may use the next buffer
for a chain.
Some Examples of LAPP Descriptor
Interaction
n The controller will always mark the end of a frame
Choose an expected frame size of 1060 bytes. Choose
buffer sizes of 800, 200, and 200 bytes.
with either ENP = 1 or ERR = 1.
The controller will discard all descriptors with OWN = 1
and STP = 0 and move to the next descriptor when
searching for a place to begin a new frame. It discards
these descriptors by simply changing the ownership bit
from OWN = 1 to OWN = 0. Such a descriptor is un-
n Example 1: Assume that a 1060 byte frame arrives
correctly, and that the timing of the early interrupt
and the software is smooth. The descriptors will
have changed from:
Before the Frame Arrives
Descriptor
After the Frame Arrives
Comments (After
Number
OWN
STP
ENPa
OWN
STP
ENPb
Frame Arrival)
1
2
3
1
1
0
1
0
0
x
X
X
0
0
0
1
0
0
0
0
1
Bytes 1-800
Bytes 801-1000
Bytes 1001-1060
Controller’s current
4
1
1
X
1
1
X
location
5
6
1
0
1
0
0
1
X
X
X
1
0
1
0
0
1
X
X
X
Not yet used
Not yet used
Net yet used
etc.
a. & b. ENP or ERR.
n Example 2: Assume that instead of the expected
1060 byte frame, a 900 byte frame arrives, either
because there was an error in the network, or be-
cause this is the last frame in a file transmission se-
quence.
Before the Frame Arrives
Descriptor
After the Frame Arrives
Comments (After
Number
OWN
STP
ENPa
OWN
STP
ENPb
Frame Arrival)
1
2
3
1
1
0
1
0
0
x
X
X
0
0
0
1
0
0
0
0
Bytes 1-800
Bytes 801-1000
Discarded buffer
*
?
Controller’s current
4
1
1
X
1
1
X
location
5
6
1
0
1
0
0
1
X
X
X
1
0
1
0
0
1
X
X
X
Not yet used
Not yet used
Net yet used
etc.
a. & b. ENP or ERR.
Note: The controller might write a ZERO to ENP loca-
tion in the third descriptor. Here are the two possibili-
ties:
modified buffer pointer into the third descriptor, then
the controller will write a ZERO to ENP for this
buffer and will write a ZERO to OWN and STP.
1. If the controller finishes the data transfers into buffer
number 2 after the driver writes the application
2. If the controller finishes the data transfers into buffer
number 2 before the driver writes the applications
B-6
Am79C978