pnx1500 NXP Semiconductors, pnx1500 Datasheet - Page 733

no-image

pnx1500

Manufacturer Part Number
pnx1500
Description
Pnx15xx Series Connected Media Processor
Manufacturer
NXP Semiconductors
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
pnx1500E
Manufacturer:
NORTEL
Quantity:
1 000
Philips Semiconductors
Volume 1 of 1
PNX15XX_SER_3
Product data sheet
5.12.2 Unicast, Broadcast and Multicast
5.12.3 Perfect Address Match
5.12.4 Imperfect Hash Filtering
Generic filtering based on the type of packet (where the types are unicast, multicast
or broadcast) can be programmed using the AcceptUnicastEn, AcceptMulticastEn
and AcceptBroadcastEn bits from the RxFilterCtrl register. Setting the AcceptUnicast,
AcceptMulticast and AcceptBroadcast bits causes all packets of types unicast,
multicast and broadcast, respectively, to be accepted, ignoring the Ethernet
destination address in the packet. To program “promiscuous mode”, that is, to accept
all packets, set all 3 bits to 1.
When a packet with a unicast destination address is received, a perfect filter
compares the destination address with the 6-byte station address (programmed in
the Station Address registers SA0, SA1, and SA2). If the AcceptPerfectEn bit in the
RxFilterCtrl register is set to 1, and the address matches, the packet is accepted.
An imperfect filter is available, based on a hash mechanism. This filter applies a hash
function to the destination address and uses the hash to access a table that indicates
if the packet should be accepted. The advantage of this type of filter is that a small
table can cover any possible address. The disadvantage is that the filtering is
imperfect, meaning that sometimes packets are accepted that should have been
discarded.
Hash Function
The standard Ethernet cyclic redundancy check (CRC) function is calculated from the
6-byte destination address in the Ethernet packet (this CRC is calculated anyway as
part of calculating the CRC of the whole packet), then bits [28:23] out of the 32 bits
CRC result are taken to form the hash. The 6-bit hash is used to access the hash
table: it is used as an index in the 64-bit HashFilter register that has been
programmed with values that are to be accepted. If the selected value is set to 1, the
packet is accepted.
The device driver can initialize the hash filter table by writing to the registers
HashFilterL and HashfilterH. HashFilterL contains bits 0 through 31 of the table and
HashFilterH contains bit 32 through 63 of the table. So, hash value 0 corresponds to
bit 0 of the HashfilterL register and hash value 63 corresponds to bit 31 of the
HashFilterH register.
Multicast and Unicast
The imperfect hash filter can be applied to multicast addresses by setting the
AcceptMulticastHashEn bit in the RxFilter register to 1.
The same imperfect hash filter that is available for multicast addresses can also be
used for unicast addresses. This is useful in order to respond to a multitude of unicast
addresses without enabling all unicast addresses. The hash filter can be applied to
unicast addresses by setting the AcceptUnicastHashEn bit in the RxFilter register to
1.
Rev. 3 — 17 March 2006
Chapter 23: LAN100 — Ethernet Media Access Controller
© Koninklijke Philips Electronics N.V. 2006. All rights reserved.
PNX15xx Series
23-64

Related parts for pnx1500