2018-09-24 03:00 AM
I have an application which must send > 100KB/day to an RFID/NFC reader (I'm using the STM25R Disco) - for days and years on end.
Looking at the EEPROM spec, it's good for 600k write cycles at 85 °C
(That means even at 64Kbit EEPROM, wear leveling would be critical for long life.)
The Fast Transfer Mode buffer / mailbox is intriguing (256 Bytes) - it seems perfect for my use case - (mainly polling data) - however I cannot find any information about the type of memory used for this or number of write cycles it supports in the datasheet.
So, what type memory is used for this FTM mailbox? How many write cycles can it handle?
Thank you very much
Solved! Go to Solution.
2018-10-17 06:00 AM
Answering my own question - I can write and read the FTM mailbox from the ST25 Tag Editor in batteryless mode using the following script (in the script tool):
REM,PRESENT PASSWORD
ST25R3911B_SENDRECEIVE, 02B302000000000000000000
REM,WRITE CONFIG GPO = B0
ST25R3911B_SENDRECEIVE, 02A10200B0
REM,WRITE CONFIG MB_EN = 01
ST25R3911B_SENDRECEIVE, 02A1020D01
REM,WRITE CONFIG MB_WDG = 00
ST25R3911B_SENDRECEIVE, 02A1020E00
REM,WRITE DYN REGISTER @00
ST25R3911B_SENDRECEIVE, 02AE020D00
REM,WRITE DYN REGISTER @01
ST25R3911B_SENDRECEIVE, 02AE020D01
ST25R3911B_SENDRECEIVE, 02AA02FF030000010000200000220001F3E2400001000003FF03FF00FF440E000000EB73742E636F6D3A736D6172746167010100020500013FEEEEEEEE41403228544B3804000100000500220032082200050022000A00220041412F2E0A0022000500220019002200143661040200700005002200C42B38610A002200842B48610F00220004CB872A1400220004CBB72A19002200C4EA97631E002200C4EA9763230022008429A85528002200842918552D00220084297855708F0000842918553700220084292855400022008429F85445002200842918554A002200842928554F0022008429C854540022008429185559002200842918555E0022008429B854630022
This causes the STM32L0 to go into error (NFC_READING_ERROR) because FTM is not implemented on the SMARTAG1 firmware - (the main loop attempts to write EEPROM after mode has been set to FTM by the RF side)
ST25DV is ok and the FTM mailbox can be written and read back in batteryless mode.
2018-09-25 02:52 AM
Dear Even,
First of all, thank you for considering the ST25DV-I2C.
The Fast transfer mode buffer is indeed not using EEPROM technology, as the rest of the user and system memory of the tag.
I cannot disclose the exact type of memory it is made of, but you can consider it as RAM type of memory. It is volatile memory, on the contrary of EEPROM.
The Fast transfer mode buffer is not subject to any wear levelling. This is the reason why there is no indication about maximum write cycles for this particular memory in the datasheet.
Furthermore, the two dynamic registers that are used to control the Fast transfer mode (MB_CTRL_Dyn and MB_LEN_Dyn) which are updated each time you read/write in the mailbox, are also standard "latch" type registers (volatile memory), and are not subject to wear levelling as well (on contrary to static registers, which are made of EEPROM memory.
I think Fast transfer mode perfectly match what you intend to do: you can read and write in this buffer to transfer data between I2C host and RF reader, with no limit on the write cycles.
(You also benefit of a write cycle time which is much faster than writing into the EEPROM).
Hope this clarify your point and help you in your project.
Best regards.
2018-09-25 07:03 AM
Hello M. Lebon,
I choose the ST25DV over NXP and TI (I previously evaluated an RF430) - because of the Auto tuning (my application has metal nearby) - and available eval tools (I'm using SMARTAG, ANT1-6 and ST25R Disco).
Thank you for your clear response, this is what I was hoping for - confirmation that the memory for the FTM mailbox is volatile and does not have the same write cycle limits as EEPROM.
SMARTAG FP-SNS-SMARTAG1 does not seem to support for the FTM, do you know where I can find some code examples of using this FTM mailbox?
From the datasheet:
"The access by I2C can be done by dedicated address mapping to mailbox (2008h to 2107h) with device identifier E2 = 0."
So, assuming GPO is available, is it as simple as enabling FTM mode, making sure the mailbox is available, then writing to those dedicated addresses?
2018-10-08 07:45 AM
Dear Evan,
I’m glad you are satisfied with ST products :)
About SMARTAG, you are right, it doesn’t use the FTM.
If you want to see source code, there is two part of it: code for the I2C host and code for the reader.
For the I2C host, source code is available for the ST25DV-DISCOVERY kit. This is a demonstration kit to evaluate ST25DV-I2C features.
The source code is for an STM32 microcontroller.
You can find it at https://www.st.com/content/st_com/en/products/embedded-software/st25-nfc-rfid-software/stsw-st25dv001.html
The demo FW includes code for 2 demos for FTM: a firmware upgrade demo, and a file transfer demo.
Main page for the St25DV-Discovery kit is: https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/st25-nfc-rfid-eval-tools/st25-nfc-rfid-eval-boards/st25dv-discovery.html
For the reader source code, you can find FTM example code for different readers:
For Android smartphones: https://www.st.com/content/st_com/en/products/embedded-software/st25-nfc-rfid-software/stsw-st25002.html
For ST CR95HF reader https://www.st.com/content/st_com/en/products/embedded-software/st25-nfc-rfid-software/stsw-95hf002.html
All those codes is to be used with the FTM demo of the ST25DV-DISCOVERY (I2C host part of the demo).
The source code for ST25R-Disco (ST25R3911B) is currently not available (only executable through the PC SW). I will check how to provide you with the source code and come back to you.
The source code of all those demo is using the base level FTM functions + an additional protocol to handle long transfer (framing of data + crc checks etc.)
Additionally, there is an application note AN4910 explaining how to use FTM in ST25DV.
Basically to access FTM you need:
From RF side:
From I2C side:
Best regards,
JL.
2018-10-17 02:35 AM
Excellent, thank you for providing this information - I am very much in active development on the ST25DV/R and am currently tasked to add FTM code to the SMARTAG1.
I will post back with any issues I encounter or additional information which could be useful to others.
2018-10-17 03:30 AM
According to the datasheet - but I'd like to confirm with you -
To use FTM mode - VCC_ON must be 1 indicating VCC supply is present and Low Power Down mode is not forced (LPD is low)
I'm using the SMARTAG1 in passive (EH) mode - I.E. no battery.
The STEVAL-SMARTAG1 is using the STLQ015M18R linear regulator to provide VCC from either HARV or Batt
Which is then fed into the ST25DV VCC FROM PA15 of the STM32L0
Am I correct in assuming that if I drive PA15 high - this will provide the VCC required to set VCC_ON and satisfy the requirements to use the FTM in battery less mode?
Thank you!
2018-10-17 06:00 AM
Answering my own question - I can write and read the FTM mailbox from the ST25 Tag Editor in batteryless mode using the following script (in the script tool):
REM,PRESENT PASSWORD
ST25R3911B_SENDRECEIVE, 02B302000000000000000000
REM,WRITE CONFIG GPO = B0
ST25R3911B_SENDRECEIVE, 02A10200B0
REM,WRITE CONFIG MB_EN = 01
ST25R3911B_SENDRECEIVE, 02A1020D01
REM,WRITE CONFIG MB_WDG = 00
ST25R3911B_SENDRECEIVE, 02A1020E00
REM,WRITE DYN REGISTER @00
ST25R3911B_SENDRECEIVE, 02AE020D00
REM,WRITE DYN REGISTER @01
ST25R3911B_SENDRECEIVE, 02AE020D01
ST25R3911B_SENDRECEIVE, 02AA02FF030000010000200000220001F3E2400001000003FF03FF00FF440E000000EB73742E636F6D3A736D6172746167010100020500013FEEEEEEEE41403228544B3804000100000500220032082200050022000A00220041412F2E0A0022000500220019002200143661040200700005002200C42B38610A002200842B48610F00220004CB872A1400220004CBB72A19002200C4EA97631E002200C4EA9763230022008429A85528002200842918552D00220084297855708F0000842918553700220084292855400022008429F85445002200842918554A002200842928554F0022008429C854540022008429185559002200842918555E0022008429B854630022
This causes the STM32L0 to go into error (NFC_READING_ERROR) because FTM is not implemented on the SMARTAG1 firmware - (the main loop attempts to write EEPROM after mode has been set to FTM by the RF side)
ST25DV is ok and the FTM mailbox can be written and read back in batteryless mode.
2019-11-21 12:03 AM
Hi JL. Lebon:
I also use STEVAL-SMARTAG1 to send out temperature sensor value via FTM mode.
I try to port codes of St25DV-Discovery to STEVAL-SMARTAG1.
But it doesn't work well.
2019-11-21 12:26 AM
I assure you it does work - I've been working with this principal for over 6 months now. What kind of issues are you having?
2019-11-21 12:34 AM
Hello Evan:
Thanks for your reply.
My scenario is the same with you: use STEVAL-SMARTAG1 in EH mode without battery.
For the initiation phase, just follow the steps in St25DV-Discovery?