Identify the power requirements for a contactless smart card in Java.

I am writing a Java application that sends commands to a smart card and parses responses via the NFC interface. This application can be used on both Android and PC.

Using a USB device for contactless reading of cards through a PC, I have no problems connecting and communicating with any card that I drop onto it.

Android is another matter. Using the app through Nexus S gives less desirable results, depending on the card.

Some cards will connect and communicate with a 100% success rate. Most of the cards that I tried to use, it was very difficult to even establish a connection, not to mention talking to him.

The NFC service on the Nexus S is trying to connect to the cards. It creates a continuous low impulse sound, indicating that it cannot create a strong connection (as far as I can tell).

My current process is that the Nexus S has a lower power NFC chip than I use a USB USB reader. From the other articles I read, it seems that different cards have different power requirements in order to use them.

How can I determine what level of power is needed to power the card? Is it hidden somewhere in the ATR?

How to determine what power level a particular NFC chip has? Is this somewhere documented?

+5
source share
1 answer

This problem is usually caused (by a combination) of any of the following:

  • Poorly tuned antenna on the board
  • ,
  • , NFC.

, . , . NFC , RF , - ISO 14443. NFC Nexus S, NXP PN544, . NFC, NFC . , B ( , ). : .

, : ATR. ISO 14443 ATR ( EF.ATR, ). ATS (Answer To Select) . , CID ISO 14443-4 S-Blocks ( ). , .

NFC ( ), . Android NFC (Galaxy Nexus, Nexus S, Galaxy S3, One X), PN544. , (S3 ).

+4

All Articles