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: What version is the latest C source code firmware for Trf7960a?

Part Number: TRF7960A
Other Parts Discussed in Thread: TRF7960, , TRF7970A

Hi,

We design for 30 set antenna + 3 set RF switch(10 channel) + 3 set Trf7960 + 1 MCU (NuvoTon ) .

We have the following questions need to ask you.

1.What version is the latest C source code firmware  for Trf7960a?

2.How to quickly detect tag in that antenna position?

3.IRQ pin is the hardware automatically reply when the detection of the label? Need to do the firmware initiation process?

4.I would like to know what way to quickly detect if there is a tag present in the field before actually reading the block?

with regards

David

 

  • Hello David,

    1) The latest TRF7960A firmware can be found here: http://www.ti.com/lit/zip/sloc297 - This example is configured for the TRF7970A by default but you can go to trf79xxa.h and change the #define TRF79xxA_VERSION to 60 instead of 70.

    2 and 3) The time for detection is application specific.

    The TRF7960A is not an automated NFC controller. It is an NFC transceiver that requires the host MCU to configure it and send it commands, including every command it must transmit. You must load data into the FIFO for transmission for it to send an RF command. Once this occurs, the IRQ pin will toggle for the following events:

    1. TX Complete - Packet Transmission is successful
    2. RX Began/Complete - Successfully received RX data, FIFO must be read out to receive it
      1. If a 0x60 is received, this means the FIFO is almost full but data is still being received
      2. If a 0x40 is received, this means the FIFO has a completed/end of reply from tag in it.
    3. Various RF Errors - Packet was not received properly. Datasheet covers all RF error flags.
    4. For ISO15693 anticollision only, No RX Timeout - Used for anticollision slot markers for ISO15693 to reduce MCU burden

    All of these situations will only occur when the firmware both configures the TRF7960A for the correct RF communication mode and then provides the correct RF packet to be transmitted by the TRF7960A for the tag technology present in the RF field.

    4) For a multiplexed system, that is going to be hard. For a single antenna system you could do something like this: http://www.ti.com/lit/pdf/sloa184 but that won't translate well for a multiplexed system. Your best bet is probably cycling through all antennas in a sequence and sending out a tag detection commands (ISO15693 is inventory, ISO14443A is REQA, ISO14443B is REQB etc.)

    Lastly, I never have seen a system with one MCU controlling 3 TRF7960A's. Our firmware isn't setup to do that, and the transceiver was not designed to be used in a manner where multiple transceivers would be controlled by a single host MCU.

    I would recommend you have a dedicated host MCU for each TRF7960A. If you pursue using a single MCU to control 3 of them, you will have to adapt our firmware to your system and may run into many issues like race conditions between the transceivers. I don't recommend this. I will be very clear that since you are using a non-TI MCU in a manner we haven't ever attempt and in an application specific setup - we can't help debug any issues you may come across by doing this.

  • Understand,We will follow your suggested design.

    In addition,We have the following questions need to ask you.


    1.How to test the TRF7960A has detect the Tag ( ISO14443a)?
    I need a simple read / write register sequence procedure.

    2.I need a complete read / write register sequence procedure to read Tag ISO14443a data.
    how to get it?
    (ex: As you mentioned step 1~4 )
  • Hello David,

    SLOC297 firmware handles all of that and is commented in great detail to help guide new users. Please download and review it carefully. iso14443a.c file will be of most interest. Start with the REQA command and implement that to get tag response, then implement remaining commands once you have basic knowledge of the process after getting REQA to work.