Low-power usb peripheral controller pc eval kit (18 pages)
Summary of Contents for NXP Semiconductors PN7150
Page 1
COMPANY PUBLIC Document information Info Content PN7150, NFC, NFCC, NCI 1.0 Keywords This is a user manual for the PN7150 NFC Controller. Abstract The aim of this document is to describe the PN7150 interfaces, modes of operation and possible configurations.
UM10936 NXP Semiconductors PN7150 User Manual 1. Introduction The PN7150 is a full features NFC controller for contactless communication at 13.56 MHz. The User Manual describes the software interfaces (API), based on the NFC FORUM standard, NCI. Note: this document includes cross-references, which can be used to directly access the section/chapter referenced in the text.
• The PN7150 is the NFCC in the Fig 1. It is connected to the DH through a physical interface which is an I²C. The PN7150 firmware supports the NCI specification but also provides support for additional extensions that are not contained in the NCI specification.
2.4 Combined Modes of Operation The PN7150 firmware is able to combine the basic modes of operation described above, using the RF Discovery as defined in [NCI]. As the PN7150 offers more features than what [NCI] addressed, NXP has defined some proprietary extensions.
Page 9
3 polled technologies drawn on the Fig 5, above (NFC-A, NFC-B and NFC_F) and it is due to the fact that the PN7150 has to generate the RF carrier (13.56MHz). However, during the Listen phase, the PN7150 current consumption is reduced to around 20µA when standby mode is enabled, due to the fact that it is waiting for the detection of...
[7816-4] APDU commands are used on top of ISO-DEP. In case of PN7150 the only route is the DH-NFCEE, therefore no Listen Mode Routing programming supported.
I2C_ADDR1 to either GND or PVDD at PCB level. 4.2 NCI Transport Mapping In the PN7150, there is no additional framing added for I²C: an NCI packet (either data or control message, as defined in chapter →3.3) is transmitted over I²C “as is”, i.e. without any additional Byte (no header, no CRC etc…).
It may send an I²C NACK (negative acknowledge) when none of the buffers used by the NCI core in the PN7150 is free, which may happen in case PN7150 is in standby mode. If one single byte of a complete NCI frame is NACKed by the PN7150, the DH has to re- send the complete NCI frame and not only this single byte.
NXP Semiconductors PN7150 User Manual As indicated on Fig 15, in case the PN7150 requests a data transfer by raising the IRQ pin and the DH tries to initiate a write sequence by positioning the write bit to 0b, the PN7150 keeps the IRQ active until the DH starts a read sequence.
3. The DH writes the [Address & R/Wn] Byte over the I²C bus; it has then to check the I²C ACK bit generated by PN7150 : a. If the ACK bit is not set, this means that PN7150 is still processing the previous fragment of the NCI packet and it is not yet ready to receive the next fragment.
PN7150 User Manual 5. Compliance to [NCI] and PN7150 extensions The PN7150 is a complex contactless System on Chip, which offers a lot of features. Unfortunately, [NCI] as defined by the NFC FORUM does not give full access to all these features.
1 on each logical connection. The “Max Logical Connections” parameter reported in CORE_INIT_RSP equals 0x01 for [PN7150-NCI]. That means that when the DH needs to create a new logical connection, it has first to close the currently opened one, if any.
The Discovery Frequency parameter in RF_DISCOVER_CMD has no effect in PN7150; whatever the value written by the DH, PN7150 will behave as if it is set to 0x01. PN7150 wrongly declares in the "NFCC features" field of CORE_INIT_RSP that it supports the Discovery Frequency Configuration, although it does not.
5.2.3 Compliance to [NCI] RF Interfaces Here is a drawing of the RF interfaces available in [NCI]: Fig 21. [NCI] RF Interface Architecture This section details the status on the different RF interfaces supported by the PN7150. Table 7. NCI Interface limitations...
[NCI] defines a set of configuration parameters, in [NCI_Table8] (see chapter →16). Most of them are supported by PN7150; however, a subset of these parameters is not supported. Here is a status for all these parameters, together with their default value in PN7150: Table 8. Compliance to [NCI] configuration parameters...
5.3 Extensions to [NCI] allowing full control of PN7150 The [PN7150-NCI] extensions section gives a quick overview of the numerous extensions required to [NCI] to give full access to all the features available in the PN7150. 5.3.1 [PN7150-NCI] ext. to [NCI] RF Protocols PN7150 supports much more protocols than handled today by [NCI].
RF_INTF_ACTIVATED_NTF. NXP has defined a proprietary value for this bit rate. PN7150 offers the possibility to poll for NFC-F @ 212 kbps and NFC-F @ 424 kbps. Unfortunately, [NCI] only allows configuring one of these 2 bit rates, but not both in the same discovery sequence.
Page 33
NCI RF State Machine is in, depending on the RF Interface used, depending on some parameters, the control messages are valid or incorrect, and sometimes they trigger state transitions. NXP has extended these rules for the [PN7150-NCI] extensions. The following table gives an overview of these rules: UM10936 All information provided in this document is subject to legal disclaimers.
Page 36
NXP Semiconductors PN7150 User Manual PN7150 defines additional states to the RF state machine defined in [NCI_Chap2], to ensure a correct implementation of the “atomic behavior” of the pair of commands made by CORE_RESET_CMD & CORE_INIT_CMD and also to correctly handle wrong RF protocol to RF interface mapping through the RF_DISCOVER_MAP_CMD.
[NCI] lists a number of parameters, which are necessary to set up the RF discovery. But the PN7150 requires a lot more parameters, for instance to configure some RF protocols which are not supported by [NCI], to configure the power & clock management etc…...
0xE4 STATUS_EMVCO_PCD_COLLISION CORE_GENERIC_ERROR_NTF 5.3.8 [PN7150-NCI] ext. to [NCI] Reason Code in CORE_RESET_NTF [NCI] defines a set of standard Reason Codes in the CORE_RESET_NTF. Please refer to [NCI_Table9] (see chapter →16). NXP has extended this set of reason codes with the following value: Table 17.
PN7150 User Manual 5.3.9 [PN7150-NCI] ext. to [NCI] RF Technology & Mode PN7150 supports more RF Technology & Mode parameters than handled today by [NCI]. It is required to extend the [NCI_Table3] defined in [NCI] (see chapter →16) such that these RF Technology &...
DH (IRQ pin activated), the DH has first to read the data available from PN7150 before it can get the CORE_RESET_RSP. The reason is that the NCI output buffer in PN7150 needs to be flushed before PN7150 can apply a Reset and then send the CORE_RESET_RSP.
Now, here is the figure which lists the complete sequence, starting by a Reset Command based on Reset Type = Reset Configuration. Since the entire configuration is lost, the PN7150 needs to be reconfigured and various optional steps are added, which might be needed or not, depending on the use case.
It is visible on the previous flow chart that NXP has introduced a proprietary command sent by the DH to enable the proprietary extensions to [NCI], which are available in the PN7150. So, when the PN7150 receives this command NCI_PROPRIETARY_ACT_CMD, it knows UM10936 All information provided in this document is subject to legal disclaimers.
4 Octets NXP internal firmware build number 6.5 Configuration template In order to help the user of the PN7150 to issue the right configuration sequence for a given mode of operation, the present document will detail a typical configuration sequence, based on the following template: Table 25.
A dedicated pin (CLKREQ) is used to inform the DH or a clock generating chip that the PN7150 requires to get the PLL input clock, such that it can generate the 13.56MHz RF carrier. PN7150 assumes that the PLL input clock is on and stable after a programmable time-out, which is configured thanks to the parameter CLOCK_TO_CFG (see chapter →11.1).
* Note: RF_DISCOVER_MAP_CMD is optional since the mapping to Frame RF Intf. is done by default * this parameter is not active in PN7150: it can be read/written, but PN7150 will always behave with Bail Out in NFC-A, whatever the value written by the DH to that parameter.
T1T, T2T or MIFARE Classic protocols. Unfortunately, we had to withdraw this concept and the TAG-CMD as implemented in PN7150 is limited to MIFARE Classic operation in Reader/Writer and T2T operation in Reader/Writer when the Sector Select command is required.
A RSP response is always going from the RF to the DH, through the NFCC The DH SHALL wait until it has received a RSP associated to a REQ before it can send a new REQ. 7.1.5 [PN7150-NCI] extension: List of REQs & RSPs In this section, the following acronyms are used: UM10936 All information provided in this document is subject to legal disclaimers.
(optional) command. MFC_Authenticate_RSP 0x40 DH gets the MFC Authenticate command status All these REQs & RSPs are detailed in the next sections. 7.1.6 [PN7150-NCI] extension: raw data exchange REQs & RSPs Table 32. XCHG_DATA_REQ Number of Presence REQ_ID REQ Name...
Byte; the 4MSBs of that Byte are forced to the logical ‘0’ value. 7.1.7 [PN7150-NCI] extension: T2T & MFU REQs & RSPs All the REQs & RSPs described in this section can be used whatever the tag between: ...
Page 51
Not used Others Forbidden Once a sector is authenticated, PN7150 will automatically encrypt any data sent by the DH to be transferred over RF, thanks to the XCHG_DATA_REQ command. The key used is the one used for the sector currently authenticated. In a symmetrical way,...
7.1.9 Access through the TAG-CMD RF Interface The TAG-CMD RF interface allows full access to all the Tags based on NFC-A technology and not supporting the ISO-DEP protocol, leaving up to the PN7150 to manage the low level TAG-CMD: Table 41. Tag/Cards accessible over the TAG-CMD Interface...
* Note: RF_DISCOVER_MAP_CMD is optional since the mapping to Frame RF Intf. is done by default this parameter is not active in PN7150: it can be read/written, but PN7150 will always behave with Bail Out in NFC-A, whatever the value written by the DH to that parameter.
* Note: RF_DISCOVER_MAP_CMD is optional since the mapping to Frame RF Intf. is done by default this parameter is not active in PN7150: it can be read/written, but PN7150 will always behave with Bail Out in NFC-A, whatever the value written by the DH to that parameter.
RF Technology & Mode NFC_B_PASSIVE_POLL_MODE this parameter is not active in PN7150: it can be read/written, but PN7150 will always behave with Bail Out in NFC-A, whatever the value written by the DH to that parameter. this parameter is not supported in PN7150: STATUS_INVALID_PARAM will be returned to the DH if it attempts to write this parameter.
Length Value/Description Octets S-Block S(PARAMETERS) to send; the payload only has to be provided (i.e. PARAMETERS), NFCC will encapsulate it in an S-Block. * PN7150 supports maximum 10 Bytes for ABI length Table 57. RF_T4T_SBLOCK_PARAM_RSP Numbers of Description parameter(s) 1111b 0x10 The NFCC acknowledges the command received from the DH.
[NCI] does not “officially” support the use of higher bit rates in technology NFC-A & NFC- PN7150 offers 4 different bit rates for these technologies, which can be used either in Poll Mode (to read/write an external Card/Tag) or in Listen Mode (to emulate a card): 1.
The current version of the NCI standard allows the data exchange with a tag ISO15693 by using the RF Frame interface. No additional interface is needed for this protocol. However, the data mapping is not yet defined in [NCI], therefore, NXP has defined it for [PN7150- NCI].
Bytes transmitted by the DH, the following exceptions occur: PN7150 is parsing the bit Option Flag (bit b7 in the request Flags Byte, as defined in ISO15693) to check if this bit is set by the DH or not. If set, this indicates that the tag is from TI, and PN7150 is sending commands over RF using a special mode, as defined for some commands in ISO15693.
The NCI Data Message corresponds to the Payload of the Response Format defined in [ISO15693-3] Section 7.4, followed by a Status field of 1 octet. After receiving an RF frame, the PN7150 checks and removes the EoD, the SOF & EOF and sends the result in a Data Message to the DH.
RF. Once it gets this data, PN7150 forwards it over RF. If the selected VICC is not in the field anymore, PN7150 will stay mute and will not send any data back to the DH. The DH has to implement a time-out function, to detect that the VICC is not in the field anymore.
Page 64
* Note: RF_DISCOVER_MAP_CMD is optional since the mapping to Frame RF Intf. is done by default this parameter is not active in PN7150: it can be read/written, but PN7150 will always behave with Bail Out in NFC-A, whatever the value written by the DH to that parameter.
NXP Semiconductors PN7150 User Manual 8. Card Emulation Mode The PN7150 supports Card Emulation hosted by the DH based on either technology NFC- A, NFC-B or NFC-F. 8.1 ISO-DEP card emulation through NFC-A & NFC-B [NCI] defines all the mechanisms necessary to implement this feature. Two options are possible: 1.
LI_FWI LB_H_INFO_RESP LI_BIT_RATE this parameter is not active in PN7150: it can be read/written, but PN7150 will always behave with empty Higher Layer – Response field in the ATTRIB response, whatever the value written by the DH to that parameter.
The NFC-DEP RF interface allows the DH to emulate an NFC-DEP Target or Initiator in P2P Passive, leaving up to the PN7150 to manage the NFC-DEP protocol. Here are the commands and configuration parameters to prepare the NFC-DEP Target in...
All P2P active modes are supported (Initiator for NFC-A & NFC-F and Target for NFC-A & NFC-F). As for the P2P Passive mode, the PN7150 allow access to P2P Active mode through the NFC-DEP RF Interface, the Frame RF Interface implemented in PN7150 not supporting the NFC-DEP protocol.
NFC_F_ACTIVE_POLL_MODE 9.3 Presence check command As already described in →7.3.3, the PN7150 comes with a proprietary function to allow the DH knowing if the Tag/Card is still present or not. The command description in →7.3.3 also applies in Initiator mode (Active or Passive).
activity. In addition to these RF profiles, the PN7150 offers a way to limit the power consumption by applying a tag detector concept. The tag detector can be seen as a precondition to enable a dedicated profile. It means that if the tag detector is triggered, the default profile is automatically started.
Page 71
Annex A of the present document: the State Machine is drawn depending on the RF interface to be used. See chapter →14 for further details. Since PN7150 does not support Listen Mode using the Frame RF Interface, it does accept...
Thanks to the RF_DISCOVER_CMD and the PF_BIT_RATE, the DH has full flexibility to extend the default RF Discovery profile as currently defined in the [NCI] specification. Here is an example how the DH can enable all technologies available in PN7150, for both Poll & Listen Mode: 1.
RF Field for several tens of milliseconds and to send technology specific request commands to see if there is a Card/Tag in the field to respond. The more technologies the PN7150 is configured to detect, the longer the RF Field is generated and the higher the current consumption.
Page 75
Note: the LPCD may also be triggered by a metal object, which can influence the Antenna impedance in a similar way as a Card/Tag. The PN7150 will anyhow detect that this object is not a contactless device since it immediately starts sending contactless commands to check if a Card/Tag can respond.
“object” by sending Request Commands from the different technologies configured for the RF Discovery. In order to improve the likelihood to catch such a Card/Tag, the PN7150 comes with a retry mechanism which performs several Technology Detection polling cycles before it switches back to LPCD.
[NCI_DISCOVERY_TYPE_POLL_A_PASSIVE,1], [NCI_DISCOVERY_TYPE_POLL_B_PASSIVE,1]) In addition, PN7150 needs to be aware of the fact that it has to behave according to the EMVCo RF discovery, not according to the NFC FORUM RF discovery based on [ACTIVITY]. A specific configuration parameter POLL_PROFILE_SEL_CFG (see 11.2.1) is defined for that purpose, allowing to select the active profile of the RF discovery in Poll Mode.
Page 79
Wait phase (no Listen) Fig 41. RF Discovery sequence in case of EMVCo profile If there is a card detected in the field, then the polling sequence is modified by the PN7150, in order to look for another potential card in the field.
When the EMVCo profile for Poll Mode is activated, the PN7150 has to comply with tight timings verified during the EMVCo PCD certification. In case the RF link with the PICC is broken, the regular way to behave according to NCI is that the PN7150 will detect a time- unrecoverable...
The two deactivation procedures are exclusive, and the selection has to be done by the PCD. So the DH has to configure PN7150 for one or the other behavior. The way to select the EMVCo deactivation type is done via the proprietary configuration parameter POLL_PROFILE_SEL_CFG (see →11.2.1).
PN7150 User Manual 10.5.2 EMVCo profile in Listen Mode To be compliant to the EMVCo certification tests emulating an EMVCo PICC, PN7150 has to behave as a single PICC based on either technology NFC-A or NFC-B. In order to solve this issue, PN7150 comes with a specific configuration parameter: LISTEN_PROFILE_SEL_CFG, detailed in section →11.2.2.
Others Forbidden 10.6.2 Standby wake-up The PN7150 wakes-up from standby when one of the following event occurs: Regular polling-loop starts. When the DH has served the PN7150 with a NCI_RF_DISCOVER_CMD command, the PN7150 enters into the standby mode and automatically leave the low power mode after the period defined by TOTAL_DURATION.
Any CORE_SET_CONFIG_CMD to one of the following parameters or to the [NCI] standard parameters will trigger an EEPROM write cycle. Since the PN7150 EEPROM has a limited number of Erase/Write cycles (300 000), it is highly recommended to only use the CORE_SET_CONFIG_CMD during the NCI initialization sequence.
Page 86
IRQ PIN polarity config. All these bits SHALL be set to logical ‘0’ (RFU) b1=’0’ => PN7150 requests to transmit when IRQ pin = ’1’. b1=’1’ => PN7150 requests to transmit when IRQ pin = ‘0’. VBAT_MONITOR_EN_ To Enable/Disable the Battery monitor & configure the...
Page 92
0x5C 0xFFFF 0xA0 FFFF in E²PROM FFFF FSDI_CFG Frame Size value for the PN7150 to display in RATS or 0x5D 0x08 0xA0 ATTRIB. RW in E²PROM JEWEL_RID_CFG Parameter used to configure if the RID is sent on RF to the...
FSC = 256 0x09- 0xFF 11.3 [PN7150-NCI] extension: Contactless Interface configurations PN7150 offers multiple configuration options for the Contactless Interface, to allow an optimum match between the antenna characteristics and the transmitter and receiver in PN7150. A generic TLV mechanism has been defined to write the Contactless Interface settings. It relies on the [NCI] CORE_SET_CONFIG_CMD and is described hereafter: Table 87.
Page 94
Table 90. RF_ GET_TRANSITION_RSP Numbers of Description parameter(s) 1111b 0x14 The PN7150 acknowledges the command received from the DH and sends the RF Transition value to the DH. Table 91. RF_ GET_TRANSITION_RSP parameters Payload Field(s) Length Value/Description STATUS 1 Octet...
The PN7150 has the ability to generate a continuous PRBS pattern on the RF interface. Whatever the test command used by the DH, it is necessary to implement a "test session", which isolates the test mode from a regular "NCI session" of PN7150. This test session is defined thanks to the following sequence: •...
12.3 TEST_ANTENNA_CMD/RSP This command is used to execute the antenna self-test measurements, which allow to check that all the discrete components connected between PN7150 and the contactless antenna are properly soldered on the PCB. Four different measurements are necessary to check the correct connection of all the...
Near Field Communication NFC-A NFC-A technology as defined in [DIGITAL] NFC-B NFC-B technology as defined in [DIGITAL] NFCC NFC Controller, unless mentioned this is the PN7150 NFC-DEP NFC-DEP protocol as defined in [DIGITAL] NFCEE NFC Execution Environment NFC-F NFC-F technology as defined in [DIGITAL]...
Purchase of NXP ICs with NFC technology malfunction of an NXP Semiconductors product can reasonably be expected Purchase of an NXP Semiconductors IC that complies with one of the Near to result in personal injury, death or severe property or environmental Field Communication (NFC) standards ISO/IEC 18092 and ISO/IEC 21481 damage.
Need help?
Do you have a question about the PN7150 and is the answer not in the manual?
Questions and answers