2018-11-21 02:31 AM
Hallo!
With ST25RU3993 UHF RFID reader, reading and writing to an RFID tag via the ST commands CMD_WRITE_TO_TAG and CMD_READ_FROM_TAG at a word address greater than 0x7F fails.
Using CMD_GENERIC_CMD, I could successfully read from the tag even beyond word address 0x7F (by manually providing the address in the EBV format).
But write to tag using CMD_GENERIC_CMD is still a problem
According to EPC Class1 Gen2 spec, Writing to a tag involves two steps :
1. Random Number Request (Gen2 command - Req_RN)
2. Write to tag (Gen2 command - Write) -- actual data to be written into tag has to be ex-ored with the random number received
But, the actual value written into the tag is different from the requested value.
As a means to use CMD_GENERIC_CMD for writing to tag, I first want to succeed with a word address below 0x7F.
An example, where I try to use CMD_GENERIC_CMD to write FF FF to a tag at word address 0x00 00
Req_RN replies with a random number RN16 : BD 97
Actual value to be written to the Tag is FF FF
Value sent via CMD_GENERIC_CMD Write BD 97 ^ FF FF = 42 68
After successful write RN16 received 05 28
Value actually written on the tag 47 40 ( which is strangely 42 68 ^ 05 28 )
output from ST Log:
OKAY: Send command ff, return value %2
OKAY: Send command ff, returned bd974e67
OKAY: Send command ff-c3-c0-10-9a, return value %2
OKAY: Send command ff-c3-c0-10-9a, returned 05289fbf
I see that for every command RN16 and CRC are handled by the firmware itself.
Requesting your feedback on this behaviour and a solution to read and write at word addresses beyond 0x7F
Thank you!
Regards,
Shilpa