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.

TRF7960A: TRF7960A doesn´t detect IS014443B tags

Part Number: TRF7960A

Hello, 

I´m Joseba and I´m using the TRF7960A to read ISO14443B tags. I using a STM32 MCU and I´m using the recomended code "SLOC252". 

The comunication format is correct because I´m capable of reading ISO15693 tags. With ISO14443B protocol I receive END OF TX´s IRQ after sending the inventory request.

1. I´m trying to detect SR176 tags, of ST. Its features are: ISO 14443 - 2 Type B Air Interface Compliant and  ISO 14443 - 3 Type B Frame Format. The TRF is capable of reading this type of tags?

2. Other questions is that I configurate the registers 0x00 with the value 0x21 (because I work at 5V), and the register 0x01 with the value 0x0C. The problem is that I continualy check the state of register 0x00, and sometimes it responds with 0x01. This means that the TRF receives is OFF,no? What could it be happen?

3. When the code is on progress, sometimes the trf generates IRQs. When I ask to status register, it responds with 0x40. The problem is that any tag is next to the TRF, so that I don´t understand what could be happen, any idea?

Thanks

  • Joseba - 

    these tags are not completely ISO14443B compliant, as you said. 

    what i have seen with these tags is you must set register 0x09 with 0x20 and issue the initiate command (this is their proprietary command, not REQB or WupB)

    should be two bytes sent out over the air: 0x06, 0x00, then you need to decide if you want to use slots or not.

    After that will come the ST Select Command, which would include 0x0E and the byte which represents the Chip ID, then followed by another command to get the UID, which is containing the byte 0x0B.

    i would highly recommend you get the datasheet for this tag and follow the needed proprietary commands this tag needs to see coming from the reader. 

    another alternative would be to use a real ISO14443B tag or switch to another type (which would also be ISO standard)

    see page 9 here 

  • Hello Joseba,

    The recommended code is www.ti.com/.../sloc297 - not SLOC251/252. I will see that this is updated on the product page correctly.

    As Josh mentioned, the tags require special handling. The TRF7960A is capable of doing this, but you must implement the custom protocol yourself as proprietary RFID tags such as that are application specific.

    If the TRF7960A is generating erroneous IRQ's I would suspect it is not being properly reset between polling intervals. Please follow the process that is demonstrated in the example code for SLOC297.
  • thanks for your answers.

    I´m trying to develob this sistem, and I don´t know how to use the recourses of TRF.

    As you can see in the image, I have to send througt the antenna 0x06 0x00 CRC CRC. These two bytes that I have to add to the frame, are added by my actual transceiver.  So that, using the TRF format, I form the next frame

    0x8F   RESET FIFO

    0x91   SEND WITH CRC

    0x3D  write continuous from 1D

    0x00 

    0x04  NUMBER OF BYTES TO BE SEND (INITATE COMMAND 2 BYTES AND CRC 2 BYTES)

    0x06  INITIATE COMMAND

    0x00 INITIATE COMMAND

    0xCRC

    0xCRC 

    How can I add to this frame the CRC calculated by the TRF? In which position of the frame send from the antenna goes the CRC Bytes? Do you think it´s posible to from this tipe of frame?

    As the TRF7960a datasheet explains, I can chanche the position of CRC information in the frame with the direct command Delayed Transmission With CRC (0x13), so I should send the next frame:

    0x93   SEND WITH CRC

    0x3D  write continuous from 1D

    0x00 

    0x04  NUMBER OF BYTES TO BE SEND (INITATE COMMAND 2 BYTES AND CRC 2 BYTES)

    0x06  INITIATE COMMAND

    0x00 INITIATE COMMAND

    0xCRC

    0xCRC

    what do yo think? another problem is if in the frame goes first the CRC low or the CRC HIGHT.

    Thanks

  • if you are sending CRC, then you should set the second byte to 0x90 - but i think these tags use ISO14443B CRC, so you can set the byte to 0x91 and update the # of bytes you are sending (i.e. to two) and let the TRF send the CRC bytes