cancel
Showing results for 
Search instead for 
Did you mean: 

GPO notification to MCU when an NDEF message is being read by reader / phone

MDomi.1
Associate II

Is it possible to receive a GPO pulse when an NDEF message is being read by an NFC reader, such as a smartphone?

I thought it was possible by configuring the GPO field to RF busy (0x6X) and connecting the GPO port to a GPIO port of my MCU. However, the GPO does not change its output when the NFC reader is reading the tag. Am I right? If so, what may I doing wrong?

Thanks for the help!

1 ACCEPTED SOLUTION

Accepted Solutions

Hello, thank you very much for your reply.

I just got another M24SR tag and the results were the same, so I double checked the connections and found out that the pull up resistor connected to the GPO pin was not working properly. Then I changed it for a new 1kOhm resistor and then I got the GPO pin go low while the tag was being read by a smartphone.

I get this behaviour in both cases with GPO field set to 0x61 or 0x11.

Thanks again!

View solution in original post

8 REPLIES 8
Rene Lenerve
ST Employee

Hi @MDomi.1​ ,

You don't mention which tag you are trying to use, it seems to be the M24SR, but our products doesn't embeds such feature. The only one that which near that is the write in progress memory information. This one will inform you for write from the RF not a read.

I hope this answer your question.

Best Regards.

Hi Rene,

thanks for your reply. Yes, I am using the M24SR (I didn't mention it because I wrote the question under the ST25 Dynamic Tags - M24SR Series topic, sorry).

I found the following specification in the M24SR64-Y data sheet, 2.7.7, page 20:

"RF busy configuration (GPO field = 0x6X)

When the GPO is configured as RF busy, the GPO goes to the low state when the M24SR64-Y is processing an RF command or when an RFsession is ongoing."

So I assumed that the GPO field of the M24SR could be configured as RF Busy and that the GPO pin would go to low state when an RF reader reads the tag.

According to your answer, I see now that I was wrong , but I do not understand what the problem is: Does the M24SR support the RFBusy feature? If so, can it detect when an RF reader/writer reads or writes the tag?

Thanks, regards!!

Rene Lenerve
ST Employee

Hi @MDomi.1​ ,

Ok, sorry I didn't check the forum category you posted this topic in.

To answer your new question:

Yes it can be a solution but you will receive the information that a command is being processed or a session is open. So if you know that the only command sent by the Reader is a read it will work, otherwise it will be very difficult to know.

If you are driving the reader maybe you could use the State Control configuration 0xX5, so before reading the NDEF message you send this command to lower the GPO and after the read you just have to set back the level of the GPO.

Hope this can help you.

Best Regards.

ok, so the GPO should go low when an NFC reader (a smartphone) reads the tag, provided the GPO field is 0x6x. However, in my configuration having GPO field=0x61, the GPO pin does not change when a smartphone reads an NDEF URI content in the M24SR. So we go back to my question above, what could I be doing wrong?

Rene Lenerve
ST Employee

Hi @MDomi.1​ ,

Having GPO field = 0x61 results indeed in the GPO becoming low when a RF session is in progress. If the M24SR does not detect the start of the session or detects the end of the session, the GPO will remain high. There could be also electrical reasons for which the GPO will remain high.

In order to eliminate potential issues, could you please let us know if you could already observe the GPO go low in any situation and also could you please try to configure the GPO field with 0x10 (or 0x11 if 0x10 is not possible in your application) and let us know whether you could notice the GPO go low when you bring the smartphone next to the tag?

Best Regards.

My application writes the tag through I2C. When I set the GPO field to 0x11, the GPO pin goes low while the I2C session is in progress, i.e., while my microcontroller is writing the M24SR. But with 0x11 set, the GPO remains high while the smartphone is reading the tag.

JP Miller
ST Employee

Dear M24SR Customer,

this is indeed a non expected behavior. When approaching the smartphone to the tag, with the GPO field set to 0x11, GPO is expected to be low as soon as the RF is on and selecting the NDEF File (this requires the smartphone to be put away from the tag, than brought back close to the tag), and with the GPO field set to 0x61, the GPO goes low after receiving an RF command, and returns high after the deselect from the phone.

Have you confirmed by reading back the GPO field that the value you expected to write (0x11) is indeed what's programmed in the M24SR (writing to the GPO field requires to authorize the access by presenting the proper I2C password)

Would it be possible for you to try on a 2nd tag and confirm the same behavior?

Regards

Hello, thank you very much for your reply.

I just got another M24SR tag and the results were the same, so I double checked the connections and found out that the pull up resistor connected to the GPO pin was not working properly. Then I changed it for a new 1kOhm resistor and then I got the GPO pin go low while the tag was being read by a smartphone.

I get this behaviour in both cases with GPO field set to 0x61 or 0x11.

Thanks again!