CS8900-CQ3 Cirrus Logic, CS8900-CQ3 Datasheet - Page 87

no-image

CS8900-CQ3

Manufacturer Part Number
CS8900-CQ3
Description
Crystal LAN ISA Ethernet Controller
Manufacturer
Cirrus Logic
Datasheet
DS271PP3
3) The host reads the receive frame’s length from
4) The host reads the frame data by executing 32
The memory map of the 64-byte frame is given in
Table 23.
5.2.9 Receive Frame Byte Counter
The receive frame byte counter describes the num-
ber of bytes received for the current frame. The
counter is incremented in real time as bytes are re-
ceived from the Ethernet. The byte counter can be
used by the driver to determine how many bytes are
available for reading out of the CS8900A. Maxi-
mum Ethernet throughput can be achieved by using
I/O or memory modes, and by dedicating the CPU
to reading this counter, and using the count to read
the frame out of the CS8900A at the same time it is
being received by the CS8900A from the Ethernet
(parallel frame-reception and frame-read-out
tasks).
CS8900A
Crystal LAN™ ISA Ethernet Controller
040Ah to 040Fh 6-byte Destination Address.
Memory Space
0404h to 0409h 6-byte Source Address.
0412h to 043Fh 46 bytes of data.
0410h to 011h
Word Offset
0120h) to assess the status of the receive frame
and sees the contents of the RxEvent register
(Register 4) with the RxOK bit (Bit 8) set.
the RxLength register (PacketPage base +
0402h).
consecutive MOV instructions starting with
PacketPage base + 0404h.
0400h
0402h
0440h
0442h
Table 23. Example Memory Map
Description of Data Stored in On-
RxStatus Register (the host may
skip reading 0400h since RxEvent
was read from the ISQ.)
RxLength Register (In this example,
the length is 40h bytes. The frame
starts at 0404h, and runs through
0443h.)
2-byte Length or Type Field.
CRC, bytes 1 and 2
CRC, bytes 3 and 4
chip RAM
CIRRUS LOGIC PRODUCT DATA SHEET
The byte count register resides at PacketPage base
+ 50h.
Following an RxDest or Rx128 interrupt the regis-
ter contains the number of bytes which are avail-
able to be read by the CPU. When the end of frame
is reached, the count contains the final count value
for the frame, including the allowance for the Buff-
erCRC option. When this final count is read by the
CPU the count register is set to zero. Therefore to
read a complete frame using the byte count register,
the register can be read and the data moved until a
count of zero is detected. Then the RxEvent regis-
ter can be read to determine the final frame status.
The sequence is as follows:
1) At the start of a frame, the byte counter matches
2) At the end of the frame, the final count, includ-
3) When a read of the byte counter returns a count
4) RxEvent should be read to obtain a final status
Note that all RxEvent’s should be processed before
using the byte counter. The byte counter should be
used following a BufEvent when RxDest or Rx128
interrupts are enabled.
5.3 Receive Frame Address Filtering
The CS8900A is equipped with a Destination Ad-
dress (DA) filter used to determine which receive
frames will be accepted. (A receive frame is said to
be "accepted" by the CS8900A when the frame
data are placed in either on-chip memory, or in host
the incoming character counter. The byte
counter will have an even value prior to the end
of the frame.
ing the allowance for the CRC (if the Buffer-
CRC option is enabled), is held until the byte
counter is read.
of zero, the previous count was the final count.
The count may now have an odd value.
of the frame, followed by a Skip command to
complete the operation.
87

Related parts for CS8900-CQ3