cancel
Showing results for 
Search instead for 
Did you mean: 

How to get memory write GPO interrupt using st25dv04k ? Is there any interrupt is there to check user success fully read tag data ?

Mpraj.19
Associate II

i am successfully write message to my type 5 tag and it get read by user.

I have seen that there is different interrupt we can get on gpo pin.

But i don't know which interrupt i need to use when message successfully read by user ?

i want to start Bluetooth advertisement on nfc tag read by user. so please let me know how to do this thing on interrupt ?

1 ACCEPTED SOLUTION

Accepted Solutions
JL. Lebon
ST Employee

Hello,

To generate an interrupt when receiving an RF command, you should enable the RF_ACTIVITY interrupt.

This is done by setting bit 1 (RF_ACTIVITY_EN) of the GPO configuration register (system address 0000h).

The RF_ACTIVITY interrupt will be generated at each RF command received. The pulse of interruption starts at end of frame of the RF request, and stops at end of frame of the RF response.

You can activate several interrupts at the same time, meaning that both field detection and RF command detection can be activated at the same time.

Best regards.

View solution in original post

14 REPLIES 14
JL. Lebon
ST Employee

Hello,

There is two place where you can write data into ST25DV04K: the EEPROM user memory, and the Fast Transfer Mode mailbox.

Fast Transfer Mode mailbox is 256 Bytes SRAM. It is volatile memory and it's purpose is to transfer data between an RF reader and an I2C master (i.e. MCU) . When writing or reading data into the mailbox, you have two available interrupts: GPO_RF_PUT_MSG and GPO_RF_GET_MSG. Those interrupts signal to the I2C master that a message as been either written or read by the RF reader into the mailbox.

EEPROM user memory on the other end is to be used to store more static data. There is no interrupt to inform the I2C master that some data has been read or has been written. The only available interrupt are GPO_RF_WRITE, which trigs at the end of each RF write into EEPROM, and GPO_RF_ACTIVITY that trigs at each RF command received.

What is your use case: store non volatile message that can be read any time by an RF reader, or dynamically transfer messages from I2C to RF (or the opposite) ?

Best regards.

Mpraj.19
Associate II

ANS: In my case st25dv04k connected with i.mx6. using i2c communication i write non volatile message in tag using st25dv04.

I have one station which contain i.mx6 and nfc tag reader. this i.mx6 connected with nfc tag reader using spi.

SO when station read data from tag connected to st25dv04k. at that time i want to get interrupt, on interrupt i want to start Bluetooth.

this is my user case.

JL. Lebon
ST Employee

Hello,

There is no interrupt on read of EEPROM memory. There is an interrupt when RF field is detected, and on interrupt when RF command is received.

May be you can make use of one of those interrupts.

Best regards.

Mpraj.19
Associate II

i have implemented code that detect rf field change. Now i want to explore interrupt when RF command received. So regarding this i need clarity when this interrupt get generated , means station will send rf command to tag connected with st25dv04k of i.mx6 ?

JL. Lebon
ST Employee

Hello,

To generate an interrupt when receiving an RF command, you should enable the RF_ACTIVITY interrupt.

This is done by setting bit 1 (RF_ACTIVITY_EN) of the GPO configuration register (system address 0000h).

The RF_ACTIVITY interrupt will be generated at each RF command received. The pulse of interruption starts at end of frame of the RF request, and stops at end of frame of the RF response.

You can activate several interrupts at the same time, meaning that both field detection and RF command detection can be activated at the same time.

Best regards.

Mpraj.19
Associate II

As per my use case, when my instrument send message of eeprom to Station.

At that time who will send rf command first and which rf command it will send?

i think in my case station need to send rf command. But i have doubt on my self that i need to receive rf command from station once it receive message from instrument successfully and then after station send rf command and my instrument will receive receive interrupt then i need to start BLE advertising on interrupt.

Can you suggest in my use case which minimum rf commands need to use ?

JL. Lebon
ST Employee

Hello,

Sorry, but I don't really understand your setup.

What I can tell you, is that the NFC reader is always initiating the RF dialog, and is always sending the RF command to the NFC tag.

The ST25DV04K is an NFC tag, so it will never send an RF command. It will only respond to RF commands sent by an NFC reader.

Best regards.

Mpraj.19
Associate II

Thanks for reply.

my setup is st25dv04k connected with tag on instrument A. cr95hf connected with instrument B. when instrument A comes near to instrument B.

i want to confirm that instrument be successfully message in a tag [ which connected to instrument A].

on successful reading data by cr95hf , is it possible to send rf command over air to st25dv04k ? also which rf command it need to send ?

JL. Lebon
ST Employee

Hello,

Please tell me if I understand correctly:

  • A is embedding a ST25DV04K NFC tag.
  • B is embedding a CR95HF NFC reader.
  • You want to read a message in A from B, using CR95HF, and then confirm to A that the message has been read correctly?

Is it correct ?

Best regards.