IDT Ethernet Interfaces
PAUSE Control Frames
79RC32438 User Reference Manual
11 - 19
November 4, 2002
Notes
PAUSE Control Frames
The Ethernet interface supports PAUSE control frames as defined by IEEE Std 802.3x-1997. Received
PAUSE control frames are handled by the Ethernet MAC. A control frame is a frame with a type/length field
that identifies a control frame (i.e., 0x88_08). Control frames are accepted or rejected in the same manner
as all other frames (i.e., using the method specified in the Address Recognition Logic section of this
chapter). The only exception to this is the multicast address 01-80-c2-00-00-01 which is always received
regardless of the setting of the corresponding Ethernet hash table entry.
A PAUSE control frame is a control frame with a multicast address of 01-80-c2-00-00-01 and an opcode
field that corresponds to a PAUSE frame (i.e., 0x00_01). The MAC normally processes PAUSE control
frames but it may be configured to ignore PAUSE control frames by clearing the Receive Flow Control
(RFC) bit in the Ethernet MAC 1 (ETH[0|1]MAC1) register. Control frames are normally discarded after
required processing by the MAC. However, if the Pass All Frames (PAF) bit is set in the ETH[0|1]MAC
register, all frames (i.e., normal frames and control frames) are passed to the Ethernet input FIFO. When
the MAC is configured to ignore control frames, they are still passed to the Ethernet input FIFO if the PAF
bit is set.
A PAUSE control frame may be generated either by transferring the contents of such a frame to the
output FIFO using the DMA or by writing to the Ethernet Generate Pause Frame (ETH[0|1]GPF) register. A
write to the ETH[0|1]GPF register causes the MAC to transmit a PAUSE control frame with the PAUSE
timer value set to the value written to the PAUSE Timer Value (PTV) field of the ETH[0|1]GPF register.
The Source Address (SA) of the MAC generated PAUSE frame is equal to that specified by
ETH[0|1]CFSA0, ETH[0|1]CFSA1, and ETH[0|1]CFSA2. When the MAC completes transmission of a
PAUSE control frame, the PAUSE Frame Done (PFD) bit is set in the Ethernet Pause Frame Status
(ETH[0|1]PFS) register. The PFD bit is presented to the interrupt handler as an interrupt source.
Writes to the ETH[0|1]PGF register before the MAC has completed transmitting a PAUSE control frame
due to a prior write are ignored (that is, they neither modify the register’s contents nor result in the genera-
tion of a PAUSE control frame). The MAC may be blocked from generating pause control frames by clearing
the Transmit Flow Control (TFC) bit in the ETH[0|1]MAC1 register.
Ethernet Generate Pause Frame Register
Figure 11.17 Ethernet Generate Pause Frame Register (ETH[0|1]GPF)
PTV
Description:
Pause Timer Value.
Writing any value into this register causes a PAUSE control frame to be
generated by the MAC. The value written to this field (PTV) is used as the PAUSE timer value for
the generated frame. Once the MAC has completed transmitting the PAUSE control frame, the
Pause Frame Done (PFD) bit is set in the ETH[0|1]PFS register.
Writes to this register before the MAC has completed transmitting a PAUSE control frame due to
a prior write are ignored (that is, they neither modify the register’s contents nor result in the gen-
eration of a PAUSE control frame).
Initial Value:
0x0
Read Value:
Previous value written
Write Effect:
Modify value and generate PAUSE control frame
ETH[0|1]GPF
0
15
PTV
16
0
16