Choosing Micro-Controllers

27 views
Skip to first unread message

chetan patil

unread,
Jan 29, 2012, 9:52:20 AM1/29/12
to opena...@googlegroups.com
Hi Everyone,

As everyone knows there are tons of Micro-Controller available in the market.
Now, my question is : What is the most efficient way to get hold of right Micro-Controller.

Many will say you just have to match your requirement and grab the nearest one.
However to do this task also even if I go to let say Atmel's database I will get lost 
somewhere and that too with only one manufacturer considering there are many others.

So for me its always a big question on how to get hold of near perfect Micro-controller.

If any one may help me out by sharing some proven concept then please.

P.S. : I want to get input from those who might have had same issue however during 
         course found some way out on choosing Micro-controller.

--
Thank You and Warm Regards,
 
Chetan Arvind Patil,


J T Dsouza

unread,
Jan 29, 2012, 11:38:06 AM1/29/12
to opena...@googlegroups.com
This is one rotten, thankless task. Always.
It depends heavily on wether you have to keep compatibilty with your existing hardware and code base. If yes it will pretty much decide your family and possibly vendor. If you are switching vendors you wil have to check performance, tools compatibility, errata, price, availability, reliability etc.

If you dont need compatibility, and this is very rare indeed, sky is the limit.
Firstly it would depend on your application and the environment it has to operate in.
You will then review controllers that fit into this environment.
Next will be peripherals and their speed and characteristics.
Mem size
Packaging
Costs
Tools
Code libraries and licence terms

Re iterate  above and narrow down to a few.
Get samples
write code
find bugs and discover how rotten the vendor support is
......ad nauseum

For me, after years of suffering vendors and their rotten balckbox tool chains, GNU/linux was like manna from heaven. Irrespective of what elixir the vendor claims in their controller, no linux support means it has something rotten to hide. When they support linux, the community quickly discovers problems. Which allows you  to either workaround, accept, or reject. No nasty surprises after 5000 of your devices are in the field.

Nishchay Mhatre

unread,
Jan 29, 2012, 10:41:10 PM1/29/12
to opena...@googlegroups.com
Hi,
 I think J T Dsouza has captured all the important factors that you will have to consider while choosing the controller. Assuming that you have considered these factors and are still stuck, I have just one suggestion regarding the precedence of these factors.

F9actor in the scale and time-line of your project/product. This is very hard to do `exactly' but one always has vague idea. Ordering samples and choosing by trial is not practical, unless one gets an evaluation board or has a fast board-making process in place. I have always faced unwillingness from suppliers in Pune towards providing samples and online orders of samples take weeks to arrive. If you have time for this approach, then it is excellent.

If not, I suggest that within the few technically equivalent parts that you may have narrowed your search to, pick the one with the highest availability and sufficient GNU/Llinux tool support. Cost and availability will be in somewhat inverse proportion. 
If the project is experimental, it would be more useful to make do with a relatively `poorer in features' controller that you can procure in fairly large numbers, fast and for cheap.

I hope this helps.
Nishchay
--
~~Jai Hind~~

Hemant Mohan

unread,
Jan 31, 2012, 4:02:31 AM1/31/12
to opena...@googlegroups.com
> As everyone knows there are tons of Micro-Controller available in the market.
> Now, my question is : What is the most efficient way to get hold of right Micro-Controller.
>
> Many will say you just have to match your requirement and grab the nearest one.
> However to do this task also even if I go to let say Atmel's database I will get lost
> somewhere and that too with only one manufacturer considering there are many others.
>
> So for me its always a big question on how to get hold of near perfect Micro-controller.
>
> If any one may help me out by sharing some proven concept then please.

Here is an interesting article on the subject:
http://www.eetimes.com/design/microcontroller-mcu/4235484/How-to-go-about-selecting-a-microcontroller?cid=NL_MCU&Ecosystem=microcontroller-mcu

Cheers,
Hemant
----------------------------------------------
Registered Linux user #367178,  http://counter.li.org
Say NO to Monopolies. Boycott MICRO$OFT

chetan patil

unread,
Jan 31, 2012, 4:50:22 AM1/31/12
to opena...@googlegroups.com
Hi,

Thanks.

However in every reply one thing was common :  GNU/Llinux tool support

Does that mean most of the vendors tie the user/developer to the IDE which they
have as proprietary? 
If it doesn't support GNU/Linux tools then burning a hex file will
be a big task if IDE is proprietary ?
How big this point is?

I thought only processors should have such support in order to have toolchain
set up easily. 



--
Thank You and Warm Regards,
 
Chetan Arvind Patil,
www.chetanpatil.info



J T Dsouza

unread,
Jan 31, 2012, 5:21:02 AM1/31/12
to opena...@googlegroups.com
On Tue, Jan 31, 2012 at 3:20 PM, chetan patil <chtp...@gmail.com> wrote:
Hi,

Thanks.

However in every reply one thing was common :  GNU/Llinux tool support

Does that mean most of the vendors tie the user/developer to the IDE which they
have as proprietary? 

Not merely the ide, but the compiler/linker/debugger which are the more important bits undelying the toolchain IDE.
These toolchains come with either artificial crippleware features  (code limit, seat limit, missing usb/network/filesystem libs) and /or huge costs.
Further they invaraobly involve a hefty charge when you migrate to a fifferent processor family. Not to mention en passant that most of them are windows based.

Even more irritating is that many of them use freesoftware (eclipse, gcc, gdb etc). And, if one looks hard enough, you will find the linker and make scripts, usually in a horrendous messy maze of directories. NONE come with any code management tools.

Not to mention the idiocy of clicking 20 buttons in an ide when a simple script will do all of it and a lot more.

If it doesn't support GNU/Linux tools then burning a hex file will
be a big task if IDE is proprietary ?
How big this point is?

Very big. Many dev system + board  makers + micon vendors are involved in a dirty game that deliberately does not publish the programming and debug interface specs / algos. Which requires you to buy costly, unmaintainable programmers.
Eg SWD interface. Latest news is that the specs is being opened up to the openocd devs.


I thought only processors should have such support in order to have toolchain
set up easily. 

While gcc and friends have a huge panoply of features, they also have a learning curve. The plus side is you will learn a lot more about your targets and you need learn it only once and it will last you forever.  

 

chetan patil

unread,
Feb 8, 2012, 11:08:19 PM2/8/12
to opena...@googlegroups.com
Hi,

last every one was saying about checking GNU/Linux compatibility for micro-controller.

Then what about vendors like Atmel who provide free IDE tools for development.
AVR Studio. Also as me my knowledge tools provided by OEM are best way to 
utilize full capability of their product.

Please correct me if I'm wrong.

J T Dsouza

unread,
Feb 8, 2012, 11:38:52 PM2/8/12
to opena...@googlegroups.com
On Thu, Feb 9, 2012 at 9:38 AM, chetan patil <chtp...@gmail.com> wrote:
Hi,

last every one was saying about checking GNU/Linux compatibility for micro-controller.

Then what about vendors like Atmel who provide free IDE tools for development.
AVR Studio.

Free does not mean free as in beer. It means fredom  to use, modify, and distribute without hindarance the source code. Many "free" tools bundle examples that can be used only with that ide and that mfg's microcontrollers. so one would have to look closely to see the licence.
I had one distributor merrily sending me code  culled from a restricted library - precisely the one I did not want to use because of licence restrictions.

Also as me my knowledge tools provided by OEM are best way to 
utilize full capability of their product.

Wrong. Take the pdi interface. Or the innumerable stupid magic bit based programming tools. Or the latest one SWD. Everyone was stuck with SWD because the specs were closed and one would have to switch to some hardware swd to jtag interface. Only recently ARM opened up the specs and gdb support is now being created.
If One is daft enough to fall for a closed tool and te vendor discontinues support, or your debug hardware fails. You are stuck. Also you cant swtich vendors. You are a prisoner of the vendor - in keeping with their goals.

Dayanand Sonawane

unread,
Feb 9, 2012, 1:58:18 AM2/9/12
to opena...@googlegroups.com
Dear All

Selection of Microcontroller is not that difficult, as a embedded designers, first of all we must know the application and all the static and dynamic features of our product very well.

According to me we have to follow some rules like.......

1. First, We have to fix our board supply (1.2V, 3.3V. 5V, etc) and allowable size (SMD, PLCC, DIP, BGA, etc....) in the product, most of the Microcontrollers filters out.

2. Our Microcontroller should be true ASIC, try to avoid most of external interfacing stuffs. (Think of Flash memory, on-chip resources according to our requirements, future expansions if required, etc....)

3. Cost and development tools  (Should be easily available and  users friendly)

4. Success stories of your Microcontroller (According to our application and application notes)


I hope these facts definitely help embedded designers to select proper micro controller for their applications.

Prof. D. N. Sonawane
Department of Instrumentation and Control
College of Engineering Pune
9822888944
Reply all
Reply to author
Forward
0 new messages