cancel
Showing results for 
Search instead for 
Did you mean: 

Nucleo F401RE Sleep Mode and X-NUCLEO-NFC04A1 tag

lcopparoni
Associate III

Hi everyone,

I'm trying to understand if it's possible to use the sleep mode of the F401RE and then restore its state as soon as a NFC reader polls for the tag.

From what I understood, the NFC04A1 tag has a built-in mechanism that triggers interrupts based on particular events. For example, in my application I enabled the RF_ACTIVITY interrupt, which helps me avoid writing into tag's memory while being polled by the reader. So, could I use this interrupt to also come back from sleep mode on the F401RE MCU?

If I enter sleep mode at every loop cycle, the MCU waits for the RF_ACTIVITY interrupt from the tag (which becomes an I2C interrupt for the MCU), so it's waken up only by the interrupt, completes its loop cycle, and then enters sleep mode again.

Is this possible?

Thank you!

1 ACCEPTED SOLUTION

Accepted Solutions
Rene Lenerve
ST Employee

Hi @lcopparoni​,

Yes you're right, this function (from the ST25DV) is intended to inform an MCU that some actions were done by a reader. The MCU is informed by a pulse on a GPO pin (or in some configuration a level change of the GPO), which can be connected to an interrupt. You can use the RF_ACTIVITY for example, or you could also combine more than one, in your case, you could also use the FIELD_RISING to notify the MCU when a reader approaches the tag (and wake it up). In that configuration, you would have to read the IT_STS_Dyn register (after receiving the interrupt, to be sure it was the correct interrupt you were expecting, or you can also alternate the IT event activation when MCU is in sleep mode or awaken) to see which information was raised by the GPO. Please refer to the DataSheet for GPO usage.

Be careful to check which GPIOs are available when the MCU enters the sleep mode (and stop mode) to be able to wake it up.

Best regards.

View solution in original post

1 REPLY 1
Rene Lenerve
ST Employee

Hi @lcopparoni​,

Yes you're right, this function (from the ST25DV) is intended to inform an MCU that some actions were done by a reader. The MCU is informed by a pulse on a GPO pin (or in some configuration a level change of the GPO), which can be connected to an interrupt. You can use the RF_ACTIVITY for example, or you could also combine more than one, in your case, you could also use the FIELD_RISING to notify the MCU when a reader approaches the tag (and wake it up). In that configuration, you would have to read the IT_STS_Dyn register (after receiving the interrupt, to be sure it was the correct interrupt you were expecting, or you can also alternate the IT event activation when MCU is in sleep mode or awaken) to see which information was raised by the GPO. Please refer to the DataSheet for GPO usage.

Be careful to check which GPIOs are available when the MCU enters the sleep mode (and stop mode) to be able to wake it up.

Best regards.