initialize NT3H2111

cancel
Showing results for 
Search instead for 
Did you mean: 

initialize NT3H2111

647 Views
joostboerhout
Contributor II

I have a NT3H2111 on a 100kHz i2c bus connected to a TI CC3220 processor. Reading the chip's contents with i2c works fine. Also the tag is detected fine with NXP's NFC TagInfo app (iOS) but cannot be detected with NXP's TagWriter app.  I suppose this is because the CC register hasn't been set?

At any rate, I attempted to set the CC to "E1 10 6D 00" as per the spec by reading the 16 bytes from block one and making these modifications before writing it back to the chip:

    readBuffer[0] = 0x55;  // keep 0x55 slave address

    readBuffer[12] = 0xE1; // CC register

    readBuffer[13] = 0x10;

    readBuffer[14] = 0x6D;

    readBuffer[15] = 0x00;

The I2C_transfer() function failed to write, additionally the chip became unresponsive and needed to be power cycled. When I set the slave address (first byte) to 0x04 the I2C_transfer() function comes back with success but a) the chip continues to respond to slave address 0x55 and reading block 0 back after a write, it is clear that the write did not take.

So questions:

a) TagWriter does not see the tag because CC has not been set, correct?

b) How the heck do I initialize CC?

Tags (1)
0 Kudos
5 Replies

513 Views
whata
Contributor III

I have exactly the same issue. Except my device no longer responds on 0x55, doing a i2c scan reveals that device is now on address 0x00 but any read or write gets NAKd. I was following the mentioned warning and set the byte 0 of block 0 to 04h. But i2c transfer failed like in joostboerhout case. Can someone elaborate if this operation can somehow be reversed and what is the proper way to initialize block 0?

0 Kudos

513 Views
joostboerhout
Contributor II

whata funny how NXP doesn't seem to care much, help desk dismissive answer above included. I got my device operational by simply writing that first block to address 0x55, first block being: 

{ 0xAA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE1, 0x10, 0x6D, 0x00 };

From thereon, reading/writing to 0x55 is fine. According to the (incredibly moronically written) data sheet, this should not work but it does.  Hope this helps you.

513 Views
whata
Contributor III

Thanks! Yeah, datasheet for nt3h2111 is certainly very measleading and cryptic. I came to the same conclusion that on write to block 0 byte 0 must be set to (device_address<<1) after digging thru their hid_device_frdmkw41z_freertos example code. 

0 Kudos

513 Views
IvanRuiz
NXP TechSupport
NXP TechSupport

Hello,

As mentioned in chapter 8.3.8 of datasheet, NDEF messages can only be written with NFC Forum devices. For this, CC bytes have to be set.

Also please check the warning mentioned in that chapter regarding I2C Address and static lock bytes: https://www.nxp.com/docs/en/data-sheet/NT3H2111_2211.pdf 

BR,

Ivan.

0 Kudos

513 Views
joostboerhout
Contributor II

Ivan,

Thanks for the clarification on CC setting. Your answer on the second question ... not too helpful.

0 Kudos