In this article we will look at introduction to microcontrollers. We will learn what is a microcontroller? what are its applications? and more.
A Microcontroller is a VLSI (Very Large Scale Integration) Integrated Circuit (IC) that contains:
- Electronic computing unit and logic unit (together known as CPU)
- Memory (Program Memory and Data Memory)
- I/O Ports (Input / Output Ports)
- Other components
All the above components are on a single chip. Sometimes, a Microcontroller is also called as a Computer-on-a-Chip or a Single-Chip-Computer. Since the Microcontroller and its supporting circuitry are often embedded in the device it controls, a Microcontroller is also called as an Embedded Controller.
Microcontrollers are omnipresent. If a device or an application involves measuring, storing, calculating, controlling or displaying information, then device contains a microcontroller in it. The earliest known Microprocessors are the Intel’s 4004 and the Texas Instruments’ TMS1000. Since then, the computational power, complexity and power consumption kept on increasing in order to provide ultimate performance.
For a Microprocessor to work, it needs a bunch of supporting hardware that can be found on a mother board. The hardware includes memory, ICs for peripheral devices, etc. Different applications of microcontrollers are:
- Household appliances
- Telecommunications
- Automobiles
- Aerospace industry
- Industrial automation
The emphasis is not on the computational power of the Microprocessor but rather on a control mechanism with less complex hardware and increased reliability. This requirement paved way for integrating the minimum hardware required for complete functioning of a Processor on to a single chip i.e. same chip as the processor, to be precise.
This is the rise of Microcontrollers, an Integrated Circuit, which contains all the functions and hardware in order to make a complete computer system. Here, the computational power of the device is of less importance than the integration of all the components, including memory. The advantages of a microcontroller are:
- A Microcontroller is a true device that fits the computer-on-a-chip idea
- No need for any external interfacing of basic components like Memory, I/O Ports, etc
- Microcontrollers doesn’t require complex operating systems
- All the Input/Output Ports are programmable
- Integration of all the essential components reduces the cost
The disadvantages of a microcontroller are:
- Microcontrollers are not known for their computation power
- The amount of memory limits the instructions that a microcontroller can execute
- No operating system and hence, all the instruction must be written
General Layout of a Microcontroller
The general layout of a microcontroller is illustrated in the figure below.
Processor Core
- The CPU of the controller
- It contains the arithmetic logic unit, the control unit, and the registers (stack pointer, program counter, accumulator register, register file, . . . )
Memory
- The memory is sometimes split into program memory and data memory
- In larger controllers, a DMA controller handles data transfers between peripheral components and the memory
Interrupt Controller
- Interrupts are useful for interrupting the normal program flow in case of (important) external or internal events
- In conjunction with sleep modes, they help to conserve power
Timer/Counter
- Most controllers have at least one and more likely 2-3 Timer/Counters, which can be used to timestamp events, measure intervals, or count events
- Many controllers also contain PWM (pulse width modulation) outputs, which can be used to drive motors or for safe breaking
- Furthermore the PWM output can, in conjunction with an external filter, be used to realize a cheap digital/analog converter
Digital I/O
- Parallel digital I/O ports are one of the main features of microcontrollers
- The number of I/O pins varies from 3-4 to over 90, depending on the controller family and the controller type
Analog I/O
- Apart from a few small controllers, most microcontrollers have integrated analog/digital converters, which differ in the number of channels (2-16) and their resolution (8-12 bits)
- The analog module also generally features an analog comparator
- In some cases, the microcontroller includes digital/analog converters
Interfaces
- Controllers generally have at least one serial interface which can be used to download the program and for communication with the development PC in general
- Since serial interfaces can also be used to communicate with external peripheral devices, most controllers offer several and varied interfaces like SPI and SCI
- Many microcontrollers also contain integrated bus controllers for the most common (field) busses
- IIC and CAN controllers lead the field here
- Larger microcontrollers may also contain PCI,USB, or Ethernet interfaces
Watchdog Timer
- Since safety-critical systems form a major application area of microcontrollers, it is important to guard against errors in the program and/or the hardware
- The watchdog timer is used to reset the controller in case of software “crashes”
Debugging Unit
- Some controllers are equipped with additional hardware to allow remote debugging of the chip from the PC
- So there is no need to download special debugging software, which has the distinct advantage that erroneous application code cannot overwrite the debugger
The differences between a microprocessor and microcontroller are given below.
Microprocessor | Microcontroller |
It is only a general purpose computer CPU | It is a microcomputer itself |
Memory, I/O ports, timers, interrupts are not available inside the chip | All are integrated inside the microcontroller chip |
This must have many additional digital components to perform its operation | Can function as a microcomputer without any additional components. |
Systems become bulkier and expensive | Make the system simple, economic and compact |
Not capable for handling Boolean functions | Capable for handling Boolean functions |
Higher access time required | Low access time |
Very few pins are programmable | Most of the pins are programmable |
Very few number of bit handling instructions | Many bit handling instructions |
Widely Used in modern PC and laptops | Widely used in small control systems |
Ex: INTEL 8086, INTEL Pentium series | Ex: INTEL 8051, 89960, PIC16F877 |
List of popular microcontrollers for IoT are as follows:
ATMEL AVRs
- ATMEGA32 series
- ATMEGA16 series
- AVR128 series
Microchip
- PIC18 series (including PIC12 and PIC16)
- PIC32 series
- SAM series
NXP
- LPC series (ARM Cortex-M0)
- K32 Series (ARM Cortex-M4/M0)
- LPC55x Series (ARM CortexM33)
- MX series (Cortex-M7)
Texas Instruments
- SimpleLink series (ARM Cortex M4)
- MSP430 series (MSP432)
- C2000
- CC3200/CC3120/CC3220 SERIES (WI-FI ENABLED)
Renesas
- S1/S3/S5/S7 series
Espressif
- ESP8266
- ESP32
Others
- Intel 8051
Suryateja Pericherla, at present is a Research Scholar (full-time Ph.D.) in the Dept. of Computer Science & Systems Engineering at Andhra University, Visakhapatnam. Previously worked as an Associate Professor in the Dept. of CSE at Vishnu Institute of Technology, India.
He has 11+ years of teaching experience and is an individual researcher whose research interests are Cloud Computing, Internet of Things, Computer Security, Network Security and Blockchain.
He is a member of professional societies like IEEE, ACM, CSI and ISCA. He published several research papers which are indexed by SCIE, WoS, Scopus, Springer and others.
Leave a Reply