What is a Microcontroller ?
A microcontroller (also known as a microcontroller unit or MCU) is a single Integrated Circuit (IC) that is normally used for a particular application and intended to perform certain functions. Appliances, power tools, automotive engine control systems, and computers are all examples of products and gadgets that must be automatically regulated in particular scenarios.
Because of the essential components inside, a microcontroller it can be seen as a small computer: the Central Processing Unit (CPU), Random-Access Memory (RAM), Flash Memory, Serial Bus Interface, Input/Output Ports (I/O Ports), and, in many cases, Electrical Erasable Programmable Read-Only Memory (EEPROM) (EEPROM).
How do microcontrollers works ?
A microcontroller is a device that is embedded into a system to control a single function. It accomplishes this by interpreting data from its I/O peripherals using its core CPU. The microcontroller's temporary information is stored in its data memory, where the processor reads it and employs instructions from its programme memory to understand and apply the incoming data. It then communicates and takes the required action via its I/O peripherals.
Microcontrollers are found in a variety of systems and gadgets. Devices frequently make use of numerous microcontrollers that collaborate within the device to accomplish their separate jobs.
An automobile, for example, may have several microcontrollers that operate different internal systems such as the anti-lock brake system, traction control, fuel injection, and suspension control. To inform the proper actions, all of the microcontrollers interact with one another. Some may connect with the car's more complicated central computer, while others may simply communicate with other microcontrollers. They use their I/O peripherals to send and receive data, which they then process to do their assigned duties.
Microcontroller applications
Microcontrollers are utilised in a variety of sectors and applications, including building automation, manufacturing, robotics, automotive, lighting, smart energy, industrial automation, communications, and internet of things (IoT) deployments.
A microcontroller's application as a digital signal processor is a fairly particular application. Incoming analog signals frequently contain some amount of noise. In this sense, noise refers to confusing values that are difficult to transform into normal digital values. A microcontroller's ADC and DAC can be used to transform an incoming noisy analogue signal to an even departing digital signal.
The most basic microcontrollers help in the functioning of electromechanical systems found in common convenience products including ovens, refrigerators, toasters, mobile devices, key fobs, video game systems, televisions, and lawn-watering systems. They're also found in office devices like photocopiers, scanners, fax machines, and printers, as well as smart metres, ATMs, and security systems.
Factors for Choosing a Microcontroller
The term "Microcontroller" is a great pick since it emphasizes the distinguishing features of this product category. The word "micro" denotes smallness, while the phrase "controller" denotes an improved capacity to conduct control functions.
There are a thousand different kinds of microcontrollers, each with a unique feature or competitive advantage ranging from form factor to package size to RAM and ROM capacity that makes them suitable for some applications and unsuitable for others. Thus, in order to minimise the stress that comes with picking the proper one, engineers frequently settle for microcontrollers with which they are familiar, even if they do not always meet the project's needs.
Application or Project:
The first step in selecting a microcontroller for any project is to have a thorough knowledge of the purpose for which the microcontroller-based solution will be used. During this procedure, a technical specification document is always created to assist decide the precise features of the microcontroller that will be utilized for the project. When designing a device that will be used to conduct operations involving a large number of decimal values, a microcontroller with a floating-point unit is used as an example of how the application/use of the device decides the microcontroller be utilised.
Bit Size
Starting with the factors for choosing a microcontroller the first thing which comes is the number of bits processed. A microcontroller can be 8bits, 16bits, 32bits, or 64bits, which is the current maximum bit size of a microcontroller. The bit size of a microcontroller reflects the size of a "word" in the microcontroller's instruction set. This implies that with an 8-bit microcontroller, each command, address, variable, or register requires 8 bits to be represented. The memory capacity of the microcontroller is one of the primary consequences of bit size. In an 8-bit microcontroller, for example, the bit size dictates 255 unique memory locations, whereas, in a 32-bit microcontroller, the bit size dictates 4,294,967,295 unique memory locations, implying that the larger the bit size, the greater the number of unique memory locations available for use on the microcontroller.
The impact of bit size is most likely seen while building firmware for microcontrollers, particularly for arithmetic functions. For varying microcontroller bit sizes, the various data kinds have varying memory sizes. For example, using a variable declared as an unsigned integer, which requires 16bits of memory due to the data type, in codes to be executed on an 8bit microcontroller will result in the loss of the most significant byte in the data, which at times may be critical to the success of the task for which the device on which the microcontroller is to be used was designed.
As a result, it is critical to choose a microcontroller with a bit size that corresponds to the data to be processed. Because of the technical developments implemented into these circuits, it is perhaps vital to highlight that most applications these days are between 32bits and 16bits microcontrollers.
So even if we talk about a 16- bit microcontroller, there are many companies that produce 16-bit microcontrollers. So for choosing a perfect controller for the project or any other kind of work as per the requirement, the following features have to be kept in mind:
-
The Clock Speed, now this something very important because it is the speed at which a microcontroller will be working. If the speed of a microcontroller is high, which could be approx 300MHz so this means the microcontroller will be executing the tasks quickly and for the low clock speed the controller will be executed at a low pace. So according to the application for which the microcontroller is needed, the microcontroller has to be chosen. More the clock speed more will be its price. So in case, the application is for a small project so a controller with less Clock speed would be a perfect option.
-
Interfaces for Communication, communication between the microcontroller and some of the sensors and actuators used in the project may need the usage of an interface between the microcontroller and the sensor or actuator. To link an analog sensor to a microcontroller, the microcontroller must have adequate ADC (analog to digital converters), or, as previously indicated, modifying the speed of a DC motor may need the usage of a PWM interface on the microcontroller. As a result, it is critical to ensure that the microcontroller chosen has an adequate number of interfaces, such as UART, SPI, and I2C, among others.
Types of Communication: Communication may be divided into two types: parallel communication and serial communication. In parallel communication, information is transmitted by sending several bits of data at the same time, whereas in serial communication, information is transmitted "bit by bit." As a result, parallel communication is much quicker than serial communication. It is also simpler to programme.
Communication Protocols in Serial Communication
SPI- Serial Peripheral Interface: This protocol can be three or four wires long (the fourth wire is Slave Select). Each cable connects the master to the slave and vice versa. The third wire is used to send clock pulses.
I2C- Inter-Integrated Circuit- This is a more advanced version of USART. It is a two-wire communication system. The first cable is for the clock, while the second wire is for bidirectional data. Phillips designed this relatively new protocol. There is just one master and one or more slaves. Each slave has a unique address via which the master speaks with the slave in question. Furthermore, it is substantially quicker than UART communication.
UART (Universal Asynchronous Receiver Transmitter) and USART (Universal Synchronous Asynchronous Receiver Transmitter): It employs two lines, one for transmission and the other for data reception. They can be used to transport data between two microcontrollers or from a microcontroller to a computer.
The distinction between these two is that the USART supports both synchronous (data is synced with the clock) and asynchronous (data is not synchronised) modes of communication, whilst the UART only supports Asynchronous.
-
Memory Requirements, there are many types of memory connected with a microcontroller that a user should consider while making a choice. The RAM, ROM, and EEPROM are the most significant. The quantity of each of these memory required may be difficult to estimate until it is utilised, although estimations may be made based on the amount of work required of the microcontroller. The above-mentioned memory devices comprise the microcontroller's data and programme memory.
The firmware for the microcontroller is stored in the microcontroller's programme memory so that when power is withdrawn from the microcontroller, the firmware is not lost. The quantity of programme memory required is determined by the amount of data, such as libraries, tables, binary files for pictures, and so on, that are required for the firmware to function properly.
The data memory, on the other hand, is utilised during the execution process. This memory stores all variables and data created as a consequence of processing and other actions during run-time. As a result, the complexity of calculations that will take place during run-time may be utilised to estimate the quantity of data memory required for the microcontroller.
A microcontroller's architecture may need the storage of variables and constants in several forms of memory. Data that will not change should be kept in one type of memory, whereas data that must be read from and written to repeatedly in a programme should be stored in another. The third form of memory can be used to store variable data that must be kept even if the system is turned off.
SRAM is a form of memory that requires data to be read and written frequently. This data will vary when different programmes are placed into the AVR microcontroller circuit. This is the most popular and widely utilised form of memory.
Flash memory is typically used to store data that does not change. This is known as the programme memory. It saves the fixed portion of the microcontroller software that will always be permanent. This is analogous to a general-purpose computer's BIOS.
-
I/O ports, are the input as well as the output ports available on the microcontroller. One of the most important criteria influencing the selection of a microcontroller is the number of general or particular purpose input/output ports and (or) pins.
If a microcontroller has all of the other qualities stated in this article but lacks the requisite number of IO pins, it cannot be utilised. It is critical that the microcontroller has sufficient PWM pins, for example, to manage the number of DC motors whose speeds will be adjusted by the device. While shift registers may be used to enhance the number of I/O ports on a microcontroller, they cannot be utilised for all applications and raise the cost of the devices in which they are employed. As a result, it is preferable to ensure that the microcontroller chosen for the design has the necessary number of general and special purpose I/O ports for the project.
Another important consideration when calculating the number of general or special purpose I/O pins necessary for a project is future device upgrades and how such upgrades may influence the number of I/O pins required.
-
Size, for a better and compact size of your project a perfect microcontroller with a small size as per the requirements has to be selected. For example, if the work could be done with the microcontroller having a total of 16 pins then why do we take a microcontroller that would have more pins which will increase the size, a exact microcontroller will reduce the size of the project.
-
Packaging, is the manner in which an IC is shown, it as a box that encloses the functionality of the component. No matter whatever the package is, as long as the component and value are the same, the functionality will be the same. Boxes can be of various sizes and shapes.
DIP (Double In-line Package)-
The leads protrude from both sides of the body and are made of plastic and ceramic.
SOP/SOIC/SO (Small Outline Package)
The pins are drawn in the shape of an L from both sides of the body, and they are made of plastic and ceramic.
QFP (Quad Flat Package)
The leads are led out in an L-shape from four sides; the materials include ceramic, metal, and plastic.
QFN/LCC (Quad Flat Non-leaded Package)
This IC package has electrode connections on all four sides. The mounting area is less than QFP and the height is lower than QFP due to the lack of leads. The number of electrode connections ranges from 14 and 100, and the materials used are ceramic and plastic.
It depends on the PCB or the application where the microcontroller has to be mounted, so according to that the shape of the microcontroller will be chosen.
CSP (Chip Scale Package)
This IC packaging can achieve a close to 1:1 chip-to-package ratio. The absolute size is only 32 square millimetres, which is around one-third of the size of a standard BGA and one-sixth of the chip area of TSOP memory. When compared to a BGA, a CSP package in the same size can triple the storage capacity.
-
Power Consumption, is the power that a microcontroller requires to work. As sometimes the microcontroller needs to be powered through the batteries so we have to choose a microcontroller with less power consumption to avoid frequent change of batteries. There is a trade-off between processing performance and power consumption: a device with higher processing power will consume more energy. Therefore, if your microcontroller is wireless and running on a rechargeable battery, you need to weigh sacrificing power efficiency against getting more processing power, or vice versa. Most microcontroller datasheets include information on many hardware and software-based strategies that may be utilised to reduce the amount of power consumed by the microcontroller in different modes. Make sure the microcontroller you choose meets the power needs of your project.
-
The Operating Voltage, is the voltage level at which a system is supposed to function. It is also the voltage level to which some system properties are linked. The operating voltage in hardware design sometimes impacts the logic level at which the microcontroller communicates with other system components.
The most common operating voltage levels for microcontrollers are 5V and 3.3V, and a choice should be taken on which one of these voltage levels will be utilised throughout the device's technical specification development process. Using a microcontroller with a 3.3V operating voltage in the design of a device where the majority of the external components, sensors, and actuators will be operating on a 5V voltage level will not be a wise decision because logic level shifters or converters will be required to enable data exchange between the microcontroller and the other components, increasing the cost of manufacturing and the overall cost of the device unnecessarily.
-
Technical Data, it is critical that the microcontroller you select to work with provides the necessary support, such as code samples, reference designs, and, if desired, a big online community. Working with a microcontroller for the first time may provide a variety of obstacles, and having access to these materials can assist you in overcoming them fast. While using the latest microcontrollers is indeed a good thing due to the obviously new features they come with, it is best to ensure that the microcontroller has been there for at least 3-4 months to make sure that most of the early problems that may be associated with the microcontroller have been resolved because various customers would have done plenty of testing of the microcontroller with different applications.
-
Cost, after looking over all the points the last but not the least thing is Cost. In case we finalize two microcontrollers with the same features but different prices so in that case, the preference will be given to the one with a low price.
Comparing basic features of 8-bit Arduino Microcontroller series in the table below:
After clearing your doubts regarding choosing a microcontroller, now you may have decided which controller is best for you. For purchasing the controller you may visit the website by clicking HERE.
The microcontrollers present on the website are priced Inclusive of All Taxes, Same Day Dispatch and Priority Support Available.