Initialize Capability Container using i2c

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Initialize Capability Container using i2c

1,335 次查看
dcorb
Contributor I

I am attempting to initial the capability container on a NT3H2111 using I2C.

My first attempt was to read the existing data in pages 0 to 3 and set
page 3 to 0xE1 0X10 0x6D 0x00.

Following the write I an no longer able to read or write using i2c.

Later I noticed a not in the specification:

"The byte 0 of block 0 is always read as 04h. Writing to this byte modifies the l2C address."

What does this mean? Do I have to set byte 0 to 0x55 so the ics address stays at 0x55 ?

0 项奖励
回复
3 回复数

1,085 次查看
Kan_Li
NXP TechSupport
NXP TechSupport

If you suspect the I2C address has been modified, you may try the peek and poke application, it can scan all the possible address and find the right one.

pastedImage_1.png

This window app can be downloaded from https://www.nxp.com/downloads/en/apps/SW3652.zip , please also note the MCU connected with Ntag I2C should be programmed with the following firmware:https://www.nxp.com/downloads/en/snippets-boot-code-headers-monitors/SW3647.zip 

Hope that helps,


Have a great day,
Kan

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 项奖励
回复

1,085 次查看
dcorb
Contributor I

I am not working with the NXP developer board. The NFC chip I am programming is in our product. I can use the i2cdetect utility to scan the i2c addresses.

When I wrote 0xAA to byte 0 the chip does not appear in the scan anymore.

0 项奖励
回复

1,085 次查看
dcorb
Contributor I

A little more info:

I wrote the first sixteen bytes as follows. 0x55 in byte 0.

i2c_util /dev/i2c-0 0x55 w 0x0 16 55 92 5e 6a 09 4f 80 00 44 00 00 00 e1 10 6d 00

Following the write the i2c address of the device changed to 0x1b

-bash-4.4# i2c_util /dev/i2c-0 0x1b r 0x0 16
0x1b[0x0000]: 04 92 5e 6a 09 4f 80 00 44 00 00 00 00 0a 06 00 

The last four bytes do not match what I wrote.

0 项奖励
回复