28
STP2002QFP
Sun Microelectronics
Fast Ethernet, Parallel Port, SCSI (FEPS) - STP2002QFP
ETHERNET CHANNEL 5

5.1 Introduction

The Ethernet channel is a dual-channel intelligent DMA controller on the sys-
tem side, and an IEEE 802.3 Media Access Control (MAC) on the network
side. It is designed as a high-performance full-duplex device, allowing for si-
multaneous transfers of data from/to host memory to/from the “wire.” The
two main functions of the Ethernet channel are to provide MAC function for
a 10-/100-Mbps CSMA/CD protocol based network and to provide a high-
performance two-channel DVMA host interface between the MAC controller
and the SBus. The Ethernet channel supports 10/100-Mbit Fast Ethernet. The
Fast Ethernet standard is backwards compatible with the standard 10-Mb/s
Ethernet standard. The speed is auto-sensed. An RJ-45 connector supports
twisted-pair style of Ethernet. In addition, a Media Independent Interface
(MII) connection is supported through an external transceiver to allow adap-
tation to any other form of Ethernet (AUI/TP/ThinNet).

5.2 Functional Description

5.2.1 Overview

Packets scheduled for transmission are transferred over the SBus into a local
transmit FIFO and are later transferred to the TX_MAC core for protocol pro-
cessing and transmission over the medium. A programmable transmit thresh-
old is provided to enable the transmission of the frame. The reverse process
takes place in the receive path. Packets received from the medium are pro-
cessed by the RX_MAC, loaded into the receive FIFO, and are later trans-
ferred to the host memory over the SBus. The receive threshold for data
transfers is 128 bytes.
At the device driver level, the user deals with transmit and receive descrip-
tor-ring data structures for posting packets and checking status. In the
transmit case, packets may be posted to the hardware in multiple buffers
(descriptors), and the transmit DMA engine will perform “data gather.” In the
receive case, the receive DMA engine will store an entire packet in each
buffer that was allocated by the host. “Data scatter” is not supported, but
instead a programmable first byte-alignment offset within a burst is
implemented.