Microcontroller Selection Criteria, Introduction:
Microcontroller Selection Criteria– Today we have so many different types of microcontrollers for example Atmega328 which is used in Arduino Uno and Arduino Nano these are the most popular ones, ATtinny85 Controllers, STM32, PIC microcontrollers, etc. Suppose we have to design a particular embedded system and for this embedded system we have to select a microcontroller. This is required because there are different companies in the market and they are producing number of microcontrollers. So have variety of the microcontrollers available in the market. Out of which one is to select this is confusion for us. Selecting the proper microcontroller you need for application is one of the critical decisions, so because this decision controls the success or failure of for the project because it is the heart of the project and if it is not selected properly then the results got will not be properly. There are thousand different types of microcontrollers each of them have a unique feature or computable advantage from form factor to package size to the capacity of RAM and ROM that makes them fit for certain application and unfit for certain applications. There are five major 8-bit microcontrollers we are considering here 8 bit microcontrollers that is from different manufacturers:
- Free scale semiconductor that is Motorola which was earlier Motorola 68HC08 / 68HC11
- 8051 and its variants
- Atmel’s AVR
- Zilog Z8
These are the major manufacturers of the 8-bit microcontrollers each of these microcontroller has a unique instruction set and register set it and they are not compatible with each other that’s why the software’s which are written for one will not work on the other microcontroller. There are also 16 bit and 32-bit microcontrollers made by various manufacturers. So that also comes into the choice.
Depending upon number of bits processed:
When we go to the market the first thing we have to decide the number of bits supposed to be processed. Because there are categories of the microcontroller some microcontrollers process 16 bit data at a time and we called it 16 bit microcontroller. Some microcontrollers process 8 bit data means they can perform the arithmetic and logical operation. So the first thing we will see that whether we require 8 bit microcontroller or 16 bit microcontroller. In maximum application we are using 8 bit microcontrollers. The main difference between the 8 bit and 16 bit microcontroller is that the 16 bit microcontroller is very fast if we compare it with 8 bit microcontroller. There are different companies which are manufacturing 8 bit microcontroller. For example:
- Zilog Z8
- Intel 8051
- Freescale 6811
- Microchip PIC16XX, PIC18XX
Three criteria in choosing a microcontroller:
Meeting the computing need of the task efficiently and cost effectively:
Suppose we will take one example and from that example we will understand how to choose microcontroller properly. Suppose I am manufacturing embedded system for washing machine so the first thing is that what is the computation needs require means how much of RAM and ROM will require for the application.
We can compromise of speed in that case but if want embedded system for the aeroplane then in that case we cannot compromise on speed. Because if we select fast speed microcontroller its cost will also be maximum so we will compromise on speed in order to reduce the cost.
RAM and ROM:
The amount of the RAM and ROM require the programme which we are writing down for the microcontroller that is supposed to be store in the ROM. If the program is of huge size then we will require the more quantity of the ROM. So as per your application we have to select the size of the ROM and same is the case for the RAM.
I /O ports:
Then the number of I / O ports so for example the system we are designing for the washing machine will measure the weight of the clothes and put the clothes in the washing machine for which we will require three ports. So according to weight which will be the input to the computer and according to that the microcontroller will take decision for adding the amount of the water and detergents. So in case of our application we will require one input port and two output ports. So I will choose such microcontroller which have at least three ports.
Now when we rotate the drum of the washing machine we require the time delay so in that case we will require the timers so we have to check whether timers are present in microcontroller or not.
Size of the microcontroller:
Now we will check the size let us consider 8051 microcontroller in which one microcontroller have 40 pins and other have 20 pins. So in that case if I choose 40 pins IC I will have 4 ports and if I choose I will have hardly 2 ports. So size is also important part while choosing the microcontroller. Packaging should be decided according to the PCB design.
Power consumption is also very important for example if we are running the embedded system on the power in the house so in that case there is no problem of power consumption. But when go for the system which will be operate on the battery in that case power consumption is very important part because if the microcontroller use very huge power and we have need to recharge or replace the battery.
Easy to upgrade:
When you purchase microcontroller and some extra things which happens in the field and you want to add it in the project so the system must be upgradable.
Cost per unit:
Cost per unit is also important criteria because we have to keep in mind the budget of our project and according to that we have to select our microcontroller.
Availability of software development tools:
Now the next thing we have to program the microcontroller because without program the microcontroller is useless. So for the programming of the microcontroller we require software when we have purchase the microcontroller we have to think about that we have the software which is required for the microcontroller. Now generally we require softwares to write the program for example:
- C compilers
Now the second thing which is very important is technical support which means how to use the microcontroller for example if we search 8051 microcontroller on the Google we will get huge information and technical support. But if you select the microcontroller and we are not getting the technical support so it will be useless.
Wide availability and reliable sources of the microcontroller in present and future days:
Suppose I am designing a toy I will go to the market and purchase the microcontroller and design the toy when my project is final then I decided to design 500 pieces of similar toy then I will go again to the supplier and I will ask him that I require 500 pieces of that microcontroller. So if he say that we have only two pieces of that microcontroller and we do not have any microcontroller of that type then we have to select another microcontroller and again we will do the designing which will be the waste of time. Our efforts will be wasted. So we have selected the microcontroller which will be available easily in the market.
General Outline of main criteria:
The general outline of the main criteria in selecting a microcontroller is listed here in the order of importance.
Suitability of the application system:
- Now the first question is that the application or task we are trying to do is it possible with a single chip microcontroller or a few additional chips?
- Does it have the required number of I/O (input / output) pins ports? For example too few cannot do the job and too many may cause excessive cost.
So this will determine the suitability of the microcontroller for the application because if your application needs more number of output pins or ports then it will not be able to run on microcontroller which has limited number of things. We have to consider optimized way the decision has to be taken so that it is in between these two point.
- Does it have all other required peripherals there are certain principles required for the working of microcontroller for example serial I /O, RAM random access memory, read write memory then read only memory (ROM), analog to digital converter (A/D), digital to analog (D/A), timers, capture compare and PWM module that is for particularly the motor control applications that will be required.
- Does it come in a 40 pin DIP (dual in line package) or a QFP (quad flat package) or some other packaging format? This is important in terms of space assembling and prototyping the end product. at that time this information is required without that we cannot prepare the printed circuit board PCB layout and the size will depend on this the insights product.
- Does it have necessary communication interface? Nowadays the communication interfaces are required for many of the applications such as USB, I2C, SPI, UART and so on.
- Does the CPU (central processing unit) core have the correct throughput? For example computer power, to handle the system requirements over the life of the system for the chosen implementation language? If you take a higher end processor it is wasteful and too little will never work. So that is how you have to choose the microcontroller in terms of throughput. It should be optimum.
- Is the MCU affordable? What is the cost per unit? This is important in terms of final cost of the product. If you go for a 16-bit or 32-bit microcontroller then there will be comparison of cost for example if your application is simple you need will need 8 bit microcontroller and for complicated tasks we will use 16 bit or 32 bit microcontroller.
- Ease of upgrade to higher performance or lower power consumption versions. So this is particularly when you want higher performance then can you upgrade to higher performance and low power consumption versions. This is particularly for the battery operated products it should have low power consumption. We have to see the power consumption of the MCU if it is IOT application then the power consumption should be minimum.
- Is the device available in sufficient quantity? This is very important for the company making product on a large scale. So when the company is making a product on large scale it will need number of microcontrollers so whether they are available quantity it is important.
- Is the device in production today? This is important for demand in future also. Currently 8051 family has the largest number of diversified (multiple) suppliers. Several companies produce 8051 family member currently. Microchip technology s also produce the PIC and AVR microcontrollers in large numbers.
Is development support available?
- Debugging tools
- Evaluation module (EVM)
- In circuit emulators
- Logic analyser pods
- Debug monitors
- Source level debug monitors
All these are the debugging tools and assemblers compilers and even the IDE integrated development environment so that is whether it is available and it is supported by the an effect error but that is very important.
- On line bulletin board service
- Real time executives
- Application examples
- Bug support
- Utility software including “free” assemblers
- Sample source code
Whether they are available many of the cases these things are available online. You visit the website and they will give us the different supports anyone there is a community that will support you if you face any problem you can put your question in that and then you will get the answer so that is what is important online bulletin board service.
Application engineers technician or marketers and how knowledgeable are the support personnel are they truly interested in helping you with your problem. So these are the very important things and telephone or PAC support or even the wave support so if it is available then because there are certain applications which are very new and then the literature for them may not be available in the books at that time you will have to take help from the internet. So we have to check these things whether the application support is available for the microcontroller. So you can visit the websites of the manufacturers particularly mind microchip technology or the ATMEL who will give the answers for these questions. The freescale semiconductor (Motorola), Atmel, Zilog and microchip technology all have dedicated massive resources to ensure wide and timely availability of their products because their products are stable mature and single source. 8051 family and it variants are also have several manufactures and are available in time. In recent years companies have begun to sell field programmable gate array (FPGA) and application specific integrated circuits (ASIC) libraries for different microcontroller. So these libraries can be useful for developing the application so in this way you have to choose the microcontroller suitable for your application.