Hi all,
Working on a custom board (LPC54101 + PN512) that needs to both read NTAG213/216 tags (working fine) and emulate a Type 4 Tag serving a static NDEF (BT-OOB pairing record) so a phone can tap and read it.
Using NxpRdLib V2.0.3.0 with phpalI14443p4C_Sw / phceT4T_Sw. Calling phceT4T_Listen() in a loop -> internally phhalHw_Listen() -> Autocoll on the PN512. Consistently get PH_ERR_IO_TIMEOUT (0x0201), unaffected by timeout config, explicit FieldOff before listening, or register-level checks (TxControlReg confirms our own field is off, GsNOffReg at datasheet default, RFCfgReg/RxThresholdReg/DemodReg all normal). No reaction at all from Android or iPhone held directly on the antenna.
I found this thread where NXP support says PN512 can't do card emulation per the datasheet, and recommends CLRC663 instead:
https://community.nxp.com/t5/Other-NXP-Products/PN512-Emulation-Tag-Write-issue/m-p/2089993
But that seems to contradict the PN512 product page (lists "card emulation functionality" as a feature), and this other thread where someone got Mifare Ultralight tag emulation working fine on PN512:
https://community.nxp.com/t5/NFC/Pn512-Tag-Emulation-Callibration/td-p/684135
So: is the difference that PN512 can do simple ISO14443-3 tag emulation (UID/anticollision, like Mifare UL) but NOT full ISO14443-4 Type 4 Tag activation (RATS/ATS, APDU exchange)? Has anyone gotten genuine T4T/HCE working on PN512, or is this chip a dead end for that specific use case?
Also separately: our RdLib V2.0.3.0 package's ReleaseNotes.txt states the discovery loop only supports Poll/Pause phases, and the .chm docs have zero mention of phceT4T or phpalI14443p4C - so I'm also unsure whether the card-emulation component we have was ever an officially validated/documented release. Any pointers to a proper matching package appreciated.
Thanks!
Hello sir,
As mentioned in your other case, yes PN512 does support HCE, we even have an example with Raspberry Pi.
But please keep in mind that PN512 isn't recommended for new designs. Please explore the possibility of using our NFC Readers that are Full Support NFC mode (PN5190, PN5180, PN7462, PN7642).
All of these readers can be used with our NFC Reader Library.
I hope this information may have been useful.
Quick update for anyone finding this thread later, since I got two different answers between here and my support ticket:
AN11480 (the Raspberry Pi/EXPLORE-NFC guide) only demonstrates Type 2 Tag emulation on PN512 - it says so directly in §7.1 ("the Card Emulation example emulates an NFC Forum Type 2 Tag") and never mentions phceT4T or T4T anywhere. If you were pointed there for T4T/HCE, that's not the right doc.
For actual Type 4 Tag (T4T/HCE) emulation on PN512, see AN11308 (PNEV512B/LPC1769 Quick Startup Guide), §6.8 "Example 8 - HCE T4T" and §7.1.6 "HCE Layer". That example is explicitly built on the NFC Forum Type 4 Tag Operation Specification v2.0, using phceT4T_Activate()/phceT4T_AppProcessCmd(), and supports Select/ReadBinary/UpdateBinary.
So: yes, PN512 does support genuine T4T emulation, just not via the Raspberry Pi package - via the PNEV512B/LPC1769 (Blueboard) package instead. Following up with support to confirm the exact library version and reconcile the two answers.