This post contains a step by step guide of how to use PN7150 with LPC55S69.
This document is structured as follows:
Overview of PN7150:
The PN7150 is a Plug-and-Play all-in-one NFC solution for easy integration into any OS environment like Linux and Android, reducing Bill of Material (BoM) size and cost. The embedded Arm® Cortex®-M0 microcontroller core is loaded with the integrated firmware, simplifying the implementation as all the NFC real-time constraints, protocols and the device discovery (polling loop) are processed internally. In few NCI commands, the host SW can configure the PN7150 to notify for card or peer detection and start communicating with them.
It has the following salient features:
- Full NFC forum compliancy with small form factor antenna
- Embedded NFC firmware providing all NFC protocols as pre-integrated feature
- Direct connection to the main host or microcontroller, by I2C-bus physical and NCI protocol
- Ultra-low power consumption in polling loop mode
- Highly efficient integrated power management unit (PMU) allowing direct supply from a Battery
The LPCXpresso55S69 development board provides the ideal platform for evaluation of and development with the LPC55S6x MCU based on the Arm® Cortex®-M33 architecture. The board includes a high performance onboard debug probe, audio subsystem and accelerometer, with several options for adding off-the-shelf add-on boards for networking, sensors, displays and other interfaces.
The LPCXpresso55S69 is fully supported by the MCUXpresso suite of tools, which provides device drivers, middleware and examples to allow rapid development, plus configuration tools and an optional free IDE. MCUXpresso software is compatible with tools from popular tool vendors such as Arm and IAR, and the LPCXpresso55S69 may also be used with the popular debug probes available from SEGGER and P&E Micro.
- LPCXpresso55S69 + usb micro cable
The hardware connections are simple. Both the LPC55S69-EVK board and OM5578/PN7150ARD board have an Arduino interface. So, mount the PN7150ARD board with male Arduino connector onto the female Arduino connector of the LPC55S69-EVK board.
Running the demo:
- If this is the first time you’re using LPC55S69-EVK board, follow the getting started guide first à LPC55S69-EVK | NXP . Make sure to install the SDK package for LPC55S69-EVKboard which is required for the project below to run.
- Download the ‘NXP-NCI_PN7150_LPC55xx_example’ package which you will find attached to this post.
- Drag and drop the downloaded package to the “Project Explorer” tab of your MCUXpresso IDE workspace (If you don’t have MCUXpresso, it can be downloaded for free by clicking here:
- Now that the package has been imported to the MCUXpresso IDE (via drag and drop), click on Debug icon from the Quickstart panel to begin a debug session. Once the debug session has started, click on the run icon to run the code:
- The project should be running now. The project contains basic discovery loop functionality. Here is how the output looks in the console tab on MCUXpresso:
Bring any NFC card near the PN7150 board’s antenna and the output console will show the detection and type of the card. For example, in the picture below, we can see that type 4 card was detected:
- AN11990 NXP-NCI MCUXpresso example document. (https://www.nxp.com/docs/en/application-note/AN11990.pdf) The example project explained in this project was ported to LPC55S69 using section 5.3 and 6 of the above mentioned document.
- PN7150 datasheet (https://www.nxp.com/docs/en/data-sheet/PN7150.pdf)
- PN7150 User Manual (https://www.nxp.com/docs/en/user-guide/UM10936.pdf)
- PN7150 NFC Controller SBC Kit User Manual (https://www.nxp.com/docs/en/user-guide/UM10935.pdf)