Using LPC55S69 with SE050 and CLRC663plus for Secure Access to industrial IOT

Document created by Rodolfo Veltri Gomes Employee on Sep 3, 2019Last modified by Rodolfo Veltri Gomes Employee on Oct 13, 2019
Version 5Show Document
  • View in full screen mode

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:

  1. LPC55S69-EVK development board.
  2. OM-SE050ARD development board.
  3. 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 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.

 

 

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:

 

 

 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:

 

  1. 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.

  2. Download the ‘demobinaries.zip' package which you will find attached to this post. This zip file contains 2 bin files:
    1. 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.
    2. 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".
  3. 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
  4. Alternatively, you can import the whole project in your MCUxpresso environment.
    1. Download the file EmbeddedWorld2019DemoLatest.zip at end of this page.
    2. Import this zip file project in MCUxpresso environment
  5. 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:
  6. PICTURE TO BE UPDATED
  7. MCUXPRESSO PICTURE TO BE UPDATED
  8. 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.
  9. PICTURE TO BE UPDATED
  10. 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".
  11. 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:

  1. Porting NFC Reader Library to i.MX RT1050. (Detailed Description of porting)
    https://community.nxp.com/docs/DOC-341843
  2. 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
  3. 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
  4. CLEV6630B Product Information|NXP 
  5. SE050: www.nxp.com/SE050

Outcomes