34
1 SLOA192A – April 2014 – Revised December 2016 Submit Documentation Feedback Copyright © 2014–2016, Texas Instruments Incorporated NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A Application Report SLOA192A – April 2014 – Revised December 2016 NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A Erick Macias, Josh Wyatt ABSTRACT Peer-to-peer (P2P) is one of the three modes supported by the TRF7970A. The Near Field Communication (NFC) market is emerging into multiple fields including Medical, Consumer, Retail, Industrial, Automotive, and Smart Grid. Peer-to-peer (P2P) is very common in these fields, because it allows for a wireless virtual channel to be created between two devices. This application report describes two NFC technologies, the NFC-F and NFC-A protocols, which are used to initiate the communication for peer-to-peer active or passive modes. Furthermore, this application report explains how to implement an application using active or passive P2P communication, supporting baud rates of 106 kbps, 212 kbps and 424 kbps on the TRF7970A transceiver. Project collateral and source code discussed in this application report can be downloaded from http://www.ti.com/lit/zip/sloa192.

NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

Embed Size (px)

Citation preview

Page 1: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

1SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

Application ReportSLOA192A–April 2014–Revised December 2016

NFC Active and Passive Peer-to-Peer CommunicationUsing the TRF7970A

Erick Macias, Josh Wyatt

ABSTRACTPeer-to-peer (P2P) is one of the three modes supported by the TRF7970A. The Near FieldCommunication (NFC) market is emerging into multiple fields including Medical, Consumer, Retail,Industrial, Automotive, and Smart Grid. Peer-to-peer (P2P) is very common in these fields, because itallows for a wireless virtual channel to be created between two devices. This application report describestwo NFC technologies, the NFC-F and NFC-A protocols, which are used to initiate the communication forpeer-to-peer active or passive modes. Furthermore, this application report explains how to implement anapplication using active or passive P2P communication, supporting baud rates of 106 kbps, 212 kbps and424 kbps on the TRF7970A transceiver.

Project collateral and source code discussed in this application report can be downloaded fromhttp://www.ti.com/lit/zip/sloa192.

Page 2: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

www.ti.com

2 SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

Contents1 Introduction ................................................................................................................... 32 Initial RF Collision............................................................................................................ 43 TRF7970A Register Settings ............................................................................................... 64 Peer-to-Peer at 106 kbps ................................................................................................... 85 Peer-to-Peer at 212 kbps and 424 kbps ................................................................................ 136 Hardware Description...................................................................................................... 177 Passive and Active Peer-to-Peer Firmware Example ................................................................. 208 Quick Start Guide .......................................................................................................... 279 Operational Overview...................................................................................................... 2810 Peer-to-Peer Interoperability Results .................................................................................... 2811 Conclusion .................................................................................................................. 3112 References .................................................................................................................. 32

List of Figures

1 Peer-to-Peer Layers Including the PHY (TRF7970A)................................................................... 32 RSSI Level Measurement Orientations ................................................................................... 43 Long Side RSSI Level Measurement ..................................................................................... 54 Short Side RSSI Level Measurement ..................................................................................... 55 Top-Side RSSI Level Measurement....................................................................................... 66 Frame Format for 106 kbps ................................................................................................ 87 Peer-to-Peer 106 kbps Flow Diagram .................................................................................... 88 Peer-to-Peer 106 kbps Initiator Anticollision for Active Communication ............................................ 109 Peer-to-Peer 106 kbps Initiator Anticollision for Passive Communication .......................................... 1210 Frame Format for 212 kbps and 424 kbps.............................................................................. 1311 Peer-to-Peer 212 kbps or 424 kbps Initiator Anticollision for Active Communication ............................. 1312 Peer-to-Peer 212 kbps Active Initiator Anticollision.................................................................... 1513 MSP430F5529 LaunchPad Development Kit and DLP-7970ABP BoosterPack Plug-in Module ................ 1714 MSP432P401R LaunchPad Development Kit and DLP-7970ABP BoosterPack Plug-in Module ............... 1815 MSP430F5529 USB Experimenter Board and TRF7970ATB ........................................................ 1916 Peer-to-Peer NFC Stack Architecture .................................................................................. 2017 TI NFC Tool GUI ........................................................................................................... 2718 Peer-to-Peer Demo System Block Diagram ............................................................................ 28

List of Tables

1 NFC Enabled Devices Used to Test Peer-to-Peer ..................................................................... 42 TRF7970A Default Register Values After Receiving SOFT_INIT and IDLE Direct Commands................... 73 DLP-7970ABP BoosterPack Plug-in Module + MSP-EXP430F5529LP Hardware Connections ................ 214 TRF7970ATB + MSP-EXP430F5529 Experimenter Board Hardware Connections............................... 215 DLP-7970ABP + MSP-EXP432P401R LaunchPad Development Kit Hardware Connections................... 226 Legend for the Result of the NFC Enabled Devices Tests ........................................................... 287 TRF7970A and Smart Phone Interoperability Results (Target Mode) .............................................. 298 TRF7970A and Smart Phone Interoperability Results (Initiator Mode) ............................................. 309 Data Throughput at 424 kbps for a 3.6kBytes NDEF.................................................................. 31

TrademarksBoosterPack, LaunchPad are trademarks of Texas Instruments.FeliCa is a trademark of Sony Corporation.All other trademarks are the property of their respective owners.

Page 3: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

NFC Data Exchange Format(NDEF)

Simple NDEFExchange Protocol

(SNEP)

NDEF PushProtocol(NPP)

Logical Link Control Protocol(LLCP)

Data Exchange Protocol(DEP)

NFC-A(106kbps)

NFC-F(212 and 424kbps)

NFC/RFID Transceiver TRF7970A

www.ti.com Introduction

3SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

1 IntroductionThe TRF7970A supports three modes: Reader/Writer, Card Emulation, and Peer-to-Peer. This documentfocuses on how to use the TRF7970A in peer-to-peer (P2P) active or passive. P2P requires two NFC-enabled devices to communicate using technologies NFC-A or NFC-F at baud rates of 106 kbps (NFC-A),212 kbps (NFC-F), or 424 kbps (NFC-F). The transceiver that is initially polling and initiates thecommunication is the initiator. The transceiver that is initially listening is the target.

The initiator always generates the RF field for both active and passive communication modes. However,the target generates its own RF field only for active mode (while the initiator's RF field is disabled), andload modulates the initiator's RF field in passive mode. Once the technology selection for either mode hasbeen completed, the higher layers are the same (as shown in Figure 1). The NDEF Push Protocol (NPP)was commonly used on Gingerbread Android NFC devices as the protocol to push NDEF messages fromone NFC device to another; however, the Simple NDEF Exchange Protocol (SNEP) has become thestandard on Ice Cream Sandwich Android NFC devices and onward.

Figure 1. Peer-to-Peer Layers Including the PHY (TRF7970A)

A 16-bit and a 32-bit microcontroller are used to interface with the TRF7970A to demonstrate a referenceexample of the Peer-to-Peer mode. The firmware supports flexible functions that let the user enable ordisable different Peer-to-Peer modes and technologies. The firmware supports both initiator and target foractive and passive communication at baud rates of 106 kbps, 212 kbps, and 424 kbps. Additionally, thefirmware can send and receive NDEF messages from NFC-enabled smart phones with SNEP.

Page 4: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

Initial RF Collision www.ti.com

4 SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

Table 1 lists the NFC-enabled devices used to validate the firmware.

Table 1. NFC Enabled Devices Used to Test Peer-to-Peer

Smartphone Model (Release Date) Operating System Kernel VersionSamsung Galaxy Nexus (Nov 2011) Android 4.3 3.0.72 Jun 7 2013Samsung Galaxy S3 (T-Mobile) (May 2012) Android 4.0.4 3.031 Oct 31 2013Asus Nexus 7 (July 2012) Android 4.4.2 3.1.10 Nov 20 2013Samsung Galaxy Note 2 (Sept 2012) Android 4.3 3.0.31 Nov 19 2013AU Arrows Fujitsu FJL21 (Oct 2012) Android 4.0.4 3.0.21 Oct 16 2012Nokia Lumia 820 (Oct 2012) Windows 8 8.0.10211.204HP Elite Tablet (Nov 2012) Windows 8 Windows 8 ProSamsung Nexus 10 (Nov 2012) Android 4.4.2 3.4.39 Nov 20 2013Google Nexus 4 (Nov 2012) Android 4.3 3.4.0 Nov 20 2013Samsung Galaxy S4 (April 2013) Android 4.3 3.4.0 Nov 16 2013Hisense Sero 7 Pro (June 2013) Android 4.2.1 3.1.10Asus Nexus 7 (July 2013) Android 4.4 3.4.0 Dec 11 2013Google Nexus 5 (Oct 2013) Android 4.4 3.4.0 Nov 20 2013

2 Initial RF CollisionVarious implementations of peer-to-peer exist today; these implementations may poll through commandsat different time intervals (500 ms, 300 ms, and so forth). To ensure that two NFC devices do not sendcommands at the same time, an initial RF collision detection is required. The transceiver must check theexternal Received Signal Strength Indicator (RSSI) value, which measures the strength of thedemodulated subcarrier signal, before enabling its own RF field. If the RSSI value is greater than 0x00,the transceiver does not enable its RF field.

The relation between the 3-bit code and the external RF field strength (A/m) sensed by the antenna mustbe determined by calculation or by experiments for each antenna design. The antenna Q-factor, couplingfactor between the two antennas, and connection to the RF input influence the result. Figure 3 throughFigure 5 provide the correlation of the free space distance between two unmodified TRF7970ATB modulesand the 3-bit external RSSI value in three directions. For more details on each orientation, see Figure 2.One TRF7970A has its RF field at full power (+23 dBm), and the second TRF7970A is used to take RSSImeasurements across different distances.

Figure 2. RSSI Level Measurement Orientations

Page 5: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

0

1

2

3

4

5

6

7

8

9

0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07

Dis

tan

ceb

etw

ee

na

nte

nn

as

(cm

)

RSSI Levels and Oscillator Status Register value (0x0F)

Distance vs RSSI Levels ( Short Side)

0

1

2

3

4

5

6

7

8

9

0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07

Dis

tan

ceb

etw

ee

na

nte

nn

as

(cm

)

RSSI Levels and Oscillator Status Register value (0x0F)

Distance vs RSSI Levels ( Long Side)

www.ti.com Initial RF Collision

5SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

Figure 3. Long Side RSSI Level Measurement

Figure 4. Short Side RSSI Level Measurement

Page 6: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

0

1

2

3

4

5

6

7

8

9

0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07

Dis

tan

ceb

etw

ee

na

tne

nn

as

(cm

)

RSSI Levels and Oscillator Status Register value (0x0F)

Distance vs RSSI Values ( Top Side)

TRF7970A Register Settings www.ti.com

6 SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

Figure 5. Top-Side RSSI Level Measurement

The initial RF collision can be accomplished by performing the following steps:1. Write a 0x02/0x03 (3 VDC and 5 VDC operation) to the Chip Status Control register (0x00) disabling

the transmitter and enabling the receiver.2. Send a Test External RF Direct command (0x19).3. Delay 50 µs to allow transceiver to measure the field strength, and latch the value into the RSSI

register.4. Read the RSSI Levels and Oscillator Status register (0x0F).5. If the Active channel RSSI value (bits 2-0) is greater than 0, remain in target mode for a predetermined

n ms.6. If the Active channel RSSI value (bits 2-0) is equal to 0, go into initiator or target mode for active or

passive communication.

3 TRF7970A Register SettingsAfter powering up the TRF7970A, the MCU must send SOFT_INIT (0x03) and IDLE (0x00) directcommands to enable the passive target mode at 106 kbps. Table 2 shows the default value of registers0x00 through 0x16 and 0x18 through 0x1C after the commands are issued. The table also shows theregisters that must be modified for both target and initiator modes.

The ISO Control (0x01) register is modified whenever the Peer-to-Peer technology or bit rate changes.The Chip Status Control (0x00) register is modified after initialization and whenever the RF field is enabledor disabled. The Modulator and SYS_CLK Control (0x09), RX Special Settings (0x0A), and Regulator andI/O Control (0x0B) registers need to be modified only once, right after initialization. The NFC Low FieldDetection Level (0x16) register needs to be modified only for Target mode operation. The NFC TargetDetection Level (0x18) register must be modified after initialization for Target mode operation, and also forInitiator mode operation based on the TRF7970A Silicon Errata.

Page 7: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

www.ti.com TRF7970A Register Settings

7SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

Table 2. TRF7970A Default Register Values After Receiving SOFT_INIT and IDLE Direct Commands

Address Register Value NotesRequires ModificationInitiator Target

0x00 Chip status control 0x01 5-V operation Yes Yes0x01 ISO control 0x21 Passive target Yes Yes

0x02 ISO14443B TX options 0x00 Automatic Single Device Detection(SDD) disabled No No

0x03 ISO14443A high bit-rate options 0x00 See TRF7970A data sheet No No0x04 TX timer setting, H-byte 0xC1 See TRF7970A data sheet No No0x05 TX timer setting, L-byte 0xC1 See TRF7970A data sheet No No0x06 TX pulse-length control 0x00 See TRF7970A data sheet No No0x07 RX no response wait 0x0E See TRF7970A data sheet No No0x08 RX wait time 0x07 See TRF7970A data sheet No No

0x09 Modulator and SYS_CLK control 0x91 27-MHz crystal enabled, SYS_CLKenabled, OOK (100%) Yes Yes

0x0A RX special setting 0x10 Band-pass 100 kHz to 1.5 MHz Yes Yes0x0B Regulator and I/O control 0x87 Automatic VDD RF Yes Yes0x0C IRQ status 0x00 See TRF7970A data sheet No No

0x0D Collision position and interruptmask 0x3E See TRF7970A data sheet No No

0x0E Collision position 0x00 See TRF7970A data sheet No No0x0F RSSI levels and oscillator status 0x40 See TRF7970A data sheet No No0x10 Special function 0x00 See TRF7970A data sheet No No0x11 Special function 0x00 See TRF7970A data sheet No No0x12 RAM 0x00 See TRF7970A data sheet No No0x13 RAM 0x00 See TRF7970A data sheet No No0x14 Adjustable FIFO IRQ levels 0x00 See TRF7970A data sheet Optional Optional0x15 Reserved 0x00 N/A No No0x16 NFC low field detection level 0x00 See TRF7970A data sheet No Yes0x18 NFC target detection level 0x00 See TRF7970A data sheet Yes Yes0x19 NFC target protocol 0x00 See TRF7970A data sheet No No0x1A Test 0x00 See TRF7970A data sheet No No0x1B Test 0x00 See TRF7970A data sheet No No0x1C FIFO status 0x00 See TRF7970A data sheet No No

Page 8: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

StartPassive Target

Initial RF CollisionAvoidance

RF fielddetected?

Stay in Target modefor mSecn

Yes Packetreceived?

Is packetATR_REQ?

Is packetREQ_A?

Switch to Initiatormode for PassiveCommunication

Switch to Initiatormode for ActiveCommunication

Legend

Active Communication

Passive Communication

Initiator SDD foractive

communication.

Initiator SDD forpassive

communication.

ActiveTargetSDD.

Yes

PassiveTargetSDD.

Yes

Data ExchangeProtocol

De-Activation

End

Anticollision

Data Exchange

TerminateCommunication

No

No No

No

YesNo

Start Byte('F0')

Length(8 bit)

CMD1 CMD2 Byte 1 ... Byte n CRC

Legend

Handled by MCU during DEP

Handled by MCU

Handled by TRF7970A

Peer-to-Peer at 106 kbps www.ti.com

8 SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

4 Peer-to-Peer at 106 kbpsThe TRF7970A supports initiator and target P2P mode at 106 kbps (fc/128). When the transceiver is indefault mode [ISO mode (for more information, see the Direct Mode section of [1])] only the decoded datais available to the MCU through the FIFO. The frame format for Data Exchange Protocol (DEP) packets at106 kbps (shown in Figure 6) are based on the NFC-A technology specified in the NFCForum-TS-DigitalProtocol-1.0. The format does not include the Start Byte for the passive anticollision of 106 kbps.This section covers the register settings and anticollision sequence for both the active and passive peer-to-peer modes at 106 kbps.

Figure 6. Frame Format for 106 kbps

Figure 7. Peer-to-Peer 106 kbps Flow Diagram

Page 9: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

www.ti.com Peer-to-Peer at 106 kbps

9SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

4.1 Active CommunicationThe TRF7970A ISO Control register (0x01) sets the modulation of the transceiver's RF field when is ininitiator mode or active NFC target. The NFC initiator and active target for baud rate of 106 kbps can beachieved by initializing the transceiver as a NFC-A RFID reader (0x08). Each time the transceiver finishessending a command while being an initiator and active Target it must:1. Turn off the field by modifying the ISO Control register → 0x21 (passive target).2. Write to the RX Special Setting register (0x0A) → 0x30 (band-pass 450 kHz to 1.5 MHz and band-pass

100 kHz to 1.5 MHz).3. Write to the Adjustable FIFO IRQ Levels register (0x14) → 0x0F (IRQ triggered when there are 96

bytes in FIFO during RX or 32 bytes during TX).

4.1.1 InitiatorOnce the Initial RF Collision avoidance is completed and no RF field has been detected (see Figure 7),the following registers must be modified each time before a DEP_REQ is sent to the active target (seeFigure 8). For more information, see Section 2.1. Delay time specified in the technology specification (56 µs to 188 µs).2. ISO Control register (0x01) → 0x08 (ISO1443A at 106 kbps, receive with CRC).3. Delay 1 ms.4. Send packet:

(a) Reset FIFO (0x0F) direct command.(b) Transmission with (0x11) or without (0x10) CRC direct command.(c) TX Length Byte 1 (0x1D) and TX Length Byte 2 (0x1E) registers.(d) Write the command to the FIFO.

4.1.2 TargetAfter receiving commands from the initiator, the transceiver must follow the next steps each time beforeresponding to the initiator:1. Delay time specified in the technology specification (56 µs to 188 µs).2. Perform Response RF Collision avoidance, and ensure no RF field is detected.3. ISO Control register (0x01) → 0x08 (ISO14443A at 106 kbps, receive with CRC).4. Delay 1 ms5. Send packet:

(a) Reset FIFO (0x0F) direct command.(b) Transmission with (0x11) or without (0x10) CRC direct command.(c) TX Length Byte 1 and 2 (0x1D and 0x1E) registers.(d) Write the response to the FIFO.

Page 10: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

Yes

No No

Send ATR_REQat 106 kbps and turn

off RF Field

ATR_RESreceived?

Exit Anti-CollisionLayer

No

212 kbps or424 kbps

supported?

Send PSL_REQ toswitch to higher bit

rate turn off RF Field

No

Yes

Yes

PSL_RESreceived?

Correct DID?

Write to ISO Control

Register 0x1A/ox1B (212 kbps/

424 kbps)

®

Data ExchangeProtocol Layer

Peer-to-Peer at 106 kbps www.ti.com

10 SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

Figure 8. Peer-to-Peer 106 kbps Initiator Anticollision for Active Communication

4.2 Passive CommunicationThe TRF7970A ISO Control register (0x01) sets the modulation of the transceiver RF field when is ininitiator mode and the bit rate at which to load modulate when it is in target mode. Unlike activecommunication, the target load modulates the initiator RF field instead of modulating its own field.Furthermore, the anticollision procedure is different for passive communication at 106 kbps.

Page 11: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

www.ti.com Peer-to-Peer at 106 kbps

11SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

4.2.1 InitiatorWhen the initial RF collision is completed and no RF field has been detected (as shown in Figure 7), thefollowing registers must be modified before and after the anticollision is completed as shown in Figure 9.For more information, see Section 2.1. ISO Control register (0x01) → 0x88 (ISO14443A 106 kbps, receive without CRC during anticollision,

before Select command)orISO Control register (0x01) → 0x08 (ISO14443A 106 kbps, receive with CRC after anticollision iscompleted).

2. Send packet:(a) Reset FIFO (0x0F) direct command.(b) Transmission without (0x10, anticollision before Select command) or with (0x11, after anticollision is

completed) CRC direct command.(c) TX Length Byte 1 (0x1D) and TX Length Byte 2 (0x1E) registers.(d) Write the command to the FIFO.

Unlike the active communication, no further RF collisions are required. The ISO control register needs tobe modified for the anticollision state to receive without CRC for the required commands. For moreinformation, see the ISO14443-3 specification. Once the anticollision is completed the ISO Control registerneeds to be modified to receive with CRC. Step 2 must be used to send commands to the passive target.

4.2.2 TargetInitially the TRF7970A must be receiving without CRC. After receiving commands from the initiator, thefollowing registers must be modified before and after the anticollision is completed:1. ISO Control register (0x01) → 0xA4 (ISO14443A 106 kbps, receive without CRC during anticollision,

before Select command)orISO Control register (0x01) → 0x24 (ISO14443A 106 kbps, receive with CRC, after anticollision iscompleted).

2. 2. Send packet:(a) Reset FIFO (0x0F) direct command.(b) Transmission without (0x10, anticollision before Select command) or with (0x11, after anticollision is

completed) CRC direct command.(c) c. TX Length Byte 1 and 2 (0x1D and 0x1E) registers.(d) Write the command to the FIFO.

The ISO control register needs to be modified for the anticollision state to receive without CRC for therequired commands. For more information, see the ISO14443-3 specification. Once the anticollision iscompleted the ISO Control register needs to be modified to receive with CRC. Step 2 must be used tosend commands to the initiator.

Page 12: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

Send SENS_REQat 106 kbps

SENS_RESreceived?

Exit Anti-CollisionLayer

No

No

n = 1

Send SDD_REQ(Cascade n)

SDD_RES

Increase Cascade SEL_RES

NFCID1 notcomplete

NFCID1 complete, andnot DEP compliant

(i.e. Type 2 or 4A Tag)

Send ATR_REG

Data ExchangeLayer

Send SDD_REQ(Cascade n)

Peer-to-Peer at 106 kbps www.ti.com

12 SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

Figure 9. Peer-to-Peer 106 kbps Initiator Anticollision for Passive Communication

Page 13: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

StartPassive Target

Initial RF CollisionAvoidance

RF fielddetected?

Stay in Target modefor mSecn

Yes Packetreceived?

Is packetATR_REQ?

Is packetSENSF_REQ?

Switch to Initiatormode for PassiveCommunication

Switch to Initiatormode for ActiveCommunication

Legend

Active Communication

Passive Communication

Initiator SDD foractive

communication.

Initiator SDD forpassive

communication.

ActiveTargetSDD.

Yes

PassiveTargetSDD.

Yes

Data ExchangeProtocol

De-Activation

End

Anticollision

Data Exchange

TerminateCommunication

No

No No

No

YesNo

Yes

Sync(16 bits 'B24D')

Length(8 bit) CMD1 CMD2 Byte 1 ... Byte n CRC

Legend

Handled by TRF7970A

Handled by MCU

Preamble(Minimum

48 bits all 0's)

www.ti.com Peer-to-Peer at 212 kbps and 424 kbps

13SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

5 Peer-to-Peer at 212 kbps and 424 kbpsThe TRF7970A supports initiator and target for NFC-F FeliCa™ at 212 kbps (fc/64) and 424 kbps (fc/32).When the transceiver is in default mode [ISO mode (for more information, see the Direct Mode section of[1])] the decoded data is available to the MCU through the FIFO. The frame format for 212 kbps and424 kbps is shown in Figure 10. This section covers the register settings and anticollision sequence forboth the active and passive NFC-F peer-to-peer modes.

Figure 10. Frame Format for 212 kbps and 424 kbps

Figure 11. Peer-to-Peer 212 kbps or 424 kbps Initiator Anticollision for Active Communication

Page 14: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

Peer-to-Peer at 212 kbps and 424 kbps www.ti.com

14 SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

5.1 Active CommunicationThe TRF7970A ISO Control register (0x01) sets the modulation of the transceiver RF field when is ininitiator mode and the bit rate to load modulate when it is in target mode. The NFC active and passiveinitiator (bit 5 = 1 and bit 2 = 1) for baud rates of 212 kbps and 424 kbps, can be achieved by initializingthe transceiver as a NFC-F reader (Bit 5 = 1 and bits 4-0 = 0x12 (212 kbps) or 0x13 (424 kbps)). Eachtime the transceiver finishes sending a command while being an initiator or target, the transceiver must:1. Turn off the field by modifying the ISO Control register → 0x21 (passive target).2. Write to RX Special Setting register (0x0A) → 0x80 (band-pass filter set for 110 kHz to 570 kHz)3. Write to Adjustable FIFO IRQ Levels register (0x14) → 0x0F (IRQ triggered when there are 96 bytes in

FIFO during RX or 32 bytes during TX)

5.1.1 InitiatorOnce the Initial RF Collision is completed and no RF field has been detected (as shown in Figure 11), thefollowing registers must be modified to initialize the anticollision (as shown in Figure 12). For moreinformation, see Section 2.1. Delay time specified in the technology specification (56 µs to 188 µs).2. ISO Control register (0x01) → 0x32 (NFC-F at 212 kbps, receive with CRC).3. Delay 1 ms4. Send packet:

(a) Reset FIFO (0x0F) direct command.(b) Transmission with CRC direct command (0x11).(c) TX Length Byte 1 and 2 (0x1D and 0x1E) registers.(d) Write the response to the FIFO.

5.1.2 TargetAfter receiving commands from the initiator, the transceiver must follow the next steps each time beforeresponding to the initiator:1. Delay time specified in the technology specification (56 µs to 188 µs).2. Perform Response RF Collision avoidance, and ensure no RF field is detected.3. ISO Control register (0x01) → 0x32 (NFC-F at 212 kbps).4. Delay 1 ms5. Send packet:

(a) Reset FIFO (0x0F) direct command.(b) Transmission with CRC direct command (0x11).(c) TX Length Byte 1 and 2 (0x1D and 0x1E) registers.(d) Write the response to the FIFO.

NOTE: For more details on the NFC-F protocol, see [2], [3], [6], [7] and [8].

Page 15: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

Exit Anti-CollisionLayer

No

Send ATR_REQat 212 kbps andturn off RF field

ATR_RESreceived?

No

424 kbpssupported?

Yes

Send PSL_REQ andturn off RF Field

PSL_RESreceived?

Yes

Correct DID?

No No

Write to ISO Control

Register 0x33(NFC-F at 424 kbps)

®

Yes

Data ExchangeProtocol Layer

www.ti.com Peer-to-Peer at 212 kbps and 424 kbps

15SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

Figure 12. Peer-to-Peer 212 kbps Active Initiator Anticollision

5.2 Passive CommunicationThe TRF7970A ISO Control register (0x01) sets the modulation of the transceiver RF field when it is ininitiator mode and the bit rate at which to load modulate the initiator's field when it is in target mode.Unlike active communication, the target load modulates the initiator RF field instead of modulating its ownfield. Furthermore, the anticollision procedure is different for passive communication and activecommunication.

Page 16: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

Peer-to-Peer at 212 kbps and 424 kbps www.ti.com

16 SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

5.2.1 InitiatorOnce the Initial RF Collision is completed and no RF field has been detected (as shown in Figure 11), thefollowing registers must be modified before the anticollision. For more information, see Section 2).1. ISO Control register (0x01) → 0x32 (NFC-F at 212 kbps, receive with CRC).2. Send packet:

(a) Reset FIFO (0x0F) direct command.(b) Transmission with CRC direct command (0x11).(c) TX Length Byte 1 (0x1D) and TX Length Byte 2 (0x1E) registers.(d) Write the response to the FIFO.

Step 2 must be used to send commands to the passive target.

5.2.2 TargetAfter receiving commands from the initiator, the transceiver must be modified when the anticollisionprocess is started:1. ISO Control register (0x01) → 0x22 (NFC-F at 212 kbps, receive with CRC).2. Send packet:

(a) Reset FIFO (0x0F) direct command.(b) Transmission with CRC direct command (0x11).(c) TX Length Byte 1 and 2 (0x1D and 0x1E) registers.(d) Write the response to the FIFO.

Step 2 must be used to send commands to the passive target.

Page 17: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

www.ti.com Hardware Description

17SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

6 Hardware Description

6.1 LaunchPad™ Development Kit and BoosterPack™ Plug-in Module Setup

6.1.1 BoosterPack Plug-in Module: DLP-7970ABPThe third party provider DLP Design NFC/RFID BoosterPack™ plug-in module (DLP-7970ABP) is an add-on board designed to fit all of TI's MCU LaunchPad™ development kits. This BoosterPack plug-in moduleallows the software application developer to get familiar with the functionalities of TRF7970A multi-protocolfully integrated 13.56-MHz NFC/HF RFID IC on their TI embedded microcontroller platform of choicewithout having to worry about designing the RF section (see Figure 13 and Figure 14).

The TRF7970A device is an integrated analog front end and data-framing device for a 13.56-MHz NFC/HFRFID system. Built-in programming options make the device suitable for a wide range of applications forproximity and vicinity identification systems. The device can perform in one of three modes: Reader/Writer,Peer-to-Peer, or Card Emulation mode. Built-in user-configurable programming registers allows fine tuningof various reader parameters as needed.

Link for purchase: https://store.ti.com/dlp-7970abp.aspx

6.1.2 LaunchPad Development Kit: MSP-EXP430F5529LPThe MSP-EXP430F5529LP LaunchPad development kit is an easy-to-use evaluation module for theMSP430F5529 USB microcontroller. It contains everything needed to start developing, including on-boardemulation for programming and debugging, as well as on-board buttons and LEDs for quickly adding asimple user interface. Rapid prototyping is a snap, thanks to 40-pin access headers and a wide range ofBoosterPack plug-in modules. This enables technologies such as wireless, display drivers, temperaturesensing, and much more (see Figure 13).

Link for purchase: https://store.ti.com/msp-exp430f5529lp.aspx

Figure 13. MSP430F5529 LaunchPad Development Kit and DLP-7970ABP BoosterPack Plug-in Module

Page 18: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

Hardware Description www.ti.com

18 SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

6.1.3 LaunchPad Development Kit: MSP-EXP432P401RThe MSP432P401R LaunchPad development kit enables you to develop high-performance applicationsthat benefit from low-power operation. It features the MSP432P401R – which includes a 48-MHz ARMCortex M4F, 95-µA/MHz active power, and 850-nA RTC operation, a 14-bit 1-MSPS differential SAR ADC,and an AES256 accelerator.

This LaunchPad development kit includes an on-board emulator with EnergyTrace+ Technology, whichmeans you can program and debug your projects without the need for additional tools, while alsomeasuring total system energy consumption (see Figure 14).

Link for purchase: https://store.ti.com/msp-exp432p401r.aspx

Figure 14. MSP432P401R LaunchPad Development Kit and DLP-7970ABP BoosterPack Plug-in Module

6.2 Experimenter Board Setup

6.2.1 MSP-EXP430F5529The MSP430F5529 Experimenter Board (MSP-EXP430F5529) is a development platform for theMSP430F5529 device, from the latest generation of MSP430 devices with integrated USB. The board iscompatible with many TI low-power RF wireless evaluation modules such as the TRF7970ATB module.The Experimenter Board helps designers quickly learn and develop using the new F55xx MCUs, whichprovide the industry's lowest active power consumption, integrated USB, and more memory and leadingintegration for other applications such as energy harvesting, wireless sensing and automatic meteringinfrastructure (AMI) (see Figure 15).

Link for purchase: https://store.ti.com/MSP-EXP430F5529-MSP430F5529-USB-Experimenters-Board-P2413.aspx

Page 19: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

www.ti.com Hardware Description

19SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

6.3 TRF7970ATB ModuleThe TRF7970ATB Evaluation Module allows the software application developer to get familiar with thefunctionalities of TRF7970A Multi-Protocol Fully Integrated 13.56-MHz NFC/ HF RFID IC while allowingthe freedom to develop with the Texas Instruments MCU of their choosing. The MSP-EXP430F5529Experimenter Board is one such development platform. Alternatively, any other TI embeddedmicrocontroller platform with the EM socket headers populated can be used.

The TRF7970ATB is hardwired for SPI communications, supports slave select and TRF7970A DirectMode 2 (default), Direct Mode 1, and Direct Mode 0 operations. The user also has access to and fullcontrol over the TRF7970A EN2 and EN lines, allowing for design and development of ultra-low-powerhigh-frequency (HF) RFID/NFC systems. The module has an onboard boost converter (TPS61222DCKT)that boosts 3.3 VDC to 5 VDC out to TRF7970A IC for +23 dBm (full transmitter power out) operations(see Figure 15).

Link for purchase: https://store.ti.com/TRF7970ATB-TRF7970ATB-P4618.aspx

Figure 15. MSP430F5529 USB Experimenter Board and TRF7970ATB

6.4 Available Bundles for PurchaseThe TI Store also has bundles available for purchase for each evaluation kit setup.

MSP-EXP430F5529LP + DLP-7970ABP: https://store.ti.com/nfclink-bndl.aspx

MSP-EXP432P401R + DLP-7970ABP: https://store.ti.com/nfclink-bndl-msp432.aspx

MSP-EXP430F5529 + TRF7970ATB: https://store.ti.com/NFCLink-Evalution-Kit-P4617.aspx

Page 20: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

Passive and Active Peer-to-Peer Firmware Example www.ti.com

20 SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

7 Passive and Active Peer-to-Peer Firmware ExampleThis section explains which APIs are used by the NFC/RFID layer (see Figure 16) to initialize and handlethe peer-to-peer communication. Furthermore, it covers how to implement a sample peer-to-peerapplication, which can send and receive an NDEF message to and from an NFC-enabled device.

The firmware example that contains the Peer-to-Peer APIs discussed in this document can bedownloaded from http://www.ti.com/lit/zip/sloa192.

As downloaded, the firmware example includes the full TI NFC stack which supports Peer-to-Peer, CardEmulation, and Reader/Writer modes. For applications that do not require all NFC operating modes, thereare configuration options available to reduce the NFC stack memory footprint (only compiling requiredoperating modes). These configurations can be made by modifying the #define statements within thenfc_config.h file, located at [Install Path]\nfclink\Source\headers.

Figure 16. Peer-to-Peer NFC Stack Architecture

7.1 Peer-to-Peer APIsFor details on all available APIs used in the provided example firmware for NFC peer-to-peer mode, seethe NFCLink Standalone Software Library API Guide included in the install package. The guide is locatedin [Install Path]\doc.

The NFCLink Standalone Software Library API Guide describes the flow of the software stack, all APIsthat are available for NFC peer-to-peer functionality, and each function to help users with developingcustom NFC peer-to-peer applications.

Page 21: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

www.ti.com Passive and Active Peer-to-Peer Firmware Example

21SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

7.2 Implementing a Peer-to-Peer Sample ApplicationThis section explains how to implement a peer-to-peer sample application that uses buttons S1 and S2 onthe MSP430F5529 LaunchPad development kit to send different NDEF messages to an NFC-enableddevice. Table 3 and Table 4 lists the connections between the MSP430F5529 and the TRF7970A for thedifferent MSP430F5529 evaluation platforms. Table 5 shows the connections between the MSP432P401Rand the TRF7970A for the MSP432P401R LaunchPad development kit.

(1) IRQ defaults to P2.2 for DLP-7970ABP v4.5 and newer (see the DLP-7970ABP Hardware Update Overview).

(2) Pin is only needed for using Special Direct Mode

Table 3. DLP-7970ABP BoosterPack Plug-in Module +MSP-EXP430F5529LP Hardware Connections

DLP-7970ABP Pins MSP430F5529 LaunchPadDevelopment Kit Pins

TRF7970A EN1 P4.1TRF7970A IRQ P2.2 (1)

MOSI P3.0MISO P3.1CLK P3.2

Slave Select P4.2I/O_2 P6.6 (2)

I/O_3 P2.0 (2)

I/O_5 P1.6 (2)

(1) Requires a jumper to be placed between P2.0 and P4.0 on theExperimenter Board.

Table 4. TRF7970ATB + MSP-EXP430F5529Experimenter Board Hardware Connections

TRF7970ATB Pins MSP430F5529 EXP Board PinsTRF7970A EN1 P2.3TRF7970A IRQ P2.0 (1)

MOSI P3.0MISO P3.1CLK P3.2

Slave Select P2.6MOD P2.1

ASK/OOK P4.7

Page 22: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

Passive and Active Peer-to-Peer Firmware Example www.ti.com

22 SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

(1) IRQ defaults to P3.0 for DLP-7970ABP v4.5 and newer (see the DLP-7970ABP Hardware Update Overview ).

(2) Pin is needed only for using Special Direct Mode.

Table 5. DLP-7970ABP + MSP-EXP432P401RLaunchPad Development Kit Hardware Connections

TRF7970ATB Pins MSP432P401R LaunchPadDevelopment Kit Pins

TRF7970A EN1 P6.2TRF7970A IRQ P3.0 (1)

MOSI P1.6MISO P1.7CLK P1.5

Slave Select P6.5I/O_2 P4.3 (2)

I/O_3 P2.5 (2)

I/O_5 P4.1 (2)

7.2.1 Low-Level InitializationFor the low-level initialization, the MCU is initialized in MCU_init() by setting the MSP430F5529 main clockfrequency to 25 MHz. The TRF7970A hardware connections and the MSP430F5529 SPI module (SPIclock running at 4 MHz - minimum recommended is 2MHz) is initialized in TRF79x0_init(). The localvariables are needed for transmit and receive and the peer-to-peer stack initialization. The Buttons_initfunction set the GPIO direction to inputs and the Buttons_interruptEnable() enable the interrupt for buttonsS1 and S2.#include "msp430.h"#include "nfc_controller.h"#include "ndef_image.h"#include "lp_buttons.h"

uint16_t g_ui16ListenTime;t_sNfcP2PMode g_sP2PSupportedModes;t_sNfcP2PCommBitrate g_sP2PSupportedTargetBitrates;t_sNfcP2PCommBitrate g_sP2PSupportedInitiatorBitrates;t_sNfcDEP_P2PSetup g_sP2PSetupOptions;uint8_t g_ui8NfcDepInitiatorDID;

void main(void){

tNfcState eTempNFCState;tNfcState eCurrentNFCState;

uint32_t ui32PacketRemaining;uint8_t ui8TXBytes;uint16_t ui16TxIndex;uint32_t ui32PacketLength;uint8_t * pui8NdefPointer;uint8_t ui8FragmentSize;

// Peer to peer RX StatustNfcP2PRxStatus sP2PRxStatus;t_sNfcP2PMode sP2PMode;t_sNfcP2PCommBitrate sP2PBitrate;

// Bytes Received from Peer to Peeruint16_t ui16BytesReceived = 0x00;

// Initialize MCUMCU_init();

//Enable interrupts globally

Page 23: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

www.ti.com Passive and Active Peer-to-Peer Firmware Example

23SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

__enable_interrupt();

// Initialize TRF7970TRF79x0_init();

// Initialize S1 and S2 buttonsButtons_init(BUTTON_ALL);Buttons_interruptEnable(BUTTON_ALL);

// Initialize TRF7970A Idle ModeTRF79x0_idleMode();

// Initialize the NFC ControllerNFC_init();

// This function will configure all the settings for each protocolNFC_configuration();

// Initialize IDs for NFC-A, NFC-B and NFC-FNFC_initIDs();

7.2.2 Peer-to-Peer NFC Stack SetupThe peer-to-peer NFC stack is initialized by setting the bInitiatorEnabled or bTargetEnabled bits inside thesP2PSupportedModes variable. If both bInitiatorEnabled and bTargetEnabled are set, the stack operatesin a switching mechanism similar to how NFC enabled handsets operate when NFC is enabled. For thisdemo, all passive target and initiator bitrates are enabled.// Enable Peer 2 Peer Supported Modesg_sP2PSupportedModes.bits.bTargetEnabled = 1;g_sP2PSupportedModes.bits.bInitiatorEnabled = 1;

// Set P2P Supported Bit Rates - Target modeg_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 modeg_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 bitratesNFC_P2P_configure(g_sP2PSupportedModes,g_sP2PSupportedTargetBitrates,g_sP2PSupportedInitiatorBitrates);

Page 24: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

Passive and Active Peer-to-Peer Firmware Example www.ti.com

24 SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

7.2.3 Sending NDEF PacketsThe NFC_run switches between target and initiator until an NFC-enabled device is presented to theTRF7970A RF field. Once the peer-to-peer communication is established and eTempNFCState isNFC_DATA_EXCHANGE_PROTOCOL, the firmware checks whether button S1 or button S2 has beenpressed. When button S1 is pressed, a text RTD is queued to the SNEP TX buffer. When button S2 ispressed, a MIME RTD is queued to the SNEP TX buffer. When the size of the NDEF packet is smallerthan the SNEP queue, the NFC_P2P_sendNdefPacket() is only executed once because the number ofremaining bytes return by the function would be 0. When the size of the NDEF packet is larger than theSNEP queue, the NFC_P2P_sendNdefPacket() continues to queue fragments of the complete packet untilthe number of remaining bytes is 0.eTempNFCState = NFC_run();if(eTempNFCState == NFC_DATA_EXCHANGE_PROTOCOL){

else if(NFC_P2P_getModeStatus(&sP2PMode,&sP2PBitrate)){

// Check for button inputif ((buttonsPressed & BUTTON_S1) && (buttonDebounce == 2)){

ui16TxIndex = 0x00;buttonDebounce = 0x00;// Total Length of the packet.ui32PacketLength = 46;ui32PacketRemaining = ui32PacketLength;// Send Text Stringpui8NdefPointer = (uint8_t *) (pui8NfcPoweredByTexasInstruments+2);if(ui32PacketRemaining < LLCP_MIU){

ui8FragmentSize = (uint8_t) ui32PacketRemaining;}else{

ui8FragmentSize = LLCP_MIU;}ui8TXBytes =

NFC_P2P_sendNdefPacket(pui8NdefPointer,true,ui8FragmentSize,ui32PacketLength);

if(ui8TXBytes){

ui32PacketRemaining = ui32PacketRemaining - (uint16_t) (ui8TXBytes);ui16TxIndex = ui16TxIndex + (uint16_t) ui8TXBytes;

// Toggle TX LEDNFC_TX_LED_POUT ^= NFC_TX_LED_BIT;

}}else if((buttonsPressed & BUTTON_S2) && (buttonDebounce == 2)){

ui16TxIndex = 0x00;buttonDebounce = 0x00;// Total Length of the packet.ui32PacketLength = 3597;ui32PacketRemaining = ui32PacketLength;// Send TI Logopui8NdefPointer = (uint8_t *) (pui8TiLogo + 2);if(ui32PacketRemaining < LLCP_MIU){

ui8FragmentSize = (uint8_t) ui32PacketRemaining;}else{

ui8FragmentSize = LLCP_MIU;}ui8TXBytes =

NFC_P2P_sendNdefPacket(pui8NdefPointer,true,ui8FragmentSize,ui32PacketLength);

Page 25: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

www.ti.com Passive and Active Peer-to-Peer Firmware Example

25SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

if(ui8TXBytes){

ui32PacketRemaining = ui32PacketRemaining - (uint16_t) (ui8TXBytes);ui16TxIndex = ui16TxIndex + (uint16_t) ui8TXBytes;

// Toggle TX LEDNFC_TX_LED_POUT ^= NFC_TX_LED_BIT;

}}else if(ui32PacketRemaining > 0){

if(ui32PacketRemaining < LLCP_MIU){

ui8FragmentSize = (uint8_t) ui32PacketRemaining;}else{

ui8FragmentSize = LLCP_MIU;}ui8TXBytes = NFC_P2P_sendNdefPacket((uint8_t *)

(pui8NdefPointer+ui16TxIndex),false,ui8FragmentSize,(uint32_t) ui32PacketLength);

if(ui8TXBytes){

ui32PacketRemaining = ui32PacketRemaining - (uint16_t) (ui8TXBytes);ui16TxIndex = ui16TxIndex + (uint16_t) ui8TXBytes;

// Toggle TX LEDNFC_TX_LED_POUT ^= NFC_TX_LED_BIT;

}}else if(buttonDebounce == 0x00){

// Enable the button debounce.buttonDebounce = 0x01;

}else if (ui32PacketRemaining == 0){

// Clear TX LEDNFC_TX_LED_POUT &= ~NFC_TX_LED_BIT;

}}

}

Page 26: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

Passive and Active Peer-to-Peer Firmware Example www.ti.com

26 SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

7.2.4 Receiving NDEF PacketsThe NFC_run function switches between target and initiator until an NFC-enabled device is presented tothe TRF7970A RF field. Once the peer-to-peer communication is established and eTempNFCState isNFC_DATA_EXCHANGE_PROTOCOL, the firmware checks the RX status withNFC_P2P_getReceiveState() . When a packet is received, the sP2PRxStatus.sDataReceivedStatus willbe RECEIVED_FIRST_FRAGMENT, or RECEIVED_N_FRAGMENT, orRECEIVED_FRAGMENT_COMPLETED. When the first fragment is received from another NFC device ifthe packet is incomplete, the sP2PRxStatus.sDataReceivedStatus will beRECEIVED_FIRST_FRAGMENT. When the first fragment is received from another NFC device if thepacket is complete, the sP2PRxStatus.sDataReceivedStatus will beRECEIVED_FRAGMENT_COMPLETED. When the packet is broken into multiple fragments due to thetotal size being larger than the SNEP queue the sP2PRxStatus.sDataReceivedStatus will beRECEIVED_N_FRAGMENT until the last fragment is received. When the last fragment is received, thesP2PRxStatus.sDataReceivedStatus will be RECEIVED_FRAGMENT_COMPLETED.eTempNFCState = NFC_run();if(eTempNFCState == NFC_DATA_EXCHANGE_PROTOCOL){

else if(NFC_P2P_getModeStatus(&sP2PMode,&sP2PBitrate)){

//// Read the receive status structure -

check if there is a received packet from the Target//sP2PRxStatus = NFC_P2P_getReceiveState();if(sP2PRxStatus.sDataReceivedStatus != RECEIVED_NO_FRAGMENT){

ui16BytesReceived = sP2PRxStatus.ui16DataReceivedLength + ui16BytesReceived;

// Check if the last packet was received completelyif((uint16_t) sP2PRxStatus.ui32PacketSize == ui16BytesReceived){

// Reset Bytes receivedui16BytesReceived = 0;

}}

}}

Page 27: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

www.ti.com Quick Start Guide

27SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

8 Quick Start GuideThe NFCLink Standalone Getting Started Guide provides complete details of how to get started with theprovided example firmware and the MSP-EXP430F5529LP and DLP-7970ABP.

This guide describes how to load the example firmware to TI evaluation boards and explains the featuresof the TI NFC Tool GUI (see Figure 17), which is installed with the firmware package.

The TI NFC Tool allows for quick configuration of the different NFC modes and provides an inferface tosend and receive data with NFC-enabled devices.

Figure 17. TI NFC Tool GUI

Page 28: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

Operational Overview www.ti.com

28 SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

9 Operational OverviewThe peer-to-peer demo on the MSP430F5529 has two modes. The first mode is a stand-alone modewhere both initiator and target are enabled for passive supporting 106 kbps, 212 kbps and 424 kbps. Thefirmware sends polling commands for NFC-A Passive at 106 kbps and NFC-F passive at 212 kbps eachtime the initiator mode is enabled. If all the polling commands timeout, the peer-to-peer stack switches themode to target mode. In target mode, the firmware waits for a technology to be activated for 500 ms. If notechnology is activated during target mode, the firmware switches the mode to initiator mode. When aconnection is established with an NFC-enabled device, press the button S1 to send a Text RTD or pressthe button S2 to send a MIME RTD (TI Logo).

The second mode requires a host (PC) to run the TI NFC Tool and connect to the MSP430F5529 throughthe USB CDC. Figure 18 shows the system block diagram. When the GUI is connected to theMSP430F5529, pressing the buttons S1 or S2 will not send an NDEF as it previously did in stand-alonemode. The GUI allows you to select which modes to enable and disable. Once a connection is establishedwith an NFC-enabled device, the GUI switches to the peer-to-peer tab, which allows you to send amodifiable Text or URI RTD.

Figure 18. Peer-to-Peer Demo System Block Diagram

10 Peer-to-Peer Interoperability ResultsThis section covers the results of the interoperability between the existing TRF7970A Peer-to-Peer stackand the list of NFC-enabled devices mentioned earlier in the application report (see Table 1). Use thelegend shown in Table 6 for the Target results in Table 7 and for the Initiator results in Table 8.

Based on the results of the interoperability tests, TI recommends using Passive Peer-to-Peer modes asthey have proven to be more consistent, reliable, and robust than Active Peer-to-Peer modes.

Table 6. Legend for the Result of the NFC Enabled Devices Tests

LegendSuccess

1 The P2P communication only works if the TRF7970A is polling for both NFC-A and NFC-F. The fieldcannot be disabled between passive commands.

2 The P2P communication only works when the initiator sends a PSL_REQ from 106 to 212 or 424 kbps.3 Requires both Initiator Active Polling commands for 106 kbps and 212 kbps to work properly.4 Difficult to establish an active P2P link.

1 The device does not support NFC DEP

NRP No Reply to Polling command - The target does not reply to the polling command.

NRT No Reply to Target response - The initiator does not reply to the polling response command.

Not Applicable

Page 29: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

www.ti.com Peer-to-Peer Interoperability Results

29SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

Table 7 includes the interoperability results for test cases where the TRF7970A is a passive and activetarget. The results show that legacy NFC-enabled devices did not support sending a PSL REQ, insteadthey would poll for 106 kbps, 212 kbps, and 424 kbps separately. The newer devices go through theanticollision loop and immediately send a PSL_REQ up to 424 kbps for both active and passivecommunication at 106 kbps or 212 kbps up to 424 kbps. The smartphone devices are listed with modeland release date to illustrate that the interoperability across all target modes is better for newer NFC-enabled devices. The TRF7970A peer-to-peer stack is replying to incoming commands SENS_REQ(polling at 106 kbps), and ATR_REQ (active polling at 106 kbps, or 212 kbps, or 424 kbps); however, nofurther commands are received from the initiator.

Table 7. TRF7970A and Smart Phone Interoperability Results (Target Mode)

Test With Firmware 1.00.35 TRF7970A Modes and Bitrates (kbps)

Smartphone Model (Release Date)Target (PassiveCommunication)

Target (ActiveCommunication)

TRF7970AReceivedPSL REQ106 212 424 106 212 424

Samsung Galaxy Nexus (Nov 2011) No

Blackberry Curve 9360 (August 2011) NRT Yes

Samsung Galaxy S3 (T-Mobile) (May 2012) NoAsus Nexus 7 (July 2012) NoSamsung Galaxy Note 2 (Sept 2012) NoAU Arrows Fujitsu FJL21 (Oct 2012) No

Samsung S3 Mini (October 2012) NRT NRT No

Nokia Lumia 820 (Oct 2012) No

HP Elite Tablet (Nov 2012) NRT No

Samsung Nexus 10 (Nov 2012) YesGoogle Nexus 4 (Nov 2012) YesSamsung Galaxy S4 T-Mobile (April 2013) NoSamsung Galaxy S4 (April 2013) YesHisense Sero 7 Pro (June 2013) Yes

Asus Nexus 7 (July 2013) NRT Yes

Samsung Galaxy Note 3 ( Sept. 2013) NRT No

Google Nexus 5 (Oct 2013) Yes

Page 30: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

Peer-to-Peer Interoperability Results www.ti.com

30 SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

Table 8 includes the interoperability results for test cases where the TRF7970A is a passive and activeinitiator. The smartphone devices are listed with model and release date included to illustrate that theinteroperability across all initiator modes is better for newer NFC-enabled devices. The TRF7970A peer-to-peer stack does not get a response from the devices that are failing for the SENS_REQ (polling at 106kbps), and ATR_REQ (active polling at 106 kbps or 212 kbps). The peer-to-peer stack does not supportincrementing from 106 kbps → 212 kbps or 424 kbps for both active and passive communication.

Table 8. TRF7970A and Smart Phone Interoperability Results (Initiator Mode)

Test With Firmware 1.00.35 TRF7970A Modes and Bitrates (kbps)

Smartphone Model (Release Date)Initiator (Passive Communication) Initiator (Active Communication)

106 212 424 106 212 424Samsung Galaxy Nexus (Nov 2011) 1

Blackberry Curve 9360 (August 2011) NRP NRP NRP

Samsung Galaxy S3 (T-Mobile) (May 2012) NRP 1 1 NRP NRP NRP

Asus Nexus 7 (July 2012) NRP 1 1 2 2

Samsung Galaxy Note 2 (Sept 2012) NRP 1 1 NRP NRP NRP

AU Arrows Fujitsu FJL21 (Oct 2012) 2 2 NRP NRP NRP

Samsung S3 Mini (October 2012) NRP NRP

Nokia Lumia 820 (Oct 2012) NRP 1 1 2 2

HP Elite Tablet (Nov 2012) NRPSamsung Nexus 10 (Nov 2012) 2 2

Google Nexus 4 (Nov 2012) NRP 3 3

Samsung Galaxy S4 T-Mobile (April 2013) NRP NRP

Samsung Galaxy S4 ATT (April 2013) NRP NRP 3 3

Hisense Sero 7 Pro (June 2013) NRP 4 4 4

Asus Nexus 7 (July 2013)

Samsung Galaxy Note 3 ( Sept. 2013) 2 2 NRP NRP NRPGoogle Nexus 5 (Oct 2013)

Page 31: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

www.ti.com Conclusion

31SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

Table 9 shows the results for the time it took to send a 3.6kB file from the TRF7970A to the NFC-enableddevices listed. The NFC-enabled devices were the initiators (passive communication) at 424 kbps. Thestart edge was measured from the Transmit Complete Interrupt of the LLCP CONNECT PDU (sent fromthe TRF7970A to the NFC-enabled device). The end edge was measured at the RX Complete interrupt ofthe SNEP SUCCESS response. The results show that the throughput is highly related to the performanceof the processor in the NFC-enabled device. The highest throughput was measured with the Nexus 10,which has the fastest processor.

Table 9. Data Throughput at 424 kbps for a 3.6kBytes NDEF

Test With Firmware 1.00.23

Smartphone Model (Release Date) Send 3.6kB File(seconds)

Throughput at 424 kbps(kBps)

Samsung Galaxy Nexus (Nov 2011) 0.7569 4.76Samsung Galaxy S3 (T-Mobile) (May 2012) 1.8567 1.94Asus Nexus 7 (July 2012) 1.339 2.69Samsung Galaxy Note 2 (Sept 2012) 0.8087 4.45AU Arrows Fujitsu FJL21 (Oct 2012) 0.3547 10.15Nokia Lumia 820 (Oct 2012) 0.5099 7.06HP Elite Tablet (Nov 2012) 0.5541 6.5Samsung Nexus 10 (Nov 2012) 0.163 22.09Google Nexus 4 (Nov 2012) 0.2557 14.08Samsung Galaxy S4 (April 2013) 0.887 4.06Hisense Sero 7 Pro (June 2013) 0.2981 12.08Asus Nexus 7 (July 2013) 0.2964 12.15Google Nexus 5 (Oct 2013) 0.5295 6.8

11 ConclusionPeer-to-peer is one of three modes supported by the TRF7970A transceiver. The existing P2P NFC stacksupports active and passive communication for both initiator and target at 106 kbps, 212 kbps, and 424kbps. The transceiver that is initially polling and initiates the communication is the initiator. The transceiverthat is initially listening is the target. The initiator always generates the RF field for both active and passivecommunication modes. However, the target generates its own RF field for active communication and loadmodulates the initiator's RF field for passive communication. To avoid two devices enabling their RF fieldat the same time, one must perform an initial RF collision (see Section 2) before enabling its own RF field.

The P2P demo has two modes: a stand-alone mode and a TI NFC Tool GUI mode. The stand-alone modeis the only way to test sending a large NDEF packet (3.6kB), however, using the TI NFC Tool GUI allowsyou to modify the default peer-to-peer modes enabled at power up. Furthermore, the GUI can be used totest for throughput rates when NDEF packets (larger than 1000 bytes) are sent from an NFC-enableddevice to the TRF7970A transceiver.

Based on the tests executed with NFC-enabled devices in Table 1, the newer NFC-enabled devicesinteroperability with the TRF7970A is better. For legacy devices, the active communication may not besupported at all for either target or initiator at all bit rates. For newer devices, active communication hasmixed results in terms of support, reliability and robust connections. Therefore, it is recommended to usepassive communication over active communication.

As downloaded, the firmware example includes the full TI NFC stack which supports Peer-to-Peer, CardEmulation, and Reader/Writer modes. For applications that do not require all NFC operating modes, thereare configuration options available to reduce the NFC stack memory footprint (only compiling requiredoperating modes). These configurations can be made by modifying the #define statements within thenfc_config.h file, located at [Install Path]\nfclink\Source\headers.

For more information about NFC Card Emulation operation, see NFC Card Emulation Using theTRF7970A.

For more information about NFC Reader/Writer, see NFC/HF RFID Reader/Writer Using the TRF7970A.

Page 32: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

References www.ti.com

32 SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A

12 References1. TRF7970A Multiprotocol Fully Integrated 13.56-MHz RFID and Near Field Communication (NFC)

Transceiver IC2. ISO/IEC18092/ECMA-340 (NFCIP – 1) (http://www.ecma-international.org)3. ISO/IEC21481/ECMA-352 (NFCIP – 2) (http://www.ecma-international.org)4. ISO/IEC14443-3:2009(E) (http://www.ansi.org)5. ISO/IEC14443-4:2008(E) (http://www.ansi.org)6. NFCForum-TS-DigitalProtocol-1.0 (Digital Protocol) (http://www.nfc-forum.org)7. NFCForum-TS_LLCP_1.1 (Logical Link Control Protocol) (http://www.nfc-forum.org)8. NFCForum-TS-SNEP_1.0 (Simple NDEF Exchange Protocol) (http://www.nfc-forum.org)9. NFC Research Lab Hagenberg (http://www.nfc-research.at)

Page 33: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

www.ti.com Revision History

33SLOA192A–April 2014–Revised December 2016Submit Documentation Feedback

Copyright © 2014–2016, Texas Instruments Incorporated

Revision History

Revision HistoryNOTE: Page numbers for previous revisions may differ from page numbers in the current version.

Changes from April 30, 2014 to December 9, 2016 ......................................................................................................... Page

• Added the paragraph that starts "A 16-bit and a 32-bit microcontroller are used to interface..." in Section 1, Introduction 3• Added Section 3, TRF7970A Register Settings, and moved existing content to it ............................................... 6• Added the paragraph that starts "The ISO Control (0x01) register is modified..." ................................................ 6• Changed the Requires Modification, Initiator column from No to Yes for address 0x18 in Table 2, TRF7970A Default

Register Values After Receiving SOFT_INIT and IDLE Direct Commands ....................................................... 7• Updated all of Section 6, Hardware Description ..................................................................................... 17• Added two paragraphs starting at "The firmware example that contains the Peer-to-Peer APIs..." in Section 7, Passive and

Active Peer-to-Peer Firmware Example .............................................................................................. 20• Removed API descriptions and added reference to API guide in Section 7.1, Peer-to-Peer APIs ........................... 20• Replaced former Table 4, TRF7970A + MSP430F5529 Experimenters Board Hardware Connection, with Table 3 through

Table 5 .................................................................................................................................... 21• Removed row for TRF7970A EN2 from Table 3, DLP-7970ABP BoosterPack Plug-in Module + MSP-EXP430F5529LP

Hardware Connections.................................................................................................................. 21• Changed P3.0 to P2.2 in note (1) on Table 3, DLP-7970ABP BoosterPack Plug-in Module + MSP-EXP430F5529LP

Hardware Connections.................................................................................................................. 21• Removed row for TRF7970A EN2 from Table 4, TRF7970ATB + MSP-EXP430F5529 Experimenter Board Hardware

Connections .............................................................................................................................. 21• Removed row for TRF7970A EN2 from Table 5, DLP-7970ABP + MSP-EXP432P401R LaunchPad Development Kit

Hardware Connections.................................................................................................................. 22• Changed function names and the code example in Section 7.2.1, Low-Level Initialization ................................... 22• Changed the code example in Section 7.2.2, Peer-to-Peer NFC Stack Setup.................................................. 23• Changed function names and the code example in Section 7.2.3, Sending NDEF Packets .................................. 24• Changed function names and the code example in Section 7.2.4, Receiving NDEF Packets ................................ 26• Added Section 8, Quick Start Guide .................................................................................................. 27• Removed former Section 8, Operational Detail...................................................................................... 28• Added the paragraph that starts "Based on the results of the interoperability tests..." in Section 10, Peer-to-Peer

Interoperability Results.................................................................................................................. 28• Removed former Section 10, Out of the Box Experience .......................................................................... 31• Updated Section 11, Conclusion....................................................................................................... 31

Page 34: NFC Active and Passive Peer-to-Peer Communication … · NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A ... NFC Active and Passive Peer-to-Peer Communication

IMPORTANT NOTICE

Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, enhancements, improvements and otherchanges to its semiconductor products and services per JESD46, latest issue, and to discontinue any product or service per JESD48, latestissue. Buyers should obtain the latest relevant information before placing orders and should verify that such information is current andcomplete. All semiconductor products (also referred to herein as “components”) are sold subject to TI’s terms and conditions of salesupplied at the time of order acknowledgment.TI warrants performance of its components to the specifications applicable at the time of sale, in accordance with the warranty in TI’s termsand conditions of sale of semiconductor products. Testing and other quality control techniques are used to the extent TI deems necessaryto support this warranty. Except where mandated by applicable law, testing of all parameters of each component is not necessarilyperformed.TI assumes no liability for applications assistance or the design of Buyers’ products. Buyers are responsible for their products andapplications using TI components. To minimize the risks associated with Buyers’ products and applications, Buyers should provideadequate design and operating safeguards.TI does not warrant or represent that any license, either express or implied, is granted under any patent right, copyright, mask work right, orother intellectual property right relating to any combination, machine, or process in which TI components or services are used. Informationpublished by TI regarding third-party products or services does not constitute a license to use such products or services or a warranty orendorsement thereof. Use of such information may require a license from a third party under the patents or other intellectual property of thethird party, or a license from TI under the patents or other intellectual property of TI.Reproduction of significant portions of TI information in TI data books or data sheets is permissible only if reproduction is without alterationand is accompanied by all associated warranties, conditions, limitations, and notices. TI is not responsible or liable for such altereddocumentation. Information of third parties may be subject to additional restrictions.Resale of TI components or services with statements different from or beyond the parameters stated by TI for that component or servicevoids all express and any implied warranties for the associated TI component or service and is an unfair and deceptive business practice.TI is not responsible or liable for any such statements.Buyer acknowledges and agrees that it is solely responsible for compliance with all legal, regulatory and safety-related requirementsconcerning its products, and any use of TI components in its applications, notwithstanding any applications-related information or supportthat may be provided by TI. Buyer represents and agrees that it has all the necessary expertise to create and implement safeguards whichanticipate dangerous consequences of failures, monitor failures and their consequences, lessen the likelihood of failures that might causeharm and take appropriate remedial actions. Buyer will fully indemnify TI and its representatives against any damages arising out of the useof any TI components in safety-critical applications.In some cases, TI components may be promoted specifically to facilitate safety-related applications. With such components, TI’s goal is tohelp enable customers to design and create their own end-product solutions that meet applicable functional safety standards andrequirements. Nonetheless, such components are subject to these terms.No TI components are authorized for use in FDA Class III (or similar life-critical medical equipment) unless authorized officers of the partieshave executed a special agreement specifically governing such use.Only those TI components which TI has specifically designated as military grade or “enhanced plastic” are designed and intended for use inmilitary/aerospace applications or environments. Buyer acknowledges and agrees that any military or aerospace use of TI componentswhich have not been so designated is solely at the Buyer's risk, and that Buyer is solely responsible for compliance with all legal andregulatory requirements in connection with such use.TI has specifically designated certain components as meeting ISO/TS16949 requirements, mainly for automotive use. In any case of use ofnon-designated products, TI will not be responsible for any failure to meet ISO/TS16949.

Products ApplicationsAudio www.ti.com/audio Automotive and Transportation www.ti.com/automotiveAmplifiers amplifier.ti.com Communications and Telecom www.ti.com/communicationsData Converters dataconverter.ti.com Computers and Peripherals www.ti.com/computersDLP® Products www.dlp.com Consumer Electronics www.ti.com/consumer-appsDSP dsp.ti.com Energy and Lighting www.ti.com/energyClocks and Timers www.ti.com/clocks Industrial www.ti.com/industrialInterface interface.ti.com Medical www.ti.com/medicalLogic logic.ti.com Security www.ti.com/securityPower Mgmt power.ti.com Space, Avionics and Defense www.ti.com/space-avionics-defenseMicrocontrollers microcontroller.ti.com Video and Imaging www.ti.com/videoRFID www.ti-rfid.comOMAP Applications Processors www.ti.com/omap TI E2E Community e2e.ti.comWireless Connectivity www.ti.com/wirelessconnectivity

Mailing Address: Texas Instruments, Post Office Box 655303, Dallas, Texas 75265Copyright © 2016, Texas Instruments Incorporated