DM9008
ISA/Plug & Play Super Ethernet Contoller
42
Final
Version :DM9008-DS-F02
June 14, 2000
Removing Packets from the Ring
Packets are removed from the ring using either the Remote
DMA or an external device. When the Remote DMA is used,
the Send Packet command can be used. This programs the
Remote DMA to automatically remove the received packet
pointed to by the Boundary Pointer. At the end of the transfer,
DM9008 moves the Boundary Pointer, freeing additional
buffers for reception. The Boundary Pointer can also be
moved manually by programming BNRY. Care should be
taken to keep BNRY at least one buffer behind CURR.
Storage Format for Received Packets
The following diagrams describe the format used by the local
DMA channel for placing received packets into memory. These
modes are selected in the Data Configuration Register (DCR).
D15
D8
D7
D0
Next Packet Pointer
Receive Status
Receive Byte Count 1
Receive Byte Count 0
Byte 2
Byte 1
BOS=0, WTS=1 in DCR
This format is used with Series 32000 808X-type processors.
D15
D8
D7
D0
Next Packet Pointer
Receive Status
Receive Byte Count 0
Receive Byte Count 1
Byte 1
Byte 2
BOS=1, WTS=1 in DCR
This format is used with 68000-type processors.
D7
D0
Receive status
Next Packet Pointer
Receive Byte Count 0
Receive Byte Count 1
Byte 1
Byte 2
BOS=0, WTS=0 in DCR
This format is used with general 8-bit CPUs.
For compatibility with the NE2000 and NE1000, it is essential
to program DCR with BOS=0.
Packet Transmission
The local DMA is also used during transmission of a packet.
Three registers control the DMA transfer during transmission:
a Transmit Page Start Address Register (TPSR) and the
Transmit Byte Count Registers (TBCR0, 1). When the DM9008
receives a command to transmit the packet pointed to by these
registers, buffer memory data will be moved into the FIFO as
required during transmission. DM9008 will generate and
append the preamble, Synch and CRC fields.
Transmit Packet Assembly
DM9008 requires a contiguous assembled packet with the
format shown. The transmit byte count includes the
Destination Address, Source Address, Length of Field and
Data. It does not include preamble and CRC. When fewer than
46 bytes are transmitted, the packet must be padded to the
minimum size of 64 bytes. The programmer is responsible for
adding and stripping pad bytes.
DESTINATION ADDRESS
6 bytes
SOURCE ADDRESS
6 bytes
TYPE LENGTH
2 bytes
DATA
≥
64 bytes
PAD (IF DATA < 46 BYTES)