This article may rely excessively on sources too closely associated with the subject , potentially preventing the article from being verifiable and neutral.(December 2018) |
LPC (Low Pin Count) is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors (formerly Philips Semiconductors). [1] The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals. The earliest LPC series were based on the Intel 8-bit 80C51 core. [2] As of February 2011, NXP had shipped over one billion ARM processor-based chips. [3]
All recent LPC families are based on ARM cores, which NXP Semiconductors licenses from ARM Holdings, then adds their own peripherals before converting the design into a silicon die. NXP is the only vendor shipping an ARM Cortex-M core in a dual in-line package: LPC810 in DIP8 (0.3-inch width) and LPC1114 in DIP28 (0.6-inch width). The following tables summarize the NXP LPC microcontroller families.
General information | |
---|---|
Launched | Current |
Performance | |
Max. CPU clock rate | 120 to 204 MHz |
Architecture and classification | |
Microarchitecture | ARM Cortex-M4F [4] ARM Cortex-M0 [6] |
Instruction set | Thumb, Thumb-2, Sat Math, DSP, FPU |
The LPC4xxx series are based on the ARM Cortex-M4F core.
The LPC4300 series have two or three ARM cores, one ARM Cortex-M4F and one or two ARM Cortex-M0. The LPC4350 chips are pin-compatible with the LPC1850 chips. The LPC4330-Xplorer development board is available from NXP. The summary for this series is: [27] [44] [45]
The LPC4000 series are based on the single ARM Cortex-M4F processor core. The LPC408x chips are pin-compatible with the LPC178x chips. The summary for this series is: [34] [46]
General information | |
---|---|
Launched | Current |
Max. CPU clock rate | to 266 MHz |
Architecture and classification | |
Microarchitecture | ARM9 |
Instruction set | Thumb, ARM |
The LPC3xxx series use the ARM926EJ-S core, and were based on the Nexperia SoC platform. Was the first 90 nm ARM9 MCU processor family. [48]
The LPC3200 series are based on the ARM926EJ-S processor core. [16] [49]
The LPC3100 series are based on the ARM926EJ-S processor core. [50] The LPC3154 is used by NXP to implement the LPC-Link debugger on all LPCXpresso boards. [51] [52] The LPC3180 core operates up to 208 MHz, and features interfaces for SDRAM, USB 2.0 full-speed, NAND flash, Secure Digital (SD) and I²C.[ citation needed ]
General information | |
---|---|
Launched | Current |
Max. CPU clock rate | to 72 MHz |
Architecture and classification | |
Microarchitecture | ARM7, ARM9 |
Instruction set | Thumb, ARM |
LPC2000 is a series based on a 1.8-volt ARM7TDMI-S core operating at up to 80 MHz together with a variety of peripherals including serial interfaces, 10-bit ADC/DAC, timers, capture compare, PWM, USB interface, and external bus options. Flash memory ranges from 32 kB to 512 kB; RAM ranges from 4 kB to 96 kB.[ citation needed ]
NXP has two related series without the LPC name, the LH7 series are based on the ARM7TDMI-S and ARM720T cores, [54] and the LH7A series are based on the ARM9TDMI core. [55]
The LPC2900 series are based on the ARM968E-S processor core. [14] [56]
The LPC2400 series are based on the ARM7TDMI-S processor core. [13] [57]
The LPC2300 series are based on the ARM7TDMI-S processor core. [13] [58] The LPC2364/66/68 and the LPC2378 are full-speed USB 2.0 devices with 2 CAN interfaces and 10/100 Ethernet MAC in LQFP100 and LQFP144 packages. Multiple peripherals are supported including a 10-bit 8-channel ADC and a 10-bit DAC.[ citation needed ]
The LPC2200 series are based on the ARM7TDMI-S processor core. [59]
The LPC2100 series are based on the ARM7TDMI-S processor core. [60] The LPC2141, LPC2142, LPC2144, LPC2146, and LPC2148 are full-speed USB 2.0 devices in LQFP64 packages. Multiple peripherals are supported including one or two 10-bit ADCs and an optional 10-bit DAC.[ citation needed ]
General information | |
---|---|
Launched | Current |
Performance | |
Max. CPU clock rate | 30 to 180 MHz |
Architecture and classification | |
Microarchitecture | ARM Cortex-M3 [5] ARM Cortex-M0 [6] |
Instruction set | Thumb, Thumb-2 |
The NXP LPC1000 family consists of six series of microcontrollers: LPC1800, LPC1700, LPC1500, LPC1300, LPC1200, LPC1100. The LPC1800, LPC1700, LPC1500, LPC1300 series are based on the Cortex-M3 ARM processor core. [61] The LPC1200 and LPC1100 are based on the Cortex-M0 ARM processor core. [62]
The NXP LPC1800-series are based on the ARM Cortex-M3 core. [23] [63] The LPC1850 is pin-compatible with the LPC4350 parts. The available packages are TBGA100, LQFP144, BGA180, LQFP208, BGA256. The LPC4330-Xplorer development board is available from NXP.
The Apple M7 and M8 motion co-processor chips are most likely based on the LPC1800 series, as LPC18A1 and LPC18B1.
The NXP LPC1700-series are based on the ARM Cortex-M3 core. [17] [64] The LPC178x is pin-compatible with the LPC408x parts. The available packages are LQFP80, LQFP100, TFBGA100, LQFP144, TFBGA180, LQFP208, TFBGA208. The LPC1769-LPCXpresso development board is available from NXP. The mbed LPC1768 board is also available. With EmCrafts LPC-LNX-EVB a LPC1788 based board with μClinux is available. [65]
The NXP LPC1500-series are based on the ARM Cortex-M3 core. [66] The available packages are LQFP48, LQFP64, LQFP100. The LPC1549-LPCXpresso development board is available from NXP along with a motor control kit.
The NXP LPC1300-series are based on the ARM Cortex-M3 core. [19] [67] The available packages are HVQFN33, LQFP48, LQFP64. The LPC1343-LPCXpresso and LPC1347-LPCXpresso development board are available from NXP.
The NXP LPC1200-family are based on the ARM Cortex-M0 core. It consists of 2 series: LPC1200, LPC12D00. [24] [68] [69] The available packages are LQFP48, LQFP64, LQFP100. The LPC1227-LPCXpresso development board is available from NXP.
The NXP LPC1100-family are based on the ARM Cortex-M0 core. It consists of 8 series: LPC1100 Miniature, LPC1100(X)L, LPC1100LV, LPC11A00, LPC11C00, LPC11D00, LPC11E00, LPC11U00.
The LPC1100 series primarily targets an ultra tiny footprint. The available package is WLCSP16 (2.17 mm x 2.32 mm). [22] [70] The LPC1104-LPCXpresso development board is available from NXP.
The LPC1100(X)L-series consists of three subseries: LPC111x, LPC111xL, and LPC111xXL. The LPC111xL and LPC111xXL include the power profiles, a windowed watchdog timer, and a configurable open-drain mode. The LPC1110XL adds a Non-Maskable Interrupt (NMI) and 256-byte page flash erase function. The LPC1114-LPCXpresso and LPC1115-LPCXpresso development board are available from NXP. The summary for these series are: [29] [71]
The LPC1100LV series primarily targets a low operating voltage range of 1.65 to 1.95 volt power. Its I²C is limited to 400 kHz. It is available in two power supply options: A 1.8 volt single power supply (WLCSP25 and HVQFN24 packages), or 1.8 volt (core) / 3.3 volt (IO/analog) dual power supply with 5 volt tolerant I/O (HVQFN33 package). The available packages are WLCSP25 (2.17 mm × 2.32 mm), HVQFN24 and HVQFN33. [28] [72]
The LPC11A00 series primarily targets analog features, such as: 10-bit ADC, 10-bit DAC, analog comparators, analog voltage reference, temperature sensor, EEPROM memory. The available packages are WLCSP20 (2.5 mm x 2.5 mm), HVQFN33 (5 mm x 5 mm), HVQFN33 (7 mm x 7 mm), LQFP48. [32] [73]
The LPC11C00 series primarily targets CAN bus features, such as: one MCAN controller, and the LPC11C22 and LPC11C24 parts include an on-chip high-speed CAN transceiver. The available package is LQFP48. [33] [74] The LPC11C24-LPCXpresso development board is available from NXP.
The LPC11D00 series primarily targets LCD display features, such as: 4 x 40 segment LCD driver. The available package is LQFP100. [26] [75]
The LPC11E00 series primarily targets EEPROM memory and Smart Card features. [29] [76]
The LPC11U00 series primarily targets USB features, such as: USB 2.0 full-speed controller. It's the first Cortex-M0 with integrated drivers in ROM. This series is pin-compatible with the LPC134x series. [25] [77] The LPC11U14-LPCXpresso development board is available from NXP. The mbed LPC11U24 board is also available.
General information | |
---|---|
Launched | 2012 |
Discontinued | Current |
Performance | |
Max. CPU clock rate | 30 MHz |
Architecture and classification | |
Microarchitecture | ARM Cortex-M0+ [7] |
Instruction set | Thumb subset, Thumb-2 subset |
The NXP LPC800 microcontroller family are based on the Cortex-M0+ ARM processor core. Unique features include a pin switch matrix, state configurable timer, clockless wake-up controller, single-cycle GPIO, DIP8 package. The LPC812-LPCXpresso development board is available from NXP. The summary for this series is: [35] [79] [80]
The LPC900 series are legacy devices based on the 8-bit 80C51 processor core. [81]
The LPC700 series are legacy devices based on the 8-bit 80C51 processor core. [82]
LPCXpresso boards are sold by NXP to provide a quick and easy way for engineers to evaluate their microcontroller chips. [83] [84] The LPCXpresso boards are jointly developed by NXP, Code Red Technologies, [38] and Embedded Artists. [20]
Each LPCXpresso board has the following common features:
The following LPCXpresso boards exist: [51]
| The following mbed boards exist: [97]
The following BaseBoards are compatible with LPCXpresso and mbed boards:
|
All LPC microcontrollers have a ROM'ed bootloader that supports loading a binary image into its flash memory using one or more peripherals (varies by family). Since all LPC bootloaders support loading from the UART peripheral and most boards connect a UART to RS-232 or a USB-to-UART adapter IC, thus it's a universal method to program the LPC microcontrollers. Some microcontrollers requires the target board to have a way to enable/disable booting from the ROM'ed bootloader (i.e. jumper / switch / button).
The amount of documentation for all ARM chips is daunting, especially for newcomers. The documentation for microcontrollers from past decades would easily be inclusive in a single document, but as chips have evolved so has the documentation grown. The total documentation is especially hard to grasp for all ARM chips since it consists of documents from the IC manufacturer (NXP Semiconductors) and documents from CPU core vendor (ARM Holdings).
A typical top-down documentation tree is: manufacturer website, manufacturer marketing slides, manufacturer datasheet for the exact physical chip, manufacturer detailed reference manual that describes common peripherals and aspects of a physical chip family, ARM core generic user guide, ARM core technical reference manual, ARM architecture reference manual that describes the instruction set(s).
NXP has additional documents, such as: evaluation board user manuals, application notes, getting started guides, software library documents, errata, and more. See External Links section for links to official NXP and ARM documents.
A microcontroller or microcontroller unit (MCU) is a small computer on a single integrated circuit. A microcontroller contains one or more CPUs along with memory and programmable input/output peripherals. Program memory in the form of NOR flash, OTP ROM, or ferroelectric RAM is also often included on the chip, as well as a small amount of RAM. Microcontrollers are designed for embedded applications, in contrast to the microprocessors used in personal computers or other general-purpose applications consisting of various discrete chips.
AVR is a family of microcontrollers developed since 1996 by Atmel, acquired by Microchip Technology in 2016. These are modified Harvard architecture 8-bit RISC single-chip microcontrollers. AVR was one of the first microcontroller families to use on-chip flash memory for program storage, as opposed to one-time programmable ROM, EPROM, or EEPROM used by other microcontrollers at the time.
The MSP430 is a mixed-signal microcontroller family from Texas Instruments, first introduced on 14 February 1992. Built around a 16-bit CPU, the MSP430 was designed for low power consumption embedded applications and low cost.
JTAG is an industry standard for verifying designs of and testing printed circuit boards after manufacture.
Atmel ARM-based processors are microcontrollers and microprocessors integrated circuits, by Microchip Technology, that are based on various 32-bit ARM processor cores, with in-house designed peripherals and tool support.
AVR32 is a 32-bit RISC microcontroller architecture produced by Atmel. The microcontroller architecture was designed by a handful of people educated at the Norwegian University of Science and Technology, including lead designer Øyvind Strøm and CPU architect Erik Renno in Atmel's Norwegian design center.
ARM9 is a group of 32-bit RISC ARM processor cores licensed by ARM Holdings for microcontroller use. The ARM9 core family consists of ARM9TDMI, ARM940T, ARM9E-S, ARM966E-S, ARM920T, ARM922T, ARM946E-S, ARM9EJ-S, ARM926EJ-S, ARM968E-S, ARM996HS. Since ARM9 cores were released from 1998 to 2006, they are no longer recommended for new IC designs, instead ARM Cortex-A, ARM Cortex-M, ARM Cortex-R cores are preferred.
PSoC is a family of microcontroller integrated circuits by Cypress Semiconductor. These chips include a CPU core and mixed-signal arrays of configurable integrated analog and digital peripherals.
EFM32 Gecko MCUs are a family of mixed-signal 32-bit microcontroller integrated circuits from Energy Micro based on ARM Cortex-M CPUs, including the Cortex-M0+, Cortex-M3, and Cortex-M4.
A debug port is a diagnostic interface included in an electronic system or integrated circuit to aid design, fabrication, development, bootstrapping, configuration, debugging, and post-sale in-system programming. In general terms, a debug port is not necessary for end-use function and is often hidden or disabled in finished products.
The ARM Cortex-M is a group of 32-bit RISC ARM processor cores licensed by ARM Limited. These cores are optimized for low-cost and energy-efficient integrated circuits, which have been embedded in tens of billions of consumer devices. Though they are most often the main component of microcontroller chips, sometimes they are embedded inside other types of chips too. The Cortex-M family consists of Cortex-M0, Cortex-M0+, Cortex-M1, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M23, Cortex-M33, Cortex-M35P, Cortex-M52, Cortex-M55, Cortex-M85. A floating-point unit (FPU) option is available for Cortex-M4 / M7 / M33 / M35P / M52 / M55 / M85 cores, and when included in the silicon these cores are sometimes known as "Cortex-MxF", where 'x' is the core variant.
STM32 is a family of 32-bit microcontroller integrated circuits by STMicroelectronics. The STM32 chips are grouped into related series that are based around the same 32-bit ARM processor core: Cortex-M0, Cortex-M0+, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M33. Internally, each microcontroller consists of ARM processor core(s), flash memory, static RAM, debugging interface, and various peripherals.
XMC is a family of microcontroller ICs by Infineon. The XMC microcontrollers use the 32-bit RISC ARM processor cores from ARM Holdings, such as Cortex-M4F and Cortex-M0. XMC stands for "cross-market microcontrollers", meaning that this family can cover due to compatibility and configuration options, a wide range in industrial applications. The family supports three essential trends in the industry: It increases the energy efficiency of the systems, supports a variety of communication standards and reduces software complexity in the development of the application's software environment with the parallel released eclipse-based software tool DAVE.
The Arduino Uno is an open-source microcontroller board based on the Microchip ATmega328P microcontroller (MCU) and developed by Arduino.cc and initially released in 2010. The microcontroller board is equipped with sets of digital and analog input/output (I/O) pins that may be interfaced to various expansion boards (shields) and other circuits. The board has 14 digital I/O pins, 6 analog I/O pins, and is programmable with the Arduino IDE, via a type B USB cable. It can be powered by a USB cable or a barrel connector that accepts voltages between 7 and 20 volts, such as a rectangular 9-volt battery. It has the same microcontroller as the Arduino Nano board, and the same headers as the Leonardo board. The hardware reference design is distributed under a Creative Commons Attribution Share-Alike 2.5 license and is available on the Arduino website. Layout and production files for some versions of the hardware are also available.
The MSP432 is a mixed-signal microcontroller family from Texas Instruments. It is based on a 32-bit ARM Cortex-M4F CPU, and extends their 16-bit MSP430 line, with a larger address space for code and data, and faster integer and floating point calculation than the MSP430. Like the MSP430, it has a number of built-in peripheral devices, and is designed for low power requirements. In 2021, TI confirmed that the MSP432 has been discontinued and "there will be no new MSP432 products".
The Arduino Nano is an open-source breadboard-friendly microcontroller board based on the Microchip ATmega328P microcontroller (MCU) and developed by Arduino.cc and initially released in 2008. It offers the same connectivity and specs of the Arduino Uno board in a smaller form factor.
Apache Mynewt is a modular real-time operating system for connected Internet of things (IoT) devices that must operate for long times under power, memory, and storage constraints. It is free and open-source software incubating under the Apache Software Foundation, with source code distributed under the Apache License 2.0, a permissive license that is conducive to commercial adoption of open-source software.
RP2040 is a 32-bit dual ARM Cortex-M0+ microcontroller integrated circuit by Raspberry Pi Ltd. In January 2021, it was released as part of the Raspberry Pi Pico board.