NT3H2111 NTAG I2C

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

NT3H2111 NTAG I2C

584 Views
FraU_-
Contributor I

Hi,

I am using an NT3H2111 on I2C and I'm writing a code to perform basic read and write task to configure IC and write NDEF. The IC has 0x55 address on i2c0 bus. According to datasheet: https://www.nxp.com/docs/en/data-sheet/NT3H2111_2211.pdf the block layout of 00h and 01h is the following :

 

FraU__0-1674574848599.png

 

Using libi2c (https://manpages.debian.org/unstable/i2c-tools/libi2c.3.en.html) I can read 00h and 01h blocks. These are the values I find in 00h:

[000]  04 . 6E . 8B. 4A
[001]  55 . 11 . 90 . 00
[002]  44 . 00 . 00 . 00
[003]  00 . 00 . 00 . 00

Moreover I am able to write 16 bytes in block 01h and read them afterwards. The problem: If I try to write on 00h block, no matter if I write exactly the same values above (keeping the same registers values), the IC cannot be read nor written anymore with i2c. Even with i2ctools (i2cdump, i2cget) the kernel do not see any device at 0x55.

According to the description of block 00h registers there is nothing that would cause such a behaviour and there are no locking registers in the memory which made the system unreadable. Am I missing something?

best regards

Francesco

Labels (1)
0 Kudos
2 Replies

50 Views
Frzn_Solid
Contributor I

What bytes are you actually writing to the IC? Can you get logic analyzer logs on the SDA/SCL ? It's possible that you're unintentionally overwriting the slave address. 

0 Kudos

359 Views
KellyLi
NXP TechSupport
NXP TechSupport

Hello @FraU_- 

I think the problem may be I2C driver. After each write to EEPROM from I²C interface, you shall wait 4.5 ms. So please check your driver, whether there is such a delay.

BR

kelly

0 Kudos