Rainbow Electronics MAX66000 User Manual

Page 17

Advertising
background image

MAX66000

ISO/IEC 14443 Type B-Compliant

64-Bit UID

______________________________________________________________________________________

17

Time-Slot Anticollision

The master starts the anticollision process by issuing
an REQB or WUPB command. The WUPB command
involves any slave in the field with a matching AFI code.
The REQB command performs the same function, but is
ignored by slaves in the HALT state. Both commands
include the parameter N, which according to Table 2
specifies the number of slots to be used in the anticolli-
sion protocol.

If N = 1, all participating slaves respond with the ATQB
response. If N is greater than one, then each slave
selects a random number R in the range of 1 to N. If a
slave happens to choose R = 1, then it responds with
ATQB. If R is greater than 1, then the slave waits for a
SLOT-MARKER command with a slot number that is
equal to R and then responds with ATQB. The master
must try all slot numbers from 2 to N to ensure that no
slave is missed.

The ATQB response contains a field named PUPI,
which is used to direct commands to a specific slave
during the anticollision process. When the master
receives an ATQB response, it should issue a matching
HLTB command to halt the slave, or issue a matching
ATTRIB command to assign a CID and place the slave
in the ACTIVE state. A slave in the ACTIVE state ignores
all REQB, WUPB, SLOT-MARKER, ATTRIB, and HLTB
commands, but responds to the DESELECT command.

An ATQB response received with a CRC error indicates
a collision because two or more slaves have responded

at the same time. Typically the master continues issuing
SLOT-MARKER commands to test for slaves with ran-
dom numbers R different from 1. If additional collisions
were encountered, the master must issue a new REQB
command, causing each slave in the field that is not in
the HALT or ACTIVE state to select a new random num-
ber R. The anticollision process then continues in this
manner until all slaves in the field have been identified
and put either into the HALT or ACTIVE state.

Figure 30 shows an example of the time-slot anticolli-
sion, assuming that there are four slaves in IDLE state
in the field. The process begins with the master send-
ing an REQB request with N = 1, which forces all slaves
to respond with ATQB, resulting in a collision. Knowing
that slaves are present, the master now sends REQB
with N = 8. This causes all slaves to select a random
number in the range of 1 to 8. This does not prevent
two slaves from choosing the same value for R, but the
higher N is, the less likely this is to occur. In the exam-
ple, slave C has chosen R = 1 and responds right after
REQB. The master now sends a SLOT-MARKER com-
mand with slot number 2 (SM2), which causes slave D
to respond. The master continues testing all slots, and,
if a slave with matching R is present, receives an
ATQB. In case the master detects a collision in a slot,
the slaves identified in the remaining slots need to be
put in the HALT or ACTIVE state first, before another
anticollision process is started. Note that there is no
need for the master to test the slots in numerical order,
as in the example.

TESTING FOR SLAVES

SLOT 1

SLOT 2

SLOT 3

SLOT 4 SLOT 5

SLOT 6

SLOT 7 SLOT 8

MASTER

REQB

(N = 1)

REQB

(N = 8)

SM2

SM3

SM4

SM5

SM6

SM7

SM8

SLAVE A

ATQB

(R = 3)

ATQB

SLAVE B

ATQB

(R = 6)

ATQB

SLAVE C

ATQB

(R = 1) ATQB

SLAVE D

ATQB

(R = 2)

ATQB

Figure 30. Time-Slot Anticollision Example

Advertising