Information
Enhanced Three-Speed Ethernet Controllers
MPC8308 PowerQUICC II Pro Processor Reference Manual, Rev. 1
Freescale Semiconductor 16-63
16.5.3.4.4 Controlling Packet Flow
Packet flow can be dealt with in a number of ways within eTSEC. A default retransmit attempt limit of 15
can be reduced using the half-duplex register. The slot time or collision window can be used to gate the
retry window and possibly reduce the amount of transmit buffering within the system. The slot time for
10/100 Mbps is 512 bit times. Because the slot time begins at the beginning of the packet (including
preamble), the end occurs around the 56th byte of the frame data. Slot time in 1000-Mbps mode is not
supported.
Full-duplex flow control is provided for in IEEE 802.3x. Currently the standard does not address flow
control in half-duplex environments. Common in the industry, however, is the concept of back pressure.
The eTSEC implements the optional back pressure mechanism using the raise carrier method. If the system
receive logic wishes to stop the reception of packets in a network-friendly way, transmit half-duplex flow
control (THDF) is set (TCTRL[THDF]). If the medium is idle, the eTSEC raises carrier by transmitting
preamble. Other stations on the half-duplex network then defer to the carrier.
In the event the preamble transmission happens to cause a collision, the eTSEC ensures the minimum
96-bit presence on the wire, then drops preamble and waits a back-off time depending on the value of the
back-pressure-no-back-off configuration bit HAFDUP[BP No BackOff]. These
transmitting-preamble-for-back pressure collisions are not counted. If HAFDUP[BP No BackOff] is set,
the eTSEC waits an inter-packet gap before resuming the transmission of preamble following the collision
and does not defer. If HAFDUP[BP No BackOff] is cleared, the eTSEC adheres to the truncated BEB
algorithm that allows the possibility of packets being received. This also can be detrimental in that packets
can now experience excessive collisions, causing them to be dropped in the stations from which they
originate. To reduce the likelihood of lost packets and packets leaking through the back pressure
mechanism, HAFDUP[BP No BackOff] must be set.
The eTSEC drops carrier (cease transmitting preamble) periodically to avoid excessive defer conditions in
other stations on the shared network. If, while applying back pressure, the eTSEC is requested to send a
packet, it stops sending preamble, and waits one IPG before sending the packet. HAFDUP[BP No
BackOff] applies for any collision that occurs during the sending of this packet. Collisions for packets
while half duplex back pressure is asserted are counted. The eTSEC does not defer while attempting to
send packets while in back pressure. Again, back pressure is non-standard, yet it can be effective in
reducing the flow of receive packets.
16.5.3.4.5 Controlling PHY Links
Control and status to and from the PHY is provided through the two-wire MII management interface
described in IEEE 802.3u. The MII management registers (MII management configuration, command,
address, control, status, and indicator registers) are used to exercise this interface between a host processor
and one or more PHY devices.
The eTSEC MII’s registers provide the ability to perform continuous read cycles (called a scan cycle);
although, scan cycles are not explicitly defined in the standard. If requested (by setting
MIIMCOM[Scan Cycle]), the part performs repetitive read cycles of the PHY status register, for example.
In this way, link characteristics may be monitored more efficiently. The different fields in the MII
management indicator register (scan, not valid and busy) are used to indicate availability of each read of
the scan cycle to the host from MIIMSTAT[PHY scan].