MIFARE RFID Tag is currently one of the most commonly used RFID tags. MIFARE is a series of RF cards complying with ISO14443A standard produced by NXP. It includes MIFARES50, MIFARE S70, MIFARE UltraLight, MIFARE Pro, MIFAREDesfire, etc. Due to the huge influence of MIFARE, the industry sometimes produces RF cards that comply with ISO14443A standards. Also known as “MIFARE”, especially the MIFARES50 card, is almost the spokesperson of the ISO14443A standard.
As for the origin of the name “MIFARE”, it is said that in 1998 Philips acquired the Swiss company Mikron, which previously developed a charging system called MIkron FARE-collectionSystem, the Mikron charging system, abbreviated as MIFARE.
MIFARE series cards sometimes refer to MIFARE UltraLight as MF0, MIFARES50 and S70 as MF1, MIFARE Pro as MF2, and MIFARE Desfire as MF3 depending on the chip used in the card.
The common feature of the MIFARE series is to comply with the ISO14443A international standard. The common features of the MIFARE RFID Tag are as follows:
1. They are all close to the card PICC (Proximity ICC), read and write distances up to 10cm.
2. The RF frequency of the MIFARE RFID Tag is 13.56MHz ± 7KHz.
3. MIFARE RFID tags are passive and contactless, and energy is provided by the RF field generated by the reader.
4. The magnetic field strength of the RF field generated by the reader is between 1.5A/m and 7.5A/m. The MIFARE RFID Tag can work continuously in this field strength interval.
5. The MIFARE RFID Tag first enters the reader’s RF field to complete the initialization, and then waits for the reader’s command. The data exchange between the reader and the card always adopts the RTF mode, that is, the reader first issues a command, and the card responds to the command within a prescribed time. If the reader does not have a command, the card cannot speak first anyway.
6. The reader sends a command to the MIFARE RFID Tag using a modified Miller code of 100% ASK modulation, and the MIFARE RFID Tag uses a subcarrier modulated Manchester code.
7. The data rate between the card and the reader is 4 kinds: 106Kbps, 212Kbps, 424Kbps, 847Kbps. However, before reading the card selection command (inclusive), the communication rate can only be 106Kbps. After reading the card selection, the MIFARE RFID Tag and reader can negotiate which rate to use. How does 106Kbps come from? It is obtained by dividing the carrier frequency by 13.56MHz and dividing by 128. The popular saying is “carrier 128 frequency division”.
8. When the MIFARE RFID Tag does not enter the RF field, it is called the Power-Off state. After entering the RF field, it enters the Idle state after receiving the power reset. After receiving the call command from the reader, it enters the Ready state. After the anti-collision cycle is selected, it enters the active state, and enters the sleep state after receiving the sleep command or the unfamiliar command in the active state.
9. MIFARE RFID tags have a globally unique serial number, which may be 4 bytes, 7 bytes or 10 bytes. When multiple MIFARE RFID tags enter the RF field of the reader at the same time, the cards follow the bit-oriented anti-collision mechanism, and the card reader selects a unique MIFARE RFID Tag to operate. After the reader has finished operating a MIFARE RFID Tag, it can send a sleep command to put the card to sleep, and the reader continues to operate on other MIFARE RFID tags.
10. These MIFARE RFID tags have the same operation steps before the card selection (including). The operation after the MIFARE RFID Tag selection is different. For example, some need to verify the password, some do not need it, and the way to verify the password. There are also differences.
11. It takes two steps to enter the magnetic field from the MIFARE RFID Tag to the MIFARE RFID Tag.
The first step is for the reader to call the MIFARE RFID Tag in the magnetic field, and the MIFARE RFID Tag responds to the call.
(1) Since there may be a card in the magnetic field that has just entered the magnetic field and is electrically reset, it may also have a MIFARE RFID Tag that has been operated by the reader and sent to the sleep state by the reader. Different types of MIFARE RFID tags, the reader uses two different commands to make calls: card request (REQA, 0x26) and card wake-up (WAKE-UP, 0x52).
(2) The MIFARE RFID Tag Request (REQA) can only call cards in the Idle state, and WAKE-UP can call all cards, including cards in the Halt and Casual states.
(3) After receiving the card call command, the MIFARE RFID Tag will respond to the command (Answer ToRequest, ATQA), telling the reader whether to comply with the bit-oriented anti-collision mechanism. If not, the reader will not naturally Will operate down, unless the two parties have agreed on a special anti-collision agreement, but it is not called “obey ISO14443A”. ATQA has two bytes. The value of the first byte is not specified (RFU). The upper two bits of the second byte b7b6 indicate the length of the card serial number (“00” is 4 bytes, and “01” is 7 words. Section, “10” is 10 bytes), the value of b5 bit is not specified (RFU), b4-b0 indicates whether or not the bit-oriented anti-collision mechanism is observed. If it is observed, b4-b0 must have one and only 1 bit is 1. Usually, the ATQA of MIFARES50 is 0004H, the ATQA of MIFARE S70 is 0002H, the ATQA of MIFAREUltraLight is 0044H, the ATQA of MIFARE Light is 0010H, and the ATQA of MIFAREDesfire is 0434H. It is customary in the industry to call ATQA the card type, and it is called “MIFARE S50 card type is 0004H, MIFARES70 card type is 0002H, MIFARE UltraLight card type is 0044H, MIFAREDesfire card type is 0344H…”, this statement is actually not Rigorous. Cards with ATQA 0044H and 0344H have appeared, but this card is not a MIFAREUltraLight and MIFARE Desfire, but a new 7-byte MIFARES50. This is normal, because ISO 14443A stipulates that the role of ATQA is to indicate whether the card complies with the bit-oriented anti-collision mechanism and the length of its own card serial number, and does not indicate which type of card.
(1) The reason why “anti-collision” and “selection” are put together is because the command codes of the two are the same, the difference is how many confirmed card serial numbers are included after the command code.
(2) Bit-oriented anti-collision mechanism Each anti-collision cycle requires a 32-bit card number to participate. The reader sends an anti-collision command code to all cards participating in the anti-collision, and tells the card how many card serial numbers have been determined, so that the front part of the card serial number is the same as the confirmed serial number issued by the reader. Make a response.
(3) If the confirmed card serial number is less than 32 bits, which is an anti-collision command, the card will return the remaining card serial number part except the confirmed card serial number; if the confirmed card serial number is equal to 32 bits, The card selection command will cause the selected card to respond to the selection (SelectAcKnowledge, THING).
(4) Another difference between the anti-collision and card selection commands is that the card selection command has a CRC_A check, and the anti-collision command has no CRC_A check.
(5) If the card number is 4 bytes, the command code for anti-collision selection is 0x93.
(6) If the card number is 7 bytes, then two levels (cascadelevel) anti-collision selection is required. The command code of the first level (cascade level 1) is 0x93; the first 3 bytes of the card number participate; The command code of the second level (cascade level 2) is 0x95, and the last 4 bytes of the card number participate.
(7) If the card number is 10 bytes, then three levels (cascade level) anti-collision selection is required. The command code of the first level (cascade level 1) is 0x93, and the first 3 bytes of the card number participate; The command code of the second level (cascade level 2) is 0x95, and the 4th, 5th, and 6th bytes of the card number participate; the command code of the third level (cascade level3) is 0x97, and the last 4 bytes of the card number participate.
(8) You may have discovered that it is said that each anti-collision cycle requires a 32-bit card number to participate. Later, it can be said that it can participate in 3 bytes (24bit). Is it inconsistent? Yes, in order to make up 32bit, if only 3 bytes of card number participate in the anti-collision loop, the card automatically adds a byte 0x88 before the 3 card number bytes. This 0x88 is called a cascade tag, which satisfies Anti-collision cycle requirements for 32bit card numbers.
(9) Anti-collision selection loop for each layer. If the card is selected, the card should return to SelectAcKnowledge (THING) to tell the reader whether it needs the next level of anti-collision selection loop and whether to comply with ISO14443-4. .
12. Finally, the above is the meaning of “common compliance with ISO14443A”, that is, from the card into the magnetic field to the card is selected, their operation process is the same. After that, everyone parted ways, and some continued to abide by ISO14443-4, some began to verify the password, and some can directly read and write operations. To get Tag RFID MIFARE: https://www.hy-smart.com/contact-us/