10 receive frame address filtering, 1 individual address frames, 2 multicast frames – Cirrus Logic CS8900A User Manual

Page 87: 3 broadcast frames, 11 configuring the destination address filter, Cs8900a

Advertising
background image

DS271F5

87

CS8900A

Crystal LAN™ Ethernet Controller

CIRRUS LOGIC PRODUCT DATASHEET

register 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 the incoming character counter.
The byte counter will have an even value
prior to the end of the frame.

2) At the end of the frame, the final count, in-

cluding the allowance for the CRC (if the
BufferCRC option is enabled), is held until
the byte counter is read.

3) When a read of the byte counter returns a

count of zero, the previous count was the fi-
nal count. The count may now have an odd
value.

4) RxEvent should be read to obtain a final

status of the frame, followed by a Skip
command to complete the operation.

Note that all RxEvent's should be processed
before using the byte counter. The byte coun-
ter should be used following a BufEvent when
RxDest or Rx128 interrupts are enabled.

5.2.10 Receive Frame Address Filtering

The CS8900A is equipped with a Destination
Address (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 memory by DMA). The
DA filter can be configured to accept the fol-
lowing frame types:

5.2.10.1 Individual Address Frames

For all Individual Address frames, the first bit of
the DA is a "0" (DA[0] = 0), indicating that the
address is a Physical Address. The address
filter accepts Individual Address frames whose
DA matches the Individual Address (IA) stored
at PacketPage base + 0158h, or whose hash-
filtered DA matches one of the bits pro-

grammed into the Logical Address Filter (the
hash filter is described later in this section).

5.2.10.2 Multicast Frames

For Multicast Frames, the first bit of the DA is
a "1" (DA[0] = 1), indicating that the frame is a
Logical Address. The address filter accepts
Multicast frames whose hash-filtered DA
matches one of the bits programmed into the
Logical Address Filter (the hash filter is de-
scribed later is this section). As shown in Table
26, Broadcast Frames can be accepted as
Multicast frames under a very specific set of
conditions.

5.2.10.3 Broadcast Frames

Frames with DA equal to FFFF FFFF FFFFh
are broadcast frames. In addition, the
CS8900A can be configured for Promiscuous
Mode, in which case it will accept all receive
frames, irrespective of DA.

5.2.11 Configuring the Destination
Address Filter

The DA filter is configured by programming
five DA filter bits in the RxCTL register (Regis-
ter 5): IAHashA, PromiscuousA, MulticastA,
IndividualA, and BroadcastA. Four of these
bits are associated with four status bits in the
RxEvent register (Register 4): IAHash,
Hashed, IndividualAdr, and Broadcast. The
RxEvent register reports the results of the DA
filter for a given receive frame. The bits asso-
ciated with DA filtering are summarized below:

Bit #

RxCTL

Register 5

RxEvent

Register 4

6

IAHashA

IAHash

(used only if IAHashA = 1)

7

PromiscuousA

9

MulticastA

Hashed

A

IndividualA

IndividualAdr

(used only if IndividualA = 1)

B

BroadcastA

Broadcast

(used only if BroadcastA = 1)

Advertising