Have been successfully using the MSP430G2553 launchpad in conjunction with the TRF7970A DLP Booster Pack and the sample reading code at http://www.ti.com/lit/zip/sloc297.
The NTAG i2c Plus is an ISO 14443A type 2 tag and uses 4-bit ACK/NAKs as well as no RX CRC on commands such as WRITE / FAST_WRITE.
1) Regarding the RX CRC, setting the ISO Control Register to 0x88 has resolved that issue as expected.
2) Regarding the 4-bit ACK/NAK, when setting the TRF 7970A Special Function Register BIT2 to 4-bit receive, one does not have the expected results. During a
read comment (0x30), trhe IRQ Status Register BIT4 and BIT6 set are set, but that causes the current Trf797xISR() routine to fall out with a protocol error. The
buffer does not contain valid read data. This occurs whether it is a valid read or a read that would normally cause a NAK.
3) With the special function register BIT2 turned off, reads are writes are successful, but unsure if the NAK and ACK are being appropriately captured. Is there a
way to see the value of the 4-bit NAK? I've tried relaying back the dummy byte that's read from the interrupt handler, but the NAK value shown indicates a state
that would not be possible at POR for the tag when not acting in an arbiter mode. Similarly I don't think I see the ACK being captured.
On the plus side, I have this module working the happy path using energy harvesting and pass through modes, arbitrating a functionality between the msp430
and the nxp lpc11u24 over NFC. It's the boundary cases and errors that I'm concerned with.
Thanks,
Karl