• 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 » Problems setting the TRF7970A EVM in PASSIVE TARGET mode
Share
Low Power RF & Wireless Connectivity
  • Forums
  • Announcements
  • Files
  • E2E Wiki
Options
  • Subscribe via RSS

Problems setting the TRF7970A EVM in PASSIVE TARGET mode

Problems setting the TRF7970A EVM in PASSIVE TARGET mode

This question is not answered
Lluis Olivet
Posted by Lluis Olivet
on Apr 19 2012 04:54 AM
Prodigy60 points

I have the TRF7970A EVM, and I manage it directly using our own MCU.

The communication between both devices is over SPI.

Further I have a Sumsung Nexus with an NFC initiator application, to test the functionality.

The functionality that we are looking for is: NFC peer-to-peer passive communication (Samsung as Initiator) & (TRF7970A EVM as passive target).

The problems that we have are:

  1. First of all after Power ON Reset (from EN=L to EN=H), when I read the register <0x01 – ISO control register>. The value read form this register is 0x21. In the TRF7970A datasheets said that the value after Power ON should be 0x02.
  2. Second: after setting the following registers as follows:
  • 0x00 – Chip Status Control Register = 0x0B
  • 0x16 – NFC Low Field Register = 0x0B
  • 0x18 – NFC Target detection register = 0x0B

Then, after applying this settings, I approximate the Samsung to the  TRF7970A EVM antenna; then de IRQ sets and the MCU reads the register <0x0C- >. The value in that register is 0x04.

Following I read the register <0x19 – NFC Target Protocol Register>, and the value in that register is 0x80.

After that I waiting to receive a new IRQ with the <IRQ_Register -0x04>, with the value 0x40 (to know the technology used for the initiator)! But instead I receive  new IRQ and when I read the IRQ_Register the value was again 0x04,  and the value in the register <0x19 – NFC Target Protocol Register> was 0x00!!!

 Then the problem was that the we never read a value different from 0x80 or 0x00 in the <0x19 – NFC Target Protocol Register> was 0x00! En then we haven’t got the possibility to start the communication.

 I don’t know if we have anything wrong in the register configuration?

 Does anybody with more experience on that can help me?

Thanks in advance!

 Lluis Olivet Cos

More information:

To know how our MCU initialize the TRF7970A EVM , an to know the values configured in all the register, I provide more information in the document attached to the following link: www.otcengineering.com/nfc/TRF7970AEVM_STARTUP.pdf

                       

NFC TRF7970A EVM TRF7970A EVM NFC
Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • Danko Ivanov
    Posted by Danko Ivanov
    on Oct 13 2012 14:50 PM
    Prodigy20 points

    Hi to all,

    You can see this Registry Bug Report

    Danko Ivanov

     REPORT

    OF

    TRF7970A Registry problem

     

    I. Problem description

     

    Because of the needs of custom changes in some registers of the TRF7970A in order to be used with external power amplifier and detection circuit the following problem was found.

     

    1. In the TI datasheet for TRF7970A is explicitly written:

     

    6.1 Register Preset

    After power-up and the EN pin low-to-high transition, the reader is in the default mode. The default configuration is ISO15693, single subcarrier, high data rate, 1-out-of-4 operation. The low-level option registers (0x02 to 0x0B) are automatically set to adapt the circuitry optimally to the appropriate protocol parameters. When entering another protocol (by writing to the ISO Control register 0x01), the low-level option registers (0x02 to 0x0B) are automatically configured to the new protocol parameters. After selecting the protocol, it is possible to change some low-level register contents if needed. However, changing to another protocol and then back, reloads the default settings, and so then the custom settings must be reloaded.

    The Clo0 and Clo1 register (0x09) bits, which define the microcontroller frequency available on the SYS_CLK pin, are the only two bits in the configuration registers that are not cleared during protocol selection.

     

    2. In the TI bug datasheet for TRF7970A  “ sloa159” is  written:

     

    7.8 SPI With SS Pin Only – Some Registers Do Not Take Default Values

    Description

    Some of the registers do not take the default values when the appropriate protocol is chosen in the ISO Control Register.

    Workaround

    Manually program the default settings into the TRF796x during initialization.

     

    3.In the TI sample program trf797x.c founded in SLOC250 lines for “Manually program the default settings into the TRF796x during initialization” are commented!!!

     

    4.We found exact information in the datasheets for only two of the registers that are not affected from writing to the ISO register.

     

    To be sure what really happens with the registers a small program was written, which sends to the PC HyperTerminal program trough the RS232 over USB chip FT232 registry contents.

    In the following table1 are given the results. The time sequence is from the left to right.

     

     

     

     

     

     

     

     

     

    Table1.

    Register No.:

    Values after PWRON or EN (hex)

    Values after filling the registry with 0x00

    Values after loading ISOCONTROLL

    with 0x02

    (ISO15693 code)

    Values after filling the registry with 0xff

    Values after loading ISOCONTROLL

    with 0x02

    (ISO15693 code

    0x00

    1

    0

    0

    BF

    BF

    0x01

    21

    0

    2

    FF

    2

    0x02

    0

    0

    0

    FF

    FF

    0x03

    0

    0

    0

    FF

    0

    0x04

    C1

    0

    0

    FF

    FF

    0x05

    C1

    0

    0

    FF

    FF

    0x06

    0

    0

    0

    FF

    0

    0x07

    0E

    0

    14

    FF

    14

    0x08

    7

    0

    1F

    FF

    1F

    0x09

    91

    0

    1

    FF

    F9

    0x0A

    10

    0

    40

    FF

    40

    0x0B

    87

    0

    0

    FF

    FF

    0x0C

    0

    0

    0

    0

    0

    0x0D

    3E

    0

    0

    3F

    3F

    0x0E

    0

    0

    0

    0

    0

    0x0F

    40

    40

    40

    40

    40

     

     

    In table 2. are the results from the current program flow. Trf7970aINIT is our ini program for entering some custom values in the registry. The time sequence is from the left to right.

     

    Table2.

     

    Register No.:

    Values after PWRON or EN (hex

    Values after

    Trf7970aINIT

    Values after loading ISOCONTROLL

    with 0x02

    (ISO15693 code)

    Values after

    Applying

    again

    Trf7970aINIT

     

    0x00

    1

    28

    28

    28

     

    0x01

    21

    21

    2

    2

     

    0x02

    0

    0

    0

    0

     

    0x03

    0

    0

    0

    0

     

    0x04

    C1

    C1

    C1

    C1

     

    0x05

    C1

    C1

    C1

    C1

     

    0x06

    0

    80

    0

    80

     

    0x07

    0E

    0E

    14

    14

     

    0x08

    7

    28

    1F

    28

     

    0x09

    91

    71

    71

    71

     

    0x0A

    10

    10

    40

    40

     

    0x0B

    87

    C7

    C7

    C7

     

    0x0C

    0

    0

    0

    0

     

    0x0D

    3E

    3E

    3E

    3E

     

    0x0E

    0

    0

    0

    0

     

    0x0F

    40

    40

    40

    40

     

     

     

    It is seen that even after PWRON some of the important registers don’t take default values described in TI latest datasheet.

     

     

    Register No.:

    Values after PWRON or EN (hex)

    Readed from real

    device

    Values after PWRON or EN (hex)

    According

    Datasheet

    0x00

    1

    01

    0x01

    21

    02

    0x02

    0

    0

    0x03

    0

    0

    0x04

    C1

    C2

    0x05

    C1

    00

    0x06

    0

    00

    0x07

    0E

    0E

    0x08

    7

    1F

    0x09

    91

    91

    0x0A

    10

    40

    0x0B

    87

    87

    0x0C

    0

    0

    0x0D

    3E

    3E

    0x0E

    0

    0

    0x0F

    40

    40

     

     

     

    II. Conclusion

    From the results is clear that only couple of the registers are particularly affected from the ISOCONTROLL register loading.

    It will be necessary after setting the ISOCONTROLL register in the code, also set every particular register with the appropriate settings without believing on the PWRON settings also!!!

     

    12. October 2012.                                                         Danko Ivanov

                                                                                        C.E.O.

                                                                                        Termotest Ltd.

     

    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