ENC28J60-C/ML MICROCHIP [Microchip Technology], ENC28J60-C/ML Datasheet - Page 53

no-image

ENC28J60-C/ML

Manufacturer Part Number
ENC28J60-C/ML
Description
Stand-Alone Ethernet Controller with SPI Interface
Manufacturer
MICROCHIP [Microchip Technology]
Datasheet
8.1
The unicast receive filter checks the destination
address of all incoming packets. If the destination
address exactly matches the contents of the MAADR
registers, the packet will meet the unicast filter criteria.
8.2
The pattern match filter selects up to 64 bytes from the
incoming packet and calculates an IP checksum of the
bytes. The checksum is then compared to the EPMCS
registers. The packet meets the pattern match filter
criteria if the calculated checksum matches the EPMCS
registers. The pattern match filter may be useful for
filtering packets which have expected data inside them.
To use the pattern match filter, the host controller must
program the pattern match offset (EPMOH:EPMOL), all
of the pattern match mask bytes (EPMM7:EPMM0) and
the
(EPMCSH:EPMCSL). The pattern match offset should
be loaded with the offset from the beginning of the des-
tination address field to the 64-byte window which will
be used for the checksum computation. Within the
64-byte window, each individual byte can be selectively
included or excluded from the checksum computation
by setting or clearing the respective bit in the pattern
match mask. If a packet is received which would cause
the 64 byte window to extend past the end of the CRC,
FIGURE 8-3:
© 2006 Microchip Technology Inc.
Note:
Input Configuration:
EMPOH:EPMOL = 0006h
EPMM7:EPMM0 = 0000000000001F0Ah
EPMCSH:EPMCSL = 563Fh
Received
Data
Byte #
Bytes used for
Checksum Computation
Values used for Checksum Computation = {88h, AAh, 09h, 0Ah, 0Bh, 0Ch, 0Dh, 00h}
(00h padding byte added by hardware)
Field
pattern
Unicast Filter
Pattern Match Filter
Received data is shown in hexadecimal. Byte numbers are shown in decimal format.
match
11 22 33 44 55 66 77 88 99 AA BB CC 00 5A
0 1 2 3 4 5
SAMPLE PATTERN MATCH FORMAT
checksum
DA
6 7 8 9 10 11
register
SA
pair
Preliminary
Type/Length
64-byte Window used
for Pattern Match
12 13
the filter criteria will immediately not be met, even if the
corresponding mask bits are all ‘0’. The pattern match
checksum registers should be programmed to the
checksum which is expected for the selected bytes.
The checksum is calculated in the same manner that
the
Section 13.2 “Checksum Calculations”). Data bytes
which have corresponding mask bits programmed to ‘0’
are completely removed for purposes of calculating the
checksum, as opposed to treating the data bytes as
zero.
As an example, if the application wished to filter all
packets having a particular source MAC address of
00-04-A3-FF-FF-FF, it could program the pattern match
offset to 0000h and then set bits 6 and 7 of EPMM0 and
bits 0, 1, 2 and 3 of EPMM1 (assuming all other mask
bits are ‘0’). The proper checksum to program into the
EPMCS registers would be 0x5BFC. As an alternative
configuration, it could program the offset to 0006h and
set bits 0, 1, 2, 3, 4 and 5 of EPMM0. The checksum
would still be 5BFCh. However, the second case would
be less desirable as packets less than 70 bytes long
could never meet the pattern match criteria, even if
they would generate the proper checksum given the
mask configuration.
Another example of a pattern matching filter is
illustrated in Figure 8-3.
DMA
09 0A 0B 0C 0D . . . 40 . . . FE 45 23 01
14 15 16 17 18 . . . 70 . . .
module
Data
calculates
ENC28J60
checksums
DS39662B-page 51
FCS
(see

Related parts for ENC28J60-C/ML