SLOA192B April   2014  – March 2019 TRF7970A , TRF7970A

 

  1.   NFC active and passive peer-to-peer communication using the TRF7970A
    1.     Trademarks
    2. 1  Introduction
    3. 2  Initial RF Collision
    4. 3  TRF7970A Register Settings
    5. 4  Peer-to-Peer at 106 kbps
      1. 4.1 Active Communication
        1. 4.1.1 Initiator
        2. 4.1.2 Target
      2. 4.2 Passive Communication
        1. 4.2.1 Initiator
        2. 4.2.2 Target
    6. 5  Peer-to-Peer at 212 kbps and 424 kbps
      1. 5.1 Active Communication
        1. 5.1.1 Initiator
        2. 5.1.2 Target
      2. 5.2 Passive Communication
        1. 5.2.1 Initiator
        2. 5.2.2 Target
    7. 6  Hardware Description
      1. 6.1 LaunchPad™ Development Kit and BoosterPack™ Plug-in Module Setup
        1. 6.1.1 BoosterPack Plug-in Module: DLP-7970ABP
        2. 6.1.2 LaunchPad Development Kit: MSP-EXP430F5529LP
        3. 6.1.3 LaunchPad Development Kit: MSP-EXP432P401R
      2. 6.2 Bundle Available for Purchase
    8. 7  Passive and Active Peer-to-Peer Firmware Example
      1. 7.1 Peer-to-Peer APIs
      2. 7.2 Implementing a Peer-to-Peer Sample Application
        1. 7.2.1 Low-Level Initialization
        2. 7.2.2 Peer-to-Peer NFC Stack Setup
        3. 7.2.3 Sending NDEF Packets
        4. 7.2.4 Receiving NDEF Packets
    9. 8  Quick Start Guide
    10. 9  Operational Overview
    11. 10 Peer-to-Peer Interoperability Results
    12. 11 Conclusion
    13. 12 References
  2.   Revision History

Peer-to-Peer NFC Stack Setup

The peer-to-peer NFC stack is initialized by setting the bInitiatorEnabled or bTargetEnabled bits inside the sP2PSupportedModes variable. If both bInitiatorEnabled and bTargetEnabled are set, the stack operates in a switching mechanism similar to how NFC enabled handsets operate when NFC is enabled. For this demo, all passive target and initiator bitrates are enabled.

// Enable Peer 2 Peer Supported Modes g_sP2PSupportedModes.bits.bTargetEnabled = 1; g_sP2PSupportedModes.bits.bInitiatorEnabled = 1; // Set P2P Supported Bit Rates - Target mode g_sP2PSupportedTargetBitrates.bits.bPassive106kbps = 1; g_sP2PSupportedTargetBitrates.bits.bPassive212kbps = 1; g_sP2PSupportedTargetBitrates.bits.bPassive424kbps = 1; g_sP2PSupportedTargetBitrates.bits.bActive106kbps = 0; g_sP2PSupportedTargetBitrates.bits.bActive212kbps = 0; g_sP2PSupportedTargetBitrates.bits.bActive424kbps = 0; // Set P2P Supported Bit Rates - Initiator mode g_sP2PSupportedInitiatorBitrates.bits.bPassive106kbps = 1; g_sP2PSupportedInitiatorBitrates.bits.bPassive212kbps = 1; g_sP2PSupportedInitiatorBitrates.bits.bPassive424kbps = 1; g_sP2PSupportedInitiatorBitrates.bits.bActive106kbps = 0; g_sP2PSupportedInitiatorBitrates.bits.bActive212kbps = 0; g_sP2PSupportedInitiatorBitrates.bits.bActive424kbps = 0; // Configure Peer 2 Peer functions for the correct modes and communication bitrates NFC_P2P_configure(g_sP2PSupportedModes,g_sP2PSupportedTargetBitrates,g_sP2PSupportedInitiatorBitrates);