This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TRF7970A iso14443a collision hang - reset needed

Other Parts Discussed in Thread: TRF7970A

Good day

I have been using the TRF7970a with the example firmware from TI's website for some time now with great success. However, I have recently noticed that when 2 iso1443a cards are placed directly on top op one another in very close proximity to the antenna, my msp430 hangs or goes into an infinite loop. My current workaround is to use the WDT to reset the MSP430 and reinitialise the TRF7970, obviously this is not a fix. So I flashed the original sample firmware on the TRF7970AEVM evaluation board, ran it in standalone mode and saw the exact same problem, however the mps430 does not hang, it resets itself every time I place two cards directly on the antenna. From debugging it seems the anticollision algorithm goes into an infinite loop at:

while (coll_poss < 0x20) {};              in iso1443a.c line 217

Has anybody encountered this issue before? Any ideas on how to solve it?

Any information on the matter will be greatly appreciated.

Regards

  • Hey Johan,

    Looking at the code, I don't see any reason for this statement.  This variable is going to be loaded with the value of the Collision Position register on line 221 of trf797x.c, which can be less than 0x20.  

    I would just comment out that line, and make the next line this:

    if (coll_poss <= 0x20)
    	i_reg = 0x02;

    Try that out in your error case, and see if you have any issues.  

    Thanks,

    JD