Document information Info Content Keywords NFC, PN7150X, FAQs Abstract This document intents to provide answers to frequently asked questions about PN7150X NFC Controller.
Revision history Rev Date Description 1.4 20180628 Enlarge scope Security status changed into Company Public 1.3 20180326 Fixed broken links 1.2 20171207 Corrected answer to How can I set the discovery loop frequency? Added answer to How can I set discovery loop sequence? 1.1 20171023 Rewording to avoid confusion 1.0 20170829 First version of the document Contact information For more information, please visit: http://www.nxp.com All information provided in this document is subject to legal disclaimers. NXP B.V. 2018. All rights reserved. 2 of 16
1. Where can I find information about PN7150X? All information about PN7150X can be found on NXP web site: https://www.nxp.com/products/:pn7150x PN7150X being a derivative product of PN7150 NFC Controller. PN7150 information available on NXP web site applies to PN7150X: https://www.nxp.com/products/:pn7150 All information provided in this document is subject to legal disclaimers. NXP B.V. 2018. All rights reserved. 3 of 16
2. What are the differences between PN7150 and PN7150X? PN7150X copies exact same characteristics than PN7150 (package, pinning, power supply, interface, command set ). It only adds, on top of existing PN7150 functionalities, support for Apple Enhanced Contactless Polling. Current version of PN7150X allows inserting the VASUP-A command to the discovery loop, between usual Type A and Type B polling phases. It doesn t care of any response but then continue with the next enabled phase. Fig 1. Updated Technology Detection Activity flow chart All information provided in this document is subject to legal disclaimers. NXP B.V. 2018. All rights reserved. 4 of 16
3. How can I integrate PN7150X in my Android based device? PN7150X is supported in Android as described in PN7150 related document: http://www.nxp.com/documents/application_note/an11690.pdf An example of Android Java application is offered showing NDEF read operation. It can be downloaded from NXP DocStore, the package is referenced as SW4746. All information provided in this document is subject to legal disclaimers. NXP B.V. 2018. All rights reserved. 5 of 16
4. How can I integrate PN7150X in my Linux based device? PN7150X is supported in Linux as described in PN7150 related document: http://www.nxp.com/documents/application_note/an11697.pdf An application example is offered showing NDEF read operation. It can be downloaded from NXP DocStore, the package is referenced as SW4749. All information provided in this document is subject to legal disclaimers. NXP B.V. 2018. All rights reserved. 6 of 16
5. How can I integrate PN7150X in RTOS based device? For PN7150X support, when driven from a RTOS (or even without OS) MCU, a reference example is available demonstrating PN7150X configuration for an NDEF read operation. This demonstrator is based on the OM13074 (LPCXpresso board for LPC11U37H) and the OM27150ARD (PN7150X demo kit, derived from OM5578 PN7150 demo kit for PN7150X). An MCUXpresso example project is provided, with setup guidelines described in http://www.nxp.com/documents/application_note/an11990.pdf. This example project can be downloaded from NXP DocStore, the package is referenced as SW4750. All information provided in this document is subject to legal disclaimers. NXP B.V. 2018. All rights reserved. 7 of 16
6. How do I enable Apple ECP and configure the VASUP-A command? The Apple Enhanced Contactless Polling can be enabled and VASUP-A command configured through dedicated PN7150X parameter @0xA06B. Set and get is performed using NCI standardized CORE_SET_CONFIG and CORE_GET_CONFIG commands.a In Android or Linux, this is done updating /etc/libnfc-nxp.conf file: Table 1. Android/Linux configuration of VASUP-A command NXP_CORE_CONF_EXTN={20, 02, 15, 04, NCI CORE_SET_CONFIG_CMD updated about length and number of parameters A0, 5E, 01, 01, A0, EC, 01, 00, A0, ED, 01, 00, A0, 6B, 05, 6A, 01, C3, 00, 00 VASUP-A command configuration (if byte 6A has different value, the ECP is disabled) } In NXP-NCI example code, this is done updating Nfc_setting.h file: Table 2. NXP-NCI example configuration of VASUP-A command uint8_t NxpNci_CORE_CONF_EXTN[]={0x20, 0x02, 0x09, 0x01, /* CORE_SET_CONFIG_CMD */ 0xA0, 0x6B, /* VASUP-A parameter address */ 0x05, /* VASUP-A parameter size */ 0x6A, /* VASUP-A enable(6a)/disable */ 0x01, 0xC3, 0x00, 0x00 /* VASUP-A command parameters */ }; All information provided in this document is subject to legal disclaimers. NXP B.V. 2018. All rights reserved. 8 of 16
7. How can I set the discovery loop frequency? Discovery loop frequency depends on the NCI standard TOTAL_DURATION parameter set and get using NCI standardized CORE_SET_CONFIG and CORE_GET_CONFIG commands. PN7150X default value is 1Hz (POLL mode phase occurs once a time per second). This default value may not allow proper interoperability with ios device, recommendation is to increase the frequency (to ~4Hz) setting the TOTAL_DURATION parameter to about 256ms. In Android or Linux, the stack defines a default value of 500ms. However, it can be updated setting the NFA_DM_DISC_DURATION_POLL parameter in /etc/libnfcbrcm.conf file: Table 3. Android/Linux configuration of discovery loop frequency NFA_DM_DISC_DURATION_POLL=256 TOTAL_DURATION value in milliseconds (decimal) In NXP-NCI example code, this is done updating Nfc_setting.h file: Table 4. NXP-NCI example configuration of discovery loop frequency uint8_t NxpNci_CORE_CONF[]={0x20, 0x02, 0x05, 0x01, /* CORE_SET_CONFIG_CMD */ 0x00, /* TOTAL_DURATION parameter ID */ 0x02, /* TOTAL_DURATION parameter size */ 0x00, 0x01 /* TOTAL_DURATION parameter value (LSB first) */ }; All information provided in this document is subject to legal disclaimers. NXP B.V. 2018. All rights reserved. 9 of 16
8. How can I set the discovery loop sequence? PN7150X discovery loop sequence must be set to define which technologies should be polled for. A complete discovery loop (with all supported technologies) is depicted in Fig 2 for reference. Listening phase Polling phase Fig 2. Full discovery polling loop sequence with ECP support In Android or Linux, this is done updating /etc/libnfc-nxp.conf file: Table 5. Android/Linux configuration of discovery loop sequence ################################################################## # Force tag polling for the following technology(s). # The bits are defined as tnfa_technology_mask in nfa_api.h. # # Notable bits: # NFA_TECHNOLOGY_MASK_A 0x01 /* NFC-A */ # NFA_TECHNOLOGY_MASK_B 0x02 /* NFC-B */ # NFA_TECHNOLOGY_MASK_F 0x04 /* NFC-F */ # NFA_TECHNOLOGY_MASK_ISO15693 0x08 /* Proprietary Technology */ # NFA_TECHNOLOGY_MASK_KOVIO 0x20 /* Proprietary Technology */ # NFA_TECHNOLOGY_MASK_A_ACTIVE 0x40 /* NFC-A active mode */ # NFA_TECHNOLOGY_MASK_F_ACTIVE 0x80 /* NFC-F active mode */ # This flag when set to zero will disable Reader mode. POLLING_TECH_MASK=0xEF POLLING_TECH_MASK defines enabled polling technologies in the discovery polling loop sequence as bit field. All information provided in this document is subject to legal disclaimers. NXP B.V. 2018. All rights reserved. 10 of 16
In NXP-NCI example code, this is done updating main.c file: Table 6. NXP-NCI example configuration of discovery loop sequence unsigned char DiscoveryTechnologies[] = { MODE_POLL TECH_PASSIVE_NFCA, MODE_POLL TECH_PASSIVE_NFCB, MODE_POLL TECH_PASSIVE_NFCF, DiscoveryTechnologies table list all enabled technologies of the discovery MODE_POLL TECH_PASSIVE_15693, polling loop sequence MODE_POLL TECH_ACTIVE_NFCA, MODE_POLL TECH_ACTIVE_NFCF, }; The minimum technologies to be enabled to insure interoperability with ios device is the NFC passive type A, PN7150X handling ECP protocol within this polling phase. All information provided in this document is subject to legal disclaimers. NXP B.V. 2018. All rights reserved. 11 of 16
9. How can I disable PN7150X Tag Detector mode? To avoid any conflict during first testing, it is preferable to disable the PN7150X Tag Detector mode. In this mode, to limit the overall power consumption, the PN7150X is sensing for any environment change before deciding if a discovery POLL phase must be executed. This mode is further described in dedicated document: http://www.nxp.com/documents/application_note/an11757.pdf Tag detector functionality can be enabled and configured through dedicated PN7150X parameter @0xA040 set and get using NCI standardized CORE_SET_CONFIG and CORE_GET_CONFIG commands. In Android or Linux, this is done updating /etc/libnfc-nxp.conf file: Table 7. Android/Linux configuration of Tag Detector mode NXP_CORE_CONF_EXTN={20, 02, 11, 04, NCI CORE_SET_CONFIG_CMD updated about length and number of parameters A0, 5E, 01, 01, A0, EC, 01, 00, A0, ED, 01, 00, A0, 40, 01, 00, Tag Detector function disabled } In NXP-NCI example code, this is done updating Nfc_setting.h file: Table 8. NXP-NCI example configuration of discovery loop frequency uint8_t NxpNci_CORE_CONF_EXTN[]={0x20, 0x02, 0x05, 0x01, /* CORE_SET_CONFIG_CMD */ 0xA0, 0x40, /* TAG_DETECTOR_CFG parameter address */ 0x01, /* TAG_DETECTOR_CFG parameter size */ 0x00 /* TAG_DETECTOR_CFG parameter value */ }; All information provided in this document is subject to legal disclaimers. NXP B.V. 2018. All rights reserved. 12 of 16
10. How is PN7150X transmitter supplied? The transmitter voltage (VDD(TX)) can be generated by an internal LDO or from an external supply source as described in the document https://www.nxp.com/docs/en/application-note/an11756.pdf PN7150X offers two options for the configuration of the transmitter: 1) VBAT1 = VBAT2 = between 2.3V (2.7 for reader mode) and 5.5V giving a maximum transmitter supply of 3.6V 2) VBAT1 = 5V and VBAT2 = between 2.3V (2.7 for reader mode) and 5.5V giving a maximum transmitter supply of 4.75V All information provided in this document is subject to legal disclaimers. NXP B.V. 2018. All rights reserved. 13 of 16
11. Can I use PN7150X for payment application? As far as it does not require EMVCo compliancy, PN7150X can be used for payment application. Indeed PN7150X, as PN7150, does not comply to the latest version of EMVCo specification. All information provided in this document is subject to legal disclaimers. NXP B.V. 2018. All rights reserved. 14 of 16
12. Legal information 12.1 Definitions Draft The document is a draft version only. The content is still under internal review and subject to formal approval, which may result in modifications or additions. NXP Semiconductors does not give any representations or warranties as to the accuracy or completeness of information included herein and shall have no liability for the consequences of use of such information. 12.2 Disclaimers Limited warranty and liability Information in this document is believed to be accurate and reliable. However, NXP Semiconductors does not give any representations or warranties, expressed or implied, as to the accuracy or completeness of such information and shall have no liability for the consequences of use of such information. NXP Semiconductors takes no responsibility for the content in this document if provided by an information source outside of NXP Semiconductors. In no event shall NXP Semiconductors be liable for any indirect, incidental, punitive, special or consequential damages (including - without limitation - lost profits, lost savings, business interruption, costs related to the removal or replacement of any products or rework charges) whether or not such damages are based on tort (including negligence), warranty, breach of contract or any other legal theory. Notwithstanding any damages that customer might incur for any reason whatsoever, NXP Semiconductors aggregate and cumulative liability towards customer for the products described herein shall be limited in accordance with the Terms and conditions of commercial sale of NXP Semiconductors. Right to make changes NXP Semiconductors reserves the right to make changes to information published in this document, including without limitation specifications and product descriptions, at any time and without notice. This document supersedes and replaces all information supplied prior to the publication hereof. Suitability for use NXP Semiconductors products are not designed, authorized or warranted to be suitable for use in life support, life-critical or safety-critical systems or equipment, nor in applications where failure or malfunction of an NXP Semiconductors product can reasonably be expected to result in personal injury, death or severe property or environmental damage. NXP Semiconductors and its suppliers accept no liability for inclusion and/or use of NXP Semiconductors products in such equipment or applications and therefore such inclusion and/or use is at the customer s own risk. Applications Applications that are described herein for any of these products are for illustrative purposes only. NXP Semiconductors makes no representation or warranty that such applications will be suitable for the specified use without further testing or modification. Customers are responsible for the design and operation of their applications and products using NXP Semiconductors products, and NXP Semiconductors accepts no liability for any assistance with applications or customer product design. It is customer s sole responsibility to determine whether the NXP Semiconductors product is suitable and fit for the customer s applications and products planned, as well as for the planned application and use of customer s third party customer(s). Customers should provide appropriate design and operating safeguards to minimize the risks associated with their applications and products. NXP Semiconductors does not accept any liability related to any default, damage, costs or problem which is based on any weakness or default in the customer s applications or products, or the application or use by customer s third party customer(s). Customer is responsible for doing all necessary testing for the customer s applications and products using NXP Semiconductors products in order to avoid a default of the applications and the products or of the application or use by customer s third party customer(s). NXP does not accept any liability in this respect. Export control This document as well as the item(s) described herein may be subject to export control regulations. Export might require a prior authorization from competent authorities. Translations A non-english (translated) version of a document is for reference only. The English version shall prevail in case of any discrepancy between the translated and English versions. Evaluation products This product is provided on an as is and with all faults basis for evaluation purposes only. NXP Semiconductors, its affiliates and their suppliers expressly disclaim all warranties, whether express, implied or statutory, including but not limited to the implied warranties of noninfringement, merchantability and fitness for a particular purpose. The entire risk as to the quality, or arising out of the use or performance, of this product remains with customer. In no event shall NXP Semiconductors, its affiliates or their suppliers be liable to customer for any special, indirect, consequential, punitive or incidental damages (including without limitation damages for loss of business, business interruption, loss of use, loss of data or information, and the like) arising out the use of or inability to use the product, whether or not based on tort (including negligence), strict liability, breach of contract, breach of warranty or any other theory, even if advised of the possibility of such damages. Notwithstanding any damages that customer might incur for any reason whatsoever (including without limitation, all damages referenced above and all direct or general damages), the entire liability of NXP Semiconductors, its affiliates and their suppliers and customer s exclusive remedy for all of the foregoing shall be limited to actual damages incurred by customer based on reasonable reliance up to the greater of the amount actually paid by customer for the product or five dollars (US$5.00). The foregoing limitations, exclusions and disclaimers shall apply to the maximum extent permitted by applicable law, even if any remedy fails of its essential purpose. 12.3 Licenses Purchase of NXP ICs with NFC technology Purchase of an NXP Semiconductors IC that complies with one of the Near Field Communication (NFC) standards ISO/IEC 18092 and ISO/IEC 21481 does not convey an implied license under any patent right infringed by implementation of any of those standards. Purchase of NXP Semiconductors IC does not include a license to any NXP patent (or other IP right) covering combinations of those products with other products, whether hardware or software 12.4 Trademarks Notice: All referenced brands, product names, service names and trademarks are property of their respective owners. MIFARE is a trademark of NXP B.V. DESFire is a trademark of NXP B.V. Apple is a registered trademark of Apple Inc. All information provided in this document is subject to legal disclaimers. NXP B.V. 2018. All rights reserved. 15 of 16
13. Contents 1. Where can I find information about PN7150X? 3 2. What are the differences between PN7150 and PN7150X? 4 3. How can I integrate PN7150X in my Android based device? 5 4. How can I integrate PN7150X in my Linux based device? 6 5. How can I integrate PN7150X in RTOS based device? 7 6. How do I enable Apple ECP and configure the VASUP-A command? 8 7. How can I set the discovery loop frequency? 9 8. How can I set the discovery loop sequence? 10 9. How can I disable PN7150X Tag Detector mode? 12 10. Can I use PN7150X for payment application? 13 11. How is PN7150X transmitter supplied? 13 12. Legal information 15 12.1 Definitions 15 12.2 Disclaimers 15 12.3 Licenses 15 12.4 Trademarks 15 13. Contents 16 Please be aware that important notices concerning this document and the product(s) described herein, have been included in the section 'Legal information'. NXP B.V. 2018. All rights reserved. For more information, visit: http://www.nxp.com Date of release: 28 June 2018 Document identifier: