• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Low Power RF & Wireless Connectivity » RFID/NFC Forum » 14443a problem with TRF7960
Share
Low Power RF & Wireless Connectivity
  • Forums
  • Announcements
  • Files
  • E2E Wiki
Options
  • Subscribe via RSS

14443a problem with TRF7960

14443a problem with TRF7960

This question is not answered
Todor Todorov
Posted by Todor Todorov
on Oct 27 2011 01:48 AM
Prodigy225 points

Hi,

I am using the TRF7960 target board to implement the ISO 14443a . I've allready done the ISO15693 and it is working fine but now I am having problems with the Anticollision command. First of all is that in sloa136.pdf  is given the folowing example:

size is the number of bytes to be transmitted. In this case, size = 1.

buf[0] = 0x8f; /* Reset FIFO command */

buf[1] = 0x90; /* send with CRC */

buf[2] = 0x3d; /* write continuous from register 1D */

buf[3] = (char) (size >> 8); /* Data for register 1D */

buf[4] = (char) (size << 4); /* Data for register 1E */

buf[5] = 0x26; /* ISO14443A REQA command byte*/

In that case buf[3] should be 0x00 and buf[4] should be 0x10. I send this and I am not getting any interrupt. In the example source code in sloc251.zip, in the iso14443a.c file buf[3] and buf[4] are 0x00 and 0x0F in that order. When I send the package like that I get the END OF TX interrupt. So I am a little confused how it should be. And the second problem is that I don't allways get the END OF RX interrupt. I configure the "Chip Status Control (00h)" and the "ISO Control (01h)" as said in the documentation. When I get the END OF RX interrupt the "IRQ status register" is either 0x02 or 0x42. What value should I get, I am using only one tag in the field? Thank you in advance.

Regards, Todor.

TRF7960 14443A
Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • Axxe
    Posted by Axxe
    on Oct 27 2011 06:52 AM
    Intellectual645 points

    The REQA command (0x26) and the WUPA command (0x52) for the ISO14443A tags are 7bits long rather than 1byte, so you have to set correctly the TX length on the registers 0x1D and 0x1E.

    Example for 7bits command:

    buf[3]=0x00;

    buf[4]=0x0F; // zero bytes and 7bits with incomplete bytes bit set to 1.

     

    I hope it will help you.

     

    Bye!

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Todor Todorov
    Posted by Todor Todorov
    on Oct 27 2011 07:13 AM
    Prodigy225 points

    Thank you, this explains my first issue, But I still have my other problem. I don't have any explanation why is that since the procedure is pretty much the same as in ISO15693 and it is working fine there.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Axxe
    Posted by Axxe
    on Oct 27 2011 08:28 AM
    Intellectual645 points

    Set the ISO_Control register to 0x88 to disable the RX CRC and set the ISO14443A standard at 106k. also set the chip_Status_Control register to 0x21.

    after the end of TX interrupt, you should get the end of RX interrupt (0x40).

     

    Let me know if it works!

     

    bye

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Todor Todorov
    Posted by Todor Todorov
    on Oct 27 2011 08:48 AM
    Prodigy225 points

    No still not working, After the END OF TX IRQ (IRQ status - 0x80) I get IRQ with status - 0x02,0x42 or timeout.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Todor Todorov
    Posted by Todor Todorov
    on Oct 28 2011 08:18 AM
    Prodigy225 points

    Any other suggestions?

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Axxe
    Posted by Axxe
    on Oct 28 2011 11:44 AM
    Intellectual645 points

    Check better your registers configuration. Here there is mine:

     

    Chip_Status_Control: 0x21

    ISO_Control: 0x88

    ISO14443B_TX_Options: 0x00

    ISO14443A_HighBitRate_Options: 0x00

    TX_Timer_HByte: 0xC1

    TX_Timer_LByte: 0xC1

    TX_PulseLength_Control: 0x20

    RX_NoResponseWaitTime: 0x0E

    RX_WaitTime: 0x07

    Modulator_and_SYSClock_Control: 0x21

    RX_SpecialSettings_Register: 0x20

    Regulator_and_I/OControl: 0x06

    IRQStatus_Register: 0x00

    CollisionPosition_and_InterruptMaskRegister: 0x3E

    CollisionPosition: 0x00

    RSSILevel_and_OscillatorStatus_Register: 0x55

    FIFO_Status: 0x00

    TXLength_Byte1: 0x00

    TXLength_Byte2: 0x00

     

    Another hint could be this:

    I had problems with missing the second interrupt due my interrupt routine was too much slow and not optimized. Even if you get the second interrupt with a value like 0x02 or 0x42, check in any case the status of the FIFO and read it. You may find there the ATQA answer!

    If it will be so, try to optimize your code.

     

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Todor Todorov
    Posted by Todor Todorov
    on Oct 31 2011 08:12 AM
    Prodigy225 points

    What should be the ATQA answer. I tried reading the FIFO status register after receiving 0x02 or 0x42 as IRQ status but it is allways 0x00 and there are no bytes in the FIFO. 

    Here is a sample image from my communication. After adding 6 ms delay after the initialisation of the registers and sending the command I got only one interrupt with 0xC0 status. What may be the cause of that.(ch1 - MOSI, ch2 - SCLK,ch3 - IRQ source,ch4 - MISO), Without these 6 ms the communication looks like this:

    There are 3 IRQs with statuses - 0x80,0x02 and 0x40 but even after the last status is 0x40 there is still no data in the FIFO.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Todor Todorov
    Posted by Todor Todorov
    on Nov 01 2011 08:32 AM
    Prodigy225 points

    I am sorry to write again, but I don't know what to do anymore.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Axxe
    Posted by Axxe
    on Nov 01 2011 11:14 AM
    Intellectual645 points

    May you post your whole registers configuration before and after sending the command REQA?

     

    Thanks

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Todor Todorov
    Posted by Todor Todorov
    on Nov 02 2011 02:22 AM
    Prodigy225 points

    Here is my configuration before sending the ATQA request:

     

    00: 21

    01: 88

    02: 00

    03: 00

    04: C1

    05: C1

    06: 20

    07: 0E

    08: 07

    09: 31

    0A: 20

    0B: 06

    0C: 00

    0D: 3E

    0E: 00

    0F: 40

     

    After sending the ATQA rewuest:

     

    00: 21

    01: 08

    02: 00

    03: 00

    04: C1

    05: C1

    06: 20

    07: 0E

    08: 07

    09: 31

    0A: 20

    0B: 06

    0C: 00

    0D: 3E

    0E: 7F

    0F: 7F

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Axxe
    Posted by Axxe
    on Nov 02 2011 03:55 AM
    Intellectual645 points

    Why the iso control register (0x01) changes from 0x88 to 0x08? It should always be 0x88 because the ATQA answer is without CRC so you have to set RX without CRC.

     

    Let me know,

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Todor Todorov
    Posted by Todor Todorov
    on Nov 02 2011 06:44 AM
    Prodigy225 points

    I set it to 0x08 after the REQA command because I saw this in the sample code. In this case is meaningless because when I send the anticollision command I set it again to 0x88. I will remove it from my code.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Todor Todorov
    Posted by Todor Todorov
    on Nov 08 2011 08:31 AM
    Prodigy225 points

    I made another screenshots of the communication and here are the results:

    First I send ReqA command, it looks like this:

    I send the command without CRC ( I set ISO control register to 0x88)

    buf[0] = 0x8F;

    buf[1] = 0x90;

    buf[2] = 0x3D;

    buf[3] = 0x00;

    buf[4] = 0x0F;

    buf[5] = 0x26;

    After this command I get only one IRQ (I wait for timeout) with status 0xC0.Anyway I read the FIFO and there it is the ATQA respond -{0x04,0x00}.

    Then I send Anticollision command again without CRC.

    buf[0] = 0x8F;

    buf[1] = 0x90;

    buf[2] = 0x3D;

    buf[3] = 0x00;

    buf[4] = 0x20;

    buf[5] = 0x93;

    buf[6] = 0x20;

    I get two IRQs with statuses 0xC0 and 0x40. Since there is only one card in the field i get the entire UID - 0x94 0x04 0xC1 0xB1 and one byte BCC - 0xE0.

    After that I set ISO control register to 0x08 and send the select command:

    buf[0] = 0x8F;

    buf[1] = 0x91;

    buf[2] = 0x3D;

    buf[3] = 0x00;

    buf[4] = 0x70;

    buf[5] = 0x93;

    buf[6] = 0x70;

    buf[7] - buf[10] - UID

    buf[11] - BCC;

    Then I get one IRQ with status 0x80 and thats all. Nothing is happening from now on. Can anyone please tell me what am I doing wrong?Why sometimes there are two IRQs and sometimes only one?

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
TI E2E™ Community
  • Support Forums
  • Blogs
  • Videos
  • Groups
  • Site Support & Feedback
  • Settings
TI E2E™ Community Groups
  • TI University Program
  • Make the Switch
  • Microcontroller Projects
  • Motor Drive & Control
Other Communities
  • Deyisupport
  • Designsomething.org
  • beagleboard.org
  • TI on Element 14
  • TI on TechXchangeSM
Other Technical & Support Resources
  • WEBENCH® Design Center
  • Product Information Centers
  • Technical Documents
  • TI Design Network
  • TI Technical Articles
  • TI Training

All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
embedded processors, along with software, tools and the industry’s largest sales/support staff.

© Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy Policy | Terms of Use