30.01.2015 Views

UM10211 - Standard ICs

UM10211 - Standard ICs

UM10211 - Standard ICs

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

NXP Semiconductors<br />

<strong>UM10211</strong><br />

Chapter 11: LPC2300 Ethernet<br />

All of the above interrupts can be enabled and disabled by setting or resetting the<br />

corresponding bits in the IntEnable register. Enabling or disabling does not affect the<br />

IntStatus register contents, only the propagation of the interrupt status to the CPU (via the<br />

Vectored Interrupt Controller).<br />

The interrupts, either of individual frames or of the whole list, are a good means of<br />

communication between the DMA manager and the device driver, triggering the device<br />

driver to inspect the status words of descriptors that have been processed.<br />

Transmit example<br />

Figure 11–22 illustrates the transmit process in an example transmitting uses a frame<br />

header of 8 bytes and a frame payload of 12 bytes.<br />

TxDescriptor<br />

0x7FE010EC<br />

0x7FE01314<br />

0x7FE0131B<br />

TxStatus<br />

0x7FE011F8<br />

descriptor array<br />

0x7FE010EC<br />

0x7FE010F0<br />

0x7FE010F4<br />

0x7FE010F8<br />

0x7FE010FC<br />

0x7FE0100<br />

Packet<br />

0x7FE01314<br />

00 CONTROL Control 7<br />

Packet<br />

0x7FE01411<br />

0 0 CONTROL Control 7<br />

Packet<br />

0x7FE01419<br />

1 1 CONTROL Control 3<br />

descriptor 0<br />

descriptor 1<br />

descriptor 2<br />

PACKET 0 HEADER (8 bytes)<br />

0x7FE01411<br />

0x7FE01419<br />

0x7FE0141C<br />

PACKET 0 PAYLOAD (12 bytes)<br />

0x7FE01324<br />

0x7FE0132B<br />

TxProduceIndex<br />

status 1 status 0<br />

status 3 status 2<br />

StatusInfo<br />

StatusInfo<br />

StatusInfo<br />

StatusInfo<br />

0x7FE011F8<br />

0x7FE011FC<br />

0x7FE01200<br />

0x7FE01204<br />

status array<br />

0x7FE0104<br />

0x7FE01108<br />

Packet<br />

0x7FE01324<br />

0 0 CONTROL Control 7<br />

descriptor 3<br />

PACKET 1 HEADER (8 bytes)<br />

TxConsumeIndex<br />

TxDescriptorNumber<br />

= 3<br />

descriptor array<br />

fragment buffers<br />

status array<br />

Fig 22. Transmit example memory and registers<br />

After reset the values of the DMA registers will be zero. During initialization the device<br />

driver will allocate the descriptor and status array in memory. In this example, an array of<br />

four descriptors is allocated; the array is 4x2x4 bytes and aligned on a 4 byte address<br />

boundary. Since the number of descriptors matches the number of statuses the status<br />

array consists of four elements; the array is 4x1x4 bytes and aligned on a 4 byte address<br />

boundary. The device driver writes the base address of the descriptor array<br />

(0x7FE0 10EC) to the TxDescriptor register and the base address of the status array<br />

<strong>UM10211</strong>_1<br />

© NXP B.V. 2007. All rights reserved.<br />

User manual Rev. 01 — 27 March 2007 178 of 613

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!