Realtek RTL8100 Скачать руководство пользователя страница 2

 
 

RTL8100 

 

2001/12/10 

Rev.1.0 

 
 

1 Packet Transmission 

1.1 Architecture 

The transmit path of the RTL8100 uses 4 descriptors, each descriptor with a fixed IO address offset. The 4 descriptors are used in 
a round-robin fashion. As a descriptor is written, PCI operations start and move packets in the memory which the descriptor 
specifies to the Transmit FIFO. The transmit FIFO is a 2k byte buffer in the chip which holds the data which will be moved to the 
line (cable). Data in the Transmit FIFO starts to move to the line when the early transmit threshold is met. The early transmit 
threshold is also specified in the descriptor. 

1.2 Transmit Descriptors 

A transmit descriptor consist of 2 registers, which are specified below. 

Register 1: Transmit Start Address (TSAD0-3) register. The physical address of each packet (Note: the packet must be in a 
continuous physical memory) 

Register 2: Transmit Status (TSD0-3) register. A detailed description of this register is listed below. 

Bit 

R/W 

Symbol 

Description 

31 R  CRS 

Carrier Sense Lost:

 This bit is set to 1 when the carrier is lost during 

transmission of a packet. 

30 R  TABT 

Transmit Abort:

 This bit is set to 1 if the transmission of a packet was 

aborted. This bit is read only, writing to this bit is not affected. 

29 R  OWC 

Out of Window Collision:

 This bit is set to 1 if the RTL8100 encountered an 

"out of window" collision during the transmission of a packet. 

28 R  CDH 

CD Heart Beat:

 The same as RTL8029(AS). 

This bit is cleared in the 100Mbps mode. 

27-24 R  NCC3-0 

Number of Collision Count:

 Indicates the number of collisions 

encountered during the transmission of a packet. 

23-22 - 

Reserved 

21-16 R/W ERTXTH5-0 

 

Early Tx Threshold:

 Specifies the threshold level in the Tx FIFO to begin 

the transmission. When the byte count of the data in the Tx FIFO reaches 
this level, (or the FIFO contains at least one complete packet) the RTL8100 
will transmit this packet. 
000000 = 8 bytes 
These fields count from 000001 to 111111 in unit of 32 bytes. 
This threshold must be avoided from exceeding 2K byte. 

15 R  TOK 

Transmit OK:

 Set to 1 indicates that the transmission of a packet was 

completed successfully and no transmit underrun occurs. 

14 R  TUN 

Transmit FIFO Underrun:

 Set to 1 if the Tx FIFO was exhausted during 

the transmission of a packet. The RTL8100 can re-transfer data if the Tx 
FIFO underruns and can also transmit the packet to the wire successfully 
even though the Tx FIFO underruns. That is, when TSD<TUN>=1, 
TSD<TOK>=0 and ISR<TOK>=1 (or ISR<TER>=1). 

13 R/W  OWN 

OWN:

 The RTL8100 sets this bit to 1 when the Tx DMA operation of this 

descriptor was completed. The driver must set this bit to 0 when the 
Transmit Byte Count (bit0-12) is written. The default value is 1. 

12-0 R/W  SIZE 

Descriptor Size:

 The total size in bytes of the data in this descriptor. If the 

packet length is more than 1792 byte (0700h), the Tx queue will be invalid, 
i.e. the next descriptor will be written only after the OWN bit of that long 
packet's descriptor has been set. 

 

 
 

Содержание RTL8100

Страница 1: ...2 6 Configuration 8 2 7 Sample Code 9 3 Initialization 10 Additional Notes 10 This document is intended for use by the software engineer when programming for the Realtek RTL8100 series NIC controller...

Страница 2: ...on of a packet 28 R CDH CD Heart Beat The same as RTL8029 AS This bit is cleared in the 100Mbps mode 27 24 R NCC3 0 Number of Collision Count Indicates the number of collisions encountered during the...

Страница 3: ...mit Status register Also clear the OWN bit in TSD This starts the PCI operation 3 As the data moved into the FIFO meets the early transmit threshold the chip starts to move data from the FIFO to the l...

Страница 4: ...ssing a transmit interrupt the following two cases should be managed properly Case 1 More than one interrupt between TOK and when ISR routine called Drivers have to check as many descriptor as possibl...

Страница 5: ...S_OWN case 0 return TSDSTATUS_0 return 0 void IssueCMD unsigned char descriptor unsigned long offset descriptor 2 outpdw IOBase TSAD0 offset TxDesc TxHwSetupPtr PhysicalAddress outpdw IOBase TSD0 offs...

Страница 6: ...gister CBA keeps the current address of the data moved to the buffer CAPR is then a read pointer which keeps the address of data that the driver had read The receiving packet status is stored in front...

Страница 7: ...2 R CRC CRC Error When set indicates that a CRC error occurred on the received packet 1 R FAE Frame Alignment Error When set indicates that a frame alignment error occurred on this received packet 0...

Страница 8: ...arly threshold No early FIFO Buffer DMA starts when the whole packet is in the FIFO If an incoming packet is larger than the size of the FIFO 2K RxFIFOOvw will be set but Rx DMA will never start so th...

Страница 9: ...CR_BUFE break do RxReadPtr RxBuffer RxReadPtrOffset pPacketHeader PPACKETHEADER RxReadPtr pIncomePacket RxReadPtr 4 PktLength pPacketHeader PacketLength this length include CRC if PacketOK pPacketHead...

Страница 10: ...n developed under Borland C 3 0 and the debugging process was accomplished under Softice for DOS All testing is done under DOS win98 2 To enable source code debugging under Softice the compiling linki...

Отзывы: