Bra*_*rad 5 java android nfc nexus-s
我正在用Java编写一个应用程序,它将命令发送到智能卡并通过NFC接口解析响应.此应用程序可以在Android和PC上使用.
通过PC使用USB非接触式读卡器,我可以毫不费力地连接并与我扔的任何卡通信.
Android是另一回事.通过Nexus S使用应用程序会产生不太理想的结果,具体取决于卡.
有些卡将以100%的成功率连接和通信.我尝试使用的大多数卡片甚至很难建立连接,更不用说与之通信了.
Nexus S上的NFC服务正在尝试连接卡.它产生连续的低脉冲声,表明它无法建立牢固的连接(据我所知).
我目前的思维过程是Nexus S的NFC芯片功耗低于我正在使用的USB PC阅读器.从我读过的其他文章来看,似乎不同的卡具有不同的功率要求才能使用它们.
如何确定为卡供电所需的功率级别?它隐藏在ATR的某个地方吗?
如何确定特定NFC芯片的功率水平?这是在某处记录的吗?
此类问题通常是由以下任一情况(组合)引起的:
这会导致电话和卡之间的天线耦合不良,从而导致通信不良或无法通信。桌面阅读器通常不会出现此类问题,因为它会生成更强大的字段。手机中的 NFC 功耗相当低,其产生的 RF 场通常处于 ISO 14443 所允许范围的边缘。Nexus S 中的 NFC 芯片 NXP PN544 会产生微弱的 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 产生的电量最多)。
| 归档时间: |
|
| 查看次数: |
846 次 |
| 最近记录: |