Hello,
I already posted this issue, but i didnt receive an answer, maybe because the initial question in my Post was too long ago. So here is my Problem:
I am trying to set up my NTAG 5 Link. I want to set the ED-pin to change levels when an HF-field is detected. I am doing this like I read in the datasheet, I am writing the Value 0x01h to the register with the address 0x10A8h. When I check the ED-Pin with the 3.3 V connected to the Tag, the ED-Pin is at a level of 2,92 V. The Problem is, when I try to put my phone on the tag, the level of the pin is not changing.
So I tried to read the register Value to check if it was written correctly. Now the problem: Whatever register I am trying to read on my device via i2c, I am always getting the Value “0xFF”. Why is that happening? Did I do anything wrong?
Would be really happy if someone could help me.
Kind Regards
Lukas
Hello,
Hope you are doing well. Could you please help me confirm that you are able to access those register via NFC?
Best Regards,
Ricardo
Hello Ricardo,
Hope you are doing well. I tried reading the registers via NFC using the "TagInfo" app and i was able to read the values of the registers. The value of register "A8" is "47 C7 67 17". The screenshot from my phone is attached.
This means there is probably a problem in the i2c-Communication, do you have any idea what it could be? Or could the problem be something else?
Best Regards,
Lukas
Hi Lukas,
By any chance, were you able to read any other Register via I2C before?
Did you modify any other register?
Are you working with a development kit? Or is it a custom board?
Regards,
Ricardo
Hello Ricardo,
Hope you are doing well. I am sorry for posting again, but I really need a fast solution if possible, because I am a student and I need the NTAG for my Bachelor-Thesis. Without being able to read or write registers via i2c, I won't be able to finish in time, and I don't have much time left. It would be great if you would help me, because I don't know what the Problem is.
Kind Regards,
Lukas
Hello Lukas,
Could you please help me confirm that you are sending the correct frame?
The communication should look like this:
Best Regards,
Ricardo
Hello Ricardo,
thanks for your reply. My communication does not exactly look like yours. This is the screenshot of my communication:
I am using a HAL function to read from i2c, is this wrong?
Edit:
I just tried reading a different register, that is part of the user memory, i tried reading the register 0006h and i was able to get the bytes back. here is my log:
So the general reading process seems to be right, is there any reason that i cannot read the register 0x10A8h or the config registers in general?
Kind Regards,
Lukas
Hi Lukas,
Please help me checking section 8.3.1.4 of the NTAG 5 link - DataSheet.
There you can check that the frame you would need to implement on your MCU, depending on the memory section you are trying to read/write. (user and configuration memory, or session registers).
Hope this helps!
Regards,
Ricardo
Hello Ricardo,
sorry for the late reply, I had trouble with posting a reply during the last days, because the button wasn't working.
I checked section 8.3.1.4 of the NTAG 5 link - DataSheet.
The frame for writing according to the DataSheet hast to look like this:
I implemented the frame necessary for writing to the memory. I think i did it right, here is a screenshot of my i2c communication:
However, i am only getting the Values "0x00 0x00 0x00 0x00" back instead of the actual Value of the register.
Kind regards
Lukas
Hi Lukas,
Could you please try with the frame example I shared?
That is the frame you should use with this memory region.
Regards,
Ricardo
Hi Ricardo,
I'm not sure which frame you are talking about. You sent me this frame from your log:
and mine is looking like this:
I think it is looking the same until I want to receive data, because I am only getting 0x00 back, while you are receiving actual data.
It would be great if you could tell me, what exactly is wrong in my provided log, because I unfortunately have no idea.
Regards,
Lukas
Hi Lukas,
Looks like there should be something with your host implementation.
The I2C communication works well on my side, for several NTAGS.
Regards,
Ricardo
Hello Ricardo,
I was not able to read any other register via i2c before; this was the result from the beginning when I tried to test the NTAG.
I did not modify any other register, as far as I know. I also tried writing a value to the register, but the value didn't change when I scanned the tag via NFC.
I am currently working with a development kit; it is not a custom board.
Thanks for your help so far, I hope there is a solution.
Regards,
Lukas