Datasheet
____________________________________________________ DS34T101, DS34T102, DS34T104, DS34T108
97 of 366
10.6.12.2
Pause Packet Support
Ethernet transmission pause in response to a received pause packet is enabled when Pause_enable=1 in the
2MAC_network_configuration register.
When a valid pause packet is received, the MAC_pause_time
register is updated with the packet’s pause time
regardless of its current contents and regardless of the state of Pause_enable bit. In addition, the Pause_packet_
Rx
d interrupt in the MAC_interrupt_status is tri
ggered if it is enabled in the MAC_interrupt_mask register.
If Pause_enable=1 and the
value of the MAC_pause_time register is non-zero, no new packet is transmitted.
A valid pause packet is defined as having a destination address that matches 0x0180C2000001, an Ethertype of
0x8808, and the pause opcode of 0x0001 as shown in Table 10-28.
Table 10
-28. Start of an 802.3 Pause Packet
Destination
Address
Source
Address
Ethertype (MAC Control
Frame)
Pause opcode Pause Time
0x0180C2000001 6 bytes 0x8808 0x0001 2 bytes
Pause packets that have FCS or other errors are treated as invalid and discarded. Valid received pause packets
increment the
2Pause_packets_Rxd_OK counter.
The MAC_pause_time regi
ster decrements every 512 bit times after transmission has stopped. For test purposes,
the register decrements every MII receive clock cycle instead if Retry_test=1 in
the 2MAC_network_configuration
register. If the Pause_enable bit is n
ot set, the decrementing happens regardless of whether transmission has
stopped or not.
The Pause_time_zero interrupt in the MAC_interrupt_status
register is asserted whenever the MAC_pause_time
register decrements to zero (assuming it is enabled in the MAC_interrupt_mask).
Automatic transmi
ssion of pause packets is supported through the transmit pause packet bits of the
2MAC_network_control register. If either Transmit_pause_packet or Transmit_zero_quantum_pause_ packet is set,
a pause packet is transmitted only if Full_duplex=1 in the
2MAC_network_configuration register and
Transmit_enable=1 in the
2MAC_network_control register. Pause packet transmission takes place immediately if
transmit is inactive or if transmit is active between the current packet and the next packet due to be transmitted.
The transmitted pause packet comprises the items in the following list:
Destination address of 01-80-C2-00-00-01
Source address taken from the MAC_specific_address regi
sters
Ethertype of 0x8808 (MAC control frame)
Pause opcode of 0x0001
Pause quantum
Fill of 0x00 to take the frame to minimum frame length
Valid FCS.
The pause quantum used in the generated packet depends on the trigger source for the packet as follows:
If Transmit_pause_packet=1, the pau
se quantum comes from the 2MAC_transmit_paulse_quantum
register. The Transmit Pause Quantum register resets to a value of 0xFFFF giving a maximum pause
quantum as a default.
If Transmit_zero_quantum_pause_ packet=1, the pa
use quantum is zero.
After transmission, no interrupts are generated and the only counter incremented is the
2Transmitted_pause_packets.
Pause packets can also be transmitted by the MAC using normal packet transmission methods. It is possible to
transmit a pause packet while the transmitter is paused by resetting the Pause_enable bit.










