Quickly reading NFC V tag from ST25R3920 with STSW-ST25RFAL002
Hello,
I am designing a system that uses the ST25R3920. I am using the STSW-ST25RFAL002 software library to interface to the NFC reader.
For performance & power saving reasons, I am attempting to complete NFC transactions as quickly as possible, and turn off the RF field between transactions. The typical use case of the system is that once a tag is detected, an initial transaction will take place. After that, the likely case is that the same tag will be present, and no other tags will be present. But there will be cases where that tag will disappear, and then the same tag or a different tag may appear at some time in the future.
I am wondering what sort of optimizations I can make by assuming that the same tag will be there, and there should not be any collisions with other tags in the area.
So far, I found that after performing discovery to find a tag, and then completing the first transaction with the tag, I can call
rfalFieldOff()
And then later resume transactions by calling
rfalFieldOnAndStartGT()
This seems to allow me to skip the discovery part of the rfalNfcWorker state machine and resume communications with the tag.
Once a failed communication has occurred, I can call
rfalNfcDeactivate()and then go back to initiating a new discovery with
rfalNfcDiscover() My questions are:
Are there any pitfalls to the above approach? Things I'm not considering and cases that may not be covered?
Are there any other calls that I should be making in addition to the rfalFieldOff & rfalFieldOnAndStartGT calls, in order to leave the library state machine in a good condition?
Are there any other optimizations that the RFAL/ST25R3920 would offer to help even further improve the performance?
