NFC Knowledge Base

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

NFC Knowledge Base

Discussions

Sort by:
Hardware: 1. i.MX6ULL EVK board   2. OM27160A1HN   Software: 1. Build the Yocto Linux BSP for i.MX6ULL EVK. Here are the steps: $ mkdir L6.6.36_2.1.0 $ cd L6.6.36_2.1.0 $ repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-scarthgap -m imx-6.6.36-2.1.0.xml $ repo sync   $ DISTRO=fsl-imx-xwayland MACHINE=imx6ull14x14evk source imx-setup-release.sh -b build-for-6ullevk $ bitbake core-image-full-cmdline   2. Add the nxpnfc driver to kernel After the BSP build succeed, the kernel source code is located here: L6.6.36_2.1.0/build-for-6ullevk/tmp/work/imx6ull14x14evk-poky-linux-gnueabi/linux-imx/6.6.36+git/git/   Clone the nxpnfc repository into the kernel directory, replacing existing implementation: $ cd L6.6.36_2.1.0/build-for-6ullevk/tmp/work/imx6ull14x14evk-poky-linux-gnueabi/linux-imx/6.6.36+git/git/ $ rm -rf drivers/nfc $ git clone https://github.com/NXPNFCLinux/nxpnfc.git drivers/nfc  This will end-up with the folder drivers/nfc containing the following files: • README.md: repository information • Makefile: driver heading makefile • Kconfig: driver configuration file • LICENSE: driver licensing terms • i2c_devicetree.txt: example of I²C device tree definition • spi_devicetree.txt: example of SPI device tree definition • nfc sub folder containing: – Makefile: – common.c: generic driver implementation – common.h: generic driver interface definition – i2c.c: I2C specific driver implementation – i2c.h: I2C specific driver interface definition – spi.c: SPI-specific driver implementation – spi.h: SPI-specific driver interface definition   Through kernel menuconfig procedure include the targeted driver to the build, as built-in (<*>): $ bitbake linux-imx -c menuconfig <*> NFC I2C Slave driver for NXP-NFCC       3. Connection between i.MX6ULL EVK and the PN7160 There are some pins on the Arduino header on the i.MX6ULL EVK board can be used to connect the PN7160 board. Below is the schematic of the Arduino headers on the i.MX6ULL EVK board. The two I2C2 pins can be used for I2C connection. The UART2_RX, UART2_TX and UART2_RTS can be changed to GPIO for connecting IRQ, VEN and DWL_REQ of PN7160, respectively. Below is the J1704 and J1703 on the EVK board.   Below is the schematic of Arduino interface on OM27160A1HN. There is a connector board (OM29110ARD-B). The OM27160A1HN is connecting on top of it. Below is the connectors board schematic. So, on the i.MX6ULL EVK board, we need I2C2 SDA and I2C2 SCL for I2C connections. And 3 GPIO pins for PN7160's IRQ, VEN and DWL_REQ. Here is the connection between i.MX6ULL EVK and OM29110ARD-B. OM29110ARD-B pin i.MX6ULL EVK pin I2C_SCL J2-1 I2C2_SCL J1704-10 I2C_SDA J2-2 I2C2_SDA J1704-9 GPIO_0 J2-10 GPIO1_21 J1703-1 GPIO_1 J4_1 GPIO1_20 J1703-2 GPIO_2 J4_2 GPIO1_25 J1703-3 3.3V J1-4 3.3V J1705-4 5V J1-5 5V J1705-5 GND J1-6 GND J1705-6      4. Modify the device tree file of i.MX6ull evk. The device tree file for i.MX6ULL evk is imx6ul-14x14-evk.dtsi. The location of the device tree file is here: L6.6.36_2.1.0/build-for-6ullevk/tmp/work/imx6ull14x14evk-poky-linux-gnueabi/linux-imx/6.6.36+git/git/arch/arm/boot/dts/nxp/imx/imx6ul-14x14-evk.dtsi   As we don't use the UART2, we disabled it. &uart2 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart2>; uart-has-rtscts; /* for DTE mode, add below change */ /* fsl,dte-mode; */ /* pinctrl-0 = <&pinctrl_uart2dte>; */ status = "disabled"; // <--- change the status to "disabled" bluetooth { compatible = "nxp,88w8987-bt"; }; };   Put the below nxpnfc under the &I2C2 node. nxpnfc: nxpnfc@28 { compatible = "nxp,nxpnfc"; reg = <0x28>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_nfcgpio>; nxp,nxpnfc-irq = <&gpio1 21 0>; nxp,nxpnfc-ven = <&gpio1 20 0>; nxp,nxpnfc-fw-dwnld = <&gpio1 25 0>; };   Like this: Add the gpios for nxpnfc. pinctrl_nfcgpio: nfcgpiogrp { fsl,pins = < MX6UL_PAD_UART2_RX_DATA__GPIO1_IO21 0xb0 //irq MX6UL_PAD_UART2_TX_DATA__GPIO1_IO20 0xb0 //ven MX6UL_PAD_UART3_RX_DATA__GPIO1_IO25 0xb0 //dwld req >; };     5. Re-compile the kernel and the whole image. $ bitbake linux-imx -c compile $ bitbake core-image-full-cmdline     6. Using UUU to program the image to the board. The built image is .wic.zst file. We need to program it to the board. It is located in the deploy folder below. L6.6.36_2.1.0/build-for-6ullevk/tmp/deploy/images/imx6ull14x14evk/core-image-full-cmdline-imx6ull14x14evk.rootfs-20241113103828.wic.zst   Download the UUU.exe from here: https://github.com/nxp-imx/mfgtools/releases   Download the Demo image for i.MX6ULL EVK from the Linux BSP web page.   Unzip the demo image file to a folder. And then copy the UUU.exe to the same demo image folder.   Connect the board to your PC using the USB cable. Switch the boot mode to "Serial Downloader mode"   On the PC side, run the below command to program the image to SD card on the i.MX6ULL EVK. uuu -b sd_all core-image-full-cmdline-imx6ull14x14evk.rootfs-20241112083235.wic.zst   Then switch the boot mode to "Internal Boot (Development)". Restart the board. Now, you can login as "root" and use the board. And you can see the nxpnfc driver is properly loaded.     7. Build the NFC Library and the nfcDemoApp in Yocto In the Yocto's sources directory, download the meta-nxp-nfc layer from https://github.com/NXPNFCLinux/meta-nxp-nfc     $ git clone https://github.com/NXPNFCLinux/meta-nxp-nfc.git  Then, the NFC library recipe is located in L6.6.36_2.1.0/sources/meta-nxp-nfc/recipes-nfc/nxp_nfc. Change the recipe nxp-nfc_git.bb as below: # Copyright (C) 2016 NXP Semiconductors DESCRIPTION = "Linux NFC stack for NCI based NXP NFC Controllers." LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI = " \ git://github.com/NXPNFCLinux/linux_libnfc-nci.git;branch=NCI2.0_PN7160;protocol=https \ " SRCREV = "6bf9f42b94e267f6384043009bda84c11e7ebbaa" SRC_URI[sha256sum] = "47bdc27108fc8d66ce5d6c33f76b419cdef20c24b9e187ada8e689d1bd7f79c7" inherit autotools pkgconfig lib_package S = "${WORKDIR}/git"   Add the meta-nxp-nfc layer to the build definition. Updating file build_dir/conf/bblayers.conf with: BBLAYERS += " ${BSPDIR}/sources/meta-nxp-nfc"   Build meta-nxp-nfc layer:     $ bitbake nxp-nfc After build succeed, the library files and the nfcDemoApp are located in here : L6.6.36_2.1.0/build-for-6ullevk/tmp/work/cortexa7t2hf-neon-poky-linux-gnueabi/nxp-nfc/git/   Use the "scp" command to copy the files to the EVK board via the Network. If the folder is not exist on the EVK, please use "mkdir" to make the folder on the EVK first. Then use the "scp" command.  Here is the example: (**The IP address below should change to your EVK's IP address.) scp build/.libs/* root@10.192.246.136:/.libs/ scp image/etc/libnfc* root@10.192.246.136:/etc/   scp image/usr/lib/* root@10.192.246.136:/usr/lib     On the EVK board: root@imx6ull14x14evk:/# mkdir /usr/local root@imx6ull14x14evk:/# mkdir /usr/local/etc root@imx6ull14x14evk:/# cp /etc/libnfc-nci.conf /usr/local/etc   Now, you can run the nfcDemoApp on the i.MX6ULL EVK. root@imx6ull14x14evk:/# cd .libs/ root@imx6ull14x14evk:/.libs# ./nfcDemoApp poll       References: 1. i.MX Yocto Project User's guide 2. PN7160 Linux Porting Guide 3. MCIMX6ULL-EVK_DESIGNFILES 4. OM27160A1HN Hardware Design Files 5. OM29110 NFC’s SBC Interface Board Design Files 6. PN7150 NFC Controller on i.MX8M mini evk running Yocto
View full article
Recently NXP released a combined NCI stack for both PN7160 and Pn7220. The newest Android 14 porting guide AN14430 brings the two (PN7160 and PN7220) together.   The pros are it is easy to maintain, and faster integration and switching between products.  The cons are when you are using PN7160, you will see for APIs for PN7220, including EMVCo and TDA API. When you are using PN7220 also APIs for PN7160 can be seen (card emulation on PN7160).  Some customers maybe have some compile issues. This article is a step-by-step guide on how to build AOSP for PN7160 with the new combined NCI stack.  1        Get AOSP for i.MX Nano Follow Android porting guide. https://www.nxp.com/docs/en/user-guide/ANDROID_USERS_GUIDE.pdf The folder structure after AOSP download.    2     Add AOSP changes. Now we need to add NFC changes into AOSP.  This is the same for all AOSP codebases. (not device specific)               User needs to copy the following folders to specific location.            Those directories we cloned according to AN14430, now we will move the content of them into correct folder in AOSP code.   nfcandroid_platform_reference    . cd nfcandroid_platform_reference    . cp -rf vendor/nxp/*  ../android_build/vendor/nxp/   .nxp_nci_hal_libnfc-nci    . cd nxp_nci_hal_libnfc-nci    . cp -rf *  ../android_build/system/nfc/   .nxp_nci_hal_nfc    . cd nxp_nci_hal_nfc    . cp -rf  * ../android_build/packages/apps/Nfc/   .nfcandroid_frameworks    . cd nfcandroid_frameworks    . mkdir ../android_build/vendor/nxp/frameworks    . cp -rf  *  ../android_build/vendor/nxp/frameworks   .nfcandroid_emvco_aidlimpl    . cd nfcandroid_frameworks    . mkdir ../android_build/hardware/nxp/emvco    . cp -rf  *  ../android_build/hardware/nxp/emvco   .nfcandroid_nfc_hidlimpl    . cd nfcandroid_nfc_hidlimpl    . cp -rf *  ../android_build/hardware/nxp/nfc   .nfcandroid_infra_comm_libs    . cd nfcandroid_infra_comm_libs     . cp -rf nfc_tda/ ${MY_ANDROID}/system    . cp -rf emvco_tda/emvco_tda_test/    ${MY_ANDROID}/hardware/nxp/emvco/    3   Apply AOSP patches please see AN14430, page10        4    Adding the driver support. Create a folder named pn7160 under android_build/vendor/nxp-opensource/kernel_imx/drivers/nfc       Copy below kernel drivers file from “nfcandroid_platform_drivers/drivers/pn7160/nfc/nfc “ into  “android_build/vendor/nxp-opensource/kernel_imx/drivers/nfc/pn7160/” Common.c  common.h   i2c_drv.c  i2c_drv.h spi_drv.h  spi_drv.c  Makefile  Kconfig Result of copying:     Modify makefile Replace Makefile default code with following code,  only add i2c for simplifying.      Now we need to add pn7160 Makefile and Kconfig to main Makefile and Kconfig     Makefile     Kconfig     5    Adding device tree Device tree is important since we need to tell our controller which pins we want to use for communication (this is always different between host controllers) The device tree need to be added into: “vendor/nxp-opensource/kernel_imx/arch/arm64/boot/dts/freescale” Create file with name “imx8mn-evk-pn7160.dts”, open the file and add following lines:       Next task is to add .dts file into Makefile in the following location: . vendor/nxp-opensource/kernel_imx/arch/arm64/boot/dts/freescale Open Makefile and add:   Final step is to add NXP_NCI_I2C as module in following file: . vendor/nxp-opensource/kernel_imx/arch/arm64/configs/imx8mn_gki.fragment Open imx8mn_gki.fragment and add:     6    Add device specific changes          The location of the device specific changes in under folder            . device/nxp/imx8m/evk_8mn 6.1 BoardConfig.mk          6.2 ShareBoardConfig.mk      6.3 compatibility_matrix.xml    6.4 device_framework_matrix.xml      6.5 evk_8mn.mk Add .mk files to specific device.mk and some product package directly to device.mk file so everything is build together with Android.       6.6 init.rc       6.7manifest.xml     6.8 ueventd.nxp.rc        Add permissions for drivers      7    Additional change in compatibility matrix Put changes into hardware/interfaces/compatibility_matrices Compatibility_matrix_8.xml      8    add changes into NXP mk files . android_build/vendor/nxp/nfc/device-nfc.mk          .android_build/vendor/nxp/emvco/device-emvco.mk    9    Build Android This can be different for specific device hosts .source build/envsetup.sh .lunch evk_8mn-userdebug .  ./imx-make.sh  bootloader kernel  -j          //This will build driver inside kernel etc. . make -j   //Build AOSP code    10    Possible build failures   This error resulted from the incompatibility of file Kconfig, please use dos2unix command to fix it.    For some other redefine issues, please do the following. Go into file hardware/nxp/nfc/snxx/ Name Android.bp to _Android.bp Go into hardware/nxp/nfc/snxx/halimpl/power-tracker/ Name Android.bp to _Android.bp Go into file hardware/nxp/secure_element/snxxx/aidl/ Name Android.bp to _Android.bp Remove : pn8xx from hardware/nxp/ Remove : frameworks/base/core/res/res/values/config.xml.orig   11 Hardware setup     12    Download build and flash images   Go into “android_build/out/target/product/evk_8mn” and download all files without folders . When downloaded, open following two files and add: .in fastboot_imx_flashall.bat   .in uuu_imx_android_flash.bat   Change switches on i.MX8M Nano .    Flashing Android: when flashing Android images .    Running Android:  when images are flashed, put switches to Running Android and Android OS will start.   Flash images .  Put i.MX8 to “Flash Android” .  Open a PowerShell as admin in the location where download images are .  Running following command .  ./uuu_imx_android_flash.bat -f imx8mn -a -d pn7160   13  Firmware update   Download the FW from Github Open terminal at the FW location Run the following commands   • adb push libpn7160_fw.so vendor/lib64/libpn7160_fw.so (for 64-bit version) and adb                  push libpn7160_fw.so vendor/lib/libpn7160_fw.so (for 32-bit version) • adb shell svc nfc disable • adb shell svc nfc enable        References:   PN7160/PN7220 – Android 14 porting guide  
View full article
The Raspberry Pi Foundation released the Raspberry Pi 5 in October 2023, Raspberry Pi 5 features the Broadcom BCM2712 quad-core Arm Cortex A76 processor @2.4GHz, making it up to three times fast than Raspberry Pi 4.   The latest version of Raspberry Pi OS is Bookworm. However, some customers found the PN7160 is not detected over I2C/SPI on the Raspberry Pi 5. Running "i2cdetect -y 1" produces a blank table, and running "nfcDemoApp poll" results in an "nfcservice init fail" message. The incompatibility appears to be between the PN7160 and the new Raspberry Pi OS—Bookworm.  This reason is Raspberry Pi OS received a major update in Linux Kernel 6.6,  the classic way of GIPO handling no long work.   In step 6, a new GPIO interface is introduced to resolve the incompatibility issue. This article is a step-by-step guide to port PN7160 NCI2 stack to Raspberry Pi OS--Bookworm.   Hardware setup: For detail information about Raspberry Pi 5, please refer to below link.  https://www.raspberrypi.com/products/   The PN7160 EVK board must be connected to Raspberry Pi using the following instructions:   Raspberry Pi 5 board pin NFC controller board signal #1 3.3V PWR VDD (PAD) +5V VBAT and VDD (UP) #16 GPIO23 IRQ #18 GPIO24 VEN #22 DWL_REQ #6 GND #5 I2C_SCL #3 I2C_SDA     This matches the Raspberry Pi version of OM27160A1EVK (I2C variant).  The kit can then be plugged on Raspberry Pi 5 board to run the example. First of all, assemble the PN7160 NFC controller board (OM27160A1HN or OM27160B1HN) with the Raspberry Pi interface board (OM29110RPI)      Then stacked together the boards with the Raspberry Pi board.     Software Setup: 1    Install Rasp 5 OS -Bookworm We use Raspberry Pi Imager tool to install Raspberry Pi OS (64bit, Bookworm). Click choose device and select Raspberry Pi 5, next click choose OS and select an operating system –Raspberry Pi OS (64-bit) , and select Micro SD card. Next we can write the Image to the Micro SD card.   2 Enable i2c interface 1). Run command:     sudo raspi-config     2). Use the down arrow to select "Interface Options"   3). Arrow down to "I5 I2C"     4). Select "yes" when it asks you to enable I2C 5). Use the right arrow to select the <Finish> button To verify the i2c interface is enabled, enter the following command: $ ls /dev/i2c* The Pi should respond with “ /dev/i2c-1” which represents the user-mode i2c interface to which is connected the PN7160    3 Install necessary tools   We need to use APT commands to install , update software package in Raspberry Pi OS, please refer to  below link. https://www.raspberrypi.com/documentation/computers/os.html Libtool needs to be installed to run the NCI stack.    4 Clone Linux libnfc-nci library repository NFC NCI library is available from the following repository: https://github.com/NXPNFCLinux/linux_libnfc-nci $ git clone https://github.com/NXPNFCLinux/linux_libnfc-nci.git -b NCI2.0_PN7160     5 Apply 64bit patch To install on 64bit OS, we need to apply 64bit patch.  It is under folder linux_libnfc-nci/64bit_patch/ROOT_src.patch   6 Modifications for GPIO Raspberry Pi OS (Bookworm) received a major update which includes the Linux kernel 6.6.   In the new OS update, the classic way of interfacing with GPIO has been deprecated.  Unfortunately our PN7160 NCI stack still interact with GPIO using /sys/class/gpio pseudo-filesystem,  low level control of GPIOs no longer work with Bookworm.  So we need to use the new GPIO interface on the Raspberry PI: libgpiod.  At this point Raspberry OS with a kernel 6.6 both libgpiod and gpiod are not pre-packaged and we need to install them.   6.1  Installation of gpiod tools We can look more into what is installed   The output of gpioinfo reports all of the available GPIO lines, by default for all chips. 6.2 Installation of the gpio libraries If we want to install libraries for development we need to do the following   Here is the info on libgpiod-dev     The development package installs the C libraries and header files for us to use. Namely, the /usr/include/gpiod.h C header file and the /usr/lib/arm-linux-gnueabihf/libgpiod.so Shared Library.   6.3 Modifications in PN7160 NCI2 library. In source code, we need to add the gpiod library support 6.3.1 Makefile.am    6.3.2 src/nfcandroid_nfc_hidlimpl/halimpl/tml/transport/NfccAltTransport.cc    ......     and src/nfcandroid_nfc_hidlimpl/halimpl/tml/transport/NfccAltTransport.h   If you need the modified source code files, please let me know. I can send the source code changes to you.    7 Configure the library       8 Set the library to map i2c interface   9 Build and install the library   $ make $ sudo make install $ export LD_LIBRARY_PATH=/usr/local/lib   10 Run & Verify the NFC functionality     This demo works as expected.   Summary: Porting PN7160 NCI2 stack to Raspberry Pi 5, we need to follow PN7160 Linux porting guide and update the classic GPIO interface to gpiod libraries.   Happy porting 😊
View full article
  Some customers are trying to update the user firmware on PN7642 through host interface and using “DownloadLibEx1” demo,  and they are using SFWUMaker to create .esfwu file from .bin followed the readme file but failed to do a firmware update. Here is a step-by-step guide to do it. I will use the SDK led blinky demo,  and generate an Esfwu file , and program it into PN7642 board with LPC5516 host.  Led blinky demo is in PN7642_MCUXpresso_SDK_02-15-00_PUB.  You can download it from PN7642 product page.  Single-Chip Solution with High-Performance NFC Reader, Customizable MCU and Security Toolbox | NXP Semiconductors Step 1: compile pnev7642fama_led_blinky demo Please make sure the flash size is 180KB.  By default,  the output flash size is 180KB with MCUXpresso IDE.     Step 2: Bin file generation The binary (.bin) file is not generated by default, we can do it manually by doing following: Build your target application Open the debug/release folder in MCUXpresso Right-click on the *.axf file Choose 'Binary Utilities' → 'Create binary' in the menu The .bin should appear   Step 3: Make an ESFWU file To convert a bin file to an ESFWU file, we can use the ESFWU Maker Utility (sw810311). It can be downloaded from PN7642 product page. It is a secure file, and you need to have an active NDA to get it.  To run this utility, the toml file is very important.  You need to change the output name and binary name according to your project ,  and  you need to use the correct aes_root_key. For other parameters, we left them unchanged.   3.1   change the output name and binary name   3.2 set the correct aes_root_key The application flashed via SWD is a bin file and NOT encrypted neither is it flashed with our bootloader. The .esfwu file via host interface is encrypted and flashed by our own bootloader.  The keys have to be valid, else the bootloader will not be able to decrypt the received file. Please make sure we are using the right keys to create the user application firmware.  This is crucial and without it, it won’t work anyways. The default keys are mentioned in the datasheet as transport keys. See below picture.  But it is highly recommended to provision your own keys!  Please have a look at the secure key mode application note for further information on that.        If you are not sure whether you have provisioned the root key or not, you can check the SKM state by running SKM demo. if the root key is provisioned, please use the provisioned root key.  From below picture, I can see that the app_root_key is  not provisioned, so I use the default transport key.     3.3  use the EsfwuMaker command to generate the Esfwu file.     After this command, we can get the esfwu file.       Step 4: Secure firmware download   We use the firmware download example to update the PN7642 firmware.  It is in the host software package, it  holds examples to be used with LPC55S16 and MCUXpresso, to interact with the PN7642. The LPC55S16 Host Software can be download from PN7642 product page. LPC55S16 Host Software Version 02.01.00 (nxp.com) To run the demo, we need to edit the firmware location.  In file DownloadLibEx1.c,  about line 60.       Please set the correct hardware settings as below.  we have to stack the PNEV7642A Rev-B development board on top of the LPC55S16-EVK board. Align Pin.1 of J36 of the PNEV7642A Rev-B development board with Pin.1 of J9 of the LPC55 board. The last 4 pins, 17 - 20, of J12 of the LPC board are not connected. As well as pin 1-4 of J10 stay unconnected, as below picture shows.       Run the firmware download Demo with LPC55s16,  see the log output below.  Choose option “6” to update your application firmware. The update may take a while.  At the end, a successful update is indicated by the prompt of “Successful firmware upload ”.         To verify it is successful, we can run this demo, please keep J65 open.  you will see the D7 (RED LED) blinky (0.5 HZ rate). If you need the pnev7642fama_led_blinky.esfwu, please let me know.    
View full article
Introduction NTAG5 offers a powerful energy harvesting feature (up to 30mW). One useful application can be charging the supercapacitor which then might be used as the supply of customer MCU, Sensor, etc.   See the typical schematic below:  C1 and C1P are used for the impedance tuning. The antenna is typically tuned at 13.56 MHz-14MHz.  R1 is used to limit the charging current of the supercapacitor. Its value depends on the selected VOUT voltage, keep in mind that the maximum output current is 12.5 mA.  E.g. VOUT=2.4V, Icharging=10mA -> R1=240 Ohm Keep in mind, that if the charging current is too high and/or the amount of the received magnetic field is not high enough, the VOUT may drop.  D1 should be a low-drop diode e.g. RB520CS30L Used super cap: CPX3225A752D Antenna size  Generally, it is best to attempt to match the tag and the reader antenna geometries for maximum efficiency. A significant difference between the reader and tag antenna dimensions result in bad communication and energy harvesting performance because of the small coupling factor. As smartphone NFC antennas can have different dimensions. It might be challenging to design one NFC Tag antenna that will deliver the best performance for multiple smartphones.  The phone's NFC Antenna dimensions are typically between approximately 25 mm vs 20 mm (NFC Forum Poller Class 6) & 50 mm vs 30 mm (NFC Forum Poller Class 3). Note: But this might be different e.g., iPhones  So customers can consider the following form factors of NFC antennas for their Energy harvesting NTAG5 Link design:  For bigger designs (NFC Forum Listener Class 3):    For circle NFC Antenna ->Outer diameter is approx. 44 mm    For smaller designs (NFC Forum Listener Class 6):  For circle NFC Antenna ->Outer diameter is approx. 25 mm     Tomas Parizek  Customer Application Support 
View full article
Extended NFC Factory Test Application includes:  Get Current value (current measurement in mA) DPC Check (Available from FW. Version 12.50.06) Get AGC Value  Get AGC Value NFCLD (AGC value reading with fixed NFC Level Detector level) Dump EEPROM settings    How to get it:  Just download the app from Github. Replace the "NfcFactoryTestApp.c" with the file which is here in the attachment.  Run the application as described in ->AN13287.   Tomas Parizek  Customer Application Support 
View full article
  NXP offers FW update code as part of the SW6705.   All PN7160 FW versions including ".c" files are available on PN7160 Github.    PN7160 is typically delivered with the initial FW 12.50.05. To ensure full reliable functionality, it is highly recommended to update the FW on 12.50.09 (or latest). The FW update might be also helpful if you need to restore the default EEPROM settings.  The FW source data are inside the sFWudpate folder.  phDnldNfc_UpdateSeq.c -> FW Version 12.50.05 phDnldNfc_UpdateSeq_12_50_09.c -> FW Version 12.50.09 The phDnldNfc_UpdateSeq.c is executed, which means what is inside of this "C" file is pushed to the PN7160 EEPROM.  So, if you want to update from 12.50.05 to 12.50.09. You need to copy content from phDnldNfc_UpdateSeq_12_50_09.c to The phDnldNfc_UpdateSeq.c.  Also, make sure that the content in phDnldNfc_UpdateSeq_12_50_09.c is commended.   Once that's done, you can debug the code.  Then you can check the progress in "Terminal"    Tomas Parizek  Customer Application Support 
View full article
There is a basic GUI for PN7160 RF Settings available.
View full article
In the case, the Reader output power cannot be further reduced with the help of the tuning and TXLDO settings (e.g. EMI reasons)  Then further reduction can be done using DPC settings. The idea is to use just one DPC entry and adjust the GSN value as shown below: DPC Settings:    The DPC Entries (1-19) have been deactivated (Index Activate ->0), and only Entry 00 stays active.    An example (RF Field measured using a scope probe): No DPC, TXLDO 5V    NO DPC, TXLDO 2.7V   DPC Activated, One Entry, GSN-> 0x05   DPC Activated, One Entry, GSN-> 0x01   Please consider that the reading performance will be impacted. 
View full article
How to set the RF Settings can be found in -> https://www.nxp.com/docs/en/application-note/AN13218.pdf The list of the default values + values which shall not be changed is available in the attachment.  Tomas Parizek  Customer Application Support 
View full article
DISCLAIMER APPLICABLE TO THIS DOCUMENT CONTENTS: This post contains a guide of how to use i.MXRT1050 demoboard with other NXP demoboards to demonstrate Secure access to industrial IOT, using NFC, embedded secure element and MCU (see picture below). A ready to use package including preparation of a secure element, and of a MIFARE DESFire EV2 card can be used as 3-step authentication example using symmetric AES keys; a session key will be generated inside SE050 which will be exported to i.MXRT1050 which will handle contactless communication thru CLRC663 plus frontend. This document is structured as follows: Hardware Requirements: Following hardware is required to run the project: i.MXRT1050 EVKB development board plus referred TFT LCD Display BLE-NFC-V2 arduino-friendly board. OM-SE050ARD, embedded secure element arduino-friendly R3 board.   1. Overview of i.MXRT1050 EVKB: The i.MXRT1050 EVKB development board provides the ideal platform for evaluation of and development with the i.MX RT1050 crossover processor, featuring NXP’s advanced implementation of the Arm ® Cortex ® -M7 core. The i.MX RT1050 EVK is a 4-layer through-hole USB-powered PCB. 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, display and other interfaces. This core operates at speeds up to 600 MHz to provide high CPU performance and best real-time response. Support for Amazon FreeRTOS ™ available within the MCUXpresso SDK.The i.MX RT1050 EVK board is now supported by Arm ® Mbed ™ OS and Zephyr ™ OS, both open source embedded operating systems for developing the Internet of Things. i.MXRT1050 EVKB board supported devices Processors and Microcontrollers i.MX RT Series i.MX-RT1050 : i.MX RT1050 Crossover Processor with Arm ® Cortex ® -M7 core Sensors 6-Axis FXOS8700CQ : Digital Motion Sensor - 3D Accelerometer (±2g/±4g/±8g) + 3D Magnetometer Interfaces USB PD-PHY and CC-Logic PTN5110 : USB PD TCPC PHY IC Power Management Load Switches NX3P190UK : Logic controlled high-side power switch NX5P3090UK : USB PD and type C current-limited power switch The i.MXRT1050 EVKB 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 i.MXRT1050 EVKB may also be used with the popular debug probes available from SEGGER and P&E Micro.   As final touch to this demonstrator, one LCD display will be added in order to show "access control" check result when approaching a MIFARE DESFire EV2 card to the Reader antenna, without the use of a computer console.Connection between i.MXRT1050 EVKB board and LCD Display requires attachment of two flat cables, one for touch-screeen functionality and the other for controlling Display itself.   Click here to order Touchscreen LCD Display thru buy direct:                                          P/N: RK043FN02H-CT 12NC:935358709598   2. BLE-NFC-V2: It is easier to use the BLE-NFC-V2 board due to four Arduino compliant male connectors. Current version has only double row-male connectors which imposes that BLE-NFC-V2 board will be the last board stacked on top of other arduino boards. The following figure shows the pin mapping between the two boards.   Pin Function i.MXRT1050  (Arduino connector # - Pin #) CLRC663 plus NFC BLE V2 (Arduino connector # - Pin #) MOSI J24-5 MOSI J10-P14 MISO J24-4 MISO J10-P12 SPI CLK J24-6 SCK J10-P10 SPI CS J24-3 SSEL J10-P16 RESET J22-6 CLRCL_NRST J12-P6 IRQ J22-5 IRQ J12-P8 IFSEL0 J24-7 GND IF0 Via R11 IFSEL1 J25-4 VCC IF1 Via R9 GND J25-6 GND GND J11-P11   Connections between i.MXRT1050 EVKB Board and NFC BLE V2   3 OM-SE050ARD: SE050 Arduino ® Compatible Development Kit The OM-SE050ARD is the flexible and easy-to-use development kit for the EdgeLock™ SE050 Plug & Trust product family. It can be used in various ways for example via the Arduino interface compatible to any board featuring an Arduino compatible header, including many i.MX, LPC and Kinetis ® boards, or via a direct I 2 C connection. This kit allows evaluation of the SE050 product family features and simplifies the development of secure IoT applications. More information can be found in the respective Application Note AN12395. Preparing hardware for "Secure Access to Industrial IOT demo" at i.MXRT1050 EVKB   Reworking i.MXRT1050 EVKB: It is necessary to short circuit 4 empty resistor pads: R278, R279, R280 and R281 – they connect SPI from i.MX1050 until Arduino SPI pads, which will be used by NFC BLE V2 board.   Reworking NFC-BLE V2 board: It is necessary to cut at least one male pin to avoid conflict with OM-SE050ARD board (better would be to cut first 2 pins):   Configuring OM-SE050ARD board jumpers:     Final HW configuration of these three boards altogether: Since NFC BLE V2 has only male connectors, OMSE050ARD board is first connected to i.MX1050 EVKB, then NFC BLE V2 is plugged on top of this latest pcb.       Running "Secure Access to Industrial IOT demo" at i.MXRT1050 EVKB:   If this is the first time you’re using i.MXRT1050 EVKB board, follow this link  i.MXRT1050 board overview . Make sure to install the SDK package for i.MXRT1050 EVKB which is required for the project below to run. Download the following zip package Access_RT_v_1_0_18092019.zip. This file is split in two parts and includes 3 functionalities in one MCUxpresso project: Preparation of MFDFEV2 card The touch screen display will offer three functionalities. By default, the first screen will be "Authenticate" functionality. When you choose the arrow to the right, you'll find TAB with word START, that you'll touch when you need to prepare a MIFARE DESFire EV2 card with suitable application and AES keys used for demonstrator. Just place a virgin card on top of Reader antenna, and press "START" button and check with Terminal on MCUxpresso to check sequence of actions to personalize one DESFire EV2 card. You may also use Teraterm to monitor the execution of DESFire card personalization, by inspecting the COM number used by i.MXRT1050 board.     Preparation of SE050 with proper keys    When you choose the arrow to the left once, you'll find TAB with word Authenticate; if you do it again, then you'll the word "START", which you will touch when you need to prepare a virgin OM-SE050ARD demoboardcard with suitable application and AES keys used for demonstrator. Just press "START" button and check with Terminal on MCUxpresso to check sequence of actions to personalize one SE050 board. You may also use Teraterm to monitor the execution of SE050 key provisioning, by inspecting the COM number used by i.MXRT1050 board. After steps 2.a and 2.b have been done to obtain preparation of one Secure element as well as preparation of one MIFARE DESFire EV2 card, then select using < and > keys the Default Display menu, containing word "Authenticate" : just place DESFire EV2 card on top of NFC antenna and press "Authenticate". If the DESFire EV2 card is the one you have personalized, you'll see a Locker icon that will show "Open locker" , that is "Access granted action". If you place other cards, "Locker icon"will stay closed, that is "Access denied". Again, use MCUxpresso Terminal or use Teraterm to monitor the execution of DESFire EV2 authentication steps with SE050 by inspecting the COM number used by i.MXRT1050 board. Available Resources: Application Note Secure Access to Industrial IoT: https://www.nxp.com/docs/en/application-note/AN12569.pdf  Quick start guide to integration of SE050 with i.MXRT1050 https://www.nxp.com/docs/en/application-note/AN12450.pdf i.MXRT1050 EVKB i.MX RT1050 Evaluation Kit | NXP  BLE-NFC-V2 https://www.nxp.com/products/identification-security/rfid/nfc-hf/nfc-readers/clrc663-iplus-i-and-qn902x-nfc-bluetooth-low-energy-solution-for-consumer-applications:BLE-NFC SE050: www.nxp.com/SE050 Porting guidelines of P&T MW to other non-NXP MCU's:  https://community.nxp.com/t5/Secure-Authentication/Does-the-EdgeLock-SE050-Plug-Trust-middleware-support-non-NXP/m-p/1686723#M1305  https://www.nxp.com/docs/en/application-note/AN12448.pdf  In the attachment area, you'll find:  one bundle zip file split in 2 files: Access RT...zip001.zip and ....zip001.zip. download both files, unzip them in one laptop directory, then you may re-zip them and import in MCUxpresso. They include draft of all three functionalities of secure access to industrial iot hands-on: DESFire EV2 card preparation, SE050 trust provisioning (with keys) and authentication of card with current installed SE050.
View full article
DISCLAIMER APPLICABLE TO THIS DOCUMENT CONTENTS:   This post contains a guide of how to use LPC55S69 demoboard with other NXP demoboards to demonstrate Access control using NFC, one embedded secure element and an MCU (see picture below). A ready to use package including preparation of a secure element, and of a MIFARE DESFire EV2 card can be used as 3-step authentication example using symmetric AES keys; a session key will be generated inside SE050 which will be exported to LPC55S69 which will handle contactless communication thru CLRC663 plus frontend.   This document is structured as follows: Hardware Requirements: Following hardware is required to run the project: LPC55S69-EVK development board. OM-SE050ARD development board. CLEV6630B board or BLE-NFC-V2 board. 1. Overview of LPC55S69-EVK: 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.   2. Overview of OM-SE050ARD demoboard: The OM-SE050ARD is the flexible and easy-to-use development kit for the EdgeLock SE050 Plug & Trust product family. It can be used in various ways for example via the Arduino interface compatible to any board featuring an Arduino compatible header, including many i.MX, LPC and Kinetis boards, or via a direct I 2 C connection. This kit allows evaluation of the SE050 product family features and simplifies the development of secure IoT applications. More information can be found in the respective Application Note AN12395.   2.1 Connections between OM-SE050ARD and LPC55S69 EVK   OM-SE050ARD LPC55S69 (Conn.# - Pin #) Port Function Name SE_SDA (J22-1) P24-6 also P17-3 PIO1_21 FC4_I2C_SDA_ARD SE_SCL (J22-4) P24-5 also P17-1 PIO1_20 FC4_I2C_SCL_ARD +5V_PC (J22-2)     VDD_TARGET GND (J22-3)     GND 2.2 Jumper settings on OM-SE050ARD to connect it to LPC55S69 EVK Connect SE050 to LPC55S Arduino stackable headers and change jumper J14 as: This connects SE_VDD directly to 3V3 and bypasses enable signal. This is required because enable pin on LPC55S coincides with Silex-2401 SPI pins so we cannot use SE_EN signal to drive SE_VDD.   3. Overview of NFC Front end boards working with LPC55S69 EVK board for this example:   3.1 BLE-NFC-V2: It is easier to use the BLE-NFC-V2 board since less changes have to made on the board as compared to the CLEV6630B board. The following figure shows the pin mapping between the two boards. It is advisable to add a pull-up resistor (4k7 to VCC) on CLRC663 plus signal IRQ.   3.2 CLEV6630B board: The CLEV6630B board consists of CLRC663 plus (NFC frontend) connected by default to an LPC1769 µC via SPI. However, the board is made in such a way that the LPC1769 MCU can be bypassed to connect to an external MCU (in our case the LPC55S69) easily. For doing so: Six resistors from the board need to be removed. These are highlighted in red in the Figure 1: Use the SPI pin connectors available on the left-hand side, on the board edge to connect to external MCU (LPC55S69 in this case) Solder jumper wires onto the following pins of CLEV6630B Board:  GND IRQ CLRC_NRST SSEL MOSI MISO SCK IF0 IF1          The CLEV6630B is shown in Figure 2 after the required changes have been made to it (Removal of resistors and soldering of wires).   Now connect the two boards as follows: Signal function LPC55S69 (conn. # - Pin #) Port CLEV6630B MOSI P17-10 PIO0_20 MOSI MISO P17-12 PIO0_19 MISO SPI SCK P17-14 PIO0_21 SCK SPI CSEL P17-6 PIO1_11 SSEL RESET P18-11 PIO0_15 CLRCL_NRST IRQ P18-3 PIO1_10 IRQ GND P17-7   GND  As final touch to this demonstrator, one LCD display will be added in order to show "access control" check result when approaching a MIFARE DESFire EV2 card to the Reader antenna, without the use of a computer console. Connection between LPC55S69 board and LCD Display:   TFT LPC55S69 (Jumper # - Pin #) Port      SPI_CLK D13 (P17-9) PIO1_2      SPI_MISO D12 (P17-11) PIO1_3      SPI_MOSI D11 (P17-13) PIO0_26      SPI_CS_TFT D10 (P17-15) PIO1_1      GPIO_LCD_BL D9 (P17-17) PIO1_5      GPIO_LCD_DC D7 (P18-1) PIO1_9 5V 5V   GND GND     Click here to order 2.8 inch TFT Display from Waveshare: P/N: 2.8 inch TFT Touch Shield Brand       4. Running "Secure Access to Industrial IOT demo" at LPC55S69:   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 ‘demobinaries.zip' package which you will find attached to this post. This zip file contains 2 bin files: ex_prepareCard.bin - upload this binary file to LPC55S69 when you need to prepare a MIFARE DESFire EV2 card with suitable application and AES keys used for demonstrator. Upload bin file to LPC55S69 by using MCUxpresso. Just place a virgin card on top of Reader antenna, and reset MCU board by clicking on "RESET KEY" push button. ex_prepareSe050.bin - upload this binary file to LPC55S69 when you need to prepare a new SE050 with suitable AES keys to be used in this demo. Just  upload binary using MCUxpresso; connect a virgin OM-SE050ARD on LPC55S69 arduino connectors, connect micro USB connector to MCU board, and reset MCU by clicking "RESET KEY". After steps 2.1 and 2.2 have been done to obtain preparation of one Secure element as well as preparation of one MIFARE DESFire EV2 card, then upload the next bin file to LPC55S69 using MCUxpresso: ex_Ev2Auth_se05x.bin Alternatively, you can import the whole project in your MCUxpresso environment. Download the file EmbeddedWorld2019DemoLatest.zip at end of this page. Import this zip file project in MCUxpresso environment 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: PICTURE TO BE UPDATED MCUXPRESSO PICTURE TO BE UPDATED The project should be running now. The project contains a closed loop that tries to check presence of a card on top of Reader. Here is how the output looks like in LCD Display. Press the button reset, and you will see the text "Secure Access to Industrial IOT demo 2019" PICTURE TO BE UPDATED Then press the button "Wake-up". Afterwards NFC reader will enter in a loop in which he will look for a card to authenticate. If there are no cards, he will soon show the red allert with text "Access denied" Bring any NFC card near the frontend’s antenna (or in presence of no card) LCD display will show a message in RED "ACCESS DENIED". PICTURE TO BE UPDATED Only in case the "prepared DESFire EV2" card is placed on top of reader, in the picture below, we can see message in GREEN "ACCESS GRANTED" PICTURE TO BE UPDATED.     Available Resources: Porting NFC Reader Library to i.MX RT1050. (Detailed Description of porting) https://community.nxp.com/docs/DOC-341843 LPC55S69 https://www.nxp.com/products/processors-and-microcontrollers/arm-based-processors-and-mcus/lpc-cortex-m-mcus/lpc5500-cortex-m33/lpcxpresso55s69-development-board:LPC55S69-EVK BLE-NFC-V2 https://www.nxp.com/products/identification-security/rfid/nfc-hf/nfc-readers/clrc663-iplus-i-and-qn902x-nfc-bluetooth-low-energy-solution-for-consumer-applications:BLE-NFC CLEV6630B Product Information|NXP  SE050: www.nxp.com/SE050
View full article
The PN5180 offers a low-power card detection (LPCD) feature, which allows to power down the reader for a certain period of time to safe the energy. After this time the reader must become active again to poll for the cards. If no card has been detected, the reader can go back to the power down state. PN5180 LPCD cycle time includes standby time and VBAT time. In a normal case, standby time is 200ms (user can define it),   standby current is 15uA, VBATON current is 7500uA, FieldON current: 200mA.  Average current is about 200uA, it depends on your settings and application.   This article describes how to configure PN5180 LPCD using NXP Cockpit Tool and using NXP NFC Reader library.   1  PN5190 LPCD Overview PN5180 LPCD operates in two modes: auto calibration mode and self-calibration mode. Auto calibration mode:  everything done automatically Self-calibration mode:   calibration must be done manually before starting the LPCD.   1.1  Auto Calibration Mode ( 00b) The LPCD calibration is done automatically when the LPCD is started, using the gear and threshold as defined in the EEPROM. This mode always uses the same gear for the LPCD, and is the fast and easiest way to start the LPCD.  It is recommended to choose a gear, which always keeps the ITVDD and field strength limits, so normally, the highest gear number. Auto calibration mode is most commonly used, it is a standard use case. Below parameters need to be configured correctly in EEPROM   LPCD_REFERENCE_VALUE       LPCD_REFVAL_GPO_CONTROL      LPCD_THRESHHOLD  ( 0x37) LPCD wakes up, if current AGC during “ping” > AGC Reference + LPCD_THRESHOLD or< AGC Reference -LPCD_THRESHOLD Minimum LPCD_THRESHOLD = 03…08 (very sensitive) Maximum LPCD_THRESHOLD = 40 … 50 (very robust)    LPCD_FIELD_ON_TIME  (0x36) RF on time in 8µs, excluding the fix time .   Fix time = 62µs 01 => RF on = 70µs 02 => RF on = 78µs 03 => RF on = 86µs 10 => RF on = 190µs   1.2  Self Calibration Mode (01b) The LPCD calibration must be manually triggered, with reading or writing into the AGCREF_CONFIG register.   Reading from this register - without prior writing - starts an LPCD calibration. The calibration is executed using the gear which is resulting from the actual DPC setting under the actual antenna detuning condition. AGC_GEAR is used in the LPCD self-calibration.   Reading from this register - without prior writing - delivers in addition to the AGC_GEAR value the AGC_VALUE. The AGC_VALUE is used in the LPCD self-calibration. Writing to this register: Writing data to this register is required before starting the LPCD in Self-calibration mode. Either the previously read AGC_GEAR or a user-defined gear can be chosen. The previously read AGC_VALUE has to be written in any case. Writing data to this register defines the values for AGC_GEAR without taking the actual detuning condition into account. The value of AGC_GEAR to perform an LPCD calibration which derives the AGC_VALUE. This AGC_VALUE and the AGC_GEAR are used in the LPCD self-calibration.   Self-calibration mode always requires a Read AGC_REF_CONFIG, followed by a write AGC_REF_CONFIG, using the previously read AGC_VALUE.   The LPCD calibration can be done in two different options: Option 1:  Read AGC_REF_CONFIG register:  This command executes a standard RF Field on. So depending on the load condition the DPC adjusts the output power. The final gear is take as gear for the LPCD.  This option guarantees that the maximum output power is taken for the LPCD.   Option 2: Write AGC_REF_CONFIG register: This command executes a LPCD calibration ping with the gear number, as defined in the AGC_REF_CONFIG, bit 10:13. This option allows a flexible use of any of the defined gears for the LPCD.   PN5180 LPCD self-calibrate is executed, using Gear -> AGC_REF_CONFIG (Register) Threshold -> LPCD_THRESHOLD (EEPROM) RF on time-> LPCD_FIELD_ON_TIME (EEPROM)   2  How to configure PN5180 LPCD with Cockpit The NFC Cockpit allows the configuration and test of the low power card detection of the PN5180 as shown in below picture. The LPCD parameter, which are stored in the EEPROM, can be changed and the LPCD can be started. The LPCD tab allows to directly define and write the related EEPROM addresses:   LPCD Gear #: Defines the gear number, which is used for the LPCD in auto calibration mode, stored in addr. 0x34, bit 0:3 Threshold Value: Defines the threshold window, As soon as the AGC value during the LPCD ping exceeds the AGC reference value + threshold window, the IRQ will be raised and the PN5180 wakes up. Field On Time:  Defines the ping length Standby time :  This value defines the time between two pings in ms. FieldOn Current: This value is ITVDD under the loading condition, when RF field is on with the used gear. This value does not have any influence on the LPCD execution, but simply is used to estimate the overall  average current consumption. This current estimation is calculated, when the LPCD is started.         3   How to configure PN5180 LPCD with NXP NFC reader library. The LPCD works in two phases: First the standby phase is controlled by the wake-up counter (timing defined in the instruction), which defines the duration of the standby of the PN5180. Second phase is the detection-phase. The RF field is switched on for a defined time (EEPROM configuration) and then the AGC value is compared to a reference value.   Below is the flow chart for PN5180 LPCD          
View full article
DISCLAIMER APPLICABLE TO THIS DOCUMENT CONTENTS:   PN5190-NTAG 5 boost High Speed Communication Demo This article describes the unique feature of these two chips when interacting with each other at contactless interface: Passthrough demonstrator at high bit rates for ISO 15693 between PN5190 and NTAG5 Boost. Scope of demonstrator: ▪ Demonstrating a unique feature of NXP Semiconductors. High bit rates for ISO15693 communication (212 kbps) between a PN5190 reader IC and an NTAG5 boost plus LPC55S69 host MCU, when implementing passthrough mode using the SRAM of the NTAG5 boost. ▪ Through MCUXpresso console, the user can configure the contactless bit rate (26.4kbps or 212kbps options) as well as the amount of data to exchange using passthrough mode. ▪ Passthrough mode is implemented from NFC reader to LPC side only. ▪ The PN5190 prints on the MCUXpresso console the outcome of the transaction and baud rate achieved. ▪ In order to handle passthrough communication, we are using GPIO interrupt handlers on the NTAG 5 boost + LPC55S69 side and hard coded timeout on the PN5190 + MCU side. Required hardware and software material: Hardware ▪ PNEV5190BP development board ▪ LPCXpresso55S69 Development Board ▪ OM2NTA5332 - NTAG5 boost development kit ▪ 3 x USB micro cables Software ▪ Firmware Source Code for PN5190is attached to this article, containing keywork pn5190: mobileknowledge-nxp-connected-tags-pn5190-2cfb4c59b56e_v1.0.zip ▪ SDK_2.x_FRDM-K82F is already included in bundle mentioned above. ▪ Firmware Source Code for LPCXpresso55S69 is attached to this article, containing keyword lpc55s69: mobileknowledge-nxp-connected-tags-lpc55s69-5f2f9667cc60_v1.1.zip ▪ MCUXpresso IDE recent version (v11.6.0 or newer) Demonstrator bring up: Hardware assembly for LPCXpresso55S69: • Connect NTAG5 Boost board to LPCXpresso55S69 • Make sure SW6 is on position 2-3 to enable 5V power on tag side. • Connect LPCXpresso55S69 board to your computer (Debug Link Input). • No additional power source is needed. Hardware assembly for PNEV5190B: • Connect two USB micro cables to PNEV5190B board for power, flashing firmware and UART connection • Red LED indicates power is enabled • Green LED debugging/UART status Software loading on LPC55S69: Import “lpcxpresso55s69_ntag5_passthrough_nolib” project to MCUXpresso IDE • Install SDK_2_12_0_LPCXpresso55S69. SDK can be downloaded from • https://www.nxp.com/security/login?service=https%3A%2F%2Fmcuxpresso.nxp.com%2Flogin%2F  • Build project and flash a binary file using GUI Flash Tool. After flashing, reboot your board. Blue LED must be enabled which means tag is waiting for field to be detected. Under MCUXpresso: 1. Import project from file system 2. Select lpcxpresso55s69 project 3. Uncheck copy projects into workspace Software loading on PNEV5190B: • Unzip the “PN5190_NTAG5boost_Passthrough.zip” folder. • Import all projects inside “PN5190_NTAG5boost_Passthrough” to MCUXpresso IDE • Install SDK_2.x_FRDM-K82F. Such SDK is included in project file tree: • nxp-connected-tags-pn5190\Platform\SDK_2.x_FRDM-K82F • Build project and flash a binary file using GUI Flash Tool. After flashing, reboot your board. Blue LED must be enabled which means reader is waiting for NTAG5 to be detected. • Start Debug session to see available bitrate options on the console. Under MCUXpresso: 1. Import project from file system 2. Select all the projects 3. Uncheck copy projects into workspace LED User Interface Specifications (same for LPCXpresso55S69 an PNEV5190B) • Steady blue - waiting for Tag - discovery loop, • Blinking green - passthrough transfer ongoing • Steady green - all data transferred successfully. • Steady red - error - tag lost during transfer. Menu options when two boards have NFC antennas facing each other: Two options of bitrate are available for transfer amount of data from host to NTAG5 Boost: ▪  standard 26.4 kbps or ▪  highest bit rate 212 kbps It is possible to configure amount of data to be exchanged between PN5190 and NTAG 5 boost: ▪1KByte ▪2KBytes ▪10KBytes Demonstration flow: Once one of these option is selected, reader is ready to detect a tag. ▪ When tag is detected, reader configures selected bitrate and starts data exchange. ▪ Blinking green LED indicates transfer ongoing and the console shows a progress. Here are some results of transaction at the different bit rates and data sizes offered by this demonstrator: Data Size (Bytes) Selected bitrate (kbps) Result Bitrate (kbps) Transfer time (ms) 1024 26.4 2.8 357 1024 212 12.35 81 2048 26.4 2.8 714 2048 212 12.42 161 10240 26.4 2.7 3569 10240 212 12.41 806   High speed demo user manual can be also find attached to this article: 22-10-11 NXP - Connected Tags demonstrator User Manual.pdf Conclusions: This demonstrator HW & SW can show that high speed interaction can be achieved between PN5190 (NFC Front end) and NTAG 5 boost, making use of available commands described in product support package. Disclaimer: All SW available here is aimed only for evaluation purposes and NXP disclaims any direct or indirect liability damages, since referred SW bundles are not official part of PN5190/NTAG 5 boost standard product support packages available in nxp.com.  
View full article
Using an alternative clock source to set up PN7462's contact interface clock , so that we have more options of the clock frequency.
View full article
The code is based on the application note https://www.nxp.com.cn/docs/en/application-note/AN12657.pdf. It mostly shows how to communicate between LPC1769 and RC663 via SPI based on board CLEV6630B without library and which Register have to be set to send a REQA (NTAG21x).
View full article
Demo for Originality Signature Verification(AN11350)
View full article
--The document consists of the following: Step 1. Connections And Firmware Version Step 2. Updating FW On PC Windows 10 Step 3. Updating FW On VMplayer16.0 + Ubuntu 20.04 Step 4. Updating FW On i.MX8MN-EVK With Embedded L5.4.70_2.3.0 BSP Step 5. Confirming whether update is successful using cockpit4.8 --About Cockpit There are several different versions of cockpit, and each version can only recognize the same version of firmware. --Reference Materials 1.https://community.nxp.com/t5/NFC/Mounting-the-PN7462AU-in-the-USB-downloader-mode-under-Linux/m-p/800939 2.https://community.nxp.com/t5/NFC/PN7462-updating-EEPROM-on-linux/m-p/739808/highlight/true#M3144       NXP CAS-TIC team Weidong Sun 04-15-2021  
View full article
     This document mainly describes how to use NanoNVA tool to do antenna tuning on OM29263ADK with CLEV663B/PN5180B board. Please refer to the application note AN12810(https://www.nxp.com/docs/en/application-note/AN12810.pdf) about the NanoVNA tool. And please refer the user manual UM11098 (https://www.nxp.com/docs/en/user-guide/UM11098.pdf) about OM29263ADK. After setting NanoVNA tool with reference to the above documents. Firstly, take the small antenna of OM29263ADK with CLEV663B as an example. The small antenna can be directly connected and used on the CLEV6630B。the antenna board can be directly connected to the CLEV6630B without any additional modification, after the original antenna had been removed (cut off).   The result of the antenna tuning with NanoVNA tool as the below:   Second, take the small antenna of OM29263ADK with PN5180B board as an example. Follow the UM11098 steps as the below: (a) the EMC filter cut off frequency must be adjusted, and (b) the DPC and related features should be disabled, since the antenna is asymmetrically tuned and the DPC is not used. (a) The original antenna uses a symmetrical tuning, which uses an EMC filter with L0 = 470nH and C0 = 253pF (220pF + 33pF). The inductor as well as the first part of the capacitance (220pF) are assembled on the main board. To operate the OM29263ADK antenna, the C0 (220pF) on the PNEV5180B must be replaced by a 68pF.   (b) The DPC and its related features should be disabled to operate an asymmetrical antenna.   If can’t get the card information please refer to the AN11740’s related steps to achieve a good sensitivity of RxP/RxN path. The result of the antenna tuning with NanoVNA tool as the below:   The whole process of the small antennas tuning of OM29263ADK with CLEV66B/PN5180 with NanoVNA is completed. PS: It is the similar with the steps for the large antennas tuning of OM29263ADK with CLEV66B/PN5180 with NanoVNA.  
View full article
Please kindly refer to the attachment for details.   Hope that helps,
View full article