2012-07-04 2 views
5

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

PCでUSB非接触型カードリーダーを使用すると、カードに接続して通信しても問題はありません。

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

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

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

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

カードに給電するために必要な電力レベルを確認するにはどうすればよいですか?それはATRのどこかに隠されていますか?

どのように特定のNFCチップにどのような電力レベルがあるのか​​を判断するにはどうすればよいですか?これはどこかに書かれていますか?

+0

最初の質問では、ISO 7816 – Blackbelt

+0

を読んでください。NFCチップが正確なモデルであることを知っている必要があります。そのような情報のデータシートをダウンロードすることができます。 –

答えて

4

この種の問題は、典型的には、以下のいずれか(の組み合わせ)によって引き起こされる:

  1. 弱いRFフィールドを多くの電力を必要とするカード
  2. マイクロコントローラカードにひどく同調アンテナ

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

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

特定のアンテナ(および同調回路)と組み合わせた特定のNFCチップの電力レベルを測定するには、スペクトラムアナライザを使用して測定を行うことができます。私はいくつかのAndroid NFC携帯電話(Galaxy Nexus、Nexus S、Galaxy S3、One X)を測定しました。これらはすべてPN544を含んでいます。結果は電話によって異なります(S3が最も多くの電力を生成します)。

+0

私はSO 。 :) あなたの答えをありがとう。 – Brad

+0

ようこそ。 Nexus SとGalaxy Nexusで動作しない韓国のタイプBカード(EZ-LinkとT-Money)を簡単に見ました。私は彼らがS3で実際に仕事をしていることを知りました。 –

関連する問題