Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.
Differences among different NFC tags
NFC (near field communications) is based on RFID (radio frequency identification) technology. There are many ways to use this NFC technology by using different kinds of tags.
There are several tags specified by NFC forum and in this article we are going to describe the basic differences among those cards. Each type of cards are suitable for specific
task depending on the use case.
Tag type 1
The NFC Forum Type 1 Tag utilizes a simple memory model. Static memory structure applies for a tag with physical memory size equal to 120 bytes (total) and Memory availability is 96 bytes for user data. The memory shall be considered as being divided into blocks containing 8 bytes each. Each block is numbered from 0 to 14 (Eh) for static memory structure. NFC Forum Type 1 Tag is based on ISO14443-A standard. Tags are read and re-write capable and the users can configure the tags to become read-only. Communication speed is 106 kbit/s. Topaz from Innovision Research & Technology (part of Broadcom)
Tag Type 2
Type 2 Tag Platform is based on a particular memory chip with a certain memory size and space for data. Static memory structure is used for tags with memory size equal to 64 bytes (total) and 48 bytes are available for user data The memory structure is divided in blocks containing 4 bytes each. Each block is numbered from 0 to 15 for static memory structure. The number associated with a block is also called block number. The 4 bytes inside each block are numbered from 0 to 3. For each block, byte 0 is the MSB (most significant byte) and byte 3 is the LSB (least significant byte ). NFC Forum Type 2 Tag is based on ISO 14443-A standard. Tags are read and re-write capable. Users can configure the tag to become read-only. Communication speed is 106 kbit/s. Tag type 2 offers NFC Type 2 in several formats: indoor labels/stickers, outdoor tags, contactless cards. Mifare Ultralight has been commercially available for long time. It has been used in several RFID and mobile RFID/NFC solutions. The tag type has real-life tested to be reliable, suitable for several purposes and also cost-efficient.
Tag type 3
NFC Forum Type 3 compatible Tag, card, or token, including a contactless IC chip, which has built-in memory and memory access functions. The physical shape is not defined. The basic unit of information used in memory management is called a block. Each block has a fixed size of 16 bytes. The number of memory blocks available depends on the chip hardware. Memory blocks are not addressed directly but relative to the Service they belong to. Services are similar to files in a file system. Each Service has a number of memory blocks associated with it. Services can be addressed using their Service Code, which must be unique inside each Type 3 Tag. Each Type 3 Tag contains management data, called system Information. The System Information of a Type 3 Tag consists of the following parts:
- Manufacture Information
- System Definition Information
- Service Definition Information
Manufacture ID Information and System Definition Information are pre-assigned by the Type 3 Tag manufacturer. NFC Forum Type 3 is based on the Japanese Industrial Standard (JIS) X 6319-4, which is also known as FeliCa. The tags are pre-configured at manufacture to be either read and re-writable, or just read-only. Memory availability is variable. The theoretical memory limit is 1 megabytes per service. Communication speed is 212 kbit/s or 424 kbit/s. Expected to be suitable for more complex NFC applications.
Tag Type 4
Tag Type 4 provides a flexible file system with different files and access types including data integrity checks and encryption options as some of the main features. It supports an ISO/IEC 7816-4 compliant command (APDU) handling of the native MIFARE DESFire EV1 command as well as some ISO/IEC 7816-4 defined APDU like SELECT FILE, READ BINARY and UPDATE BINARY. It is fully compatible with ISO 14443-A and ISO 14443-B standards. Tags are pre-configured at manufacture to be either read and re-writable, or read-only. Memory availability is variable, and it can be up to 32 KBytes per service. Communication speed is up to 424 kbit/s.
Following table describes the different tags based of different properties and use cases
|Features/Properties||Type 1||Type 2||Type 3||Type 4|
|Lockable to read only||Yes||Yes||Yes||Yes|
How to identify tag by code
class MyMainWindow : public QMainWindow
explicit MyMainWindow(QWidget *parent = 0);
void targetDetected(QNearFieldTarget *target);
void targetLost(QNearFieldTarget *target);
nfcm = new QNearFieldManager(this);
// use signal slot to get notification
void MyMainWindow::targetDetected(QNearFieldTarget *target)
//Debug message, Type is an enum value defined in qnearfieldtarget.h
qDebug() << "NFC Target detected type:" << target->type() ;