Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Процесс работы

Процесс работы с картой MIFARE

Когда вы подносите метку к считывателю, метка получает питание от радиополя считывателя и готова отвечать на команды опроса (polling).

Чтобы проверить, есть ли поблизости метка, мы отправляем команду опроса. Обычно это REQA. Если метка ранее была переведена в состояние HALT, используем WUPA. Если метка присутствует и может отвечать, она отправляет ATQA (Answer To Request, ответ на запрос).

Important

Обратите внимание: как только карта переходит в состояние HALT, разбудить её может только команда WUPA (Wake Up), после чего можно выполнять дальнейшие операции. Мне всегда вспоминается Чендлер из «Друзей», который кричит «WOOPAAH». Команда REQA работает только с картами в состоянии покоя (idle).

После получения ATQA выполняем процедуру антиколлизии и выбора (anticollision and select). На этом шаге обрабатываются коллизии, если присутствует несколько меток, и получается UID одной из них. Когда процедура завершена, карта выбрана и активна.

После выбора карты мы проходим аутентификацию для конкретного сектора, из которого хотим читать или в который хотим писать. Аутентификацию нужно повторять при обращении к другому сектору.

Когда аутентификация прошла успешно, можно выполнять операции: чтение, запись, инкремент, декремент или восстановление (restore).

Когда все операции выполнены, отправляем команду HLTA, чтобы перевести карту в состояние HALT. Пока радиополе включено, остановленная карта не отвечает на REQA и может быть активирована только командой WUPA. Если карта покидает радиополе и возвращается, она начинает работу заново с самого начала.