• 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 » TRF7960A EVM
Share
Low Power RF & Wireless Connectivity
  • Forums
  • Announcements
  • Files
  • E2E Wiki
Options
  • Subscribe via RSS

Forums

TRF7960A EVM

This question is not answered
Ryan Thomas
Posted by Ryan Thomas
on Feb 07 2012 18:18 PM
Prodigy65 points

Hi,

I am trying to modify the TRF7960A firmware code to skip the UartGetLine function and read a single block (00) of a Iso15693 tag. To achieve this I am writing the following four commands directly to the buffer (in hex) and calling HostCommands after each buffer write. I have also removed the UartGetLine (line 108 Host.c) so that HostCommands is reading from the manually written buffer. host_control_flag is set to 1 and stand_alone_flag is 0, and McuCounterSet has been used to initialise TimerA.

0C00030410002101000000
09000304F0000000
09000304F1FF0000
0B000304180020000000

The problem is this does not work, it seems identical to using the serial host up until the lack of an interrupt from the TRF7960A being returned on the last "read single block" command. I must be missing some kind of initialisation because debugging shows that the exact same commands are being sent to the TRF7960A when compared to using the USB interface. I have already be working on this far to long and we need a proof of concept so we can move forward with the product. I can provide the code if need, although there have been hardly any changes made. Any help would be greatly appreciated.

Thanks

Ryan

P.S. The TRF7960A EVM is configured for SPI mode

Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • Ryan Thomas
    Posted by Ryan Thomas
    on Feb 08 2012 15:13 PM
    Prodigy65 points

    I still cannot find the problem. The only functions that are not running from the original firmware are, the UartGetLine; which only gets ride of the SOF (01) and converts the Ascii characters to Hex which is accounted for when manually entering the commands, and the UartRxHandler; which only sets host_control_flag to 1 for the first serial contact which is also manually set. I really need a response on this asap. If this is not the correct place to request further infomation would it be possible to advise, please!  If there is a perference pay service that maybe would assist in providing this information we would interested in understanding the costs involved.

    Thanks

    Ryan

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Ryan Thomas
    Posted by Ryan Thomas
    on Feb 08 2012 16:58 PM
    Prodigy65 points

    Below is the code I am running in the main routine after the initialisation settings in the sample firmware. The only other change that has been made is commenting out the UartGetLine() at line 108 of the Host.c file. With the last HostCommands() call the HostRequestCommand funftion is entered and the following bytes are written, (8f 91 3d 00 30 00 20 00) this should return the first block of the present RFID tag, however the TX interrupt is never sent from the TRF7960A. When these exact commands (with leading 01) are sent over the USB serial connection from a terminal program the block is read as it should be (TX interrupt fires). I do not understand were the difference lies. Could someone please enlighten me? it should be very easy to recreate.

    Thanks

    Ryan

    //    settings done

        McuCounterSet();

        host_control_flag = 1;
        LED_ALL_OFF;
        LED_POWER_ON;

        buf[4] = 0xff;            // "TRF7960 EVM" message in GUI
        HostCommands();            // device woks according host commands

        McuDelayMillisecond(100);
        
        buf[0] = 0x0C;
        buf[1] = 0x00;
        buf[2] = 0x03;
        buf[3] = 0x04;
        buf[4] = 0x10;
        buf[5] = 0x00;
        buf[6] = 0x21;
        buf[7] = 0x01;
        buf[8] = 0x00;
        buf[9] = 0x00;
        buf[10] = 0x00;

        HostCommands();                  // set registers for ISO15693 communication

        McuDelayMillisecond(100);

        buf[0] = 0x0B;
        buf[1] = 0x00;
        buf[2] = 0x03;
        buf[3] = 0x04;
        buf[4] = 0x18;
        buf[5] = 0x00;
        buf[6] = 0x20;
        buf[7] = 0x00;
        buf[8] = 0x00;
        buf[9] = 0x00;

        HostCommands();           // requests data from first block of present tag

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Josh Wyatt
    Posted by Josh Wyatt
    on May 11 2012 22:19 PM
    Expert8045 points

    Ryan -

    These sequences are host commands from the PC to the MCU, through the a VCP to UART bridge…

     You should be sending from the MCU to the TRF not these command at all – they are translated by the MCU in the host.c file and execute other functions based on that.

     

    BR-

    Josh

    ---------------------------------------------------------------------------------------------------------
    Please click the Verify Answer
    button on this post if it answers your question.
    ---------------------------------------------------------------------------------------------------------

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Josh Wyatt
    Posted by Josh Wyatt
    on May 12 2012 08:27 AM
    Expert8045 points

    also -

    if you have a look at the host commands document  - this should explain what the PC ==> MCU communications look like ==> http://www.ti.com/lit/an/sloa141/sloa141.pdf

    and the firmware reference should explain the other part (MCU to TRF) ==> http://www.ti.com/lit/an/sloa154/sloa154.pdf

     

    BR-

    Josh

    ---------------------------------------------------------------------------------------------------------
    Please click the Verify Answer
    button on this post if it answers your question.
    ---------------------------------------------------------------------------------------------------------

    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