AN11842 PN7150 BeagleBone Black SBC Kit Quick Start Guide Rev. 1.0 — 18 May 2015 373110 Application note COMPANY PUBLIC Document information Info Content Keywords OM5578, PN7150, BeagleBone, NFC, P2P, Card Emulation, Linux, Android Abstract This document gives a description on how to get started with the OM5578 PN7150 NFC Controller SBC Kit on BeagleBone Black platform. AN11842 NXP Semiconductors PN7150 BeagleBone Black SBC Kit Quick Start Guide Revision history Rev Date Description 1.0 First official release version 20150518 Contact information For more information, please visit: http://www.nxp.com AN11842 Application note COMPANY PUBLIC All information provided in this document is subject to legal disclaimers. Rev. 1.0 — 18 May 2015 373110 © NXP Semiconductors N.V. 20154. All rights reserved. 2 of 17 AN11842 NXP Semiconductors PN7150 BeagleBone Black SBC Kit Quick Start Guide 1. Introduction This document gives a description on how to get started with the OM5578 PN7150 NFCController SBC Kit on BeagleBone Black platform. This document provides a step by step guide to the installation procedure of the hardware and the software. Finally it shows PN7150 NFC Controller functionalities through demonstration application. 1.1 OM5578/PN7150BBB demo kit OM5578/PN7150BBB kit is a high performance fully NFC compliant expansion board for BeagleBone Black (refer to [1] for more details). It meets compliance with Reader mode, P2P mode and Card emulation mode standards. The board features an integrated high performance RF antenna to insure high interoperability level with NFC devices. The demo kit is comprised of a PN7150 NFC Controller Board, a dedicated interface board, and a NFC Sample Card. + OM5578/PN7150S PN7150 NFC Controller Board Fig 1. + OM29110BBB BeagleBone Interface Board NTAG216 NFC Sample Card OM5578/BBB kit overview The demo kit is fully described in UM10935 document [4]. 1.2 Linux driver support PN7150 NFC Controller is supported under GNU/Linux system using the NXP Linux libnfc-nci software stack delivered through public GitHub repository www.nxp.com/redirect/github.com/NXPNFCLinux/android_nxp-nci (for more details, refer to AN11697 [2]). AN11842 Application note COMPANY PUBLIC All information provided in this document is subject to legal disclaimers. Rev. 1.0 — 18 May 2015 373110 © NXP Semiconductors N.V. 2015. All rights reserved. 3 of 17 AN11842 NXP Semiconductors PN7150 BeagleBone Black SBC Kit Quick Start Guide 1.3 Android driver support PN7150 NFC Controller is supported from the official Android Open Source Project (refer to [5] for more details) with the addition of dedicated patches (refer to AN11690 [3]). AN11842 Application note COMPANY PUBLIC All information provided in this document is subject to legal disclaimers. Rev. 1.0 — 18 May 2015 373110 © NXP Semiconductors N.V. 2015. All rights reserved. 4 of 17 AN11842 NXP Semiconductors PN7150 BeagleBone Black SBC Kit Quick Start Guide 2. Quick Startup on BeagleBone 2.1 Required items • BeagleBone Black [1] • MicroSD card of at least 4 Gb (8 Gb for Android demo image) • 5V adapter to power the BeagleBone (Note: Micro USB cable doesn’t provide the 5V required by the antenna supply of the OM5578/PN7150S board. Without it no RF field can be generated by the OM5578). • USB Keyboard • USB Mouse • USB Hub to connect both Mouse and Keyboard to the BeagleBone • HDMI cable to connect to a Monitor / TV • Computer (running Windows, Linux or Mac OS X) for MicroSD card installation • BeagleBone demo image file (see [6]) 2.2 Hardware setup First of all assemble the PN7150 NFC Controller Board with the BeagleBone Interface Board. Fig 2. AN11842 Application note COMPANY PUBLIC OM5578/PN7150S BeagleBone configuration All information provided in this document is subject to legal disclaimers. Rev. 1.0 — 18 May 2015 373110 © NXP Semiconductors N.V. 2015. All rights reserved. 5 of 17 AN11842 NXP Semiconductors PN7150 BeagleBone Black SBC Kit Quick Start Guide Then stacked together the boards with the BeagleBone. Fig 3. OM5578/PN7150S and BeagleBone Black stacked together 2.3 Software setup Prepare a MicroSD card, with the downloaded BeagleBone demo image (see [6]), following the installation guidelines. First extract the “.img” file from the archive, then flash it on the microSD card according to below guidelines. 2.3.1 On Windows Insert the MicroSD card into your computer (note the device drive letter), and using Win32 Disk Imager, write the image into it: Fig 4. AN11842 Application note COMPANY PUBLIC Win32 Disk Imager All information provided in this document is subject to legal disclaimers. Rev. 1.0 — 18 May 2015 373110 © NXP Semiconductors N.V. 2015. All rights reserved. 6 of 17 AN11842 NXP Semiconductors PN7150 BeagleBone Black SBC Kit Quick Start Guide 2.3.2 On Linux Insert the MicroSD card into your computer and determine the device node assigned to it (ignore the device number; e.g. /dev/sdb, not sdb1): $ sudo dmesg | tail -20 $ sudo dmesg | tail -20 [95300.848154] usb 2-1: new high-speed USB device number 33 using ehci-pci [95300.983859] usb 2-1: New USB device found, idVendor=14cd, idProduct=6d00 [95300.983872] usb 2-1: New USB device strings: Mfr=1, Product=3, SerialNumber=2 [95300.983880] usb 2-1: Product: USB 2.0 SD/MMC READER [95300.983888] usb 2-1: Manufacturer: SDMMC M121 [95300.983895] usb 2-1: SerialNumber: 800340070270 [95300.984593] usb-storage 2-1:1.0: USB Mass Storage device detected [95300.984882] scsi18 : usb-storage 2-1:1.0 [95301.985555] scsi 18:0:0:0: Direct-Access USB 2.0 SD/MMC Reader PQ: 0 ANSI: 0 CCS [95301.986856] sd 18:0:0:0: Attached scsi generic sg2 type 0 [95301.988277] sd 18:0:0:0: [sdb] Attached SCSI removable disk Fig 5. Identifying device number under Linux Then, unmount the device node using following command: sudo umount /dev/devicenode Finally flash the image to the device node using following command: sudo dd if=path_to_image_file.img of=/dev/devicenode bs=1M 2.3.3 On MAC OS X Using PiFiller (see www.nxp.com/redirect/learn.adafruit.com/beaglebone-black-installingoperating-systems/mac-os-x), select the image file then insert the MicroSD card into your computer to flash it. AN11842 Application note COMPANY PUBLIC All information provided in this document is subject to legal disclaimers. Rev. 1.0 — 18 May 2015 373110 © NXP Semiconductors N.V. 2015. All rights reserved. 7 of 17 AN11842 NXP Semiconductors PN7150 BeagleBone Black SBC Kit Quick Start Guide 2.4 Linux NFC demo application 2.4.1 Application details The demo application is part of the Linux libnfc-nci stack available on public GitHub repository https://github.com/NXPNFCLinux/linux_libnfc-nci. The related source code can then be found there (more details in document AN11697 [2]). 2.4.2 Starting Linux NFC demo Insert the MicroSD card in the BeagleBone. Connect HDMI Display, mouse and keyboard via the USB Hub. Finally supply the BeagleBone using 5V adapter. The BeagleBone boots and displays the bone-debian GUI: Fig 6. bone-debian GUI Open a terminal and browse to the Linux libnfc-nci stack directory (refer to chapter 1.2 for more details about the Linux NFC software stack). $ cd ~/linux_libnfc-nci The application requires parameters to run: $ ./nfcDemoApp <OPTIONS> You can get the parameters details by launching the application help menu: $ ./nfcDemoApp –-help AN11842 Application note COMPANY PUBLIC All information provided in this document is subject to legal disclaimers. Rev. 1.0 — 18 May 2015 373110 © NXP Semiconductors N.V. 2015. All rights reserved. 8 of 17 AN11842 NXP Semiconductors PN7150 BeagleBone Black SBC Kit Quick Start Guide Fig 7. Linux demo application commands The demo application offers 3 modes of operation: 2.4.2.1 • Polling: continuously waiting for a remote NFC device (tag or peer device) and displays related information • Tag writing: allows writing NDEF content to a NFC tag • Device push: allows pushing NDEF content to a remote NFC peer device Polling mode When in this mode, the application will display information of any discovered NFC tags or remote NFC device. It is reached starting the application with “poll” parameter: $ ./nfcDemoApp poll Fig 8. AN11842 Application note COMPANY PUBLIC Linux demo application polling mode All information provided in this document is subject to legal disclaimers. Rev. 1.0 — 18 May 2015 373110 © NXP Semiconductors N.V. 2015. All rights reserved. 9 of 17 AN11842 NXP Semiconductors PN7150 BeagleBone Black SBC Kit Quick Start Guide 2.4.2.2 Tag writing mode This mode allows writing data to an NFC tag. It is reached using “write” parameter: $ ./nfcDemoApp write <OPTIONS> Fig 9. Linux demo application tag writing mode You can get more information about the message format using “-h” or “--help” parameter: $ ./nfcDemoApp write –-help 2.4.3 Device push mode This mode allows pushing data to a remote NFC device (e.g. an NFC phone). It is reached using “push” parameter: $ ./nfcDemoApp push <OPTIONS> AN11842 Application note COMPANY PUBLIC All information provided in this document is subject to legal disclaimers. Rev. 1.0 — 18 May 2015 373110 © NXP Semiconductors N.V. 2015. All rights reserved. 10 of 17 AN11842 NXP Semiconductors PN7150 BeagleBone Black SBC Kit Quick Start Guide Fig 10. Linux demo application device push mode You can get more information about the message format using “-h” or “--help” parameter: $ ./nfcDemoApp push –-help 2.5 Android NFC demo Insert the MicroSD card in the BeagleBone. Connect HDMI Display, mouse and keyboard via the USB Hub. Finally supply the BeagleBone using 5V adapter. After a few seconds Android boots up, NFC is then running, ready to read tags or interact with remote NFC device (e.g. NFC phone). Fig 11. Android home screen AN11842 Application note COMPANY PUBLIC All information provided in this document is subject to legal disclaimers. Rev. 1.0 — 18 May 2015 373110 © NXP Semiconductors N.V. 2015. All rights reserved. 11 of 17 AN11842 NXP Semiconductors PN7150 BeagleBone Black SBC Kit Quick Start Guide You can enable/disable the NFC function via “Settings/Wireless & Network/More…” Fig 12. Android “Setting/Wireless&Network” menu Using provided NXP TagInfo and NXP TagWriter applications you can get information from discovered tag and write content. Fig 13. Android applications AN11842 Application note COMPANY PUBLIC All information provided in this document is subject to legal disclaimers. Rev. 1.0 — 18 May 2015 373110 © NXP Semiconductors N.V. 2015. All rights reserved. 12 of 17 AN11842 NXP Semiconductors PN7150 BeagleBone Black SBC Kit Quick Start Guide Fig 14. Android TagInfo application Fig 15. Android TagWriter application AN11842 Application note COMPANY PUBLIC All information provided in this document is subject to legal disclaimers. Rev. 1.0 — 18 May 2015 373110 © NXP Semiconductors N.V. 2015. All rights reserved. 13 of 17 AN11842 NXP Semiconductors PN7150 BeagleBone Black SBC Kit Quick Start Guide 3. References [1] BeagleBone is a low-power open-source hardware single-board credit-card-sized Linux computer that connects to the Internet and runs software such as Android and Ubuntu. With plenty of I/O and processing power for real-time analysis provided by a 720MHz ARM® processor based SoC (System on Chip), BeagleBone can be complemented with cape plug-in boards to augment functionality. For more information about it please visit www.nxp.com/redirect/beagleboard.org/bone [2] AN11697 PN71x0 Linux Software Stack Integration Guidelines: http://www.nxp.com/documents/application_note/AN11697.pdf [3] AN11690 NXPNCI Android Porting Guidelines: http://www.nxp.com/documents/application_note/AN11690.pdf [4] UM10935 PN7150 NFC Controller SBC Kit User Manual: http://www.nxp.com/documents/user_manual/UM10935.pdf [5] Android is an open-source software stack for a wide range of mobile devices and a corresponding open-source project led by Google. For more information about it please visit www.nxp.com/redirect/source.android.com/ [6] BeagleBone Linux demo image: https://nxp.box.com/OM5578-PN7150BBB-Linux BeagleBone Android KitKat demo image: https://nxp.box.com/OM5578PN7150BBB-KitKat AN11842 Application note COMPANY PUBLIC All information provided in this document is subject to legal disclaimers. Rev. 1.0 — 18 May 2015 373110 © NXP Semiconductors N.V. 2015. All rights reserved. 14 of 17 AN11842 NXP Semiconductors PN7150 BeagleBone Black SBC Kit Quick Start Guide 4. Legal information 4.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. 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. 4.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. AN11842 Application note COMPANY PUBLIC 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. 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. 4.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. 4.4 Trademarks Notice: All referenced brands, product names, service names and trademarks are property of their respective owners. MIFARE — is a trademark of NXP Semiconductors N.V. All information provided in this document is subject to legal disclaimers. Rev. 1.0 — 18 May 2015 373110 © NXP Semiconductors N.V. 20154. All rights reserved. 15 of 17 AN11842 NXP Semiconductors PN7150 BeagleBone Black SBC Kit Quick Start Guide 5. List of figures Fig 1. Fig 2. Fig 3. Fig 4. Fig 5. Fig 6. Fig 7. Fig 8. Fig 9. Fig 10. Fig 11. Fig 12. Fig 13. Fig 14. Fig 15. OM5578/BBB kit overview ................................ 3 OM5578/PN7150S BeagleBone configuration .. 5 OM5578/PN7150S and BeagleBone Black stacked together ............................................... 6 Win32 Disk Imager............................................ 6 Identifying device number under Linux ............. 7 bone-debian GUI............................................... 8 Linux demo application commands ................... 9 Linux demo application polling mode ................ 9 Linux demo application tag writing mode ........ 10 Linux demo application device push mode ..... 11 Android home screen ...................................... 11 Android “Setting/Wireless&Network” menu ..... 12 Android applications ........................................ 12 Android TagInfo application ............................ 13 Android TagWriter application ......................... 13 AN11842 Application note COMPANY PUBLIC All information provided in this document is subject to legal disclaimers. Rev. 1.0 — 18 May 2015 373110 © NXP Semiconductors N.V. 2015. All rights reserved. 16 of 17 AN11842 NXP Semiconductors PN7150 BeagleBone Black SBC Kit Quick Start Guide 6. Contents 1. 1.1 1.2 1.3 2. 2.1 2.2 2.3 2.3.1 2.3.2 2.3.3 2.4 2.4.1 2.4.2 2.4.2.1 2.4.2.2 2.4.3 2.5 3. 4. 4.1 4.2 4.3 4.4 5. 6. Introduction ......................................................... 3 OM5578/PN7150BBB demo kit .......................... 3 Linux driver support............................................ 3 Android driver support ........................................ 4 Quick Startup on BeagleBone ............................ 5 Required items ................................................... 5 Hardware setup .................................................. 5 Software setup ................................................... 6 On Windows ....................................................... 6 On Linux ............................................................. 7 On MAC OS X .................................................... 7 Linux NFC demo application .............................. 8 Application details .............................................. 8 Starting Linux NFC demo ................................... 8 Polling mode ...................................................... 9 Tag writing mode.............................................. 10 Device push mode ........................................... 10 Android NFC demo .......................................... 11 References ......................................................... 14 Legal information .............................................. 15 Definitions ........................................................ 15 Disclaimers....................................................... 15 Licenses ........................................................... 15 Trademarks ...................................................... 15 List of figures..................................................... 16 Contents ............................................................. 17 Please be aware that important notices concerning this document and the product(s) described herein, have been included in the section 'Legal information'. © NXP Semiconductors N.V. 2015. All rights reserved. For more information, visit: http://www.nxp.com Date of release: 18 May 2015 373110 Document identifier: AN11842