
MB86964
14
Table 2. Receive Packet Header Status Indications
CONDITION
N/A
(BIT 7)
N/A
(BIT 6)
GOOD
PKT
(BIT 5)
RMT
0900H
(BIT 4)
SHORTP
KT ERR
(BIT 3)
ALIGN
ERR
(BIT 2)
CRC
ERR
(BIT 1)
N/A
(BIT 0)
GOOD PACKET
0
0
1
0/1
X
X
X
X
PACKET WITH ERROR
0
0
0
0/1
0/1
0/1
0/1
X
0/1 indicates that the value of the bit will be 0 or 1 depending on the condition of the packet. An ’X’ indicates that the value should be ignored
TRANSMITTER CIRCUITS
Circuits within the transmitter include a transmitter state ma-
chine, a small FIFO for pipelining the packet data, preamble
generator, CRC generator, parallel to serial converter, backoff
generator, interpacket gap timer and time domain reflectometer
(TDR) counter. Additional circuits involved in packet trans-
mission are described in the Transceiver section of this docu-
ment.
The transmitter state machine provides sequencing of events
for the transmitter, including idle, preamble, data, CRC, inter-
packet gap, jam and backoff. It detects various transmit error
conditions and sets appropriate bits within the DLCR registers.
The pipeline FIFO provides elastic buffering that the buffer
controller can load with data to be transmitted. The chip’s CRC
generator calculates the 32-bit CRC on the destination and
source address, the length field and the data field as specified
by the ISO/ANSI/IEEE 8802-3 specification for Ethernet.
This value is appended to the end of the packet when it is trans-
mitted.
Media Access Control
The MB86964 transmitter state machine implements the Car-
rier Sense, Multiple Access with Collision Detection (CSMA/
CD) network media-access protocol. The MB86964 monitors
the network for any other node’s carrier, and defers transmis-
sion (collision avoidance) while other nodes are transmitting,
except when EN TX DEFER, DLCR4<0>, is high. Collision
detection handles collisions that may still occur when two
nodes separated on the network begin transmitting at nearly the
same time. All nodes monitor the network for collisions and,
when involved in one, transmit a 32-bit jam signal to reinforce
the collision and then terminate transmission. After waiting a
pseudo-random backoff interval, generated as described be-
low, the node automatically retries transmission of the packet.
Packets on the network must be separated by at least 9.6 micro-
seconds, the ’interpacket gap’ (IPG) during which the network
medium is specified to be idle. The MB86964 transmitter state
machine measures this IPG starting from the end of a packet on
the network, and does not attempt to transmit until the end of
the IPG. If carrier reappears on the network during the first
two-thirds of the IPG, the MB86964 resets the timer to re–time
the IPG from the end of the new transmission. Such an event
can occur during a collision, since data and carrier indications
can be corrupted by the superimposition of the two packets.
During the last one-third of the IPG, the MB86964 ignores the
occurrence of a carrier indication, in accordance with 8802-3,
to ensure fairness and equality in access to the network. Thus,
if one station begins transmission slightly ahead of another,
there is no advantage to the earlier start. Both nodes transmit, a
collision occurs, and backoff interval differentials resolve the
media-access contention.
Transmit Packet Processing
To transmit one or more packets, the host system first loads the
packet(s), preceded by a two-byte header giving their lengths,
into a transmit buffer by writing the data to the Buffer Memory
Port Register, BMPR8. Only the destination address, source
address, length and data fields of the packets are loaded by the
system. After the packets are loaded into the transmit buffer,
the system turns the transmitter on to initiate transmission. Ob-
serving the media access protocol, the MB86964 defers trans-
mitting to carrier from other nodes, minimum interpacket gap
intervals and backoff intervals, if any, and then begins to serial-
ize the data. It generates the Preamble field at the beginning,
and calculates and appends the CRC field at the end. Figure 10
illustrates the standard packet format. The serialized signal is
routed to the transceiver section which encodes the data into the
required Manchester code, appends an end-of-packet delimit-
er, and outputs the data on the selected network interface port
(AUI or 10BASE-T).
The transmitter transmits the packets in the transmit buffer in
the order in which they were loaded. If a collision is detected by
the transceiver, the transmitter automatically retransmits the
packet until successful or until 16 consecutive attempts have
ended in collision. In the latter case, depending on the mode
selection made at initialization time, the transmitter continues
to try to transmit the same packet starting again with a collision
count of zero, skips the current packet and tries to transmit the
next packet starting with a collision count of zero, or halts and
waits for instruction from the host. In the last case, the host can
elect to terminate transmission attempts by setting DLC EN,
DLCR6<7> to one, continue to attempt to transmit the same
packet (collision counter reset), or skip the current packet and
try to transmit the next packet (collision count is zero).