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:
- 1. Overview of LPC55S69-EVK:
- 2. Overview of OM-SE050ARD demoboard:
- 3. Overview of NFC Front end boards working with LPC55S69 EVK board for this example:
- 4. Running "Secure Access to Industrial IOT demo" at LPC55S69:
- Available Resources:
Following hardware is required to run the project:
- LPC55S69-EVK development board.
- OM-SE050ARD development board.
- CLEV6630B board or BLE-NFC-V2 board.
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 I2C 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
LPC55S69 (Conn.# - Pin #)
P24-6 also P17-3
P24-5 also P17-1
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:
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:
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:
LPC55S69 (conn. # - Pin #)
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:
LPC55S69 (Jumper # - Pin #)
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.
- Porting NFC Reader Library to i.MX RT1050. (Detailed Description of porting)
- CLEV6630B Product Information|NXP
- SE050: www.nxp.com/SE050