-
Notifications
You must be signed in to change notification settings - Fork 393
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Response wait time t1 gets too high, when reading more than 8 blocks on emulated transponder #262
Comments
Hi, being me and @MrMoDDoM the authors of that application, I'd like to say we were aware of the issue. We had not done proper tests, but were pretty sure it was a timing issue, now your comment confirms our speculations. It was first noticed somewhere in the comments on #182 and I tried to compensate optimizing code in be729b7. It was not resolutive, but improved the situation: before it was even worse. PS I'd like to point out this was an issue only with my ST reader, not with readers in the field |
Sadly not solved.
I'm pretty sure this delay is unjustified, so the CRC function must be improved. We have not taken the time to do so. #274 solves other minor issues with the codec and remove useless fram reads in applications, but as stated above, this issue won't be solved like that. This is a challenge for experienced AVR asm devs Now that I think about it, a quick solution/hack would be to move CRC calculation inside the codec. It might help since the application would return earlier and modulation would start while CRC calculation is still ongoing, but it should (?) terminate before modulation is done --Update-- |
@ceres-c , make PR to the RRG repo as well? you moved the crc calcs. interesting solution. |
nice, well done! |
Port ISO15693 codec and applications updates by ceres-c to the right branch
Normally the response wait time t1 (ISO15693-3 VICC waiting time before transmitting its response after reception of an EOF from the VCD) shall be in range of 318,6µs to 323,3µs .
But response wait time t1 (reader TX EOF to transponder TX SOF) increases significant, when reading multiple blocks with more than 8 blocks.
Parameter to reproduce:
Note: The markers in scope plots below are not on correct position of EOF and SOF, but for relative observation I have put the markers on last reader TX pulse and first transponder modulation. The deltaT is the relevant measure.
The response wait time t1 is correct, when reading a low block count, e.g. 4 blocks. (Reader data TX = .22.23.FF.FF.AA.AA.EE.24.16.E0.00.03 + CRC)
Requesting 16 blocks the time t1 increases by additional ~204µs which is out of allowed window for t1 (Reader data TX = .22.23.FF.FF.AA.AA.EE.24.16.E0.00.0F + CRC)
Many thanks in advance for your support.
The text was updated successfully, but these errors were encountered: