cancel
Showing results for 
Search instead for 
Did you mean: 

ST25R95/CR95HF wake up from tag detector without tags

Stellar
Associate II

Hi,

I'm using an X-NUCLEO-NFC03A1 board with an nRF52840DK. I'm running my own driver on Zephyr and I'm able to read tags by polling. I plan to set the chip in the tag detector WFE so that once a tag is detected, it can wake up the host to handle the tag.

The problem is it always returns immediately after I send the Idle command even if there are no tags.

Here's the command to put in the WFE tag detector state:

{IDLE_CMD, 0x0e, 0x02, 0x21, 0x00, 0x38, 0x01, 0x18, 0x00, 0x20, 0x60, 0x60, 0x64, 0x74, 0x3f, 0x08},
The response is {0x0, 0x1, 0x2} which means tag detected.
 
I know the tag calibration procedure is needed, but my calibration command got no response, the IRQ_OUT interrupt was never generated.
Here's the command for tag calibration:
{IDLE_CMD,  0x0e,  0x03, 0xa1, 0x00, 0xf8, 0x01, 0x18, 0x00, 0x20, 0x60, 0x60, 0x00, 0x00, 0x3f, 0x01}.
 
So I decided to go through all the DacData from (0x04, 0x14) to (0xe4, 0xf4) in the command of entering WFE tag detector, no tags tap on the antenna, but they all responded with {0x0, 0x1, 0x2}.
 
I also noticed this post: https://community.st.com/t5/st25-nfc-rfid-tags-and-readers/problem-with-nfc-st25r95-tag-detection/td-p/596946,  I use an official X-NUCLEO-NFC03A1, may not be the matching circuit/antenna problem, right?
 
Could you give me some advice?
Regards.
This discussion has been locked for participation. If you have a question, please start a new topic in order to ask your question
17 REPLIES 17

Hi,

Nice suggestions.

We know the calibration has to be performed in free air. For strategies iii and iv,  what if the user places a tag next to the antenna by accident in the power on or recalibration phase?  I mean from the user's perspective, they don't know how it works and have no need to know.

Brian TIDAL
ST Employee

Hi,

when using a mix of iii. and iv., if the user places a tag in the operating volume during calibration or recalibration, the calibration value will be deviated (e.g. let's say the DacL and DacH will be 0x48 and 0x58 instead of 0x68 and 0x78). When removing the tag, there will be 'false' TagDetect events and no responses from the tag when polling. A recalibration should then be triggered. 

The timeout wake-up source can also be enabled in the Idle command (let say ~5s or ~10s). This will cause periodic wake up where the application can poll for tag. This avoids being stuck e.g. in case a user has placed a tag in the operating volume during calibration and has kept it in the operating volume. The timeout value depends on the application and on the power saving needs for your application

Rgds

BT

 

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Got it. By the way, does the ST25R95 sense a tag removal and notify with an IRQ_OUT pulse? I would like to set the chip in tag detection at first,  once a tag approaches I will read the tag, and then set it in tag detection again if the tag is removed.

I have seen this and I think the AN3433 does not help with it: https://community.st.com/t5/st25-nfc-rfid-tags-and-readers/cr95hf-tag-removal-detection/td-p/427257.

Regards

Brian TIDAL
ST Employee

Hi,

I've never seen the Idle command being used for tag removal detection. 

Which tag technology (ISO14443A or B, Felica(TM), ISO15693) do you plan to use in your application?

In our demos, we use the following tag removal detection methods:

  • method#1: the field is kept ON after the application has completed its stuff and periodic check presence are sent to the tag, e.g. for ISO15693 /NFCV tags, rfalNfcvPollerInventory with the UID of the tag is sent every e.g. 130ms until an error is detected. Once the tag is considered as removed (no response), the application can enter the WFE tagDetect mode. See ndef_demo.c in the X-CUBE-NFC3 package for example of tag removal detection using the RFAL.
  • method #2: the field is switch off after the application has completed its stuff. Periodically e.g. every 130ms, the field is switch on, and the reader polls using only the tag technology to try to see whether the same tag is still present. Once the same tag is not seen in the operating volume, the application can enter in the tagDetect WFE mode. This method has a drawback when a tag uses random UID (the UID changes after a field off).

Rgds

BT

 

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Hi, 

We use ISO14443A  tag Type 2.

BTW,  I checked both the st25r95 and cr95hf data sheets, the st25r95 shows a Filed detector mode in Table 3 while cr95hf doesn't.  My X-NUCLEO-NFC03A1 has a cr95hf on it, does it mean the field detector WFE is not supported? 

What's the complete idle command to enter Field detector WFE  for st25r95?

Brian TIDAL
ST Employee

Hi,

Basically, since the CR95HF has joined the ST25R family, ST25R95 is the part numbering for this device (actually ST25R95-VMD5T is the full part number). The marking on the IC is still CR95HF. As ST25R95 is recommended for new designs, CR95HF documentation is kept only for legacy purpose. Hence, I would recommend to use ST25R95 datasheet rather than CR95HF datasheet as ST25R95 datasheet is up to date (some typos have been fixed and some extra information has been provided).

The field detector WFE is designed for the Card Emulation mode (i.e. when the device emulates a tag). Example of Idle command for this mode: 0x07 0E 04 01 42 38 00 18 00 00 60 00 00 00 00 00. Can you share more information about your use case for this feature?

Rgds

BT

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Hi,

The command works! We don't need the Card Emulation, we just use it to wake up the host MCU from deep sleep mode.

Thanks. 

Brian TIDAL
ST Employee

Hi,

Well done!

If your initial issue is now solved, would you please click on Accept as Solution on the relevant post? For any new question, I would recommend to create a new thread rather than posting new questions in this current thread.

Thanks

Rgds

BT

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.