www.ti.com

Peripheral Architecture

2.5.4Transmit Buffer Descriptor Format

A transmit (TX) buffer descriptor (Figure 6) is a contiguous block of four 32-bit data words aligned on a 32-bit boundary that describes a packet or a packet fragment. Example 1 shows the transmit buffer descriptor described by a C structure.

 

 

 

 

Figure 6. Transmit Buffer Descriptor Format

Word 0

 

 

 

 

 

 

 

31

 

 

 

 

 

 

0

 

 

 

 

 

Next Descriptor Pointer

 

Word 1

 

 

 

 

 

 

 

31

 

 

 

 

 

 

0

 

 

 

 

 

Buffer Pointer

 

Word 2

 

 

 

 

 

 

 

31

 

 

 

 

16

15

0

 

 

 

Buffer Offset

 

 

Buffer Length

Word 3

 

 

 

 

 

 

 

31

30

29

28

27

26

25

16

SOP

EOP

OWNER

EOQ

TDOWNCMPLT

PASSCRC

 

Reserved

15

 

 

 

 

 

 

0

 

 

 

 

 

Packet Length

 

Example 1. Transmit Buffer Descriptor in C Structure Format

/*

//EMAC Descriptor

//The following is the format of a single buffer descriptor

//on the EM

AC.

 

 

 

*/

 

 

 

typedef struct _EMAC_Desc {

 

 

struct _EMAC_Desc *pNext;

/* Pointer to next descriptor in chain

*/

Uint8

*pBuffer;

/* Pointer to data buffer

*/

Uint32

BufOffLen;

/* Buffer Offset(MSW) and Length(LSW)

*/

Uint32

PktFlgLen;

/* Packet Flags(MSW) and Length(LSW)

*/

} EMAC_Desc;

 

 

 

/* Packet Flags

 

 

*/

#define EMAC_DSC_FLAG_SOP

0x80000000u

 

#define EMAC_DSC_FLAG_EOP

0x40000000u

 

#define EMAC_DSC_FLAG_OWNER

0x20000000u

 

#define EMAC_DSC_FLAG_EOQ

0x10000000u

 

#define EMAC_DSC_FLAG_TDOWNCMPLT

0x08000000u

 

#define EMAC_DSC_FLAG_PASSCRC

0x04000000u

 

20 Ethernet Media Access Controller (EMAC)/SPRU941A –April 2007

Management Data Input/Output (MDIO)

Submit Documentation Feedback

 

Page 20
Image 20
Texas Instruments TMS320DM643X DMP manual Transmit Buffer Descriptor Format