cancel
Showing results for 
Search instead for 
Did you mean: 

ST25DV null UID response

DPoto.1
Associate II

Hello ST community

I'm working with a ST25DV64K-JFR8D3 placed on a custom PCB and very rarely facing a weird issue, namely the UID response of the chip becomes 0000000000000000.

0693W000001t5o5QAA.png

This renders the device completely unresponsive, as no RF communication can be performed to it.

There is a MCU connected via I2C to the ST25, which is configured to wake up after a ManageGPO interrupt command. There is also a 3V battery. Has anyone faced a similar issue ?

Thank in advance for any help =)

Damian

1 ACCEPTED SOLUTION

Accepted Solutions
JL. Lebon
ST Employee

​Hello Damian,

Your initial problem (response with 00) may come from incorrect low power mode entering.

The pull-up resistor on LDP seems to be too high. It is recommended not to exceed 5K. I even recommend to connect it directly to VCC, without pull-up resistor.

Internally, the LPD is pulled-down by a resistor that is automatically disabled when LPD is connected to VCC, in order not to sink current. In order to counter this pull-down resistor (~10k), the pull-up impedance on LPD pin shall be much lower than this pull-down resistor.

I recommend you to use a 2k2 (or max a 4k7) pull-up resistor. As the internal pull-down will be automatically disconnected, the power consumption in low power mode will not increase compared to using a 47k resistor.

With a 47k resistor, the device is probably never entering in low power mode. You can check it easily from RF by reading the EH_CTRL_Dyn register (Read Dynamic Configuration command at address 02h). The bit 3 (VCC_ON)  is set to 1 when the tag is powered from VCC and LPD pin is low. When LPD pin is high and the device is in low power mode, this VCC_ON bit is set to 0, even if VCC is present.

You can check with the 47k resistor if this bit remains at 1 when VCC is present.

Best regards.

View solution in original post

6 REPLIES 6
Berenice BENVEGUDA
ST Employee

Hello Damian,

Could you tell us more about your setup please?

Is there any other I2C device connected to the MCU ?

What is the sequence used just before you see the UID to 00000000 ?

Best Regards,

BB

DPoto.1
Associate II

Yes, sure.

There is an additional RTC clock M41T62 on the I2C bus. The bus has pull up resistors. There is an additional pull up resistor for the LPD pin of ST25, to ensure it stays in low power mode when the EEPROM memory is not written. The LPD pin is also connected to the MCU, which wakes up the chip before writing to memory.

ST25 is connected to a 8.5 x 5 cm antenna and is placed in a RF enviroment utilizing FEIG HF reader with 80x60 cm antenna.

The issue happens very rarely after multiple inventarization cycles. The readout is performed at circa 50 - 75 cm from the reader antenna.

It is very hard to catch the exact moment when it happens, but the whole device should be in deep sleep mode (LPD high, MCU is sleeping).

After the UID changes to 0000000000 i have checked with a osciloscope, that there is no I2C communication on the bus. I have tried to manually reset the MCU, after which there are I2C frames trying to access the ST25 but all of them end with NACK.

JL. Lebon
ST Employee

​Hello Damian,

What is the pull-up resistor value on the LPD pin ?

BR.

DPoto.1
Associate II

Hello,

i'm using 47k resistors pull-ups on the LPD pin as well as I2C lines.

This value was gradually increased from 4.7k in order to reduce current consumption in device sleep mode, while still keeping its functionality.

Best regards

Damian

JL. Lebon
ST Employee

​Hello Damian,

Your initial problem (response with 00) may come from incorrect low power mode entering.

The pull-up resistor on LDP seems to be too high. It is recommended not to exceed 5K. I even recommend to connect it directly to VCC, without pull-up resistor.

Internally, the LPD is pulled-down by a resistor that is automatically disabled when LPD is connected to VCC, in order not to sink current. In order to counter this pull-down resistor (~10k), the pull-up impedance on LPD pin shall be much lower than this pull-down resistor.

I recommend you to use a 2k2 (or max a 4k7) pull-up resistor. As the internal pull-down will be automatically disconnected, the power consumption in low power mode will not increase compared to using a 47k resistor.

With a 47k resistor, the device is probably never entering in low power mode. You can check it easily from RF by reading the EH_CTRL_Dyn register (Read Dynamic Configuration command at address 02h). The bit 3 (VCC_ON)  is set to 1 when the tag is powered from VCC and LPD pin is low. When LPD pin is high and the device is in low power mode, this VCC_ON bit is set to 0, even if VCC is present.

You can check with the 47k resistor if this bit remains at 1 when VCC is present.

Best regards.

DPoto.1
Associate II

Thank You very much for the detailed description.

After checking some things based on the suggestions above I was able to diagnose the cause of 00000000 UID response.

The problem was bad soldering - the LPD pin under ST25DV was poorly connected to the board (was basically floating).

I was also able to eliminate the LPD pull-up resistor as the MCU copes with controlling the LPD line without any pull-ups.