7 flow control, 8 receive flow control, 9 transmit flow control – Cirrus Logic EP93xx User Manual

Page 312

Advertising
background image

9-10

DS785UM1

Copyright 2007 Cirrus Logic

1/10/100 Mbps Ethernet LAN Controller
EP93xx User’s Guide

9

9

9

The relationship of RXCtl.MA and RXCtl.IAHA is shown below.

9.1.4.7 Flow Control

The MAC provides special support for flow control by the transmission and reception of
pause frames. A pause frame is a specific format of a MAC control frame that defines an
amount of time for a transmitter to stop sending frames. Sending pause frames thereby
reduces the amount of data sent by the remote station.

9.1.4.8 Receive Flow Control

The MAC can detect receive pause frames and automatically stop the transmitter for the
appropriate period of time. To be interpreted as a pause frame the following conditions must
be met:

Destination address accepted by one of the first two individual address filters, with the

appropriate RXCtl.RxFCE bit set.

The Type field must match that programmed in the Flow Control Format register.

The next two bytes of the frame (MAC Control Opcode) must equal 0x0001.

The frame must be of legal length with a good CRC.

If accepted as a pause frame, the pause time field is transferred to the Flow Control Timer
register. The pause frame may be optionally passed on to the Host or discarded by the MAC.
Once the Flow Control Timer is set to a non-zero value, no new transmit frames are started,
until the count reaches zero. The counter is decremented once every slot time while no frame
is being transmitted.

9.1.4.9 Transmit Flow Control

When receive congestion is detected, the driver may want to transmit a pause frame to the
remote station to create time for the local receiver to free resources. As there may be many
frames queued in the transmitter, and there is a chance that the local transmitter is itself
being paused, an alternative method is provided to allow a pause frame to be transmitted.
Setting the Send Pause bit in the Transmit Control register causes a pause frame to be
transmitted at the earliest opportunity. This occurs either immediately, or following the
completion of the current transmit frame. If the local transmitter is paused, the pause frame
will still be sent, and the pause timer will still be decremented during the frame transmission.

Table 9-2. RXCtl.MA and RXCtl.IAHA[0] Relationships

RXCtl.MA

RXCtl.IAHA[0]

Hash Filter Acceptance Results

0

0

Hash filter not used in acceptance criteria.

1

0

All multicast frames (first bit of DA = 1) passing the hash are
accepted.

0

1

All individual address frames (first bit of DA = 0) passing the hash
are accepted.

1

1

All frames that pass the hash are accepted.

Advertising