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.

trf7970 always set collision bit

Other Parts Discussed in Thread: TRF7960

Hi, have changed the trf7960 with the trf7970 on my board. I have modify the firmware in order to communicate via SPI, but when I show an ISO 15693 tag to the antenna I receive only collision error (read 0x02 from irqstatusregister)

modulator Control set to  0x31

chip state register set to  0x21

Iso Control set to              0x02

timeout set to                     0x14

other register as default

I have tryed to change the bit4 in special funcions register (0x10) but still collision.

Of course with 7960 all work fine.

Any suggest where may I have an error ?

Best regards

Marco

  • what is the command string you are sending out? 

    with ISO contol register set to 0x02, should be:

    for expecting one tag (single slot): 0x26 0x01 0x00 (this is request flags, command and mask length)

    if doing 16 slot, then should be: 0x06 0x01, 0x00...then followed by 15 slot markers

  • I send exactly 0x26 0x01 0x00, like to the 7960 that work fine

    Thanx

  • do you have logic analyzer captures of the failure, to include your configuration?

    also, just side question...your antenna is tuned correctly? i know you said if you use -60A it works, and all you changed was the -70A and the SPI driver - just outside chance you have something different between your boards that has not been noticed yet...

  • Hi Josh,

    The antenna is tuned, sorry, I haven'a a logic analyzer, I have traced the interrupt status and I have seen some difference between -60  and -70 where I put 2-3 tag under the antenna.

    -60: 0x80, 0x44

    -70: 0x80 0x02

    The -60 and -70 have the same reply without tag (0x80,0xFF)

    When there is a tag under the antenna 

    -60: 0x80,0x60,0x40

    -70: 0x80, 0x02

    Any help?

  • you are going to need to put a logic analyzer or scope on it to find out where your error is

    Saleae makes an excellent one which is a good value - i have not met anyone who was sorry they bought one (i have bought 5 or 6 so far for our team)

    www.saleae.com

    anyway - what you are wanting to make sure about here first is that you are actually setting the part up correctly and sending out the request flags you said you were.  

  • Marco - 

    another thought that occurred to me was about your setting of the register 0x09...please make sure you have cleared bit 7, (unless you are using 27.12MHz crystal) and that you have set the modulation depth for something the tag will accept...for example, if using TI Tag-It HF-I tags, then you need to have the mod depth set for either 100% or something at or above 22%. the tag data sheet will/should tell you what the tag will accept/operate at.  

  • Hi Josh,

    thank you for your advices. I have controlled and the register 0x09 is set to 0x31, so the 7th bit is cleared. And I use the OOK 100% modulation like in 7960.

    I have a 25Mhz scope with 2 channel, if is sufficient please tell me which signal I must control

  • Marco - 

    you would need at least a four channel scope to make it easy on yourself here. Actually five channels would be better, but since they don't rightly make those (four channel is most common) the logic analyzer would be the way to go here.

    however, since you have the two channel - maybe you can get something accomplished while you search for 4 channel or make a decision to get an LSA...

    you would want to look at MOSI and DATA_CLK line to see what you are sending to the TRF, and the MISO and DATA_CLK lines to see what it sends back.

    If you get four channel scope, you will want to look at MOSI, MISO, DATA_CLK, Slave Select (SS) and IRQ lines (and alternate between using the fourth channel for SS and IRQ, based on the situation)

    if you get LSA, you will want to look at MOSI, MISO, DATA_CLK, Slave Select (SS) and IRQ lines

  • Josh Wyatt said:

    you are going to need to put a logic analyzer or scope on it to find out where your error is

    Saleae makes an excellent one which is a good value - i have not met anyone who was sorry they bought one (i have bought 5 or 6 so far for our team)

    www.saleae.com

    Hi Josh

    Could the Logic 24MS/s model be sufficient for Marco's purposes, or he has to go for a Logic16 100MS/s ?

    BR-

    Enrico