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.

TRF7960A: TRF7960AEVM MSP430 software version

Part Number: TRF7960A
Other Parts Discussed in Thread: TRF7970A, MSP430F5529, TRF7964A, MSP-EXP430F5529LP, UNIFLASH, DLP-7970ABP, MSP430G2553, MSP430F2370, MSP-FET

I am using the TRF7960AEVM RFID reader evaluation board, together with the GUI that I found on your website.

The idea is to have a MSP430 processor embedded in the embedded system (future product) doing the same task as the one on the evaluation board.

For this I would like to know if there is a different version available of the software that is running on the MSP430 on et EVM board (Firmware Version 3.2.EXP.NOBB),
because I would like to have a real frame protocol including CRC, reply frame size etc. instead of the ASCII text reply.

I am looking forward to your reply.

Thanks and regards,

John

  • Moreover the MSP430 multiblock read does not work correctly.

    1) Reading 0x03 to 0x0A blocks of 4 bytes. In reality it reads 2 blocks and one bytes. (issue seen for reading 0x3, 0x4,0x5 0x6, 0xA blocks)
    14:57:41.537 --> 010C000304180023000A0000
    14:57:41.685 <-- 010C000304180023000A0000
    Request mode.
    [00040302011413121121]

    Although the contents is correct for these 9 bytes.

    2) Reading 1 block returns 2 blocks
  • Hello John,

    The TRF7960AEVM software base is old and outdated. I wouldn't recommend using that firmware for a future product as it is a very crude demonstration setup designed only to work with that GUI for limited use. It doesn't have any sort of error handling or recovery and as you can see some commands have issues.

    A similar firmware base that would be better point to work with, but doesn't have a communication protocol can be found here: www.ti.com/.../sloc297

    There is #define available to enable the firmware to operate per TRF7960A specs and the firmware description can be found on this E2E post: e2e.ti.com/.../493678

    The other option that is available is to use our NFCLink Standalone firmware: www.ti.com/.../sloa227

    This is our most 'production ready' firmware as it has gone under a lot of testing against NFC standards and NFC devices in the market.

    This is designed for the TRF7970A, so if you want to use the TRF7960A, you would need to make changes to the TRF driver to account for SPI polarity and other SPI communication differences, the FIFO size, and the FIFO watermark.

    This software has a rough communication protocol over USB but there is no CRC checks though there may be reply size checks - I don't recall on the latter. In general, that kind of communication handling is not something we include as it it's really application specific to your needs and doesn't relate to the NFC stack itself which is what we aim to provide.

    Quick Start Guide which includes references to relevant app notes: www.ti.com/.../slou452.pdf
  • I also should clarify none of these work on the TRF7960AEVM natively, so you would need to either get a TRF7970A BoosterPack + MSP LaunchPad setup, or in the case of the sloc297 firmware, port it to the TRF7960AEVM. I am working on a port for that right now actually and if it goes well and you want to check that firmware out, then I can drop any changed files on here so you can test that out.
  • Note that the Multiblock works in addressed mode.
  • Thanks Ralph for your detailed answer.

    We are in the stage that we can still change the chip . Since the TRF7960A firmware is not yet in the right state we are considering the TRF7970A.

    As I understand it correctly, the TRF7970A board firmware has the same type of output as the TRF7960A firmware.

    It does not have a frame communication with CRC. But the code is of better quality, and is better tested.

    Commands are entered by a UART connection (same frame as the TRF7960A?) .

    Is the TRF7970A  firmware open source, and can I use it in my development without any royalties?

    Are there other RFID chip options available with firmware that has frame communication, and as entry port a UART?

    Thanks and regards,

    John

  • Hello John,

    Yes the TRF7970A firmware is open source. We provide all source code for the NFC stack, TI application, and even our GUI for your use.

    I forgot to include this app note which gives you some insights on the firmware: www.ti.com/lit/pdf/sloa227

    The Reader/Writer Stack Architecture on Page 30 should give you some guidelines on what you should and shouldn't modify. The NFC stack itself is written and tested per NFC Forum standards so I wouldn't recommend changing that specifically but you are free to modify the application all you want.

    And no license fees or royalties etc. to worry about either.

    The commands are sent either over USB (through CDC COM Port on MSP430F5529) or over UART (on MSP432 example) so you can do either or. The framing protocol is not the same as the TRF7960AEVM.

    We don't have any other RFID readers which would provide that functionality.

    By the way if you are only using Reader/Writer operations, you can use the TRF7964A for your design which will lower the cost a bit. The TRF7964A is software and hardware compatible with the TRF7970A but only offer Reader/Writer capabilities.

    That said, I would recommend evaluating with the TRF7970A first though so you can use our evaluation hardware such as: store.ti.com/nfclink-bndl.aspx - we don't have a TRF7964A EVM, but I suppose if you really want to you could sample it and do some QFN soldering.
  • Hi Ralph,
    My question is concerning your reply on the use of the TRF7970A firmware:

    -------------------------------------------------------------------------
    "The other option that is available is to use our NFCLink Standalone firmware: www.ti.com/.../sloa227

    This is our most 'production ready' firmware as it has gone under a lot of testing against NFC standards and NFC devices in the market.

    This is designed for the TRF7970A, so if you want to use the TRF7960A, you would need to make changes to the TRF driver to account for SPI polarity and other SPI communication differences, the FIFO size, and the FIFO watermark."
    -------------------------------------------------------------------------

    Is "sloa227" the the same software that is present at the TRF7970A EVM board? Or is it required to have the configuration: TRF7970A BoosterPack + MSP LaunchPad setup that you suggested before?

    Thanks and regards,

    John
  • Hello John,

    The SLOA227 is not the same as the software on the TRF7970AEVM. In fact, the TRF7970AEVM doesn't support NFCLink Standalone in any manner. You will need the BoosterPack+LaunchPad setup purchasable here: store.ti.com/nfclink-bndl.aspx

  • I am not interested in the NFC part. Can we say that the code SLOA227 in the BoosterPack+LaunchPad setup is of better quality than the code delivered with the TRF7970A EVM?
  • Hi John,

    Not sure what you mean by not interested in the NFC part? But yes, the SLOA227 code was tested against various devices and tags on the market and against NFC Forum standards. The TRF7970AEVM firmware is a rudimentary example exclusively for demonstration of a basic set of features. It hasn't been updated in over 5 years, where as SLOA227 has been updated as recently as December of last year.
  • Hi Ralph,

    For clarification: I am interested only in the RFID with ISO15693 commands. I do not need NFC at this moment.

    Thanks for your replies.

    John

  • Hi Ralph,
    For size reasons I cannot use the DLP Design module that you proposed in store.ti.com/nfclink-bndl.aspx in my final design.
    According my comprehension the following HW and SW configuration should be compatible. Can you please confirm?

    Hardware:
    - TRF7970ATB
    - MSP-EXP430F5529LP launchpad store.ti.com/msp-exp430f5529lp.aspx
    (or does it only fit on the MSP-EXP430F5529: www.ti.com/.../slau330b.pdf ?)

    Firmware MSP430 launch pad:
    SLOC297 (using Uniflash to flash the MSP-EXP430F5529 with the following file
    C:\sloc297c\TRF7970ABP_RFID_Reader_Demo\Debug\TRF7970ABP_RFID_Reader_Demo.out)

    GUI demo software:
    SLOA227

    I am looking forward to hearing from you soon. And many thanks for the great support given already.

    Thanks and regards,

    John
  • Hello John,

    Those aren't compatible, I think there is some confusion about the software and hardware options. Let me try and break each of them down for you.


    SLOC297 Firmware - RFID Reader/Writer example

    Hardware required: MSP430G2553 LaunchPad (MSP-EXP430G2) + TRF7970A BoosterPack (DLP-7970ABP)

    Dedicated GUI?: No, only basic UART communication that prints out tag data using any UART terminal program (Termite, Docklight etc)

    Firmware size: Less than 16kB Flash / 512 Bytes of RAM

    Use case: Basic RFID applications where NFC is not needed

    Additional notes: Has not been tested as thoroughly as NFCLink Standalone


    SLOA227 Firmware - NFC Reader/Writer example

    Hardware required:

    • MSP430F5529 LaunchPad (MSP-EXP430F5529LP)  + TRF7970A BoosterPack (DLP-7970ABP)

    OR

    • MSP430F5529 Experimenter's Board (MSP-EXP430F5529) + TRF79707A Target Board (TRF7970ATB)

    These hardware platforms cannot be mix-matched at all.

    Firmware size: If USB used, 35kB-80kB Flash and 2-5kB RAM depending on project configurations

    Dedicated GUI?: Yes, SLOA227 comes with a USB-interface based GUI to allow for basic control of the NFC stack. This GUI is not operable with any other firmware package.

    Use case: Applications either needing NFC communication with NDEF format or applications were it is beneficial to use a solution that has been tested against NFC Forum standards for both positive and negative test cases.

    Additional Notes: Does not support anticollision to resolve multiple tags in RF field


    Additional Hardware mention: TRF7970AEVM

    • Comes with MSP430F2370 MCU on board offering 32kB Flash and 2kB RAM
    • Too small for SLOA227 stack but plenty large enough for SLOC297 stack
    • Firmware is outdated by over 5 years, not recommend for anything but initial evaluation with TRF7970AEVM GUI
    • TRF7970AEVM GUI is not compatible with any other firmware base

    If your application is an RFID Reader for ISO15693 only, I recommend using the SLOC297 firmware. You will need to do more development for the PC control and have to design a GUI, but from an NFC firmware perspective, that is what you want.

    You cannot use the TRF7970ATB with any TI LaunchPad, they aren't meant to be compatible.

    If the form factor of the DLP-7970ABP isn't sufficient for you, but the form factor for the TRF7970AEVM is, you could also backport the SLOC297 to the TRF7970AEVM as the on board MCU has sufficient space to handle that stack. If you do this You will not be able to use the TRF7970AEVM GUI at all as that is not supported in any way by SLOC297.

  • Hi Ralph

    Thank you for your mail. This is very helpful.

    Based on your mail we have made the decision to continue with the following configuration:

    I have some more questions:

    Tools

    1) Can the software be flashed with Uniflash on the MSP430G2553 of the Launchpad?

    Hardware

    2) Is there a schema available of the DLP-7970ABP Booster pack?

    3) Is there a schema available of the DLP module that is mounted on the booster pack?

    4) On the Launchpad there is another processor (U1) present. Where is this used for (debug, or...) ? I suppose that I can get rid of it in my schematic.

    5) On the launchpad there are the  MSP430G2553 UART pins (RX) P1.1 and (TX) P1.2. I want to use these directly to a serial connection to my external application processor (not using the RX/TX jumpers on the board).

        Can you confirm that this is the right location to insert the protocol data from the outside?

    Firmware

    6) Can you share the protocol used to send data from the PC to the SLOC297 firmware? (Interested in Multi read, write, inventory etc. I have the ISO 15693 frame specification)

  • Hello John,

    1) Yes.

    2) Yes, 4064.TIDM_NFC_RW_DLP7970ABP_SCHEMATIC.pdf

    3) See above, that is all I can provide.

    4) Yes, it is used to handle the emulation and debug for the device. This allows for the programming over USB without needing an MSP-FET tool which is one of the highlights of the LaunchPad ecosystem for initial evaluation. You do not need this for your final system.

    5) That should be the right place yes, UART would be good to use for that. The firmware isn't setup to accept data from outside as mentioned but you should be able to easily put together something for that.

    6) There is no protocol used to send data FROM the PC TO the SLOC297. It runs standalone. The firmware sends data TO the PC which is displayed in UART terminal and that is it.

  • Hi Ralph

    To go back to the start, my requirement is:  provide communication by UART to an intermediary processor that allows two way communication to the TRF7960A/TRF7970A supporting multi tag RFID.  This should not require extra firmware development.

    Regarding your reply: "6) There is no protocol used to send data FROM the PC TO the SLOC297. It runs standalone. The firmware sends data TO the PC which is displayed in UART terminal and that is it."

    The SLOC297 does match this requirment.

    More over in your older mail: The SLOA227 does not support anticollision and is not useful for me as-is.

    Possible options to continue:

    1) Need extra development and validation to implement a bidirectional protocol on top of the SLOC297. Something that we wanted to avoid initially.

    2) Go back to the TRF7970AEVM firmware, and use that as is.

    3) Use another commercially available off-the-shelf product. Are there companies that deliver a validated communication stack for the TRF7970A for an intermediary processor?

    Best regards,

    John

  • Hello John,

    I don't know of any 3rd parties who would offer that along with anti-collision processes. One 3rd party module uses the same firmware as used in the TRF7970AEVM, and any others I can think of are setup for NFC and don't support anticollision as well as only support NDEF messages and not proprietary RFID applications.

    I would say a 4th option could be to use the EVM as is for initial evaluation with the understanding that firmware shouldn't be used in final product, and if the TRF7970A serves your purposes then you can proceed with step 1)