I have spent a lot of time trying to improve reading speed for a Desfire EV1 with a PN532 SPI reader and the times I get are too high compared with a MFRC531. I'm using libnfc for PN532 and I used NXP native commands for MFRC531.
Could someone tell me how long it takes to do the following commands over a Desfire EV1?
I can't reduce more than 92.76 milisecons. I've 144 bytes files inside the desfire and for read it takes 102.63 miliseconds what is a speed of 11 kbps. If Desfire's protocol baud rate is 424kbps, what is happening me? Is it possible that it is due to the internal microprocessor that mounts the pn532 and the rc531 lacks it?
*** mifare_desfire_select_application ***
===> 0000 90 5a 00 00 03 00 00 00 00
<=== 0000 91 00
PICC replied OPERATION_OK
*** mifare_desfire_get_version ***
===> 0000 90 60 00 00 00
<=== 0000 04 01 01 01 00 18 05 91 af
*** mifare_desfire_get_version ***
===> 0000 90 af 00 00 00
<=== 0000 04 01 01 01 04 18 05 91 af
*** mifare_desfire_get_version ***
===> 0000 90 af 00 00 00
<=== 0000 04 60 75 1a 5f 28 80 ba 25 51 9e 10 51 11 91 00
PICC replied OPERATION_OK
*** mifare_desfire_select_application ***
===> 0000 90 5a 00 00 03 00 00 01 00
<=== 0000 91 00
PICC replied OPERATION_OK
Time elapsed: 0.092768s
gettimeofday
(/sys/time.h
). I'm calculating transfer speed when read 144bytes (one dedfire file) with0xBD
Desfire command. Internally PCD and PICC exchange more than 1 frame (packet) because the file is divided into several parts (sending0xAF
command), but I think it's a pretty real estimate of the speed. – crossmax