English
Language : 

W89C940 Datasheet, PDF (13/61 Pages) Winbond – ELANC-PCI (TWISTED-PAIR ETHER-LAN CONTROLLER WITH PCI INTERFACE)
W89C940
Bus Arbitration
The ELANC-PCI handles bus arbitration automatically. The LAN card can operate in four modes: idle state,
slave read/write mode, DMA mode, and PCI mode. The ELANC-PCI controls the on-board devices by decoding
these modes.
At power on, the ELANC-PCI is in idle mode. If a register read/write command is issued, the ELANC-PCI enters
the slave read/write mode. If a local DMA or remote DMA is initiated by the ELANC-PCI core coprocessor, the
ELANC-PCI enters DMA mode. A PCI command will put the ELANC-PCI into PCI mode. At any given time, the
ELANC-PCI can be in only one state. The ELANC-PCI handles state changes automatically. However, two
events, such as a DMA command and an PCI command, may be requested at the same time; in this case, the
ELANC-PCI allocates the bus on a first-come, first-served basis. No predefined priority is set within the
ELANC-PCI.
NE2000 MODE DMA FUNCTION
The ELANC-PCI provides two DMA channels for system access. The remote DMA mode moves data between
system memory space and local memory space. The local DMA moves data between the FIFO of the SLCT
and local memory space. However, since the SLCT can handle local DMA operations without system
intervention (refer to the data sheet for the SLCT), the system has to perform only remote DMA reads/writes.
In a transmit operation, the data should be moved to local memory before the system orders the SLCT to start
transmission. The remote DMA write moves the data from the PCI bus to the local SRAM. This is simply an
"OUT" command on the PC. For a receive operation, the network may feed data constantly and the local
memory may become full if the data are not moved out to system memory through a remote DMA read
operation. This operation is the "IN" command on the PC.
Remote DMA
A remote DMA can be performed only in I/O mode. The remote DMA moves data between the host and the
local buffers. Unlike a local DMA, the remote DMA is byte or word-wide. Each remote DMA operation transfers
four bytes, double-word, depending on the PCI cycle.
Since the remote DMA is simply an PCI I/O operation, PCI is sometimes affected by a remote DMA. If the
remote DMA is interleaved with other devices, TRDY# is deasserted to force the system to insert wait states.
The ELANC-PCI will automatically handle any arbitration necessary.
A Double word access on W89C940 from PCI bus is allowed. The buffer memory access will stop when the
Remote Byte Counter is decreased to zero. A double word read command will read only three bytes of valid
data if remote byte counter is set 3 or two bytes of valid data if the remote byte counter is set 2 respectively.
Local DMA
The local DMA transfers data from/to the on-board buffers. To perform data reception or transmission from/to
remote nodes in the network, data must be moved from/to the FIFO. To enhance the efficiency of the
transmission, the local DMA transfers data in batches: Data are first collected and then moved in a batch. Each
transfer can move up to 12 bytes of data at once. This scheme reduces time wasted in requesting the bus.
A local DMA begins by requesting the local bus. If the bus is available to the ELANC-PCI, it responds at once by
asserting the bus acknowledge; if, on the other hand, the bus is currently authorized to another device, the
ELANC-PCI will not assert the bus acknowledge and the SLCT must wait. Note that this sequence will not affect
the host system or the PCI bus signals. After each batch is transferred, the SLCT checks the FIFO threshold
levels to determine if another batch transfer should be requested.
13