Hi all,
I wish to send small packets of data back and forth between two systems via an NFC link using 2 TRF7970A (TRF) chips (8-32 byte packets, about once every 100 ms).
Both ends are completely known (exact same hardware, C2000 MCUs and the same basic software) and the devices don't have to deal with any 3rd party NFC interfaces at all.
I've spent some time coding up the SPI interface etc. to interact with the TRFs and I've read and re-read the datasheet for it several times, along with a lot of other specification documents for the various layers of 14443A/B and 15639 etc...
It's all very complex, the TRF datasheet is very confusing and it seems to involve lots of issues such as dealing with RF collisions, multiple targets, parameter selection etc.
In my intended (industrial control) application there will only ever be two devices of identical types in proximity to one another, one can always be the initiator, and the other can always be the target, but there needs to be two-way comms (they can be alternating 1-way comms as separate "transactions" separated in time if that's easier. i.e. Initiator Transmits data packet to Target, or Initiator requests data packet from Target)
What I'm looking for is some answers to a couple of questions :)
1/ Is it possible to set up a very simple state machine to send a packet of data to the target leveraging the ISO14443A/B framing features of the TRF without needing to refer to SENS_REQ/SDD/PFA negotiation and slot timings etc?
2/ If I configure both ends exactly the same, except one as initiator and one as target, can I just send a non-ISO fixed-length string of data and have the other end receive it? I know the TRF embeds some logic for doing the SDD state-machine, and spits out target protocol identification bits - do I need to use this if I'm configured for ISO14443A/B modes or can I just have an IRQ handler that deals with the RX flag (after transmission/reception has completed) and then reads out the data bytes that were sent? I can guarantee that there would be less than 127 bytes transmitted in any one transmission.
3/ Failing all that, has anyone successfully ported the example/reference software stack to a C2000 architecture? I'd have some issues with the busy-waiting nature of the stack (I need to check for received transmissions regularly and then do other tasks with the CPU, it can't be waiting around for 500 ms in listen mode waiting for a potential transmission)...
Sorry for the vagueness of my questions. I'm after a simple dumb NFC serial connection for a proprietry, not an industry standard NFC P2P or Reader/Writer stack implementation...
What I know I can't do (due to the hardware design) is go into direct mode 0 or 1 and shift the modulation bits in/out in real time - which in hindsight seems like it would have been the best approach :(
Any links, tips or suggestions would be appreciated!
Cheers,
Kyle