The important features of a microcontroller that cannot be avoided are its small size, its ability to consume low power, its low cost, the maximum number of input/output ports and its fast processing capability. Again, if a microcontroller has all these features, however, is not capable to interface with the real world, then it would be of no use – especially, in an industrial automation scenario, where there might be a load of sensors and actuators to interface with. The current market offers microcontrollers from many leading manufacturers like Atmel, Texas Instruments, Microchip and Infineon to name a few.
What is the ARM Cortex-M core?
The ARM Cortex-M is a group of 32-bit RISC ARM processor core that is licensed by ARM. This group consists of Cortex-M0, Cortex-M0+, Cortex-M1, Cortex-M3 and Cortex-M4 and these are designed to be used for microcontroller applications. Most of the Cortex-M based microcontrollers are used in Industrial automation applications due to their lower cost, increasing connectivity, better code reuse and improved energy efficiency. This ARM Cortex-M core provides the pipeline processing of data, which means that the data is executed one after the other in a streamlined manner.
The cheapest ARM MCUs are based on Cortex-M0
The binary instructions available for Cortex-M0 can easily be executed on Cortex-M3 and M4. It has a smaller core and this enables it to have lower chip prices. It requires just 13.36 µW/MHz dynamic power, which makes it incredibly energy efficient. It follows 3 stage pipeline of data processing that allows overlapping data processing, which in turn maximises the data throughput of the system. Cortex-M0 core is integrated in to the Infineon’s 32-bit XMC1000 NXP’s LPC1200, STM32 F0 series and Nuvoton’s NuMicro™ for industrial applications.
While the XMC1000 series offers the opportunity to enjoy 32-bit power at the price of an 8-bit equivalent MCU providing the same ease of usage, the LPC1200 has been specially designed with flexibility and customization and is suitable for a wide variety of energy efficient system and power management requirements. It features high current GPIO (General Purpose Input/Output) that can directly control TRIACs without using external transistors further reducing the costs and footprints.. The XMC also offers the largest Flash memory spectrum, scaling from 8K to 200KN.
The STM32 F0 family of MCUs combine real time performance, low-power operation, advanced architecture and peripherals associated with the STM32 platform that are available. Its competency in 8 bit and 16 bit markets eliminates the need to manage different architectures and the associated developments overhead. NuMicro™, a family that belongs to Nuvoton is another microcontroller, based on the Cortex-M0 core, which can work on a wide operation voltage range from 2.5V up to 5.5V.
Feature-wise difference between these sets of microcontrollers
The most energy efficient ARM MCUs are based on the Cortex-M0+
It is the most energy efficient ARM processor available that achieves a power consumption of just 9.8µW/MHz. This processor has the memory protection unit (MPU), a feature usually present only in the bigger Cortex-M3 and Cortex-M4 processors. It is based on the ARMv6-M architecture, which follows 2 stage pipeline for data processing, where data is read from or written to SRAM in one stage and data is read from or written to memory in the other stage. It also offers single-cycle I/O port and non-maskable interrupts (NMI) along with 32 physical interrupts. Moreover, its ability for multiple processing with the same instruction sets present in Cortex-M0 makes it quick and simple. Atmel SAM D20, Energy Micro EFM32 Zero, Freescale Kinetis L and NXP LPC800 are few of the microcontrollers that have Cortex-M0+ based core that can be used in an industrial automation application.
The Kinetis L series MCUs bring new design possibilities to the entry level applications that were previously limited by 8/16 bit MCU capabilities. It supplements the low power Cortex-M0+ core with the latest low-power 90nm flash technology at less than 50µA/MHz, platform design, operating modes and energy saving peripherals. This series of MCUs (both hardware and software) are compatible with the ARM Cortex-M4 based Kinetis K series microcontrollers. On the other hand, the LPC800 is a family of microcontrollers that is available in low pin count packages and offers low count peripherals. It addresses 8-bit application requirements while providing the 32 bit capabilities. This family has a unique device serial number for identification and also supports Flash in-application programming (IAP) along with in-system programming (ISP). This is a very useful feature that increases productivity by allowing the designer to program the device without even removing it from the circuit board.
SAM D20 has a fast and flexible interrupt controller. This is a family of microcontrollers introduced by Atmel. They contain multiple instances of Serial Communication Interface (SERCOM).
Feature-wise difference between the three sets of microcontrollers-
The Highly Deterministic ARM MCUs are based on the Cortex-M3
The key feature of ARM Cortex-M3 core is its hardware support for its deterministic behavior which replaces the use of two chip for motor control with one MCU. Up to 50 MHz operation can be conducted with 32-bit ARM Cortex-M3 architecture. It is the first ARM processor based on the ARMv7-M architecture and the Harvard architecture. Cortex-M3 does not fetch data from caches but, directly from the on-chip flash memory. It follows a 3-stage pipeline for data processing with branch speculation to further increase performance. With all this, it still requires just 32 µW/MHz dynamic power. Some examples are Atmel’s SAM3X, SAM3U and SAM3A series of MCUs and Texas Instrument’s (TI) Stellaris® LM3S9B96 MCU.
The LM3S9B96 MCU generates efficient use of available raw MIPS and also utilize Flash memory to the maximum. Its available in 100 pin LQFP and 108 ball BGA package options.
The SAM3X and SAM3A embedded devices feature a dual-bank configuration of 256KB and 512KB Flash total and are available in 100-pin, 144-pin QFP and BGA package options. It is ideal for networking applications in Industrial automation projects. On the other hand, the SAM3U series provides an on-chip high speed USB Device-and-Transceiver, SDIO/SD Card/MMC and SPI interfaces thus, allowing a fast uploading and downloading of data. It offers a plug and play high-speed serial inter-connectivity. It improves code protection and secures multiple execution of a task or an application.
The ADUCM361 is a low power precision analog microcontroller introduced by Analog Devices, which features the Single Sigma-Delta ADC. This particular feature allows direct interfacing of external precision sensors in both wired and battery powered applications.
Feature-wise difference between these sets of microcontrollers-
Cortex-M3 plus DSP equals Cortex-M4
The latest processor in the market is the ARM Cortex-M4 which implements the ARMv7E-M architecture. It allows to integrate 32-bit control with leading digital signal processing techniques for markets that require very high levels of energy efficiency and also offers branch speculation, which eliminates steps that are not required. It has up to 240 Wake-up Interrupts and an optional retention mode with ARM power management kit. It offers 30% smaller code size than 8-bit devices with no compromise on performance. It supports all single precision data processing instructions and data types, and maximizes software reuse while supporting deterministic operation. Infineon’s XMC4000 and Atmel’s SAM4E series of 32-bit ARM Cortex-M4 based Flash microcontrollers are some examples in this space.
XMC4000 features Infineon’s powerful peripheral set that can be configured to specific application requirements. It has been designed to further improve on energy efficiency, support advanced communication protocols and reduce time to market. It also features a Flexible CRC engine (FCE) for multiple bit error detection. On the other hand, the SAM4E series offers a rich set of advanced connectivity peripherals including 10/100Mbps Ethernet MAC supporting IEEE 1588, dual CAN and a full set of timing and control functions, which makes it ideal for building control and industrial automation applications.
If you also intend to implement a sophisticated GUI, the STM32 F4 is what you need to look at. A series of microcontroller launched by ST Microelectronics, this MCU supports Chrom-ART Accelerator which offers twice the performance for graphic content creation and manipulation.
MB9B560R is a series of microcontroller introduced by Fujitsu Semiconductor Ltd. It operates on a power supply range from 3V to 5V. It includes many memory options including SRAM, NOR flash, NAND flash and SDRAM. It features an ultra-wide bus for on board flash memory that enables read access with no CPU wait state – speeding processing and reducing power requirements.
Feature-wise difference between these sets of microcontrollers-
This shows how many different MCUs are present in the country today with many different features. This article can help us relate their features with the requirements of our projects. If we want an inexpensive microcontroller with the smallest processor size then we can use the Cortex-M0 core based ones. However, if our project requires a more energy efficient processor than the M0, then it should have a Cortex-M0+ core. If energy requirements are less of an issue and what you would rather have is better performance, then you can get a highly deterministic MCU based on the Cortex-M3 core. A project that requires high deterministic processor with digital signal processing for a high processing speed as well as improved graphics support for a more impressive GUI would work better with an MCU based on the Cortex-M4 processor.
The author, Sneha Ambastha, is a technical journalist at EFY Gurgaon.