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.

TRF7970A EVM GUI Data Format / Structure

Other Parts Discussed in Thread: RF430CL330H, TRF7970A, RF430CL331H

Hi folks,

I am using a TRF7970A EVM with its PC based GUI to talk to an RF430CL330H NFC Booster Pack - mounted on a MSP-EXP430G2 "Value Line" LaunchPad board. I am running the sloc303 / RF430CL330H_G2553_example code using Code Composer Studio.

I am using the ISO14443B Tab on the GUI to talk to the RF430CL330H NFC Booster Pack in Request mode and they seem to communicate correctly.

My problem is trying to relate what the RF430 device is sending to what the GUI displays:-

RF430 device sends:-

#define RF430_DEFAULT_DATA    {                                                        \
/*NDEF Tag Application Name*/                                                          \
0xD2, 0x76, 0x00, 0x00, 0x85, 0x01, 0x01,                                              \
                                                                                       \
/*Capability Container ID*/                                                            \
0xE1, 0x03,                                                                            \
0x00, 0x0F, /* CCLEN */                                                                \
0x20,       /* Mapping version 2.0 */                                                  \
0x00, 0xF9, /* MLe (49 bytes); Maximum R-APDU data size */                             \
0x00, 0xF6, /* MLc (52 bytes); Maximum C-APDU data size */                             \
0x04,       /* Tag, File Control TLV (4 = NDEF file) */                                \
0x06,       /* Length, File Control TLV (6 = 6 bytes of data for this tag) */          \
0xE1, 0x04, /* File Identifier */                                                      \
0x0B, 0xDF, /* Max NDEF size (3037 bytes of useable memory) */                         \
0x00,       /* NDEF file read access condition, read access without any security */    \
0x00,       /* NDEF file write access condition; write access without any security */  \
                                                                                       \
/* NDEF File ID */                                                                     \
0xE1, 0x04,                                                                            \
                                                                                       \
/* NDEF File for Hello World */                                                        \
0x00, 0x14, /* NLEN: NDEF length (20 byte long message, max. length for RF430CL) */    \
                                                                                       \
/* NDEF Record (refer to NFC Data Exchange Format specifications)*/                    \
0xD1,       /*MB(Message Begin), SR(Short Record) flags set, ME(Message End), IL(ID length field present) flags cleared; TNF(3bits) = 1; */ \
0x01, 0x10, /*Type Length = 0x01; Payload Length = 0x10 */                             \
0x54,       /* Type = T (text) */                                                      \
0x02,       /* 1st payload byte: "Start of Text", as specified in ASCII Tables */      \
0x65, 0x6E, /* 'e', 'n', (2nd, 3rd payload bytes*/                                     \
                                                                                       \
/* 'Hello, world!' NDEF data*/                                                         \
0x48, 0x65, 0x6C, 0x6C, 0x6f, 0x2c, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x21           \
   }        /* End of data */

#endif      /* RF430_EXAMPLE_H_ */

And the GUI displays:-

13:57:52.534    --> 0109000304B0040000
13:57:53.221    <-- 14443B REQB.
[509A2BC6DC00000011008185,7F]

I cannot see any comonality between the two blocks of data!

Please can you tell me where I can find a simple description of the format of this data (without buying the ISO14443B standards at great expense)?

Your help would be greatly appreciated.

Regards, David Smith

  • Hi David,

    What you are seeing on the GUI is the Response to the REQB command, which is part of the tag activation process for ISO14443B tags. This data is not related to the data you see inside of the RF430 which you posted, which is the actual data inside of the tag in NDEF format.

    The TRF7970AEVM GUI does not have support for NDEF messages built into it, so it can't read the NDEF data out automatically via any of the available GUI commands. The only way you could try and do this with the TRF7970AEVM would be to manually activate the tag into Layer 4 and then send the NDEF commands via the Test tab's "Send Raw" functionality. However, this is time consuming and requires a good understanding of all the commands which need to be sent - I think this is something you would want to avoid.

    Instead of going through that hassle, I highly recommend using a different evaluation platform which we designed to easily work with NFC tags that contain NDEF messages. Our NFCLink Standalone solution has a GUI that can be used to read and write NDEF messages to NFC tags including the RF430CL300H.

    Here is a screenshot of what you can expect to see using this evaluation platform along with that RF430 example project, where the contents of the NDEF message are read out and displayed on your screen, and also the option to write new NDEF content is given as well:

  • Hi Ralph,

    Thanks very much for you recommendations.

    Perhaps I should explain what we are trying to implement..

    All we want to do is upload a data log from our product via an NFC link to avoid having a physical connector.

    So the NFC link is simply a "block box" transport mechansim.

    Your solution seems to do exactly what we want - can you tell me if there is a limit on the amount of data that can be uploaded?

    Also, it would be really good if we can use your software "as is" - with minor modifications if required.

    I look forward to hearing your comments / any further recommendations.

    Thanks again.

    Regards, David
  • Hi David,

    Thanks for sharing those details! Yes, your use case is one of the most common applications for our RF430CL33xH devices.

    The RF430CL330H can send a maximum of 3kB of data per individual connection. If you are transferring over 3kB of data at any point, I would recommend looking at the RF430CL331H: www.ti.com/.../rf430cl331h

    With the 330H, to send more than 3kB of data you'd need to reconnect to it for each packet, so if using a smartphone for example, you'd need to pull the device back and then present it again for every 3kB, and this is not very user friendly.

    The 331H has a 'pass-through' mode which allows you to send much larger data packets over a single connection interval. Your only limitation at that point would be on the memory of your own devices. There would be a little more software handling with this part, but it is pretty straight forward as all the NFC handling is still done automatically so you don't need to understand the ISO14443B standard etc., just how to format the data in an NDEF message. We do have code examples on the web which show how that works as well.

    As an example of a large data transfer, we have a reference design that can send over 50kB of data in one transmission using the RF430CL331H with a 64kB FRAM MCU: www.ti.com/.../tida-00524 - I wouldn't say this is directly applicable for your application, but it does illustrate the concept of sending large amounts of data using the RF430CL331H as a black box device.

    I believe there is a Boosterpack for the RF430CL331H coming out soon - I will check on when this may be available. Also another option would be to drop a sample RF430CL331H chip on the RF430CL330H Boosterpack you have - provided you are comfortable with working on SMD's anyways.