For Marvel fans, the term MCU refers to the cinematic universe where superheroes from comics sprung into action. After Avengers: Endgame, I’m intrigued by what goes next in the future movies of Marvel superheroes. We may just see characters from X-Men popping into the storyline on the big screen.
Now, in the world of electronics, the term MCU has a very different meaning. It’s an acronym for the microcontroller unit. In an embedded system, the MCU is the core component that makes up the circuit. There is a great deal of knowledge about using an MCU but here is some brief info to get you started.
What is an MCU?
An MCU is an intelligent semiconductor IC that consists of a processor unit, memory modules, communication interfaces and peripherals. The MCU is used across a broad range of applications, including washing machines, robots, drones, radio and game controllers.
The history of MCU can be traced back to the invention of MOSFET technology. In the early days, the MCU was a primitive semiconductor IC with a processor unit and memory module. Generally, MCUs are based on the Harvard architecture.
Throughout the decades, popular manufacturers such as Intel, Motorola, Microchip and Atmel took the innovation further. Most of the MCUs developed by these manufacturers are 8-bit MCUs with proprietary architecture. The exception is ARM-based MCU, where the ARM architecture is licensed to the manufacturers. The ARM architecture currently dominates the market for 32-bit MCUs.
How Does An MCU Work?
While an MCU has a processor unit, it is more than performing arithmetic operations on binary values. The true value of an MCU is its ability to interface with the physical world with its built-in communication and peripherals.
Technically, an MCU functions by executing the program instructions stored in its non-volatile memory module. MCUs used to be ROM-based, so erasing the program data used to be difficult, if not impossible. When the flash technology is revolutionizing the semiconductor technologies, MCUs start storing program instructions in built-in flash memory.
Most modern MCUs use the RISC (Reduced Instruction Set Computer) instruction architecture for its fundamental instruction processing. The RISC offers a shorter instruction execution cycle compared to its predecessor, CISC. To develop the program for an MCU, embedded system developers use the assembler or C programming language. The finished program is then loaded to the MCU with a programming tool.
A simple application with an MCU.
When powered up, the MCU will start executing the instruction loaded as program data. It fully utilizes the RAM to store run-time variables as indicated by the program. As mentioned, MCUs are designed to interface with the physical world. In the simplest form, an MCU will sense the inputs and drive the outputs according to the logic it was programmed.
For example, a temperature display controller links a temperature sensor and an LCD display to the MCU. The MCU will sample the temperature value as an analog input and convert it to a digital value. The digital value is then displayed by sending the right command logic to the LCD.
Choosing An MCU For Your Design
It’s important that great care is given to choosing an MCU for your design. Choosing the wrong MCU can result in a very painful design experience. There are numerous factors to weigh in when choosing an MCU.
You’ll want to consider the complexity of the application. If a design involves a simple timer activated output, a simple microcontroller with 1kB flash and a single port of I/O will suffice. However, if the design involves complicated logic such as a WIFI-based facial recognition device, you’ll need a 32-bit high-end MCU.
Complicated devices usually require a larger program memory. Besides that, you’ll need to make a list of the peripherals and communication requirements of the device. Internal functions such as ADC, power management module and bootloader may also be needed in some applications.
A 32-bit MCU will be more suited for face recognition devices.
Sometimes, the choice of an MCU also hinges on the development tools. You’ll want to have programming tools and IDEs (Integrated Development Environments) that are user-friendly. Of course, it’s also helpful to use an MCU that has a pre-created component in the PCB design software and tools that you’re using. OrCAD PCB Designer comes equipped with a vast library of potential components to work from, as well as maintaining a strong and effective layout software capable of any design challenge.