CS8920A
5.2.5 Buffering Held Receive Frames
If space is available, an incoming frame will be
temporarily stored in on-chip RAM, where it
awaits processing by the host. Although this re-
ceive frame now occupies on-chip memory, the
CS8920A does not commit the memory space to
it until one of the following two conditions is
true:
1. The entire frame has been received and the
host has learned about the frame by reading
the RxEvent register (Register 4), either di-
rectly or through the ISQ.
Both early interrupts are disabled whenever there
is a committed receive frame waiting to be proc-
essed by the host.
5.2.6 Transferring Held Receive Frames
The host can read out held receive frames in
Memory or I/O space. To transfer frames in
Memory space, the host executes repetitive Move
instructions (REP MOVS) from PacketPage base
+ 0404h. To transfer frames in I/O space, the
host executes repetitive In instructions (REP IN)
from I/O base + 0000h, with status and length
preceding the frame.
Or:
2. The frame has been partially received, causing
either the RxDest bit (Register C, BufEvent,
Bit F) or the Rx128 bit (Register C,
BufEvent, Bit B) to become set, and the host
has learned about the receive frame by read-
ing the BufEvent register (Register C), either
directly or through the ISQ.
When the CS8920A commits buffer space to a
particular held receive frame (termed a commit-
ted received frame), no data from subsequent
frames can be written to that buffer space until
the frame is freed from commitment. (The com-
mitted received frame may or may not have been
received error free.)
A received frame is freed from commitment by
either of the following conditions:
1. The host reads the entire frame sequentially in
the order that it was received (first byte in,
first byte out).
Or:
2. The host reads part or none of the frame, and
then issues a Skip command by setting the
Skip_1 bit (Register 3, RxCFG, bit 6).
There are three possible ways that the host can
learn the status of a particular frame. It can:
1. Read the Interrupt Status Queue;
2. Read the RxEvent register directly (Register 4);
or
3. Read the RxStatus register (PacketPage base +
0400h).
5.2.7 Receive Frame Visibility
Only one receive frame is visible to the host at a
time. The receive frame’s status can be read from
the RxStatus register (PacketPage base + 0400h)
and its length can be read from the RxLength
register (PacketPage base + 0402h). For more in-
formation about Memory space operation, see
Section 4.11. For more information about I/O
space operation, see Section 4.12.
5.2.8 Example of Memory Mode Receive
Operation
A common length for short frames is 64 bytes,
including the 4-byte CRC. Suppose that such a
frame has been received with the CS8920A con-
figured as follows:
DS238PP2
93