Total Pageviews


March 29, 2015

Which Microcontroller is best for your project?

by 4hathacker  |  in Embedded Systems at  8:40 PM

It is the very basic question that every hobbyist or embedded designer wants to decide... But how can we decide this!!! Is their any specific criteria or some points that would help in the selection of MCU for your project?
Yes, their are some points to be noted while selecting MCU for the project. As discussed in the later post, A MCU is a "computer on a chip" with CPU, RAM, ROM/Flash, and I/O built into a single chip. And now it is common to have a built in clock so you can have a working project with only a microcontroller, power supply, and what ever switches, LEDs, etc, are needed for the application.
There are different microcontroller families available in the market that we can go for.They are characterised by their:
1. Instruction Set Architecture.
2. Memory
3. Registers Available
4. Memory Addressing methods
5. Supporting Programming language whether assembly or C,etc.

Some of the important easily available microcontroller families are:

1. 8051 family: This is an 8-bit processor family(processes 8-bit word at a time). It is based on Harvard architecture which means their is a separate memory for RAM and programs. It has limited stack space around 128 bytes only. Also it is the older family of microcontroller which uses assembly language for programming. It requires multiple clock cycles per instruction.
Tips in Regard : Hobbyists who want to learn keenly about 8051 family and knows about assembly language as well, can select this microcontroller for their project. A very famous book (8051 Microcontrollers And Embedded Systems) from a well known author Muhammad Ali Mazidi is the best guide to help you. 

2. Atmel's AVR family: AVR stands for Advanced Virtual RISC. It is a newer family as compared to 8051 architecture. It has 8-bit, 16-bit and 32-bit microcontrollers too. It is also based on Harvard architecture. There is no need of too many clock cycles per instruction because inbuilt oscillator for clock generation is present already. We can use C language for its programming which is called Embedded C.
Tips in Regard : This is an excellent family of microcontrollers, which I personally suggest to work with being an active learner. One who knows about C language can get his hands dirty with this MCU and learn about various communication protocols with it. e.g I2C, UART, etc.It is really fast with execution and simple to use for projects. Just go with AVR STUDIO version 6 or above and AVRdude GUI for conversion to hex file and start learning simple programs with any development board having AVR MCU. Also there is a wide range of compilers available in the market. 

3. ARM family: ARM stands for  Advanced RISC Machine. It is also a newer family having 16-bit and 32-bit architectures. It is based on Von Neumann Architecture which means the RAM and program shares the same space. Its is pretty much faster than AVR. It has a range of MPU/MCU for learners which is ARM CORTEX M-Series. Whereas for professional purpose, it is used in mobile phone processors as ARM CORTEX A-Series.
Tips in Regard : A very essential family of  MCU/MPU which we are using in our mobile phones. Learning with ARM is good to go but you must know about the very basics of ARM and a past experience over another MCU is a plus. They are advanced MCU and used where we need fast processing speed. So, for a project in which processing speed matters to be very fast, the ARM MCUs are the  best choice.

There is one more available MCU family i.e. PIC(Peripheral Interface Controller),which is also a good option, but it is an older family and fast processing cannot be achieved.
Some launchpads and development boards are also present in the market. For example, Arduino UNO(a development board with ATMega 328) is easily available and economical to the hobbyists. All the libraries, program files and extra stuff is available on the Internet.

Conclusion: For just a project, you can access them and go for the required results. But for active learners, I would like to suggest them, that first they select the MCU they want to work upon according to the need of their project. Then, design their own development board over breadboard or PCB with their selected MCU , download its compiler and then go with the very basics of programming like, Blinking an LED, using a push button with LED, LED cube and its interfacing and then further move on to sensors, ADCs, FSMs, etc. This is a, not so easy task, for newbies but it will be very interesting and by the time it will bring upon the best in them. 

1 comment:



    -hack into any nkind of phone
    _Increase Credit Scores
    _western union, bitcoin and money gram hacking
    _criminal records deletion



Like Our Facebook Page

Nitin Sharma's DEV Profile
Proudly Designed by 4hathacker.