Welcome to the World of Microcontrollers, a tiny (yet very powerful) device that changed the face of Embedded Systems. In this tutorial / article, you will learn about the Rise of Microcontrollers, few Basics of Microcontrollers, Microcontroller’s Structure and also few differences between Microprocessor and Microcontroller.
Before going in to the details of Basics of Microcontrollers, you need to know what a Microcontroller is. Microcontrollers are similar to Microprocessors, but they have few additional components on the same chip.
What is a Microcontroller?
A Microcontroller is a VLSI (Very Large Scale Integration) Integrated Circuit (IC) that contains electronic computing unit and logic unit (combinedly known as CPU), Memory (Program Memory and Data Memory), I/O Ports (Input / Output Ports) and few other components integrated 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. Let us see some of the areas where microcontrollers are used.
The biggest user of Microcontrollers is probably the Automobiles Industry. Almost every car that comes out of the assembly factory contains at least one Microcontroller for the purpose of engine control. You can find many more Microcontrollers for controlling additional systems.
Consumer Electronics is another area which is loaded with Microcontrollers. Microcontrollers are a part of Digital Cameras, Video Camcorders, CD and DVD Players, Washing Machines, Ovens, etc.
Microcontrollers are also used in test and measurement equipment like Multimeters, Oscilloscopes, Function Generators, etc. You can also find microcontrollers near your desktop computer like Printers, Routers, Modems, Keyboards, etc.
The above definitions of the Microcontroller might seem complicated or confusing to newbies in Electronics or Embedded Systems but the concept will become clear as we move forward.
First, we will see the Rise of Microcontrollers, where you can find how the development to the Microcontroller took place.
Rise of Microcontrollers
Microprocessor, the invention that took the field of computation by storm. A Microprocessor is an Integrated Circuit (IC) that contains the Central Processing Unit (CPU). 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 (Power Consumption must be discussed separately due to developments such as Low Power VLSI etc.).
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.
In the beginning itself, the Microprocessors ability to control other electronic equipment like Photocopiers is realized. The emphasis here 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.
Also Read: 8051 MICROCONTROLLER INTRODUCTION AND BASICS
Basics of Microcontrollers
Basically, a Microcontroller consists of the following components.
- Central Processing Unit (CPU)
- Program Memory (ROM – Read Only Memory)
- Data Memory (RAM – Random Access Memory)
- Timers and Counters
- I/O Ports (I/O – Input/Output)
- Serial Communication Interface
- Clock Circuit (Oscillator Circuit)
- Interrupt Mechanism
Most modern Microcontrollers might contain even more peripherals like SPI (Serial Peripheral Interface), I2C (Inter Integrated Circuit), ADC (Analog to Digital Converter), DAC (Digital to Analog Converter), CAN (Controlled Area Network), USB (Universal Serial Bus), and many more.
The CPU (Central Processing Unit) in a Microcontroller performs the arithmetic, logic, math and data-oriented function, similar to CPU in the Microprocessor. The difference between a Microprocessor and Microcontroller is that a Microprocessor need to be interface with external memory and other I/O Interfaces to work as a computer whereas, a Microcontroller has all the required peripherals on the same chip as the CPU.
The integration of features like ADC, DAC etc. on the same chip as the CPU makes it more efficient and cheaper than to use a separate ADC Chip.
Developing a Computer Controlled System involves design of the Hardware and also writing an efficient Software Program. Since a Microcontroller has all the hardware, that are required to make a computer controlled system on a single chip, using a Microcontroller will drastically reduce the efforts and time spent on hardware design and wiring.
Basic Structure of a Microcontroller
You might have seen the basic structure of a Microcontroller many times. If you have already seen the structure of Microcontroller and the basic components of a Microcontroller before, then consider this as a revision. If you haven’t seen it, then it is very important to get an idea about the basic structure of a Microcontroller.
The following image shows the Basic Structure of a Microcontroller.
From the above image, you can understand that the three important (or major) components of a Microcontroller are:
- The CPU (Central Processing Unit)
- The Memory and
- The I/O Ports
This doesn’t mean that other components are of less importance. But these can be considered as supporting devices. We will now see each of the Basic Components of a Microcontroller mentioned in the above structure.
Central Processing Unit or CPU is the brain of the Microcontroller. It consists of an Arithmetic Logic Unit (ALU) and a Control Unit (CU). A CPU reads, decodes and executes instructions to perform Arithmetic, Logic and Data Transfer operations.
Any Computational System requires two types of Memory: Program Memory and Data Memory. Program Memory, as the name suggests, contains the program i.e. the instructions to be executed by the CPU. Data Memory on the other hand, is required to store temporary data while executing the instructions.
Usually, Program Memory is a Read Only Memory or ROM and the Data Memory is a Random Access Memory or RAM. Data Memory is sometimes called as Read Write Memory (R/W M).
The interface for the Microcontroller to the external world is provided by the I/O Ports or Input/Output Ports. Inputs device like Switches, Keypads, etc. provide information from the user to the CPU in the form of Binary Data.
The CPU, upon receiving the data from the input devices, executes appropriate instructions and gives response through Output Devices like LEDs, Displays, Printers, etc.
Another important component of a Microcontroller, but rarely discussed is the System Bus. A System bus is a group of connecting wire that connect the CPU with other peripherals like Memory, I/O Ports and other supporting components.
One of the important components of a Microcontroller are the Timers and Counters. They provide the operations of Time Delays and counting external events. Additionally, Timers and Counters can provide Function Generation, Pulse Width Modulation, Clock Control, etc.
One of the important requirement of a Microcontroller is to communicate with other device and peripherals (external). Serial Port proves such interface through serial communication. Most common serial communication implemented in Microcontrollers is UART.
A very important feature of a Microcontroller is Interrupts and its Interrupt Handling Mechanism. Interrupts can be external, internal, hardware related or software related.
ADC (Analog to Digital Converter)
Analog to Digital Converter or ADC is a circuit that converts Analog signals to Digital Signals. The ADC Circuit forms the interface between the external Analog Input devices and the CPU of the Microcontroller. Almost all sensors are analog devices and the analog data from these sensors must be converted in to digital data for the CPU to understand.
DAC (Digital to Analog Converter)
DIgital to Analog Converter or DAC is a circuit, that works in contrast to an ADC i.e. it converts Digital Signals to Analog Signals. DAC forms the bridge between the CPU of the Microcontroller and the external analog devices.
Read this related post: 8051 MICROCONTROLLER ARCHITECTURE
Advantages of Microcontrollers
- 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 as all the instructions must be written and stored in the memory. (RTOS is an exception).
- All the Input/Output Ports are programmable.
- Integration of all the essential components reduces the cost, design time and area of the product (or application).
Disadvantages of Microcontrollers
- 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.
Applications of Microcontrollers
There are huge number of applications of Microcontrollers. In fact, the entire embedded systems industry is dependent on Microcontrollers. The following are few applications of Microcontrollers.
- Front Panel Controls in devices like Oven, washing Machine etc.
- Function Generators
- Smoke and Fire Alarms
- Home Automation Systems
- Automatic Headlamp ON in Cars
- Speed Sensed Door Locking System
In this tutorial/article, we have seen the basics of Microcontrollers, Basic Structure of a Microcontroller, different components of a Microcontroller, advantages, disadvantages and applications of Microcontrollers.