SLOA208B November   2014  – March 2019 TRF7970A , TRF7970A

 

  1.   NFC card emulation using the TRF7970A
    1.     Trademarks
    2.     Terms, Definitions, and Symbols
    3. Introduction
    4. Card Emulation
      1. 2.1 Anticollision
        1. 2.1.1 Card Emulation Type A
        2. 2.1.2 Card Emulation Type B
      2. 2.2 Data Exchange
    5. Configuration and Commands for Type 4 Tag Platforms
      1. 3.1 Overview of Type 4 Tag Configuration
        1. 3.1.1 Tag
        2. 3.1.2 Applications
        3. 3.1.3 Files
      2. 3.2 Firmware Structure
        1.       Example 1. Type 4 Tag Structures Within Example Firmware
        2. 3.2.1 tType4AppDS
        3. 3.2.2 tType4App
        4. 3.2.3 tType4File
        5. 3.2.4 Example Setup
          1.        Example 2. Example Setup of a Type 4 Tag Structure
      3. 3.3 File Structure
        1. 3.3.1 Capability Container
          1.        Example 3. Format of the Capability Container for a Tag With Two Files
        2. 3.3.2 Text RTD
          1.        Example 4. Example of a Text RTD Within an NDEF File
        3. 3.3.3 URI RTD
          1.        Example 5. Example of a URI RTD Within a Proprietary File
        4. 3.3.4 Smart Poster
        5. 3.3.5 V-Card
        6. 3.3.6 MIME
      4. 3.4 Available Type 4 Tag Commands
        1. 3.4.1 Frame Format
        2. 3.4.2 Select
        3. 3.4.3 Read Binary
        4. 3.4.4 Update Binary
      5. 3.5 Modifying Stored Tag Information
    6. Hardware Description
      1. 4.1 LaunchPad™ Development Kit and BoosterPack™ Plug-in Module Setup
        1. 4.1.1 BoosterPack Plug-in Module: DLP-7970ABP
        2. 4.1.2 LaunchPad Development Kit: MSP-EXP430F5529LP
        3. 4.1.3 LaunchPad Development Kit: MSP-EXP432P401R
      2. 4.2 Bundle Available for Purchase
    7. Card Emulation Firmware Example
      1. 5.1 Card Emulation APIs
      2. 5.2 Implementing a Card Emulation Sample Application
        1. 5.2.1 Low-Level Initialization
          1.        Example 6. MCU and TRF7970A Initialization Code Snippet
        2. 5.2.2 Card Emulation NFC Stack Setup
          1.        Example 7. Card Emulation Initialization Code
        3. 5.2.3 Emulation of Different RTDs
    8. Quick Start Guide
    9. Operational Overview
    10. Card Emulation Interoperability Results
    11. Conclusion
    12. 10 References
  2.   Revision History

tType4File

This structure defines the parameters for each individual file within the specified application (see Figure 8). It contains the following four parameters:

  • ui16Type4FileId – This is a pointer to the array that contains the file ID number for the specific file. The file ID number is always 2 bytes long.
  • The file ID for the CC file must be set to 0xE103 to be in compliance with the NFC Forum specifications. All other files must use values that are not reserved for use by the NFC Forum. See the NFC Forum Type 4 Tag Operation Specification 3.0 for details on the available file ID numbers.

  • pui8Type4File – This is a pointer to the array that contains the file data.
  • ui16Type4FileLen – This value is the length of the file data array for the specific file.
  • bReadOnly – This flag determines whether or not the file is set as a read only file. When bReadOnly is set to true, the tag file cannot be written to by any device and the tag is locked in read only mode until the chip is programmed.
  • The read/write privileges of the file must match the privileges set inside of the capability container file. The write privilege values between the CC and the tType4File structure are independent of each other. A mismatch between the values could lead to unintentional file updates.

    It is important to ensure that the write privileges are correctly set for code that is loaded into flash memory. If the write privileges are not disabled then writers such as handsets may attempt to overwrite the tag data.

    The bReadOnly flag is also useful to ensure that tag data can be modified only by the application. For example, if an application is measuring a value such as temperature and updating the tag with that information then using the bReadOnly would prevent a handset from accidently overwriting the measurement.