_____________________________________________________
NXPNFCRDLIB EXAMPLE : NFCRDLIBEX3_NFCFORUM
(V4.040.05.011646)
_____________________________________________________
Table of Contents
_________________
1 Document Purpose
2 Description of the NfcrdlibEx3_NFCForum
3 Restrictions on NfcrdlibEx3_NFCForum
4 Configurations of NfcrdlibEx3_NFCForum
5 Package Contents
6 Mandatory materials (not included)
7 Hardware Configuration
8 Software Configuration
9 Steps to follow
10 List of supported NFC Reader Boards/ICs
1 Document Purpose
==================
This document describes the steps to be followed to execute
NfcrdlibEx3_NFCForum example as well as it's known problems and
restrictions.
2 Description of the NfcrdlibEx3_NFCForum
=========================================
- NfcrdlibEx3_NFCForum can be run with PNEV512B, PN5180 and PN7462AU. (See
Section-10 for supported versions).
- This example will demonstrate both Peer to Peer (P2P) and Reader
functions to detect type A, type B, type F tags, type V tags and
18000p3m3 tags (subject to available reader hardware features - e.g. when
built with PNEV512B Type V and ISO 18000p3m3 tags are not supported).
- If any P2P device is brought in proximity then this example will go into
P2P Mode.
- When SNEP Client is enabled then this example performs SNEP PUT onto the
Peer device.
- By default the configured SNEP PUT message is "www.nxp.com".
- To demonstrate SNEP Server, the SNEP Client needs to be disabled as no
control can be provided with boards as incase of mobiles (Just like the
Touch-to-beam feature on Mobiles).
- The maximum length of SNEP PUT from peer device that can be received by
SNEP Server with this example is 1KB (1024 Bytes).
- If any NFC cards/devices (Type A, Type B or Type F) are brought in
proximity then this example will behave as a reader and will detect and
print the NFC technology type detected along with NDEF message from the
tag if present.
3 Restrictions on NfcrdlibEx3_NFCForum
======================================
- NfcrdlibEx3_NFCForum is restricted to be run on NFC Reader Boards/ICs
mentioned in Section-10.
- For PN7462AU (Section-10 Bullet-3) either of SNEP Client or SNEP Sever
can be enabled at a time (See Section-8).
- For PN7462AU (Section-10 Bullet-3) the project should be build only with
Release configuration or Debug Configuration with semi hosting disabled.
- The APIs are intended for NXP contact-less reader ICs only, as such the
APIs are not to be ported to any technology from any other vendor.
- NXP will not support porting to any other vendor platform.
- This software project requires NxpNfcRdLib v4.040.05.011646 or later.
- To compile and flash this project into the LPC Family or PN7462AU, you
need to import this project using NXP LPCXpresso v8.1.x or later.
- To compile and flash this project into the K82 Freedom Board, you need to
import this project using KDS-3.2.0 or later.
- The packages for KDS and LPCXpresso are separate. Package for KDS can not
be imported into LPCXpresso and vice-versa.
4 Configurations of NfcrdlibEx3_NFCForum
========================================
- The example application is written to detect and activate one tag of
supported technologies.
- If switching between supported NFC Reader boards mention in 10, user is
adviced to include the appropriate define in file mentioned in Section-9,
Bullet-5, Bullet-3, Bullet-4.
5 Package Contents
==================
- Readme.txt
+ This readme file
- NfcrdlibEx3_NFCForum.c
+ Main example file.
- intfs/NfcrdlibEx3_NFCForum.h
+ Interfaces/Defines specific to the example
- intfs/ph_NxpBuild_App.h
+ Reader library build configuration file
- src/phApp_Init.c and intfs/phApp_Init.h
+ Common utility functions (common across all examples)
- src/cards.c and intfs/cards.h
+ Common utility functions and APIs for cards
- .cproject and .project
+ LPCXpresso project configuration file
6 Mandatory materials (not included)
====================================
- LPCXpresso IDE as described on the web site:
[http://www.nxp.com/products/software-and-tools/software-development-tools/:LPCXPRESSO]
- Kinetis(R) Design Studio IDE as described on the web site:
[http://www.nxp.com/products/software-and-tools/run-time-software/kinetis-software-and-tools/:KDS_IDE]
- LPCXpresso LPC1769 / LPCXpresso 11u68 / Freedom K82 development boards
For NFC ICs listed in Section-10 (Note: PN7462AU (Section-10 Bullet-3)
does not need any other other microcontroller).
7 Hardware Configuration
========================
Before starting this application, HW Changes may be required for the used
board. Refer to the following User Manuals / Application notes before
starting with this example.
- AN11308: Quick Start Up Guide PNEV512B Board.
+ Important: See Section on "Soldering the interrupt connection" in
that document.
- AN11744: PN5180 Evaluation board quick start guide
- UM10883: PN7462 Quick Start Guide - Customer Board
+ Important: See Section on "Adding PN7462AU Plugin" in that document.
8 Software Configuration
========================
- The Software can be compiled for Cortex M3 LPC1769 micro-controller,
Cortex M0+ LPC11u68 micro-controller, Cortex M4 Freedom K82 and Cortex M0
based PN7462AU from NXP.
- Since this example can be configured to run on various MCU ICs and
various NFC ICs, appropriate changes are required as mentioned in
Section-9, Bullet-3, Bullet-4 and Bullet-5.
- Only reader library layers mentioned in the header file ph_NxpBuild_App.h
are enabled in build for this project.
- NfcrdlibEx3_NFCForum itself can be configured for the following items:
Listen Mode : In discovery loop listen mode, active listen or passive
listen can be selectively enabled/disabled by defining
"ACTIVE_MODE" and "PASSIVE_MODE" respectively.
Poll Mode : In discovery loop poll mode, active poll or passive poll
can be selectively enabled/disabled by defining
"ACTIVE_MODE" and "PASSIVE_MODE" respectively.
Active Mode : To enable Active Mode. If Disabled both Active Poll and
Active Listen discovery loop configuration will be
disabled.
Passive Mode : To enable Passive Mode. If Disabled both Passive Poll and
Passive Listen discovery loop configuration will be
disabled.
SNEP Client : To enable SNEP Client functionality i.e. to perform SNEP
PUT onto remote peer device (Mobile/Board).
SNEP Server : To enable SNEP Server functionality i.e. to send SNEP PUT
Message from remote peer device (Mobile/Board).
9 Steps to follow
=================
Please note - If you have not done the hardware changes as required in
Section-7, please do so.
Steps for opening the package in LPCXpresso:
1) For running this application, connect one of the boards as listed in
Section-10
2) Create a new LpcXpresso workspace and import this project and it's
dependencies:
For LPC1769 : NxpNfcRdLib, lpc_board_nxp_lpcxpresso_1769, lpc_chip_175x_6x
and FreeRTOS_Library needs to be imported
For LPC11u68: NxpNfcRdLib, lpc_board_nxp_lpcxpresso_11u68, lpc_chip_11u6x
and FreeRTOS_Library needs to be imported
For FRDMK82 : NxpNfcRdLib and SDK_2.0_FRDM-K82F and FreeRTOS_Library needs
to be imported
For PN7462AU: NxpNfcRdLib, PN7462AU and FreeRTOS_Library needs to be
imported
3) Ensure MCU Type in "Project Properties" --> "C/C++ Build" --> "MCU
Settings" for this project and its dependencies as listed in Step-2 is
set Correctly:
For LPC1769 : LPC1700 --> LPC1769
For LPC11u68: LPC11U6x --> LPC11U68
For PN7462AU: PN74xxxx --> PN7462AU-C3-00
4) Ensure Build Configuration for this project is selected correctly.
Where allowed, set the build configuration of dependent projects also.
For LPC1769 : DebugLPC1769 / ReleaseLPC1769
For LPC11u68: DebugLPC11u68 / ReleaseLPC11u68
For PN7462AU: DebugPN7462AU / ReleasePN7462AU. Important! See Section-3
Bullet-3
For FRDMK82 : DebugFRDMK82F / ReleaseFRDMK82F
5) Please ensure that ph_NxpBuild_App.h is updated as per the selection of
the IC and Platform.
e.g. For LPC1769, NXPBUILD__PH_LPC1769 needs to be enabled, and
NXPBUILD__PH_LPC11U68, NXPBUILD__PHHAL_HW_PN7462AU, etc. needs to be
disabled. Similarly, for NXPBUILD__PHHAL_HW_PN5180,
NXPBUILD__PHHAL_HW_PN7462AU, NXPBUILD__PHHAL_HW_RC523 needs to be
disabled. Similar change is needed when switching to other supported
Board/IC as listed in Section-10
6) Build the project.
7) Start the "Debug" session of IDE which will first flash the executable
and start the task.
8) When the application is running
1) if any NFC cards/devices (Type A, Type B or Type F) are brought in
proximity then this example will behave as a reader and will detect
and report the NFC technology types detected along with NDEF message
from the tag if present.
2) If any P2P device is brought in proximity then this example will
dynamically switch between Initiator or Target mode and performs
SNEP PUT if both Poll and Listen Modes are enabled. If SNEP Client
is disabled then Peer P2P device can perform SNEP PUT operation
which will be received by this example.
10 List of supported NFC Reader Boards/ICs
==========================================
1) PNEV512B Blueboard 1.5
2) PN5180 TFBGA64 performance board v1.0
3) PN7462AU Customer Evaluation Board
---------------------------------------------------------------------------
For updates of this example, see
[http://www.nxp.com/pages/:NFC-READER-LIBRARY]