The LPC55xx series of Arm® Cortex®-M33 microcontrollers (MCUs) is emerging as a choice for embedded designers. A growing library of training, resources, code snippets, and introductory videos is in place and is supporting design engineers with a wide variety of applications, for example, consumer electronics, industrial and IoT, building control and automation, among others. This article takes a deeper look at the LPC5500 series, starting with the basics, and then diving into its additional options, including optional security features and energy-efficiency, as well as the possible uses of these microcontrollers.
The LPC55xx series includes several different families. Each family has its own specific set of features, as shown in the chart below.
|LPC55S6x||High efficiency, ‘S69 variant with two M33 cores.||Included||HS/FS USB, 8 FC modules plus HS-SPI|
|LPC552x/S2x||Mainstream with USB||Optional (S2x family)||HS/FS USB, 8 FC modules plus HS-SPI|
|LPC551x/S1x||Streamline with USB & CAN-FD||Optional (S1x family||HS/FS USB, CAN-FD/2.0, 8 FC modules plus HS SPI|
All LPC5500 series families offer power consumption improvements over previous generations, and some variants (with ‘S’ part number) offer advanced security features. All of the devices from the LPC5500 series are energy efficient (32uA/MHz), due to the advanced fabrication process, integrated power management unit (PMU), and many deep-sleep power-down modes.
LPC55S6x MCU Family Features
Rather than attempt a brief overview of each of these families, this section takes a closer look at the LPC55S6x family in particular as it is representative of the family. The other MCUs have similar features, but there are important differences between them. For example, LPC55S1x is a subset of LPC55S69 (with one core and a smaller flash memory), but also adds a CAN-FD interface. Refer to the relevant datasheet for full details.
Figure 1. The LPC55S69-EVK development board uses the LPC5500 series MCU.
LPC55S6x series is based on the Arm Cortex-M33 core, running at a speed of up to 150 MHz, and there are two cores in the LPC55S69 variant. On each device, the primary core features ARM’s TrustZone security extension, single-cycle digital signal processing, low power consumption, enhanced debug features, and the floating-point extension. This FPU fully supports fast mathematical operations on IEEE 754 floating-point numbers, as well as conversions between fixed-point and floating-point data formats.
Apart from all of these features, the main CPU also includes a memory protection unit (MPU), which is used to improve the reliability of an embedded system by protecting critical data within the user application. It does so by separating the memory into distinct regions and preventing disallowed access.
The LPC55S69 includes a second Cortex-M33 core. This is intended to manage the peripherals or provide a parallel processing capacity. As such, the core does not require (and is not implemented) with extensions such as MPU, FPU, TrustZone, or the coprocessor interfaces. Communication with the main core is via the semaphore-controlled inter-processor mailbox. A typical use-case for the second core is managing the ADC converter onboard the chip. Instead of the main core responding to every conversion complete interrupt, the second core handles these, and also computes the filtered (average) value and performs the calibration and conversion to scientific units.
Both cores support 60 vectored interrupts, which are tightly coupled to the CPU cores and allow for a low input latency, and efficient processing of late arriving interrupts. Eight programmable interrupt priority levels can be set up by the user.
The parts offer a high level of peripheral integration. For example, LPC55S6x has two hardware co-processors: PowerQuad for accelerating DSP algorithms and CASPER for asymmetric cryptography. One metric for PowerQuad is calculating (1/sqrt(x)) in six clock cycles, approximately 24 times faster than CMSIS-DSP code running on the Cortex-M33 core. Another notable feature of LPC55S6x is a small programmable logic unit with six inputs, a clock, and eight outputs.
Memory-wise, the LPC55S6x is available with a generous 320 KB of SRAM and 640 KB of on-chip flash memory, of which 630 KB is available to the user. The contents of the flash memory can be stored encrypted, and then decrypted on-the-fly, thanks to the PRINCE module of the MCU. An additional on-chip ROM contains the bootloader. It supports USB and UART and offers secure booting features that are described in more detail in the datasheet of the device.
Optional Features of the LPC5500 Series
The optional security features provide support for protecting your code and data. There is a wide range of features, including generating and storing secure keys and random numbers. It also implements hardware features for fast data encryption and decryption, and the PRINCE module, supporting the execution of encrypted code. Furthermore, the TrustZone extension to the ARM Cortex-M33 core supports the partitioning of the code into a trusted, secure state, and a non-secure state.
Where Are LPC5500 MCUs Used?
The LPC5500 series devices are aimed at a variety of applications, including consumer electronics, industrial and IoT, and building control and automation. A few examples include:
The LPC5500 Series: MCUs for Many Applications
The LPC5500 series of microcontrollers are low-power, high-efficiency, high-security, and high-versatility devices. Although a few different families exist within the series and offer different features, they all have one thing in common: a modern Arm Cortex-M33 CPU.
There is a wealth of software examples available for the LPC55xx family, based on NXP’s free MCUXpresso IDE and free Software Development Kit (SDK). A growing list of application notes, tutorials, and videos can be found at NXP’s community page. You can also find my first-hand accounts of setting up and troubleshooting the boards, which include how-tos, deep dives, and supplemental information.
By using a 40nm flash process and ARM’s latest ARMv8-M profile core, NXP has developed a high-performance, low-power microcontroller, suitable for complex industrial, consumer, and IoT security applications.
Industry Articles are a form of content that allows industry partners to share useful news, messages, and technology with All About Circuits readers in a way editorial content is not well suited to. All Industry Articles are subject to strict editorial guidelines with the intention of offering readers useful news, technical expertise, or stories. The viewpoints and opinions expressed in Industry Articles are those of the partner and not necessarily those of All About Circuits or its writers.
- Decrypted: Hackers show off their exploits as Black Hat goes virtual - August 15, 2020
- Arduino-controlled robot arm is ready to play you in chess - August 15, 2020
- Elon Musk says ’embarrassingly late’ two-factor is coming to Tesla app - August 15, 2020