cancel
Showing results for 
Search instead for 
Did you mean: 

CR95HF not responding if the power has not been reset to 0V

AShub.1
Associate II

Hello!

 

On my board STM32F401 communicates with CR95HF via SPI use X-CUBE-NFC3.

 

After powering up, initializing the STM32F401 for 2MHZ SPI, run the st25r95Initialize() function.

 

I've noticed that CR95HF is unresponsive unless the power from a previous successful session was completely reset to 0V.

 

Through measurements, I noticed that the lower limit of the normal restart voltage of the CR95HF is 0.26V. If the voltage is below this mark (except for the value of 0V), then when restarting CR95HF does not respond to STM32F401 requests.

 

In datasheet CR95HF, in $ 3.2 a NOTE:

"VPS must be 0V before executing the start-up sequence."

 

Is there any way to start CR95HF communication without first resetting its power to 0V ?

Or need anyway to apply additional power reset circuitry for CR95HF ?

 

1 ACCEPTED SOLUTION

Accepted Solutions
Brian TIDAL
ST Employee

Hi,

in the "INIT_ERR_24 MHz, 240 M Samples [13]" trace, I see no life on the SPI MISO. This is due to internal logic being not properly reset as the VPS has not been set to 0 but to a non-zero transient value. If there is a general power off, one must make sure that VPS returns to 0V before next startup (as written in the datasheet in §3.2).

Maybe the value of C1 and C3 is too big and prevents the VPS from returning properly to 0. I would suggest to have a look on the power supply schematics of the X-NUCLEO-NFC03A1 (see UM2479

Getting started with X-NUCLEO-NFC03A1 NFC card reader board based on ST25R95 for STM32 Nucleo)

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.

View solution in original post

3 REPLIES 3
Brian TIDAL
ST Employee

HI,

can you provide more information about your hardware setup: do you use your own custom board or do use a setup based on Nucleo-64 MCU board + X-NUCLEO-NFC03A1 expansion board?

"I've noticed that CR95HF is unresponsive unless the power from a previous successful session was completely reset to 0V." what do you mean precisely by "previous session"?

On my side, when resetting the MCU, I am able to communicate with the CR95HF without a cycle power. The startup sequence is performed but if there was no cycle power, it is simply ignored.

Can you provide a logic analyzer trace of your problem (SPI: CLK/MISO/MOSI/CS, IRQ_IN, IRQ_OUT, SSI_0, SSI_1, VPS)? If you are using a picoscope, you can probe the VPS on an analog channel while logging SPI/etc. on digital channels.

Note that it is possible to reset the CR95HF with the SPI command 0x01.

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.
AShub.1
Associate II

Thanks for the answer.

I noticed this behavior on my custom board.

I don't have X-NUCLEO-NFC03A1 expansion board.

To test the behavior, I decided to reproduce his on STM32F401 Nucleo-64 connected to CR95HF by wires on my board similar to connection X-NUCLEO-NFC03A1 expansion board.

But the choice of the communication SPI interface is not carried out by F401 side. SSI_0 have direct connection to VCC.

C12 added to observe the slow discharge on oscilloscope. When the discharge reaches 220 mV, I connect Nucleo board to USB.

See attached schematics connection.

The "previous session" was not mentioned in the context of resetting MCU.

"Previous session" meant a general power off of the device by the user.

After the power is turned off, the capacitors on the board are discharged. If they are discharged to 0V, then turning the power back on allows you to correct interact with CR95.

But if the discharge occurred to a voltage level below 0.26V (except 0V), then when the power is turned on again, CR95 does not respond.

For initialization CR95 i use driver from X-CUBE-NFC3, launch st25r95Initialize() and see execution result. In this implementation reseting the CR95HF with the SPI command 0x01.

Attached are logging (SPI: CLK/MISO/MOSI/CS, IRQ_IN, IRQ_OUT) communication from Saleae Logic.

Observation for VPS in the process of communication i see on my oscilloscope: 3.34V is stable.

I also attach a photo of the chip just in case.

0693W00000YAbjnQAD.png0693W00000YAalnQAD.jpg

Brian TIDAL
ST Employee

Hi,

in the "INIT_ERR_24 MHz, 240 M Samples [13]" trace, I see no life on the SPI MISO. This is due to internal logic being not properly reset as the VPS has not been set to 0 but to a non-zero transient value. If there is a general power off, one must make sure that VPS returns to 0V before next startup (as written in the datasheet in §3.2).

Maybe the value of C1 and C3 is too big and prevents the VPS from returning properly to 0. I would suggest to have a look on the power supply schematics of the X-NUCLEO-NFC03A1 (see UM2479

Getting started with X-NUCLEO-NFC03A1 NFC card reader board based on ST25R95 for STM32 Nucleo)

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.