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.

TRF7962A: Can't transfer more than 12 bytes of data

Part Number: TRF7962A


Tool/software:

Hi team,

One of my customers is using TRF7962A, when transferring more than 12 bytes of data, they follow the instructions in documentation Implementation of ISO15693 Protocol in the TI TRF796x, but the data could not be transferred successfully, LRQ register =0x80, it works when the data length is less than 12 bytes. Could you please help to share some advice on transfer more than 12 bytes of data or any tips the user may missed? Thanks.

  • Hi,

      This is explained in the app note that the FIFO is only 12 bytes deep. To send more than 12 bytes, you would need to break it up into multiple operations. See below and the pseudo code. 

  • Hi Charles,

    The issue is user made the exact same steps as the instruction " how to transmit bytes greater than 12" and failed.

  • Hi Shengyue,

      Do you mean the customer can successfully transmit 12 data bytes or just 12 bytes in the first transmission. There is a difference. See below. There is the FLAGS (1 byte), WRITE MULTPLE BLOCKS COMMAND (1 byte), FIRST BLOCK NUMBER (1 byte), NUMBER OF BLOCKS (1 BYTES) and then the DATA which can have various length. If you say the customer can transfer 12 "DATA" bytes then the customer has actually transmitted a total of 16 bytes as 4 (the flags, command, first block number and number of blocks have taken 4 bytes) + 12 Data= 16. Since the FIFO is only 12 bytes, you can only transfer 8 Data Bytes on the first iteration and then repeat step 2 as to transfer the remaining 4 bytes. This is why I asked if the customer has successfully transferred 12 Data bytes or just the first 12 bytes that begins with the header (the flags, command, first block number and number of blocks).

    I don't think we have an API in the example code. I think the customer is creating his own function. I'm not an expert in this device but reading the app note, you would wait for the interrupt and in the interrupt ISR check if 3 bytes are left. If B5 flag is set then the host MCU needs to load the remaining bytes to the FIFO.