cancel
Showing results for 
Search instead for 
Did you mean: 

St25r3916B wakeup

Sndl
Associate II

Hi,

 

We are developing a prototype containing a st25r3916b nfc reader. When the prototype is idle it goes into sleep mode and wakes up through the wakeup function.

 

When we actively poll for a card from our MCU we can read a UID from a distance of about 7cm (which is great for us). However, in wakeup mode with a trigger on inductive amplitude we have found a reliable detection distance of about 3 cm.

 

Is this to be expected? We found that by changing d_res of the tx_driver registry we can increase/decrease the amplitude of the field in wakeup mode. With low d_res values the wakeup mode triggers constantly, only at a d_res of 36.6% can we get a reliable card detection (at +- 3 cm) with a delta around 20. If we set the wakeup delta very high for low d_res values, it doesn't trigger constantly but then we have to hold the card really close to the antenna, defeating the purpose.

 

Are there other knobs we can turn to try to get reliable detection in wakeup mode from a greater distance? Ammod setting of the tx_driver register doesn't appear to do something.

 

As additional info: The ST25 C libs are used as a reference, the prototype is being built in Rust.

 

Thanks!
Sander

1 ACCEPTED SOLUTION

Accepted Solutions

Hello Sander,

 

detecting the card via polling involves powering the card by the magnetic field, sending the command and understanding the response. So output power and sensitivity are the main contributor.

Inductive wake-up on the other side is based on detecting the de-tuning of the antenna. This is done by generating a short magnetic field and sensing the difference to the previous pulse. The main contributer are: Noise in the wake-up system (Supply (amplitude measurement), Crystal (phase measurement)) and sensitivity (RFI amplitude ~2.7V, proper matching impedance. 

 

Therefore you may want to check the noise (plot a sequence of ~100 measurement values, they should only change by 1bit) and RFI amplitude (should be around 2.7V). You may also want to share the smith chart of your matching impedance with us.

 

please let me know if this helps.

 

br Travis

View solution in original post

4 REPLIES 4
Brian TIDAL
ST Employee

Hi Sander,

do you use an ST board (e.g. X-NUCLEO-NFC08A1 or STEVAL-25R3916B) or your own custom board? 

"When we actively poll for a card from our MCU we can read a UID from a distance of about 7cm" Which technology is being used: NFC-V/ISO15693 or NFC-A/14443A? What is the size of the tag (e.g credit card)?

I guess you have already had a look to AN5320 Wake-up mode for ST25R3916/16B.

"The ST25 C libs are used as a reference" Do you mean the RFAL?

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.

We're using a custom board, ISO14443A technology, the card is creditcard sized and the antenna as well. Yes I meant the RFAL.

We've had good improvement in detection distance (+- 6 cm now), with changes: io_drv_lvl in IO configuration register 2 to 1 (we're using I2C comms), and we missed running the RC calibration in our NFC initialization steps. I don't know why these matter so much for wakeup mode vs active polling from MCU or if these settings should matter at all for detection distance, but I'll take the win.

Yes we used the AN5320 doc. Current status is detection distance in wakeup mode is probably fine for us already  though we still need to test it in its production settings with metal around. Any tips for registers that can be tweaked / experimented with to improve wakeup mode detection distance (like the wakeup period, detection delta and d_res value) would be welcome.

Cheers,
Sander

Hello Sander,

 

detecting the card via polling involves powering the card by the magnetic field, sending the command and understanding the response. So output power and sensitivity are the main contributor.

Inductive wake-up on the other side is based on detecting the de-tuning of the antenna. This is done by generating a short magnetic field and sensing the difference to the previous pulse. The main contributer are: Noise in the wake-up system (Supply (amplitude measurement), Crystal (phase measurement)) and sensitivity (RFI amplitude ~2.7V, proper matching impedance. 

 

Therefore you may want to check the noise (plot a sequence of ~100 measurement values, they should only change by 1bit) and RFI amplitude (should be around 2.7V). You may also want to share the smith chart of your matching impedance with us.

 

please let me know if this helps.

 

br Travis

Sndl
Associate II

Thank you that helps and I'll discuss it here. We'll proceed with plotting measurements and the smith chart if the production test shows that we need further optimization.