Knowledge Center
Navigation
Knowledge Center

Microcontroller (MCU)

popularity

Description

A microcontroller is a type of processor that traditionally was a scaled-down, all-in-one embedded processor, memory and I/O for use in very specific operations. It isn’t unusual to see microcontrollers embedded into everything from office machines to power tools and engine control systems in cars. And they frequently are the processing element of choice in IoT devices such as smart slippers, which can detect when a person has fallen.

In all cases, the idea behind the microcontroller unit (MCU) is that it is cost-effective, energy-efficient processor that can be purpose-built for a specific application. But some of these devices also have become much more capable over the past few years, blurring the definition of exactly what is a microcontroller. An MCU today may use off-chip memory and multiple, more powerful processing elements, and it may be connected to a co-processor for a specific application such as machine learning or AI. It also may contain its own wireless connectivity rather than using wireless technology that is embedded into an SoC or larger system.

Adding to the confusion, MCUs increasingly are being used in non-standard ways, in more places, and frequently they are embedded into more complex SoCs. So while functionality may be limited to a specific task, such as waking up a CPU, getting multiple MCUs to synchronize across a device is much more difficult from a design, verification and coherency perspective. MCUs don’t necessarily play nicely with each other and other processors, especially where devices are limited to on-chip memory.

The MCU market also is highly fragmented. So while there still are many applications for 4-bit and 8-bit microcontrollers, some are being used for much more sophisticated tasks. One of the big issues being dealt with everywhere in system design is more data, particularly streaming image processing and pattern/image recognition. There are a couple high-level approaches to solving that. One is to have faster processors and more memory. The second is to have more processors that can do certain jobs more efficiently. Even if the individual processing units are slower, collectively they can get the job done in a reasonable amount of time, and they can be dialed down as needed. MCUs are one option here.

Microcontroller units (MCUs) started out using 4-bit instructions, but they now come in 8-, 16-,32- and 64-bit versions. Some of the more advanced designs are being used in MEMS applications

In addition, they generally are coded in some high-level programming language today rather than assembly language, and some can be debugged using JTAG.