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: Reception issue with RX_1

Part Number: TRF7970A

good morning,

We are manufacturing a reader based on the circuit of the application note of trf7970, the only change lies in the Uc.
After manufacturing the first 2000u we had a failure rate of 20%. So far we have not found the problem since in all cases the problem is the same.

The reader only identifies the tag if it is practically supported on the antenna, whereas in the pcb that works correctly this can be realized from the 70mm inclusively.

Design and component problems were ruled out because measurements and component changes were performed without results.

Doing analysis of the firmware and debuger note that in those that present faults also detect the tags at 70mm but always with error CRC (error CRC in RX) causing the routine to be abruptly terminated and can not be used.

Following with the tests I was able to initialize using the RX_2 as main receiver and the result was that the tags were correctly read.

This leads me to ask how can I do a firmware routine to decide whether to use the RX_1 or RX_2 antenna?

I am working with the commands "test internal rssi" "text external rssi" but it returns me values ​​I do not think are correct.

// Example routine

/ * Test_Internal_RF * /

// DirectCommand (Trf_enable_receivers)
// Set B5 of the chip status control
// Set B1 of the Chip status control
// DirectCommand (0x18)
// Read Rssi register

Value = "85" which means Rssi Rx2 = 2
                                                   Rx1 = 5


In the case of the External Test

Value = "71" meaning Rssi Rx2 = 0 ???
                                                  Rx1 = 7 ??


I hope I did not stun them with the story but we took a couple of weeks with these problems and this was the summary.

Do not clarify but we are working with ISO-15693 and ICODE tags.

I hope you can help me.

regards

  • Hello Ale,

    The External Test is used to check for the presence of external 13.56MHz RF fields such as from another reader device. Probably not useful for this situation.

    However, the Internal Test is what you will want, as that checks the strength of tag communication!

    While typically using it is not needed, you should certainly be able to use the Internal Test for RSSI to determine which channel (RX_IN1 or RX_IN2) has a stronger tag reply signal, and then use the stronger channel for the tag communication.

    Probably your flow of command should be:

    Always Select RX_IN1 initially
    Test Internal RSSI
    If RX_IN2 RSSI (B5-B3) > RX_IN1 RSSI (B2-B0), Select RX_IN2
    Else stay with RX_IN1
    Send RF Commands
  • Hello Ralph,

    Thank you very much for your answer.

    Probe that method you describe, but in all cases always returns the same result. The main antenna has higher level than the Aux.
    However in practice when sending RF commands and wait for reception with the main antenna I get errors of CRC that does not happen with the auxiliary.
    The decision I took was in case of having a frame error make the antenna change and re-test.

    What could be the reason for this failure?

    Initialization of the device?

  • Hello Ale,

    Proper initialization is important, as is recovery from CRC errors.

    Section 6.11 of the TRF7970A Datasheet covers the proper initialization process. One of the key steps is to write Register 0x18 to be 0x00 which is an errata item for the TRF7970A - I could see that having an impact.

    When you receive a CRC error, the device should be reset via software as well by using the same Step 2 through 7 from the Section 6.11 followed by re-configuring the needed registers.

    See if implementing any possible missing steps along those lines help.