5

コマンドをスマートカードに送信し、NFC インターフェイスを介して応答を解析するアプリケーションを Java で作成しています。このアプリケーションは、Android と PC の両方で使用できます。

PC を介して USB 非接触型カード リーダーを使用すると、どのカードを差し込んでも問題なく接続および通信できます。

ただし、Androidは別の問題です。カードによっては、Nexus S を介してアプリケーションを使用すると、望ましくない結果が得られます。

一部のカードは、100% の成功率で接続して通信します。私が使用しようとしたほとんどのカードは、通信どころか、接続することさえ非常に困難でした。

Nexus S の NFC サービスがカードとの接続を試みています。それは連続した低いパルス音を発し、確実な接続を確立できないことを示します (私が知る限り)。

私の現在の考えでは、Nexus S には、私が使用している USB PC リーダーよりも低電力の NFC チップが搭載されています。私が読んだ他の記事から、カードが異なれば、それらを使用するための電力要件も異なるようです。

カードに電力を供給するために必要な電力レベルをどのように判断できますか? ATRのどこかに隠されていますか?

特定の NFC チップの電力レベルを確認するにはどうすればよいですか? これはどこかに文書化されていますか?

4

1 に答える 1

4

この種の問題は通常、次のいずれか (の組み合わせ) によって引き起こされます。

  1. カードのアンテナのチューニングが不適切
  2. 多くの電力を必要とするマイクロコントローラカード
  3. NFC 電話によって生成される弱い RF フィールド

これにより、電話機とカードの間のアンテナ結合が悪くなり、通信がうまくいかない、または通信できなくなります。デスクトップリーダーは、より強力なフィールドを生成するため、通常、この種の問題はありません。携帯電話の NFC は非常に低電力であり、それが生成する RF フィールドは多くの場合、ISO 14443 で許容される限界に達しています。Nexus S の NFC チップである NXP PN544 は、弱い RF フィールドを生成します。ただし、これは電話の NFC チップと NFC アンテナの両方の機能です。私の経験では、タイプ B カードはしばしば問題を引き起こします (より多くの電力を必要とすることが多いという噂があります)。もう 1 つの例は、電子パスポートです。多くの場合、アンテナは最適ではありません。

カードに必要な最小電力レベル: ATR にはありません。ISO 14443 カードには ATR がありません (EF.ATR ファイルがあるかもしれませんが、私は見たことがありません)。ATS (Answer To Select) 応答は、必要な電力レベルを示しません。カードには、ISO 14443-4 S ブロックの CID フィールドで電力レベルが十分かどうかを示す可能性があります (存在し、カードによってサポートされている場合)。ただし、これを行うカードは見たことがありません。

特定のアンテナ (および同調回路) と組み合わせた特定の NFC チップの電力レベルを決定するには、スペクトル アナライザーを使用して測定を行うことができます。PN544 を搭載した複数の Android NFC 携帯電話 (Galaxy Nexus、Nexus S、Galaxy S3、One X) を測定しました。結果は電話間で異なり、場合によっては違いを生むのに十分です (S3 が最も多くの電力を生成しています)。

于 2012-07-09T10:49:32.973 に答える