2019-10-08 01:55 AM
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
Solved! Go to Solution.
2019-10-10 02:50 AM
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.
2019-10-09 12:47 AM
You can use the ST25 Android App.
2019-10-10 02:50 AM
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.