NFC Tags

by Shekhar » Wed, 18 May 2011 12:20:17 GMT

Sponsored Links

I am developing application for the NFC and confused with the relation
between the various classes of NFC. NDEF is a NFC forum data format.As
per the
documentation four types of standard tag types that contain NDEF data

1. NFC Forum Type 1 tag - >  Based on ISO -1443A. e.g Innovision
Topaz,Broadcom BCM20203
2. NFC Forum Type 2 tag ->  Based on ISO - 1443A.Same as type 1 but it
has anti-collission support. e.g. NXP MIFARE Ultralight
3. NFC Forum Type 3 tag ->  Based on JIS X 619-4. e.g. Sony Felica
4. NFC Forum Type 4 tag ->  Based on ISO-14443A.Supports 106 or 212 or
424 kbits/s e.g. NXP DESFire,SmartMX-JCOP

Special Tag by NXP -> MIFARE Classic Tag

Now I am confuse with the below standards.How they are related to NFC
NDEF? Are they different from the NFC tags(listed above) which comply
with the NDEF?

1.NFC-A (ISO 14443-3A)
2.NFC-B (ISO 14443-3B)
3.NFC-F (JIS 6319-4)
4.NFC-V (ISO 15693)
5.ISO-DEP (ISO 14443-4)

Any comments will help me understand it better.



Re: NFC Tags

by Michael Roland » Wed, 18 May 2011 16:11:09 GMT

 Hallo Shekhar,

NDEF is a data exchange format for NFC (NDEF = NFC Data Exchange
Format). It can be used with NFC tags (reader-writer mode) and in peer-
to-peer mode.

The NFC Forum Type tag formats specify a standardized way to store
NDEF data (and possibly other data) onto certain tags. So these
specifications define the tags' data structures and commands to access
the data. The four tag types are based on previously existing vendor
specific RFID tag types:

NFC Forum Tag Type 1 is based on Innovision Topaz/Jewel
NFC Forum Tag Type 2 is based on NXP MIFARE Ultralight
NFC Forum Tag Type 3 is based on Sony FeliCa
NFC Forum Tag Type 4 is based on APDU-based smart cards

Besides these standard tag types NXP released application notes that
define ways to store NDEF formatted data onto other RFID tag types
(application notes are available for MIFARE Classic and for ICODE).

As the tag types are based on existing RFID tag technologies, they
also correspond to certain RFID/smartcard standards:

NFC Forum Tag Type 1 sits on top of ISO/IEC 14443-3 Type A (but
without anti-collision!)
NFC Forum Tag Type 2 sits on top of ISO/IEC 14443-3 Type A
NFC Forum Tag Type 3 sits on top of JIS X 6319-4
NFC Forum Tag Type 4 sits on top of ISO/IEC 14443-4 and ISO/IEC 7816-4

Corresponding to the ISO NFC standards (ISO/IEC 18092, ...), the NFC
Forum combined certain RFID standards to the NFC Digital Protocol. The
digital protocol has three RFID technologies named NFC-A, NFC-B and

NFC-A matches the RFID standard ISO/IEC 14443-3 Type A
NFC-B matches the RFID standard ISO/IEC 14443-3 Type B
NFC-F matches the RFID standard FeliCa JIS X 6319-4 (or rather those
parts of that standard that were incorporated by ISO/IEC 18092)

Additionally, the Nexus S (or the NXP chip thats inside it)
understands a forth RFID technology that uses the same frequency as
NFC but is that not really related to NFC: ISO/IEC 15693 (called NFC-V
in the Android API, where V stands for Vicinity as the ISO standard
refers to this technology as vicinity cards).

ISO-DEP is the data exchange protocol on top of ISO/IEC 14443-4. It is
based on the same command exchange protocol that is used with contact
smartcards: ISO/IEC 7816-4. ISO/IEC 14443-4 joins the two low-level
protocols defined in ISO/IEC 14443-3 into one common high-level



Sponsored Links

Re: Re: NFC Tags

by i帽aki » Wed, 18 May 2011 16:44:49 GMT

 Hi Shekhar, very good response!!!


Re: Re: NFC Tags

by i帽aki » Wed, 18 May 2011 16:45:07 GMT

 Sorry... Michael


Re: NFC Tags

by Shekhar » Wed, 18 May 2011 18:50:58 GMT

 i Michael,

Really appreciate for the enlightment.Now as per my understanding, in
the Android system NDEF class can be used for the NFC Forum Tag Type
1,2,3,4 and NFC P2P
communication. While we have to make use of the specific Android
Classes for:-

1.ISODEP -> IsoDep Class
2.MIFARECLASSIC -> MifareClassic class
3.NFCA -> NfcA class
4.NFCB -> NfcB class
5.NFCF -> NfcF class
6.NFCV -> NfcV class

More precisely I want to say is ,suppose I want my application to
detect NFC and RFID tags. For that I have to declare in the Intent

// If condition when the tag is discovered
if (NfcAdapter.ACTION_TECH_DISCOVERED.equals(action))

Now the tag can be an RFID tag or the NFC legacy tag. To distinguish
it I have to make use of EXTRA_TAG field in the intent generated

// Get the knowledge of the Tag found
Tag tagFromIntent = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);

// Check which type of tags was discovered
case MIFARECLASSIC type tag:
// do operation as per your need using the MifareClassic Class

case ISODEP type tag:
//do operation as per your need using the IsoDep Class Apis

case NDEF type tag:
//do operation as per your need using the Ndef Class Apis



Am I correct?


On May 18, 5:44pm, iaki <> wrote:


Re: Re: NFC Tags

by Michael Roland » Thu, 19 May 2011 06:30:52 GMT

 allo Shekhar,

NDEF is an abstraction of the actual data structures on an NFC tag or
for peer-to-peer communication. Thus, with NDEF you don't need to care
about what technology is used below that data format.

NDEF can be used for peer-to-peer and on NFC tags (1 to 4) and, with the
Nexus S and some other phones, on certain vendor specific tag types like
MIFARE Classic and ICODE.

While we have to make use of the specific Android

If you want to use specific features of these technologies outside the
comfort of NDEF you would have to use these technology specific classes.




Other Threads

1. XML Consumption


On my blog  I have posted an article
on XML consumption using SAX - the code is also available via an svn
repository (details on the blog). I hope you find it useful and/or I
hope someone can tell me how to improve it's speed performance ;-)

ps. Any comments / critiques are most welcome - just send me an email
or leave a comment on the blog!

2. Secure area inside android


My puprose is to safely store a secretkeys ,used for encryption/
decryption process., in a keystore file in android. The keystore is
password protected, but open to brute force attacks if it can be
exported to regular PCs.

I read in SDK that application can not access private memory of other
applications, which is great, so inside a phone I am considering
myself as safe. My concern is when the phone (device) is connected to
computer, then everything is exportable to computer (as in emulator),
and so is the keystore file which is then open to attacks.

One solution to this would be to use cryptographic mini/microSD cards,
but its rather expensive (and beside could not find such a product

So my question is : Is there any area inside an android, where we
could keep a private data which will not be exportable in any way ?



3. how to port android in linux

4. How to center an image

5. 26 cent simulated touch screen - Who has a good graphical feedback interface?

6. Logcat loses cat