Other Parts Discussed in Thread: TPS61042
Sir or Madam,
My RFID project is now working fine except that occasionally, during a FAST_READ operation from an NTAG21x tag, a collision error is reported in bit 2 of register 0x0C. When any error is reported during the EORX interrupt, the firmware restarts the operation by resending the read command sequence which is the following.
0x01, 0x08 Enable CRC checking
0x10, 0x02 Enable normal receive and normal framing
0x8F Reset the FIFO
0x91 Transmit with CRC
0x3D, 0x00, 0x30 Transmit the following three bytes
0x3A, 0xNN, 0xNN FAST_READ command for page NN.
For received CRC errors this restarts the operation and all goes well. For collision errors, the restarted operation times out after 30 ms. The firmware automatically retries failed reads up to 5 times and this particular error fails the 4 following retries with the EORX timeout. The carrier remains on during retries. The low level driver only reads one page at a time due to timing restrictions in the system however it is able to read contiguous blocks of pages in this manner.
I have scanned the datasheet and could not find any mention of special handling of collision errors when the tags is selected and active. The tag is used in a slightly noisy environment and occasional CRC errors are detected and properly corrected via retires. Collision errors during reading always fail. What am I doing wrong?
Best regards,
Al Otis, Jr