cancel
Showing results for 
Search instead for 
Did you mean: 

Dear all, which simple methode is suggest to identify if the ST25DV04kxxx has powered the STM32Lxxx?

CLemb.1
Associate

Basically we have follwing problem: We have an App which reads out the ST25DV04K, behind we have STM32L011xxx which makes some calculations as well and the result is stored in the ST25DV04Kxxx. However sometimes the NFC field is not strong enough and the STM32 does not start and cosequently does not write new data in the EEPROM. So "old" data are read out from the EEPROM, does any one has a suggestion to check wheter the data in the EEPROM (ST25DV04K) has been new calculated? Best regards Christian

1 ACCEPTED SOLUTION

Accepted Solutions
JL. Lebon
ST Employee

​Hello Christian,

I see two ways to solve this issue.

First one would be use a timestamp that would be updated by the STM32 after each write of calculation result. OR a bit somewhere in eerpom that is cleared by the reader each time a calculation is requested, and set by the STM32 each time the calculation result is written.

Another way would be to use the fast transfer mode feature of ST25DV. The Fast transfer mode provides control registers that give status of the content of the mailbox. For example, in your case, the reader would first activate the fast transfer mode. For this, VCC is required, which means that EH output would need to be connected to VCC input of ST25DV. Once FTM is enabled, the reader would write a command to the STM32, which trigger an interrupt. The STM32 then read the message (here, a request for calculation), compute the result and write the result back in the mailbox. The reader can poll the MB_CTRL_Dyn register to know if the STM32 has written there answer in the mailbox. This is indicated in the HOST_PUT_MSG bit. You can even program a watchdog that will trigg the HOST_MISS_MSG bit in case the STM32 has not been powered and has not read the first message request.

Best regards.

View solution in original post

1 REPLY 1
JL. Lebon
ST Employee

​Hello Christian,

I see two ways to solve this issue.

First one would be use a timestamp that would be updated by the STM32 after each write of calculation result. OR a bit somewhere in eerpom that is cleared by the reader each time a calculation is requested, and set by the STM32 each time the calculation result is written.

Another way would be to use the fast transfer mode feature of ST25DV. The Fast transfer mode provides control registers that give status of the content of the mailbox. For example, in your case, the reader would first activate the fast transfer mode. For this, VCC is required, which means that EH output would need to be connected to VCC input of ST25DV. Once FTM is enabled, the reader would write a command to the STM32, which trigger an interrupt. The STM32 then read the message (here, a request for calculation), compute the result and write the result back in the mailbox. The reader can poll the MB_CTRL_Dyn register to know if the STM32 has written there answer in the mailbox. This is indicated in the HOST_PUT_MSG bit. You can even program a watchdog that will trigg the HOST_MISS_MSG bit in case the STM32 has not been powered and has not read the first message request.

Best regards.