こんにちは、皆さん。
カスタムボード(LPC54101 + PN512)で作業中で、NTAG213/216タグの読み取り(問題なく動作)と、静的なNDEF(BT-OOBペアリングレコード)を提供するタイプ4タグをエミュレートして、スマホがタップして読み取れるようにする必要があります。
NxpRdLib V2.0.3.0 を phpalI14443p4C_Sw / phceT4T_Sw で使用しています。ループ内でphceT4T_Listen()を呼び出す ->内部的にphhalHw_Listen() ->PN512のAutocoll。タイムアウト設定、リスニング前の明示的な FieldOff、レジスタレベルのチェック (TxControlReg で自身のフィールドがオフになっていることを確認、GsNOffReg はデータシートのデフォルト値、RFCfgReg/RxThresholdReg/DemodReg はすべて正常) の影響を受けずに、PH_ERR_IO_TIMEOUT (0x0201) が常に発生します。AndroidやiPhoneからはアンテナに直接反応がありません。
NXPサポートがデータシート上PN512はカードエミュレーションができないと言っているスレッドを見つけました。代わりにカードエミュレーションを推奨しているCLRC663:
https://community.nxp.com/t5/Other-NXP-Products/PN512-Emulation-Tag-Write-issue/m-p/2089993
しかし、それはPN512の製品ページ(「カードエミュレーション機能」と機能として記載されている)や、誰かがMIFARE UltralightタグのエミュレーションをPN512で問題なく動作させた別のThreadと矛盾しているように思えます。
https://community.nxp.com/t5/NFC/Pn512-Tag-Emulation-Callibration/td-p/684135
つまり、PN512は単純なISO14443-3タグエミュレーション(UID/アンチコリジョン、例えばMifare ULのような)はできるけど、完全なISO14443-4タイプ4タグのアクティベーション(RATS/ATS、APDU交換)はできないという違いなのでしょうか?PN512で本物のT4T/HCEを動かした方はいらっしゃいますか?それともこのチップはその用途には行き止まりなのでしょうか?
また別途、RdLib V2.0.3.0パッケージのReleaseNotes.txtでは、ディスカバリーループはポール/ポーズフェーズのみをサポートしており、.chmはドキュメントにはphceT4TやphpalI14443p4Cについて一切言及がなく、カードエミュレーションコンポーネントが公式に検証・ドキュメント化されたリリースだったかどうかも分かりません。適切なパッケージのアドバイスがあれば教えてください。
よろしくお願いします!
お世話になります。
あなたの別のCASEでも言及されているように、はい、PN512はHCEをサポートしており、Raspberry Piの例もあります。
ただし、PN512は新しいデザインには推奨されていないことを覚えておいてください。当社のNFCリーダがフルサポートNFCモード(PN5190、PN5180、PN7462、PN7642)に対応している可能性もぜひ検討してください。
これらすべてのリーダーは 、当サイトのNFCリーダライブラリで使用できます。
この情報がお役に立てば幸いです。
後でこのThreadを見つけた方のために簡単なアップデートです。こことサポートチケットで2つの異なる回答をもらいました。
AN11480(Raspberry Pi/EXPLORE-NFCガイド)はPN512でタイプ2タグエミュレーションのみをデモンストレーションしており、§7.1に直接記載されています(「カードエミュレーションの例はNFCフォーラムのタイプ2タグをエミュレートします」)。しかし、phceT4TやT4Tについては一切言及していません。T4T/HCEのためにそこを指示されたのであれば、それは適切な医師ではありません。
PN512 上での実際のタイプ 4 タグ (T4T/HCE) エミュレーションについては、AN11308 (PNEV512B/LPC1769 クイック スタートアップ ガイド) の §6.8「例 8 - HCE T4T」および §7.1.6 を参照してください。「HCEレイヤー」この例はNFCフォーラムのType 4 Tag Operation Specification v2.0を明示的に構築しており、phceT4T_Activate()/phceT4T_AppProcessCmd()を使い、Select/ReadBinary/UpdateBinaryをサポートしています。
SO、はい、PN512は本物のT4Tエミュレーションをサポートしていますが、Raspberry PiパッケージではなくPNEV512B/LPC1769(Blueboard)パッケージ経由で対応しています。サポートに確認して正確なライブラリバージョンを確認し、2つの回答を調整します。