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

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)