Standard Command to Discover ISO14443A Type Data Tags (Mifare Series, DESFire, etc.)


MF_GET_SNR (0x25)

Command from PC/PLC to RFID
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
AA 00 03 25 26 00 00 BB

The Bytes in Detail:
AA = Start of Telegram
00 = Device Address
03 = 3 Bytes of Payload (Command + Parameters)
25 = Command Code
26 = Request Mode, 0x26 = Idle
00 = Halt command needed, 0x00 = No Halt Command
00 = Checksum
BB = End of Telegram


Reply from RFID to PC/PLC with 4 Bytes UID
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
AA 02 06 00 00 16 0F F4 7F 96 BB

The Bytes in Detail:
AA = Start of Telegram
02 = Device Address
06 = 3 Bytes of Payload
00 = Status, 0x00 = OK
00 = Flag, 0x00 = only one card in read range
16 0F F4 7F = 4 Bytes UID
96 = Checksum
BB = End of Telegram


Reply from RFID to PC/PLC with 7 Bytes UID
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
AA 00 09 00 00 04 C0 BA 3A 8E 3A 80 79 BB

The Bytes in Detail:
AA = Start of telegram
00 = Device ID
09 = 9 bytes to follow
00 = Status OK
00 = Flag, 00 = only one card in antenna field detected
04 = UID ISO 14443A, manufacturer code 0x04 = NXP
C0 = UID ISO 14443A
BA = UID ISO 14443A
3A = UID ISO 14443A
8E = UID ISO 14443A
3A = UID ISO 14443A
80 = UID ISO 14443A
79 = Checksum
BB = End of telegram



Reply from RFID to PC/PLC with not RFID tag found
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ 
AA 00 02 01 83 80 BB 

The Bytes in Detail:
AA = Start of telegram
00 = Device ID
02 = 2 bytes to follow
01 = Status Failure
83 = Status Detail: The card do not exist
80 = Checksum
BB = End of telegram

 
Active-IDLE= Send REQ, Anticollision, select. Active-IDLE will only work with cards that are not HALTED.

Active-ALL = Send WUPA , Anticollision, select. Active-ALL can be for all cards.



Inventory ISO 15693 Type Tags
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Command from PC/PLC to RFID device for 16-Slot Inventory:
AA 00 04 10 06 00 00 12 BB

The Bytes in Detail:
AA = Start of Telegram
00 = Device Address, 0x00 = all devices
04 = Data Length
10 = Command Code
06 = Flags, 0b0000.0110
00 = Mask Lenght
00 = Mask Value
12 = Checksum
BB = End of Telegram


Command from PC/PLC to RFID device for Single-Slot Inventory:
AA 00 04 10 02 00 00 16 BB

The Bytes in Detail:
AA = Start of Telegram
00 = Device Address, 0x00 = all devices
04 = Data Length
10 = Command Code
02 = Flags, 0b0000.0010
00 = Mask Lenght
00 = Mask Value
16 = Checksum
BB = End of Telegram


Reply if no RFID tag is found:
AA 00 02 01 83 80 BB

The Bytes in Detail:
AA = Start of Telegram
00 = Device Address, 0x00 = all devices
02 = Data Length
01 = Status code, 0x01 = command failure
83 = Status code, 0x83 = no RFID tag found
80 = Checksum
BB = End of Telegram


Reply if an RFID tag is found:
AA 00 0C 00 01 00 00 53 8A 12 A3 00 01 04 E0 80 BB

AA = Start of Telegram
00 = Device Address, 0x00 = all devices
0C = Data Length
00 = Status code, 0x00 = OK
01 = 1 RFID tag detected
00 = Flags from Tag
00 = DSFID from Tag
53 8A 12 A3 00 01 04 E0 = 8 Bytes of UID
80 = Checksum
BB = End of Telegram




SET BUZZER
¯¯¯¯¯¯¯¯¯¯

Send Data：
AA 00 03 89 18 0A 98 BB
AA 00 03 89 02 01 89 BB = 1 very short beep
AA 00 03 89 04 01 8F BB = 1 not so short beep

The Bytes in Detail:
AA = Start of telegram
00 = Device ID
03 = 2 bytes to follow
89 = Command Code
18 = Buzzer time in multiples of 20 ms
0A = Number of buzzer cycles, one cycle is app. 1 sec
98 = Checksum
BB = End of telegram

Response Data： AA 00 02 00 80 82 BB







Mifare Read
¯¯¯¯¯¯¯¯¯¯¯
Read with Key A:
AA 00 0A 20 01 01 10 ff ff ff ff ff ff 3A BB
AA = Start of telegram
00 = Device ID
0A = 10 Bytes to follow
20 = Commande code
01 = Mode control
01 = Number of block, max. 4
10 = Start address
FFFFFFFFFFFF = Key
3A = Checksum
BB = End of telegram

Reply
AA 00 18 00 04 49 69 AA 2B 2B 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16 BB 


Read with Key B:
AA 00 0A 20 03 01 10 ff ff ff ff ff ff 38 BB
AA = Start of telegram
00 = Device ID
0A = 10 Bytes to follow
20 = Commande code
03 = Mode control
01 = Number of block, max. 4
10 = Start address
FFFFFFFFFFFF = Key
38 = Checksum
BB = End of telegram

Reply:
AA 00 02 01 83 80 BB = no card
AA 00 02 01 87 84 BB = unknown error




AA 00 01 8A 8B BB
AA 00 02 01 85 86 BB = unknown command

AA 00 01 8B 8A BB
AA 00 02 01 85 86 BB = unknown command

AA 00 01 8C 8D BB
AA 00 02 01 85 86 BB = unknown command

AA 00 01 8D 8C BB
AA 00 02 01 85 86 BB = unknown command

AA 00 01 8E 8F BB
AA 00 02 01 85 86 BB = unknown command

AA 00 01 8F 8E BB
AA 00 02 01 85 86 BB = unknown command