Communication Between NFC Devices
You need to understand the type of communication that occurs between Near Field Communication (NFC) devices. The kind of communication helps determine NFC functionality and the commands that the interrogator can send to a tag. Fortunately, standards define the communications in detail, so it’s possible for one NFC device to interact with another.
To create a complete solution, an NFC device maker must support all the tag types: ISO/IEC 14443 Type A, ISO/IEC 14443 Type B, and FeliCa. Otherwise, each device implementation would need to come with instructions on which tag types it supports, and NFC couldn’t make the inroads it does now. Even though there are three tag types, you can be sure that your NFC device supports all of them automatically (and invisibly). The following discussion begins by defining some special communication principles and then continues with the various tag types.
What half duplex means
Imagine that you and your friend are trying to communicate using two tin cans and a string. Your friend talks into the tin can while you listen. You can hear your friend’s voice just fine. The roles reverse and your friend can now hear your voice.
The string between the two tin cans represents a channel — and there is only one of them. If you and your friend both decide to talk at the same time, neither of you can hear anything — because you both are talking and no one is listening. However, you can overcome this problem by adding two more tin cans and another string.
Now there are two channels. You talk over one channel and listen over the other channel.
Devices that have just one channel can communicate only in half-duplex mode. One device must transmit while the other device listens. To get full-duplex capability, you must add a second channel. NFC provides half-duplex mode for communication. There is just one channel and it operates at 13.56 MHz. To add a second channel, NFC would require another frequency or some other means of providing that second string.
Working with ISO/IEC 14443 Type A tags
The ISO/IEC 14443 standard defines Type A tags, which are used in three different NFC tag types. An example of the Type A tag is the Oyster card. From an ISO/IEC 14443 standards perspective, the Type A tag has the following characteristics:
- Communication speed: 106 Kbps, 212 Kbps, and 424 Kpbs
- Encoding: 100% ASK, Manchester Encoding
- Bit order: Least Significant Bit First (LSBF)
Working with ISO/IEC 14443 Type B tags
The ISO/IEC 14443 Type B tags work similarly to the Type A tags. They also are used in three different NFC Forum tag types. An example of the Type B tag is the Calypso ticket.
The difference between a Type A and a Type B tag comes down to modulation. With all other factors the same, a Type B tag uses 10% ASK, Non-Return to Zero (NRZ) encoding. You can read precisely how NRZ encoding works.
Working with FeliCa (JIS 6319-4) tags
The FeliCa tag type is a Japanese standard that you see used extensively in Japan and other Asian countries. This tag appears as the NFC Type 3 tag. An example of the FeliCa card is the Suica ticket. The JIS 6319-4 standard defines these characteristics for the FeliCa tag:
- Communication speed: 212 Kbps and 424 Kpbs
- Encoding: 8-30% ASK, Manchester Encoding
- Bit order: Most Significant Bit First (MSBF)