SMSC LAN1198 Manual De Usuario

Descargar
Página de 45
LAN9118 Family Programmer Reference Guide
SMSC AN 12.12
31
Revision 1.0 (12-14-09)
APPLICATION NOTE
 
Keep in mind that this example is running in a Little Endian environment.  To begin the transfer
sequence, write the two command words as DWORDs, followed by the packet data.  Since the transfer
is aligned on 4-byte boundaries, the data transfer start address must begin from 0xb4002010 and
continue up to and including 0xb4002060.  
 shows the sequence of data transferred from 
: Transmit Packet Example’s
memory into the TX_DATA_FIFO.  To read th
, start from the upper left portion, and following
the Host Source Address (light grey) headings down, then zigzag back up and down through the
middle, and then the right-hand columns, so that the transfer appears thus:
The second example will demonstrate how to chain transfers together into a single packet.  We will
re-use the sample packet shown in 
, and instead of a single transfer, we will make 3 separate
transfers; 29 bytes to start, then 32 bytes, then the remaining 17 bytes.  Visually the chained transfer
appears like this:
Table 6.4  Transmit Command Words
TX_CMD_B
Packet Tag
15
14
13
12
11
Packet Length
0x1234
0x4e
Table 6.5  Single Buffer Single Packet Data Transfer Sequence
HOST 
SOURCE 
ADDRESS
TX_DATA_FIFO 
DATA 
TRANSFER 1
HOST 
SOURCE 
ADDRESS
TX_DATA_FIFO 
TRANSFER 
CONT.
HOST 
SOURCE 
ADDRESS
TX_DATA_FIFO 
TRANSFER 
CONT.
TX_CMD_A
0x0003304e
0xb4002028
0xf0068000
0xb4002048
0x726f6600
TX_CMD_B
0x1234004e
0xb400202c
0x5081aa6a
0xb400204c
0x43534d53
0xb4002010
0x00XXXXXX
0xb4002030
0x5381aa76
0xb4002050
0x44202e4d
0xb4002014
0xdea0830e
0xb4002034
0x01e70496
0xb4002054
0x64697662
0xb4002018
0x0f8000ff
0xb4002038
0x384aa9bd
0xb4002058
0x4c654720
0xb400201c
0x08715571
0xb400203c
0x7cd60a0d
0xb400205c
0x6e616d62
0xb4002020
0x00004500
0xb4002040
0xff10506c
0xb4002060
0xYYYYYY21
0xb4002024
0x40561128
0xb4002044
0x0029f9ff