Skip to content

3. PN7150 Module

Andrea ZGuz edited this page Dec 26, 2023 · 3 revisions

Plug and play and high-performance full NFC solution. PN7150 is a full NFC controller solution with integrated firmware and NCI interface designed for contactless communication at 13.56 MHz. It is compatible with NFC Forum requirements.

PN7150 is designed based on learnings from previous NXP NFC device generation. It is the ideal solution for rapidly integrating NFC technology in any application, especially those running O/S environment like Linux and Android, reducing Bill of Material (BOM) size and cost, thanks to:

  • Full NFC forum compliance, with small form factor antenna.
  • Embedded NFC firmware providing all NFC protocols as pre-integrated feature.
  • Direct connection to the MCU, 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.

It embeds an Arm Cortex-M0 microcontroller core loaded with the integrated firmware supporting the NCI 1.0 host communication.

The driver consists of 3 layers:

  1. The application: Reader/Writer, Tag Emulation or Peer2Peer.

  2. The NFC Controller Interface (NCI).

  3. The interface between the Device Host (DH) and the NCF Device.

NCI

The NFC Forum has standardized the communication between the MCU (Device Host or DH) and the NFC device (PN7150 in this case).

To summarize this standard, you have Data Messages and Control Messages. Control Messages comprise 3 types:

  1. Command: Instructs the PN7150 to do something.

  2. Response: The PN7150 responds to the command.

  3. Notification: The PN7150 lets the user know that something has happened.

The syntax of all these messages has been defined by the NFC Forum.

On top of the formatting of messages, the standards define some standard behavior, e.g. which messages are needed to initialize the NFC device, what messages sequence is needed to start polling for NFC SmartCards, etc.

This is all defined through the use of a State Machine. The NCI part of the driver helps you with this state machine.

PN7150 Interface

This part defines a class that implements the I2C interface between the MCU and the PN7150. For I2C, the PN7150 is always the slave, and the microcontroller is the master.

On top of the standard I2C signals SDA and SCL, the PN7150 requires two extra general-purpose I/O signals:

  1. IRQ : (output from the PN7150, input to the MCU). By driving this pin High, the PN7150 indicates that it has data to be read.

  2. VEN : (output from MCU, input to the PN7150). Driving VEN Low and then back High, makes the PN7150 perform a reset, so you need this to properly reset the PN7150.

By initializing the extra pins IRQ and VEN, perform a PN7150 Reset, and initialize the I2C communication interface.

PN7150 module's pinout. "PN7150", NXP Semiconductors, Datasheet, Rev. 4.1, 27 January 2023

You can find the PN7150's datasheet in the following link for further features and technical details: PN7150 datasheet.