
IP100A LF
Preliminary Data Sheet
HOST SYSTEM MEMORY
RFD 1
RFD 2
RFD n
FIGURE 7: RxDMA List Shown in Ring
The host system must create a RxDMAList and the associated buffers prior to reception of a frame. One
approach calls for the host system to allocate a block of full size (i.e. large enough to hold a maximum
size Ethernet frame of 1518 bytes) frame buffers in system data space and create RFDs that point to
them. Another approach is for the host system to request the buffers from the protocol ahead of time.
After reset, the IP100A LF receive function is disabled. Once the RxEnable bit is set, frames will be
received according to the matching mode programmed in ReceiveMode register. Reception can be
disabled by setting the RxDisable bit. If set while a frame is being received, RxDisable only takes effect
after the active frame reception is finished.The receive function begins with the RxDMA Logic in the idle
state. The RxDMA Logic will begin processing a RxDMAList as soon as a non-zero address is written
into the RxDMAListPtr register. The host system creates a RFD with the addresses and lengths of the
buffers to be used and programs the RxDMAListPtr register to point to the head of the list. The host
system must program a zero into the RxDMANextPtr of the last RFD to indicate the end of the
RxDMAList. When a frame is received in the RxFIFO, the IP100A LF fetches the fragment address and
fragment length values one by one from the current RFD, and writes these values into internal registers
which controlì¥Á9
øR¿
-!
bjbjýÏýÏ
`
ٴٴ
-ÿÿ
ÿÿ
ÿ
ÿÿ
lP
,
,
, ˜
Ä Ì of the RFD from which the host system has finished
ill either assert an implicit RxDMAHalt or, if the RxDMAPollPeriod register is set to a non-zero value,
ÿÿ
lP
P
P
P
Tô
reading data. If RxDMAPollPeriod is zero the host system should also issue a RxDMAResume in case
the IP100A LF has halted due to detection of a set RxDMAComplete bit within the ReceiveFrameStatus
field of the next RFD in the ring. If the IP100A LF fetches a RxDMAListPtr for a RFD that has already
been used (a RFD in which the RxDMAComplete bit is set in ReceiveFrameStatus), the RxDMA Logic
The IP100A LF can be configured to generate a RxDMAComplete interrupt when RxDMA completes a
frame transfer. In response to a RxDMAComplete interrupt, the host system must examine the
ReceiveFrameStatus field in the RFD of the received frame to determine the size of the frame and whether
there were any errors. The host system must then copy the frame out of the receive buffers, if needed.
w
the RxDMA Logic will automatically recheck RxDMAComplete periodically until it is cleared.
In general, when the host system enters its interrupt service routine, multiple frames may have been
transferred by RxDMA. The host system can read RxDMAListPtr to determine which RFDs in the list
have been used. The host system begins at the head of the RFD list, and traverses the list until it
reaches the RFD whose address matches RxDMAListPtr. However, since I/O operations are costly, it is
more efficient to use the RxDMAComplete bit in each RFD to determine which frames have been
transferred by RxDMA.
March. 30, 2007
21/97
Copyright © 2004, IC Plus Corp.
IP100A LF-DS-R17