cancel
Showing results for 
Search instead for 
Did you mean: 

An API or a command that clear the EEPROM memory on ST25DV devices

ADSB
Associate III

Hello Community, 

Is there a fast way to clear the EEPROM of ST25DV. for example, a fast API to clear the whole EEPROM, and how long it will take? I want to have the option to clear the memory when a special command is written through RF 

Thank you very much for your help

1 ACCEPTED SOLUTION

Accepted Solutions
JL. Lebon
ST Employee

​Hello,

There is no real "fast" way to clear the whole memory.

EEPROM memory technology has an uncompressible erase + programming time.

In ST25DV, it takes 5ms to erase/program a memory page of 4 Bytes.

To get the total time of erasing the whole memory, you have to device multiple this time by the number of blocks of memory (or the number of byte * 4).

For example, in a ST25DV04K, there is 512 Bytes/128 Blocks or memory, so it will take at least 128*5ms=640ms to completely reprogram the whole memory. On top of this, you have to add the time of the RF commands if programmed from RF, or of the I2C commands if programmed from I2C.

The best you can do from RF side is to send 32 write multiple blocks commands of 4 blocks (still for a ST25DV04K). In 1/4,high data rate it will takes at best ~880ms (~27ms per command) assuming you are able to send commands without delay in between.

From I2C side, it is faster: you can send 256Bytes write commands at 1MHz (~2.3ms for the I2C command + ~278ms for the eeprom programming), so you can hope to erase the whole ST25DV04K memory in about ~560ms.

Of course, you have to adapt those figures if you use the ST25DV16K or ST25DV64K.

Best regards.

View solution in original post

2 REPLIES 2
emil28
Senior

You can use the ST25 Android App.

JL. Lebon
ST Employee

​Hello,

There is no real "fast" way to clear the whole memory.

EEPROM memory technology has an uncompressible erase + programming time.

In ST25DV, it takes 5ms to erase/program a memory page of 4 Bytes.

To get the total time of erasing the whole memory, you have to device multiple this time by the number of blocks of memory (or the number of byte * 4).

For example, in a ST25DV04K, there is 512 Bytes/128 Blocks or memory, so it will take at least 128*5ms=640ms to completely reprogram the whole memory. On top of this, you have to add the time of the RF commands if programmed from RF, or of the I2C commands if programmed from I2C.

The best you can do from RF side is to send 32 write multiple blocks commands of 4 blocks (still for a ST25DV04K). In 1/4,high data rate it will takes at best ~880ms (~27ms per command) assuming you are able to send commands without delay in between.

From I2C side, it is faster: you can send 256Bytes write commands at 1MHz (~2.3ms for the I2C command + ~278ms for the eeprom programming), so you can hope to erase the whole ST25DV04K memory in about ~560ms.

Of course, you have to adapt those figures if you use the ST25DV16K or ST25DV64K.

Best regards.