Hello,
Thank for clarifying your need.
The theorical evaluation is not easy to do, but basically, here is how it works:
- the reader will send messages of 256 bytes (Fast Transfer Mode buffer size). At 26kb/s, with command overhead and including response, this will take ~80ms.
- Then, the MCU will receive an interrupt and read the message. This is fast through I2C: ~3ms at 1MHz.
- Then the reader needs to poll the MB_CTRL_Dyn regsiter to know if the message has been read ~6ms + a few ms of margin to avoid collision with I2C read.
- After a latency time due to reaction time of the phone (a few ~ms) we loop back on first step to send the new message
This loop needs to be repeated ~40 times to transfer 10kB.
It is difficult to evaluate exactly the bitrate and the total time as the latency of the phone between two RF commands is not known, but you can expect to transfer 10KB from the phone to the MCU in about 4s (bit rate ~2.4kB/s).
You can probably gain a bit by adjusting the polling timing and even more (~1s) by completely avoid RF polling of status registers (but you need to have control of timings on both RF and I2C).
If you have a ST25DV DISCOVERY board (https://www.st.com/en/evaluation-tools/st25dv-discovery.html or https://www.st.com/en/evaluation-tools/st25dv64kc-disco.html) and the NFCTap app on your iPhone (or ST25NFCTap on android) you can play with the Fast transfer demo which will allow you to transfer 10kB from the phone to the STM32. You can then evaluate the datarate. Source code of this demo is also available for your reference.
Best regards.