Hello,
I have a question regarding the behavoir in case of a simulatainous accesses to the shared memory from the reader side and the mcu side. The question is in regards to the NFC/RFID peripheral.
Accoring to the manual UM10876 page 80 11.6.2
Access to the shared memory space is arbitrated between the RF side and the APB side by the arbitration unit.
But there is no mention in the user manual about how the arbiter is handling a collision or if the user can detect a potential collision and act accordingly. Is it possible to query the arbitration unit for this case?
Solved! Go to Solution.
Thank you for your waiting, I´ve received the answer from the respective support team.
If both, the NHS and an external NFC reader would write to the NFC memory, the message would be garbled.
The external NFC reader is completely asynchronous to the NHS, so "mutual understanding" is needed for successful transfers.
The NHS demo software uses a command/response pattern to avoid collisions, basically, the NHS and the NFC reader wait until the NDEF message or response is completed in order to send a new command. This will ensure that The APB and the NFC interface will never collide.
Also, the NDEF message is written by setting the NDEF length byte to zero and sets the length byte(s) to the correct value in order to guarantee that only complete messages are read.
Thank you for your waiting, I´ve received the answer from the respective support team.
If both, the NHS and an external NFC reader would write to the NFC memory, the message would be garbled.
The external NFC reader is completely asynchronous to the NHS, so "mutual understanding" is needed for successful transfers.
The NHS demo software uses a command/response pattern to avoid collisions, basically, the NHS and the NFC reader wait until the NDEF message or response is completed in order to send a new command. This will ensure that The APB and the NFC interface will never collide.
Also, the NDEF message is written by setting the NDEF length byte to zero and sets the length byte(s) to the correct value in order to guarantee that only complete messages are read.