If you are into software or hardware engineering, one of the most
daunting task for you is probably the selection of the right
micro-controller for your product. While choosing your microcontroller
you are not only required to consider the long and defined list of
technical features, but you also have to take care of other factors like
cost and lead-times. It is indeed tempting to kick start any new
project from straight away choosing your microcontrollers, but the
results of such rush can be disheartening. So before making the rational
decision of choosing the right microcontrollers, these are some must
follow and simple 10 steps which can ensure that the right selection.
1. List down the required hardware interface.
Make use of the general hardware block diagram to make a list of
all the required external interfaces that will be supported by the
microcontrollers. The basic two types of interfaces which will be listed
here will be the communication interfaces like the peripherals such as
USB, I2C, UART, SPI, and so on. These interfaces have a bigger effect oh
how much amount of program space a microcontroller will require to
support. Secondly the engineer requires to chalk out the interfaces like
the digital inputs and outputs, the analog to digital inputs, the
PWM’s, etc. These will define the number of pins required by the
microcontroller.
2. Consider the Software architecture
The software architecture and requirements is another big factor
effecting the selection of the microcontroller. The weight of the
processing requirements determines if you should choose am 80 MHz DSP or
an 8 MHz 8051. Make notes of the requirements which can effect the
decision like algorithms that require floating point mathematics, or
high frequency sensors or control loops, estimates of how frequently
these tasks are being run etc. These will help you make an estimation of
how much processing power will be needed which will again effect the
architecture and frequency of the microcontroller.
3. Selecting the architecture
Once you are done with step one and two make use of the information
to get an idea of what architecture will be required. Choose between 8
bit, 16 bit and 32 bit ARM core? You will find your answers between the
application and the required software algorithms. Do keep in mind that
you might need to add further features in the future. So if your
features are just right for a 8-bit core, you might want to consider a
higher version.
4. Choosing the Right memory requirements
From the important requirements in the above steps, here we move to
the critical requirements of a microcontroller. The Flash and the RAM
are indeed two of the most critical components of any microcontrollers.
Making sure that the product do fall short of the program space or
variable space is indeed of the highest priority. There is nothing more
painful then cutting down the features towards the end of the designing.
So always start with higher memory requirements and you might consider
cutting it down in the future. Estimate how much flash and RAM will be
required by making use of the software architecture and the
communication peripherals included in the application and as we
mentioned above do keep in mind that you might need to add features in
the future.
5. Power constraints
Once you are done with selecting the right architecture and the
memory its now time to step down to the market and get a list of
micro-controllers matching your requirements. Start cut shorting the
list by the power requirements of your device. Make sure you choose the
low power parts if the device will be powered from the battery of the
mobile.
6. Life cycle of the product
You are done with shortlisting the products that matches the above
requirements, so now its time to consider how long of a life cycle are
you planning for your product. If your product’s life is 10 years, make
sure that the manufacturer guarantees a 10 year availability of the
micro-controller.
7. Look for a development kit
After considering all the above factors and almost ready with the
selected alternatives, start to look for a development kit. These
development kits helps you to play with and learn the inner functions of
the controller. If the development kit isn’t available, it is probably
not the right choice.
8. Look out for compilers and tools
While after you have your development kit in hand, you are almost
ready with the right micro-controller. But before you pay and leave back
home, the availability of the compilers and tools is one last but a big
and important factor to consider. Make sure that all required tools
like the compilers, debugging tools and examples codes are already
available. Without these the development process can get difficult, time
taking and expensive.