13.56MHz MIFARE Reader Module

 

Multi Tag Selection

Command
CMD DATA
‘m’ serial number (4 byte) or <CR> (1 byte)

 

Binary Frame Tag List: 02 01 02 6D 0D 63 03 Select Tag (F0 9F 34 08): 02 01 05 6D F0 9F 34 083A 03

 

Answer
ANS DATA
none TAG Type Identification (1 byte) 0×01 denotes a MIFARE® Light Transponder 0×02 denotes a MIFARE® Standard Transponder 0×03 denotes a MIFARE® Pro Transponder SN (4 bytes)
‘N’: no TAG none

This command is used instead of the Select (’s’) instruction, when using multiple tags in the antenna field. The serial number indicates the tag which is selected. All other tags are not affected by this instruction.

4.3.15.1 m<CR> By transmitting the carriage return code instead of the 4 byte serial number the reader listens up the serial numbers of all tags which are in readable antenna range, terminated by a single data byte which indicates the number of tags found. Each serial number is terminated by a CR/LF sequence in ASCII mode or put into a particular STX-ETX data frame in binary mode. This command is finished after the reader transmits a single byte (the number of tags found) to the application host.

If the tag search is not successful the reader will reply “00” (zero tags found) at command termination. 

Reading distance: As each card in the field affects the antenna tuning, and reduce field strength the reading distance is reduced for each new transponder added to the antenna field.

Depending on the physical construction of each tag the interference between these tags may also affect reading quality.

Use this command instead of the select (‘s’) instruction if more tags are in reading range. This command replaces the ‘s’ instruction, therefore a valid login sequence for multiple tags is: m<CR>: To display a tag list (you may alternatively use the ‘c’ instruction for a single tag). m81635640: To Select a specific tag. l01<CR>: To login into sector 1 After the MultiTag selection all other tag interfacing commands (‘l’, ‘r’, ‘w’, ‘+’, …) are the same.

Maximum number of tags: The maximum number of tags in the field is only limited by physical characteristics of

your antenna design. The implementation detects up to 17 tags.

Examples:

m<CR> tag list
00112233 85431557 81BF565D 03 reply from reader (three tags found)
m85431557 select second tag (SN: 85431557)
85431557 reply: select successful

 Transfer data telegram

Command
CMD DATA
‘t’ length code (1 byte) option byte (1byte) data stream (various)

Binary Frame REQA: 02 01 04 74 01 E3 26 B5 03 Get ID: 02 01 05 74 02 03 93 20 C2 03 (single Tag) Read Block 4: 02 01 05 74 02 0F 30 04 49 03

Answer
ANS DATA
none ‘N’ received bytes (1 byte) received data bytes (various) none

This command is used to transfer user specific data frames to a ISO 14443 (Part 2) compliant Transponder, such as Mifare® PRO. This command is extreme low level. If using Mifare® Light or Mifare® Standard cards there is absolutely no need for implementing this instruction in your application. It is not recommended to use this command without detailed low level knowledge of ISO 14443 protocol.

Length code: Number of Bytes you want to transmit. In Binary mode this byte is transferred too for compatibility reasons even though it could be calculated with the binary frame length code. Due to internal buffer ranges the maximum length byte is 34 (maximal frame length is

therefore 39 bytes). If the transponder/host does transmit more than 34 bytes further data is ignored.

Option byte: This bytes holds transfer options. Bit 0: if set Parity generation is enabled Bit 1: if set Parity is even, otherwise Parity bit is odd Bit 2: if set CRC generation for transmission is enabled Bit 3: if set CRC checking for receiving is enabled Bit 4: if set Crypto unit is deactivated before transmission start

Activation of the Crypto unit is only possible by using the login (‘l’) instruction Bit 5,6,7: Bit Framing (Number of Bits from last Byte transmitted)

CRC generation: CRC generation described in ISO 14443-3 Appendix B. 

 Receiving answer Immediately after transmitting the reader is set into receive mode. If receiving no data the reader returns ‘N’ to the application host. Due to this timeout it is not recommended to use instructions with no response. In this case a acknowledge byte from the card

may be used to speed up transmission (receiving a single byte is much faster than the timeout).

Examples (in ASCII mode)

select sequence for a single tags in the field:

t01E326 answer: 020400 (REQA) t02039320 answer: 0581635640F4 (GetSN)

t070F937081635640F4 answer: 0188 (Select card 81635640F4)

read block 4: (after login)

command code is 0×30

t020F3004 answer: 10010203… this means: 2 bytes transmitted, option byte set to 0x0F, data bytes 0×30,0×04 (read command code and block number)

It not possible to activate the Crypto unit using the ‘t’ instruction. So if using a Mifare Classic compatible Operating system on a tag it is not possible to do an authentication (login). This must be done using the regular login-instruction (‘l’).