PN5190-NTAG X DNA High Speed Communication Demo:
This article describes important feature of these two chips when interacting with each other at contactless interface: Passthrough demonstrator at high bit rates for ISO/IEC14443-A between PN5190 and NTAG X DNA
Scope of demonstrator: ▪ Demonstrating a unique feature of NXP Semiconductors. High bit rates for ISO14443 communication (up to 848 kbps) between a PN5190 reader IC and an NTAG X DNA when connected to MCXA153 host MCU, when simulating the transmission of a dummy file as big as 101 kbytes. ▪ Through MCUXpresso console, the user can configure the contactless bit rate:
106 kbps
212 kbps
424 kbps or
848 kbps
The amount of data is fixed in this demo. ▪ transmission mode is implemented from NFC reader library at K82 MCU built in the PNEV5190BP evaluation kit. On the other side, NTAG X DNA + Level shifter (represented by evaluation kit NTAG-X-DNA-EVAL) is connected to a Freedom Board, equipped with MCXA153 - FRDM-MCXA153). ▪ The PN5190 prints on the MCUXpresso console (debug mode) the outcome of the transaction and average baud rate achieved. ▪ In order to handle full file transmission from K82 to MCXA153 (MCU <-> MCU communication), we are using NTAG X DNA GPIO wires as well as proper settings on the NTAG X DNA <-> MCXA153 side and hard coded timeout on the PN5190 + MCU side. For more details, please open attached file PN5190_NTAGXDNA_MCXA153_DualInterface_HBR_Demo_SetupInstructions_Q32025.pdf.
Required hardware and software enablement:
Hardware ▪ PNEV5190BP Development Board ▪ FRDM-MCXA153 Development Board ▪ NTAG X DNA Development Board ▪ 2 x USB micro cables (for PNEV5190BP dev. br., one for DC power, other for Jlink debug on MCUxpresso IDE)
▪ 1 x USB-C cable (for FRDM-MCXA153 dev. br., only for DC power)
Software ▪ MCUxpresso project (firmware Source Code) for PNEV5190BP is attached to this article, containing keywork pn5190: pn5190-ntagxdna-highspeed-demo1.zip. Instructions will be given in from future release of NFC Reader Library public v07.14.00 (NxpNfcRdLib_PN5190_v07.14.00_Pub.zip).
▪ SDK_2.x_FRDM-K82F is already included in bundle mentioned above.
▪ Firmware Source Code for FRDM-MCXA153 is attached to this article, containing keyword MCXA153: MCXA153.zip
▪ MCUXpresso IDE recent version, for instance v24.12.148 or above.
Demonstrator bring up:
Hardware assembly for FRDM-MCXA153: • Connect NTAG X DNA to level shifter (see Fig. 1)
• Connect bundle NTAG X DNA+ level shifter bundle to flat cable (contained in demokit box) to FRDM-MCXA153 according to Fig. 2.
• Make sure each wire is connected to proper position in Arduino socket:
- black wire IO2 goes to J1-14
- white wire IO1 goes to J1-16
- gray wire SCL goes to J2-20
- violet wire SDA goes to J2-18
- blue wire GND goes to J3-14
- green wire VCC goes to J3-8
• Connect FRDM-MCXA153 via J15 (MCU-Link) to your computer (Debug Link Input), for the first time that you have to flash binary in it. Then after storing binary, you may just connect USB-C cable from a power supply to J6 port (named Ext-debugger).
• 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 (see Fig. 3):
• microUSB on J7 is necessary for DC power. Check that jumper J9 is in the position USB dc supply • microUSB on J20 is the Jlink debug port, and it will be connected to your Windows computer, where MCUxpresso has been installed.
• Red LED indicates power is enabled • Green LED debugging/UART status
Alternatively, if you have a DC power supply (voltage above 7 V), you may change Jumper J9 to Ext power supply, and avoid using second microUSB cable.
Software loading on FRDM-MCXA153:
1. Create a new workspace for MCXA153 MCUxpresso example:
2. Make sure you have installed MCXA153 SDK: - install MCXA153 SDK which can be downloaded from: https://mcuxpresso.nxp.com/
3. Unzip "MCXA153.zip" file in local C: directory, with reasonable path length. 4. Import existing projects from file system, into MCUXpresso IDE:
5. Select proper root directory (keyword is MCXA153):
6. Click "Finish"
7. If you get this warning, simply click "OK":
8. Highlight project, click "build", and check that there are no errors:
Finished building target: MCXA153_NTAGXDNA_DualInterface_DataRead_Demo.axf
Performing post-build steps
arm-none-eabi-size "MCXA153_NTAGXDNA_DualInterface_DataRead_Demo.axf"; # arm-none-eabi-objcopy -v -O binary "MCXA153_NTAGXDNA_DualInterface_DataRead_Demo.axf" "MCXA153_NTAGXDNA_DualInterface_DataRead_Demo.bin" ; # checksum -p MCXA153 -d "MCXA153_NTAGXDNA_DualInterface_DataRead_Demo.bin";
text data bss dec hex filename
23524 20 3684 27228 6a5c MCXA153_NTAGXDNA_DualInterface_DataRead_Demo.axf
16:27:26 Build Finished. 0 errors, 0 warnings. (took 5s.787ms)
9. Now, flash the binary into MCXA153 MCU using GUI Flash tool; select suitable MCUxpresso probe (CMSIS-DAP). Make sure USB-c cable is connected to J15 in Freedom board (MCU-link port for flashing FW).
10. Select binary file *.axf as indicated below:
It may happen that your MCXA153 has outdated FW on CMSIS-DAP, but you can continue, it will make no harm; click then Ok to flash.
11. After flashing, reboot your board. Following LEDs should be on:
- D15 RGB led should be "white" lit.
- D7 should be blinking "red"
- D8 and D4 should be "green" lit.
D15 will blink "white" only during file transmission.
You may disconnect USB-c from J15 (the one used with MCUxpresso for flah and connect it to J8. Then, plug the other cable tip to any USB 5 volt battery charger. Now your Freedom board FRDM-MCXA153 is ready to receive data from PNEV5190 board, once project will be imported too in MCUxpresso.
Software loading on PNEV5190BP:
1. Unzip *.zip file in directory with reasonable path length.
2. Import existing projects from file system 3. Select Example 12 "NfcrdlibEx12_NTAGXDNA" 4. Uncheck the choice "copy projects into workspace"
5. Install SDK_2.x_FRDM-K82F if not yet done. Such SDK is included in project file tree: • ...Examples\Platform\SDK_2.x_FRDM-K82F
• This specific SDK can be obtained from https://mcuxpresso.nxp.com/ by selecting following K82F tab related "PN5180" :
• FRDM-K82F-PN5180 (MK82FN256xxx15)
• SDK 2.0 is no longer officially available, but SDK 2.2 and newer are backward compatible and recommended by NXP
• Build project and check that there are no errors ("warnings" are allowed). • Start Debug session to see available bitrate options on the console.
Hardware combination of PNEV5190B and NTAG X DNA connected to FRDM-MCXA153:
Under MCUXpresso:
1. Click "Debug" icon on quick access left panel. Accept agreement in case of J-Link tool:
2. Click on icon "Run" on top side of MCUxpresso, and observe the following on "Console" tab:
[MCUXpresso Semihosting Telnet console for 'NfcrdlibEx12_NTAGXDNA_mcux
JLink DebugFRDMK82F' started on port 59973 @ 127.0.0.1]
SEGGER J-Link GDB Server V8.12a - Terminal output channel
*** NTAG X DNA Example ***
Please place NTAG X DNA Card and Select Demo option.
1 : Perform Data Read Write using AES128 Key Authentication
2 : Perform Data Read Write using ECC Sigma-I Authentication Host as Initiator
with NIST P-256 Curve, session key AES128
3 : Perform Data Read Write using ECC Sigma-I Authentication Host as Responder
with NIST P-256 Curve, session key AES128
4 : Perform HBR transfer to Microcontroller through NTAG X DNA.
5 : Configure NTAG X DNA for HBR transfer
Enter your option :
Menu options when two boards have NFC antennas facing each other:
There are 5 options in console menu as soon as you "Run" the debug.
1 - options from 1 until and including 3 are related to crypto functionality (symmetric and asymmetric) and are out of the scope of this article.
2 - Then option 5 is used for the first time that you are configuring your NTAG X DNA product. It will set registers and GPIO properly for High bit rate transfer.
Once you have run option 5, then go to option 4:
3 - Four options of bitrate are available for transfer a fixed amount of data from host (K82) to NTAG X DNA MCU (MCXA153) using PN5190 as tunnel:
Please configure the required baud rate
1 : 106 Kbps
2 : 212 Kbps
3 : 424 Kbps
4 : 848 Kbps
Enter your option :
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 RGB LED D15 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:
1 - 106 Kbps - Baud rate 7.6 kBytes/s - elapsed time: 13.99 s
Type A Tag is discovered.
***** Perform Transfer sequence *******
Select Application Successful
Select File Successful
Data transferring NFC -> NTAG X DNA -> Microcontroller...
Amount of data exchanged 101200 Bytes, Baudrate (total) = 7.6 kB/s, Time = 13.99 s
Please Remove the Card
After removing the card, K82 firmware starts again prompting for a new selection,
in the previous menu. First select 4 again and then chose again another new baud rate:
2 - 212 Kbps - Baud rate 10.51 kBytes/s - elapsed time: 9.39 s
3 - 424 Kbps - Baud rate 13.92 kBytes/s - elapsed time: 7.90 s
4 - 848 Kbps - Baud rate 16.60 kBytes/s - elapse time: 5.95 s
Using Example 12 of NFC Reader Library v.07.14.00 to prepare High Speed demo on PNEV5190BP and NTAG X DNA:
1. Go to https://nxp.com web site and type "NFC Reader Library" in Search tab. Follow the instructions
until you get to this screenshot:
2. Start by downloading NFC Reader library V.07.14.00 from NXP website; agree with Terms and Conditions.
Then download the bundle to your local C: drive:
3. Click on “down arrow” to download version 07.14.00. Once zip file is received, unzip previous
bundle to a local drive directory.
4. Start a new workspace, then choose "Import from Existing Projects into Workspace":
5. De-select all useless Examples and keep only example 12; please including all other essential
items; click "Finish":
6. If you find this error, it means you need to install K82F SDK:
7. Click install, then MCUxpresso SDKs pages will open. Select K82F from Processor tab:
Click “Install” button; after installation is completed, you will get a screen showing all installed sdk's.
Afterwards you may get the prompt "Make SDK persistent"; just click ok.
8. Highlight project NfcrdlibEx12_NTAGXDNA_mcux and click build; check if there are errors:
Finished building target: NfcrdlibEx12_NTAGXDNA_mcux.axf
Performing post-build steps
arm-none-eabi-size "NfcrdlibEx12_NTAGXDNA_mcux.axf" ; arm-none-eabi-objcopy -O binary "NfcrdlibEx12_NTAGXDNA_mcux.axf" "NfcrdlibEx12_NTAGXDNA_mcux.bin" ; #checksum -p MK82FN256xxx15 -d "NfcrdlibEx12_NTAGXDNA_mcux.bin"
text data bss dec hex filename
222400 92 86816 309308 4b83c NfcrdlibEx12_NTAGXDNA_mcux.axf
17:32:59 Build Finished. 0 errors, 3 warnings. (took 33s.718ms)
9. Now, check in MCUxpresso the tab Windows > Preferences > Run/Debug.
Untick the box related to General Options Build (if required) before launching; it will save you much time!
Then, click button “Apply and Close”.
10. Using this Example 12 as it is given by NXP in this library, when you will debug it, you will realize
that there are only 3 Menu options related to NTAG X DNA cryptography (and no high speed options).
In order to “unlock” the high-speed demo option, please do the following.
11. Go to Quick Settings → Defined Symbols and open it in a new window:
Now add after last symbol, the following line: "PH_EX12_ENABLE_DUALINTERFACE_HBR",
by clicking on “add button” ("+" shown in green) on top right side of above window;
add it manually then click OK two times. Now, build Ex12 again and check that there are no errors.
12. Debug Example 12, then press Run button and check if Console has 5 options in its Menu:
Please place NTAG X DNA Card and Select Demo option.
1 : Perform Data Read Write using AES128 Key Authentication
2 : Perform Data Read Write using ECC Sigma-I Authentication Host as Initiator
with NIST P-256 Curve, session key AES128
3 : Perform Data Read Write using ECC Sigma-I Authentication Host as Responder
with NIST P-256 Curve, session key AES128
4 : Perform HBR transfer to Microcontroller through NTAG X DNA.
5 : Configure NTAG X DNA for HBR transfer
Enter your option :
13. Let's focus on the last two options: 4 – perform HBR (high bit rate) transfer, and 5 – Configure your NTAG X DNA for HBR.
14. If this is the first time you are using this NTAG X DNA connected to MCXA153,
then choose option 5 so that PN5190 will write proper configuration data to NTAG X DNA next to it.
For this reason, turn on NTAG X DNA connected to FRDM-MCXA153 board (after powering it up with a simple 5V-USB source),
and place NTAG X DNA antenna over PNEV5190BP board antenna (connected to MCUxpresso), as in picture shown above.
Enter your option : 5
Ready to detect
Type A Tag is discovered.
Select NDEF Application Successful
Authenticate Application Successful
SetConfig Successful
StdDataFile with File ID 0xE106 already exists.
Please Remove the Card
15. Remove NTAG X DNA antenna from PN5190 antenna, until you get back to initial menu.
Then, choose option 4 on previous menu:
4 : Perform HBR transfer to Microcontroller through NTAG X DNA.
5 : Configure NTAG X DNA for HBR transfer
Enter your option : 4
Please configure the required baud rate
1 : 106 Kbps
2 : 212 Kbps
3 : 424 Kbps
4 : 848 Kbps
Enter your option :
16. Now, choose the lowest speed "1"; check final result:
Ready to detect
Type A Tag is discovered.
***** Perform Transfer sequence *******
Select Application Successful
Select File Successful
Data transferring NFC -> NTAG X DNA -> Microcontroller...
Amount of data exchanged 101200 Bytes, Baudrate (total) = 5.72 kB/s, Time = 17.25 s
Please Remove the Card
17. Separate both antennas, and then, choose option "2"; check final result:
Enter your option : 2
Ready to detect
Type A Tag is discovered.
***** Perform Transfer sequence *******
Select Application Successful
Select File Successful
Data transferring NFC -> NTAG X DNA -> Microcontroller…
Amount of data exchanged 101200 Bytes, Baudrate (total) = 10.49 kB/s, Time = 9.41 s
18. Separate both antennas, and then, choose option "3"; check final result:
Enter your option : 3
Ready to detect
Type A Tag is discovered.
***** Perform Transfer sequence *******
Select Application Successful
Select File Successful
Data transferring NFC -> NTAG X DNA -> Microcontroller...
Amount of data exchanged 101200 Bytes, Baudrate (total) = 13.89 kB/s, Time = 7.11 s
Please Remove the Card
19. Separate both antennas, and then, choose option "4"; check final result:
Enter your option : 4
Ready to detect
Type A Tag is discovered.
***** Perform Transfer sequence *******
Select Application Successful
Select File Successful
Data transferring NFC -> NTAG X DNA -> Microcontroller...
Amount of data exchanged 101200 Bytes, Baudrate (total) = 16.57 kB/s, Time = 5.96 s
Please Remove the Card
Conclusions: This demonstrator HW & SW can show that high speed interaction can be
achieved between PN5190 (NFC Front end) and NTAG X DNA (NFC connected tag),
making use of available commands described in its product support package (https://www.nxp.com/products/NTAG-X-DNA).
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 yet official part of
PN5190/NTAG X DNA standard product support packages currently available at nxp.com.
查看全文