
Fast Ethernet Controller (FEC)
PXN20 Microcontroller Reference Manual, Rev. 1
Freescale Semiconductor
25-45
The driver (RxBD software producer) should set up some number of “empty” buffers for the Ethernet by
initializing the address field and the E and W bits of the associated receive BDs. The hardware (receive
DMA) consumes these buffers by filling them with data as frames are received and clearing the E bit and
writing to the L (1 indicates last buffer in frame) bit, the frame status bits (if L = 1), and the length field.
If a receive frame spans multiple receive buffers, the L bit is only set for the last buffer in the frame. For
non-last buffers, the length field in the receive BD is written by the DMA (at the same time the E bit is
cleared) with the default receive buffer length value. For end of frame buffers, the receive BD is written
with L = 1 and information written to the status bits (M, BC, MC, LG, NO, CR, OV, TR). Some of the
status bits are error indicators which, if set, indicate the receive frame should be discarded and not given
to higher layers. The frame status/length information is written into the receive FIFO following the end of
the frame (as a single 32-bit word) by the receive logic. The length field for the end of frame buffer is
written with the length of the entire frame, not just the length of the last buffer.
For simplicity the driver may assign the default receive buffer length to be large enough to contain an entire
frame, keeping in mind that a malfunction on the network or out of spec implementation could result in
giant frames. Frames of 2KB (2048) bytes or larger are truncated by the FEC at 2047 bytes so software is
guaranteed never to see a receive frame larger than 2047 bytes.
Similar to transmit, the FEC polls the receive descriptor ring after the driver sets up receive BDs and writes
to the RDAR register. As frames are received, the FEC fills receive buffers and updates the associated BDs,
then reads the next BD in the receive descriptor ring. If the FEC reads a receive BD and finds the E bit = 0,
it polls this BD once more. If the BD = 0 a second time, the FEC stops reading receive BDs until the driver
writes to RDAR.
25.5.2
Ethernet Receive Buffer Descriptor (RxBD)
In the RxBD, the user initializes the E and W bits in the first word and the pointer in second word. When
the buffer has been DMA’d, the Ethernet controller modifies the E, L, M, BC, MC, LG, NO, CR, OV, and
TR bits and writes the length of the used portion of the buffer in the first word. The M, BC, MC, LG, NO,
CR, OV and TR bits in the first word of the buffer descriptor are only modified by the Ethernet controller
when the L bit is set.
.
0 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
E
RO1
W
RO2
L
—
—
M
BC
MC
LG
NO
—
CR
OV
TR
2
Data Length
4
Tx Data Buffer Pointer - A [0:15]
6
Tx Data Buffer Pointer - A [16:31]
Figure 25-28. Receive Buffer Descriptor (RxBD)
Summary of Contents for PXN2020
Page 1: ...PXN20 Microcontroller Reference Manual Devices Supported PXN2020 PXN2120 PXN20RM Rev 1 06 2011...
Page 42: ...PXN20 Microcontroller Reference Manual Rev 1 lxiv Freescale Semiconductor...
Page 64: ...Introduction PXN20 Microcontroller Reference Manual Rev 1 1 22 Freescale Semiconductor...
Page 112: ...Signal Description PXN20 Microcontroller Reference Manual Rev 1 3 44 Freescale Semiconductor...
Page 118: ...Resets PXN20 Microcontroller Reference Manual Rev 1 4 6 Freescale Semiconductor...
Page 372: ...e200z6 Core Z6 PXN20 Microcontroller Reference Manual Rev 1 13 8 Freescale Semiconductor...
Page 412: ...e200z0 Core Z0 PXN20 Microcontroller Reference Manual Rev 1 14 14 Freescale Semiconductor...
Page 821: ...Media Local Bus MLB PXN20 Microcontroller Reference Manual Rev 1 Freescale Semiconductor 27 49...
Page 822: ...Media Local Bus MLB PXN20 Microcontroller Reference Manual Rev 1 27 50 Freescale Semiconductor...
Page 1376: ...Memory Map PXN20 Microcontroller Reference Manual Rev 1 A 118 Freescale Semiconductor...