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 RF collision detection and CRC check in RFCA package

Other Parts Discussed in Thread: TRF7970A

Hello,
I got some error from register 0x0C IRQ status in RFCA package receive in a noisy environment. Most of errors are CRC error and some of them are collision, but these errors is not in normal data receive. So I have some questons about "CRC error" and "collision" judgement. Please see attached waveform of Rx and IRQ.


1. How does trf7970a detect collison? Is it detected from RF Rx voltage level?
I see the level setting of RF collision avoidance in register 0x16, but no mapping table of "voltage level to B0/B1/B2 setting" like below mapping for register 0x18 Rfdet_h. Please provide the collision mapping for register 0x16 Rfdet_l  and I can set a higher level for non-sensitive collision detect.

2. What is the difference of CRC check between RFCA package and normal data package?
In the waveform and IRQ status, we can see there are many CRC errors in RFCA, but CRC is OK for normal data receive. Why? Is it because the different modulaiton and error correction design between RFCA and normal data package?

Thanks!

  • Hello Jay,

    Are you in initiator or target mode? The registers you are referencing are used only for Target mode operation.

    What does RFCA stand for? I'm not clear what tag technology you are trying to work with.
  • Hi Ralph,
    It is target mode, and the RFCA means RF collision avoidance.
    Please help on the question I ask. It is about specification without clear description in datasheet.
    Thank you!
  • Hello Jay,

    I will have to send in an inquiry about that specification, and I can provide you an answer when I receive a reply, however if you are looking to do RF collision avoidance you are not using the TI recommended method to do this.

    Please see Section 2 of our Peer to Peer application note which explains in detail how to handle RF collision avoidance with the TRF7970A: www.ti.com/.../sloa192.pdf

    Regarding Question 2:

    If you are in Target mode, then you need to look at Table 6-44 for the IRQ Status Register codes. There is no CRC in Target mode. If you get an IRQ status with Bit 4 set, then that is a general Protocol Error which means something with the received packet was incorrect, likely due to RF noise corruption or poor RF coupling resulting in not receiving the full package.
  • Hi Ralph,

    For question 1, I check the session two in the document, and find below description about RFCA judgement:

    I confused to what the voltage threshold setting is for RFCA detection, RSSI in 0x0F or Rfdet_l in 0x16? It should be 0x16 B0/B1/B2 based on Table 6-51 in slos743k. If you got the clear answer, please feedback to me.

    For question 2, our application is P2P, not card emulation. Anyway, another point in this question is why the error was detected on RFCA package, but not in normal data transmission. I agree it is due to RF noise or coupling. I wonder to know if the ability of noise resistance is caused from different modulation or error correction design between RFCA package and normal data package.

    Thanks!

  • Hello Jay,

    Rather than use the RFCA direct commands and Register 0x16, we have found it to be much quicker and more reliable to use the RSSI register. The RF Collision Direct Commands (0x04-0x06) have been troublesome to get working reliably, are more complicated to work with, and there is zero benefit to using them over the RSSI method. The only goal of Collision Avoidance is to detect an RF field, and rather than deal with the transmit and receive of the RF collision avoidance packets, using RSSI allows you to just check the RX1 and RX2 lines for voltage signals which would indicate the presence of an RF field. Also for clarity when it comes to using the RSSI feature - when the goal is to check for an external RF field, all you need to care about is the Active channel which is RX1 and signified by the lowest 3 bits of the Register 0x0F result.

    Please see Section 6.5.1 of the TRF7970A datasheet for further detail about how the RSSI register works. This is also where you can find the voltage levels that each result maps to which is presented in the form of two graphs that map out the input voltage level vs RSSI register result.

    Regarding question 2, P2P Target mode is covered by Table 6-44 as well. It applies for all situations the TRF7970A is in Target mode.
  • Hello Ralph,

    Thanks your clear feedback. Just double confirm these two questions:

    For question 1, the RFCA IRQ from trf7970a is based on the value of RSSI in register 0x0F, if the RSSI value in register 0x0F is greater than 0x00, the RFCA IRQ is set. Is that correct? Does it mean the threshold of RFCA detection is 0x00? How could I change the threshold?

    For question 2, can you explain why the protocol error is set on RFCA package, but doesn't on normal data package? I suppose the noise coupling exist in both of them.

    Thanks!

  • Hello Jay,

    Question 1) - No, the RFCA IRQ has nothing to do with the RSSI register value. These are two different functionalities. The RSSI value will never affect the IRQ status register. You should not rely on the RFCA IRQ. Instead follow the Collision Avoidance steps outlined clearly in sloa192 which uses the RSSI reading instead.

    Question 2) - I do not have an explanation for why you receive the errors only on the RFCA package and not the normal data package. However, we do not use the RFCA feature in any of our software releases as the method of using the RSSI feature for RF Collision Avoidance (different feature, re-used for RFCA) is quick, easy to use, and extremely reliable and has never caused any issue. Again, recommendation here is to NOT use the RFCA direct commands/IRQ but instead use the RSSI feature as a means to achieve RFCA per TI app note.
  • Thanks Ralph,

    Let me take some time to understand sloa192. We will change to the method saying in sloa192.

    So in TI design, you don't recommend the function of RFCA IRQ and instead of collision avoidance in sloa192. But do you know how the original design of RFCA IRQ works for collision avoidance? What is the criteria of RFCA IRQ set in RFCA package? And any other description about the difference of RFCA package and normal data.

    If you know that, please share with us. Thank you!

  • Hello Jay,

    We will need to investigate this on our end and get back to you with our findings.