cancel
Showing results for 
Search instead for 
Did you mean: 

Decrease the time to write/read a block fro a NFC Tag

CT-55555
Senior

Hello, 

I'm using the X-Nucleo-NFC08A1 with the X_Cube NFC 6 and a NFC(V - ISO15693) Tag. I want to decrease the time for reading and writing. I also want do decrease the time for detecting a Tag. Are their any parameters to change or is the speed highly dependent on the Tag. 

I already lwered the discParam.totalDuration to 10ms and turned off all functions that work with a different type of Tag. 

Time to read a single Block: 11.38 ms 

Time to write a single Block: 15.65 ms 

Thank you for helping

Rgds

 

This discussion has been locked for participation. If you have a question, please start a new topic in order to ask your question
1 ACCEPTED SOLUTION

Accepted Solutions
Brian TIDAL
ST Employee

Hi,

what is your SPI clock frequency? Try to be as close as possible to 6Mbps on SPI.

Is your tag supporting 52 kbps high speed data rate?

Is your tag supporting multiple read and or multiple write?

You can also use the non-addressed mode when sending read write commands (use NULL uid in the command).

Assuming only one tag is allowed in the operating volume, you can also get rid of the discovery phase and loop on non-addressed Read Single block until a tag replies

Rgds

BT

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

View solution in original post

7 REPLIES 7
Brian TIDAL
ST Employee

Hi,

what is your SPI clock frequency? Try to be as close as possible to 6Mbps on SPI.

Is your tag supporting 52 kbps high speed data rate?

Is your tag supporting multiple read and or multiple write?

You can also use the non-addressed mode when sending read write commands (use NULL uid in the command).

Assuming only one tag is allowed in the operating volume, you can also get rid of the discovery phase and loop on non-addressed Read Single block until a tag replies

Rgds

BT

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Hi,

1. I changed the clock Frequncy to 12 MHz and a Baudrate of 6Mbps. 

2. Yes, the Tag supports 53 kbit/s with Fast Read Multiple Block command mode. Its a custom command with the code "C3". How do I enable this mode in STMCubeIDE.?  

3. Thank you for your help. I try to reduce the code to the minimum. 

Rgds

 

Brian TIDAL
ST Employee

Hi,

before trying fast commands, what are your measurements for single block read duration and single block write duration? and what is your target?

Regarding custom fast commands, such commands are supported by the RFAL for ST tags only. I guess you are using a tag from the competition. Therefore, you will have to implement this fast command on top of the RFAL. You can get inspirited by the rfalST25xVPollerFastReadMultipleBlocks (or reuse it in case the coding of this custom command is identical to ST one). This function relies on rfalNfcvPollerTransceiveReq that checks the manufacturer ID to enable fast mode for ST fast custom commands. Make sure to modify this part of code to add the support of your fast command with the manufacturer ID of your tag.

Rgds

BT

 

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Hi, 

with your help I increased the speed. 

time to write a single block: 11.58 ms 
time to read a single block : 7.20ms 

The goal of the project is to get it fast as possiple. I try to enable the function thank you very much. 

Rgds

Hi,

 

your times sound reasonable the air time of read single block with a block of 4 bytes is at ~5.5ms. With SPI overhead it will easily go to 6-7ms. For writing a block you need to add EEPROM programming time which I would estimate to ~5ms ending up at 11-12ms.

BR, Ulysses

Hi, 

so you think I already reached the limits ? 

Rgds 

Hi,

at least you are not too far from the limits and I don't expect you can e.g. double the performance. If reading from the tag (especially larger data) is important for you, then you can for sure achieve substantial speed-up by using the fast mode of ST25DV/TV tags.

BR, Ulysses