
118
Am79C965A
value in XMTSP. The default value of XMTSP is 10b,
meaning 64 bytes full.
Automatic Pad Generation
Transmit frames can be automatically padded to extend
them to 64 data bytes (excluding preamble). This
allows the minimum frame size of 64 bytes (512 bits) for
802.3/Ethernet to be guaranteed with no software
intervention from the host/controlling process. Setting
the APAD_XMT bit in CSR4 enables the automatic
padding feature. The pad is placed between the LLC
data field and FCS field in the 802.3 frame (see Figure
35). FCS is always added if the frame is padded,
regardless of the state of DXMTFCS. The transmit
frame will be padded by bytes with the value of 00h.
The default value of APAD_XMT is 0; this will disable
auto pad generation after H_RESET.
It is the responsibility of upper layer software to
correctly define the actual length field contained in the
message to correspond to the total number of LLC
Data bytes encapsulated in the packet (length field as
defined in the ISO 8802-3 (IEEE/ANSI 802.3)
standard). The length value contained in the message
is not used by the PCnet-32 controller to compute the
actual number of pad bytes to be inserted. The
PCnet-32 controller will append pad bytes dependent
on the actual number of bits transmitted onto the
network. Once the last data byte of the frame has
completed, prior to appending the FCS, the PCnet-32
controller will check to ensure that 544 bits have been
transmitted. If not, pad bytes are added to extend the
frame size to this value, and the FCS is then added.
Figure 35. ISO 8802-3 (IEEE/ANSI 802.3) Data Frame
The 544 bit count is derived from the following:
Minimum frame size
(excluding preamble,
including FCS)
64 bytes
512 bits
Preamble/SFD size
8 bytes
64 bits
FCS size
4 bytes
32 bits
To be classed as a minimum size frame at the receiver
the transmitted frame must contain:
Preamble + (Min Frame Size + FCS) bits
At the point that FCS is to be appended, the transmitted
frame should contain:
Preamble + (Min Frame Size
–
FCS) bits
64 + (512
–
32) bits
A minimum length transmit frame from the PCnet-32
controller will, therefore, be 576 bits, after the FCS is
appended.
The Ethernet specification assumes that minimum
length messages will be at least 64 bytes in length.
Transmit FCS Generation
Automatic generation and transmission of FCS for a
transmit frame depends on the value of DXMTFCS bit
in CSR15. When DXMTFCS = 0 the transmitter will
generate and append the FCS to the transmitted frame.
If the automatic padding feature is invoked
(APAD_XMT is set in CSR4), the FCS will be appended
by the PCnet-32 controller regardless of the state of
DXMTFCS. Note that the calculated FCS is transmitted
most significant bit first. The default value of DXMTFCS
is 0 after H_RESET.
Transmit Exception Conditions
Exception conditions for frame transmission fall into
two distinct categories. Those which are the result of
normal network operation, and those which occur due
to abnormal network and/or host related events.
Normal events which may occur and which are handled
autonomously by the PCnet-32 controller include colli-
sions within the slot time with automatic retry. The
PCnet-32 controller will ensure that collisions which oc-
cur within 512 bit times from the start of transmission
(including preamble) will be automatically retired with
no host intervention. The transmit FIFO ensures this by
Preamble
1010....1010
Sync
10101011
Destination
Address
Source
Address
Length
LLC
Data
Pad
FCS
4
Bytes
46
—
1500
Bytes
2
Bytes
6
Bytes
6
Bytes
8
Bits
56
Bits