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 IRQ Register

Other Parts Discussed in Thread: TRF7970A

Dear TI Team, 

My TRF7970A keeps setting BIT4 in IRQ Status Register, when acting as NFC P2P Initiator always with TX End interrupt. 

What is the exact meaning of Bit 4 in the IRQ Status Register 0x0C in NFC Mode. What type of Protocol Error does it describe? Wrong Timing - wrong data Format or all of them.

If it´s all of them. How I can determine what is the reason for setting this Bit as NFC Initiator?

Thank you

Dietrich

 

 

 

  • Dietrich - 

    its a general purpose flag to indicate any protocol error - can you describe a bit differently what you are seeing? sounds like you are sending our SENSF or SENSA, then getting IRQ, but instead of 0x80 correctly you are getting another value which includes B4 being set? is that correct? 

    what have you set the registers up for in the first place? If doing NFCA...its same as reader settings (no difference there at the start because you have to go through anticollision, so ISO control register should be 0x88 and you should be sending out broken byte 0x26), if NFCF, then ISO control register should be 0x1A. 

  • Hello Josh,

    you´re correct,  I´m trying to send a SENF_REQ. But I wonder why Iso Control has to be 0x1A, Why the NFC-Bit doesn´t have to be set? and why I have to send broken bytes? 

    My code does following: Initialize as passive Initiator@106kbps Iso Control 0x31 - I´ve copied and migrated to parallel communication this code from P2P Tools that you´ve uploaded in other posts in this forum. 

    Next thing what my code does is to set up an sensf_packet, write the number of bytes at first, Write the packet to the FIFO - which seem to cause a sending  without any TX-Direct Command . Next steps would be a Direct command Initial_RF_collision and direct command TX_NO_CRC. 

    Unfortunately I cannot say when exactly this the Interrupt with Protocol failure comes up, because I can´t see it  while single stepping. But it always comes with TX-End together, so the IRQ Register has the value 0x90. I print the IRQ Values and some different messages to UART and it comes right after the message "packet has been sent", or better the IRQ with 0x90 comes up while sending the message "packet has been sent" to uart.

    Regards 

    Dietrich

     

     

     

     

     

     

     

  • when you are doing NFCF, you are not sending broken bytes...that is for NFCA...as basically when doing P2P, at the start of the communication, there is zero difference between being a reader and an initiator. One side has to be generating a field, so this is why if you are doing either you would want to set B4 in the ISO Control register to a 1. in the case of NFCF, you would choose either 0x1A or 0x1B, based on the data rate you wanted to run at.

    anyway - just to get you started here - i just did a capture for you with two NFCLink hardware setups...this is both sides - one side is Initiator, the other Target and i am passing a MIME type (in this case a 6kB image, also attached)

    the spreadsheets are decoding and referencing what is going on, in time and the Saleae capture is the hard data. 

      

    http://e2e.ti.com/cfs-file.ashx/__key/communityserver-discussions-components-files/667/5618.P2P_5F00_Initator_5F00_Target_5F00_sending-6kB-MIME-type.7z

    http://e2e.ti.com/cfs-file.ashx/__key/communityserver-discussions-components-files/667/7462.P2P_5F00_initiator_5F00_target_5F00_decoded_5F00_spreadsheets.7z