NFC: Problem with I2C latency between Uno and Adafruiot NFC shield

Hi,

I'm investigating the feasability of using NFC tags (NTAG213) as a low-cost safety system for mountain running events. To do this I need to be able to read tags as fast as possible because the runners do not want to stop!

I've built a timing test bed using an Arduino UNO and an Adafruit NFC shield (which uses the PN532) which are connected using I2C. I've tweaked the I2C to run at its highest speed of 400kHz. The NTAG213 has a transfer speed of 100kHz.

These numbers suggest I can read/write the tag in about 2mS, which is fast enough to meet my goal.

However, when I actually time the total transfer time from the UNO to/from the PN523 to/from the NTAG213 I discover its in excess of 12mS, this is too slow - it would mean the runners would have to stop.

My question is this: where is this extra 10mS coming from? Is there some inherent latency in the I2C interface? Would SPI be better? Or is it the PN532?

Any suggestions would be most helpful.

Thanks.

discover its in excess of 12mS, this is too slow - it would mean the runners would have to stop.

ROF - LOL

Mark

holmes4:
ROF - LOL

Mark

Imagine a runners arm swinging wearing a wrist band with an RFID tag in it. When running at full tilt his wrist will swing past the 5cm square reader antenna at about 2 metres/second, thats about 25mS across the antenna, in that time I have to read it, do some sums and write it. So a 10mS latency on the read/write is a big chunk of time.