Saturday, July 12, 2014

Vijaya Engineering College

Selecting the perfect Cortex-M based MCU for Industrial Automation

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


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-


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.

---------------------------------------------------------------------------------------------
Article by
Mechanical Engineering Department
Vijaya Engineering College

Vijaya Engineering College

No comments:

Post a Comment