Khi có nhiều thẻ trong vùng năng lượng của bộ đọc thì xung đột sẽ xảy ra, vòng lặp giải quyết xung đột sẽ được tiến hành, kết thúc một vòng lặp ta xác định được một thẻ, tuy nhiên rắc rối ở đây là làm thế nào để vô hiệu thẻ này vì nếu thẻ đã được xác định lại phản hồi ở các vòng lặp tiếp theo sẽ làm giảm đáng kể hiệu suất của thuật toán. Do đó, mỗi thẻ trước hay sau vòng lặp giải quyết xung đột đều tồn tại ở một trạng thái nhất định mà phụ thuộc vào trạng thái này là gì chỉ có duy nhất một lệnh là được chấp nhận bởi thẻ.
Các ký hiệu được dùng trong hình 6.6:
AC: lệnh ANTICOLLISION trường hợp thẻ khớp UID.
nAC: lệnh ANTICOLLISION trường hợp thẻ không khớp UID. SELECT: lệnh SELECT trường hợp thẻ khớp UID.
nSELECT: lệnh SELECT trường hợp thẻ không khớp UID. Error: phát hiện lỗi truyền nhận dữ liệu.
Một thẻ có các trạng thái sau:
POWER-OFF: thẻ ở trạng thái này khi vẫn còn đang ở ngoài vùng năng lượng của bộ đọc, hoặc năng lượng của bộ đọc không cấp đủ theo quy định của thẻ. IDLE: Nếu thẻ được đặt vào vùng năng lượng của bộ đọc và được cấp nguồn với cường độ ≥ ngưỡng cho phép, nó sẽ vào trạng thái IDLE. Thẻ ở trạng thái này đang lắng nghe lệnh REQA hay WUPA từ phía bộ đọc.
READY và READY*: sau khi phản hồi lệnh REQA hay WUPA bằng thông tin chứa trong cấu trúc ATQA thẻ bước vào trạng thái READY. Ở trạng thái này, thẻ chỉ phản hồi với lệnh AC để tiến hành vòng lặp giải quyết xung đột kiểm tra có nhiều hơn một thẻ trong vùng năng lượng không? Các lệnh khác hoặc lỗi xảy ra ở trạng thái này sẽ khiến thẻ chuyển về trạng thái IDLE trước đó. Trạng thái READY* cũng hành động tương tự như vậy, tuy nhiên nó được chuyển từ trạng thái HALT sang sau khi phản hồi với lệnh WUPA (không phản hồi lệnh REQA),
các lệnh khác hoặc lỗi xảy ra ở trạng thái READY* sẽ khiến thẻ chuyển về trạng thái HALT trước đó.
ACTIVE và ACTIVE*: sau khi một vòng lặp giải quyết xung đột kết thúc, UID của một thẻ sẽ được xác định. Nếu một thẻ nhận được lệnh SELECT với tham số là toàn bộ UID của nó từ phía bộ đọc, thẻ sẽ vào trạng thái ACTIVE. Ở trạng thái này, thẻ đã sẵn sàng cho mọi giao tiếp đọc ghi với bộ đọc. Tuy nhiên nếu có lỗi xảy ra hay nhận được các lệnh khác (ngoại trừ lệnh HLTA) sẽ khiến thẻ chuyển về trạng thái IDLE trước đó. Trạng thái ACTIVE* cũng hành động tương tự như vậy, tuy nhiên nó được chuyển từ trạng thái READY*, các lệnh khác hoặc lỗi xảy ra ở trạng thái ACTIVE* sẽ khiến thẻ chuyển về trạng thái HALT trước đó.
HALT: thẻ ở hai trạng thái IDLE và READY khi nhận được lệnh HLTA chỉ chuyển về trạng thái IDLE. Còn ở các trạng thái khác thẻ sẽ chuyển về trạng thái HALT khi nhận được lệnh HLTA từ bộ đọc. Ở trạng thái này, thẻ chỉ tiếp nhận lệnh WUPA và phản hồi thông tin chứa trong cấu trúc ATQA đến bộ đọc.
Rõ ràng rằng, với các trạng thái thẻ được định nghĩa như trên, việc vô hiệu một thẻ (thẻ này đã xác định) ở vòng lặp giải quyết xung đột tiếp theo là hoàn toàn khả thi. Ví dụ với 3 thẻ A, B, C trong vùng năng lượng, giả sử các thẻ được cấp đủ nguồn để vào trạng thái IDLE, lúc này bộ đọc phát lệnh REQA đến 3 thẻ, 3 thẻ phản hồi với ATQA và chuyển sang trạng thái READY. Đến đây, bộ đọc kích hoạt thuật toán giải quyết xung đột để xác định UID của từng thẻ. Sau vòng lặp đầu tiên, giả sử thẻ A được xác định, thẻ B và C sẽ quay về trạng thái IDLE. Để thẻ A không tiếp tục phản hồi ở vòng lặp kế tiếp, chuỗi lệnh SELECT và HLTA phải được thực hiện để chuyển thẻ A đến trạng thái HALT. Ở trạng thái này, thẻ A không phản hồi lệnh REQA, do đó, ở vòng lặp thứ 2, chỉ có thẻ B và C phản hồi lệnh REQA và chuyển trạng thái READY. Giả sử sau vòng lặp 2, thẻ C được xác định, bộ đọc cũng phải chuyển nó sang trạng thái HALT rồi tiếp tục vòng lặp 3 để xác định thẻ B. Sau 3 vòng lặp, UID của 3 thẻ A, B và C được xác định bởi bộ đọc. Tiếp theo, muốn đọc ghi trên thẻ nào là quyền lựa chọn ở phía ứng dụng người dùng.