2021-10-31 05:50 AM
Hi,
We have an ST25DV04K NFC tag which is being used to communicate to a host microcontroller from a mobile app and we're having trouble with FTM after booting up the host device from the app.
We're starting up the host from this app by pulsing the GPO line. Unfortunately, the maximum interrupt time is too short so we're generating a pulse with the Manage GPO command; set, wait 100ms, reset. This works great.
Once the device boots up, it then configures the tag to disallow RF from controlling the GPO with the Manage GPO command (by setting RF_USER_EN to 0 in GPO register).
Then, we need to send some data to the host via FTM. So we enable the mailbox and write our data. On the host side, we see the interrupt, check the IT_STS_Dyn register for RF_PUT_MSG, then read the data, calculate the CRC, then write that back to the mailbox.
This is where there's an issue. The mobile app is now polling the MB_CTRL_Dyn register for HOST_PUT_MSG. However, that never happens. Even stranger, if we move the phone away from the host device, then back, then repeat the process from enabling the mailbox, it all works.
Are there any known issues related to this? Is the presence of the RF field maintaining some state which doesn't allow the i2c host to write to the MB_CTRL_Dyn register?
Any help would be much appreciated!
Solved! Go to Solution.
2021-11-09 03:31 AM
2021-11-08 01:29 AM
Hi, please see my answer in the other related post.
BR.
2021-11-09 03:31 AM