Thoughts on Atmel/Freescale/STM/XMOS Microcontrollers? - Page 1
Forum section: electronics / general

author: CM800
author_rank: Frequent Contributor
timestamp: February 02, 2015, 01:25:39 pm
content: Hey guys,I'm looking into designing stuff commercially to do with industrial controllers and drives.I am trying to pick out a few microcontroller boards for this kind of thing, One of the processers that caught my eye were:http://uk.farnell.com/atmel/atsam4s-ek2/eval-sam4s8-sam4s16-cortex-m4/dp/2215340What is the general opinion on this stuff?I am ideally looking for a MCU with these kinds of specs:High speedIntegrated USBUART outputsCAN is a bonus I would appreciate.Does anyone have any recommendations?

author: nctnico
author_rank: Super Contributor
timestamp: February 02, 2015, 02:12:46 pm
content: Read Atmel's datasheets very carefully. I have blacklisted Atmel because they have proven to be way too optimistic in their specifications. If they specify a device for a minimum voltage of 3.3V it can't run at 3.3V in real world applications.

author: CM800
author_rank: Frequent Contributor
timestamp: February 02, 2015, 06:15:58 pm
content: Quote from: nctnico on February 02, 2015, 02:12:46 pmOkay!Does anyone have any recommended ones?

author: JoeN
author_rank: Frequent Contributor
timestamp: February 02, 2015, 07:16:33 pm
content: It seems to me that Freescale is very competitive in this area, on price and also on features. I looked at their ARM (Kenetis) offerings that have both USB and CAN and found this:name price flash RAM speed easiest package datasheetK21_120 $4.60-$5.51 512,1024 128 120Mhz QFP 144http://cache.freescale.com/files/32bit/doc/data_sheet/K21P144M120SF5V2.pdfK24_120 $3.67-$7.92 256,1024 256 120Mhz QFP 100http://cache.freescale.com/files/microcontrollers/doc/data_sheet/K24P144M120SF5.pdfK40_100 $4.52-$5.57 128,256,512 32,64,128 100Mhz QFP 80http://cache.freescale.com/files/32bit/doc/data_sheet/K40P100M100SF2V2.pdfK40_72 $2.99-$4.15 64,128,256 16,32,64 72Mhz QFP 80http://cache.freescale.com/files/32bit/doc/data_sheet/K40P100M72SF1.pdfK64_120 $5.77-$8.29 512,1024 196,256 120Mhz QFP 144http://cache.freescale.com/files/microcontrollers/doc/data_sheet/K64P144M120SF5.pdfPrices are for reels, don't expect to get that if you order 100, but I think all of these are available as samples and you can get 5 of each (from experience). Choose three and sample five of each of them. I didn't put down all the features, some of these have very good ADCs and DACs and LCD drivers, as well as a couple of them contain FPUs. Freescale's development environment is free to download. Freescale has a lot of development boards, but if you put in an order for samples you will have it this week easy. All you need as a QFN adapter board and making your own development board is IMHO worth the time to prove to yourself that you know what you are doing with the IC.CodeWarrior for Microcontroller 10.6 Free Edition restrictions: The Special Edition license is automatically installed with your product and you do not need to register it. This license allows you to develop projects with unlimited assembly code; up to 64KB of C code for ColdFire+, V1 ColdFire, DSC, Kinetis L Series, RS08, S08 derivatives; up to 128KB of C code for Kinetis K Series and V2-V4 ColdFire derivatives; and up to 512KB for Qorivva and PX derivatives.I have no idea how easy or hard it is to code for the CAN or USB interfaces on these microcontrollers. Anyone know?

author: nctnico
author_rank: Super Contributor
timestamp: February 02, 2015, 07:46:36 pm
content: I'd stick to NXP or ST. These seem to be the main players in ARM country judging from the ARM based projects mentioned on this blog.

author: dannyf
author_rank: Super Contributor
timestamp: February 02, 2015, 07:49:26 pm
content: QuoteTry KDE.

author: CM800
author_rank: Frequent Contributor
timestamp: February 02, 2015, 07:52:47 pm
content: Quote from: JoeN on February 02, 2015, 07:16:33 pmThanks for this information, I do worry about the restrictions and so on, also ease of programming.I have had a look at STM32 and I just find it rather complex and a lot of code to do simple things. Not much useful tutorial/ documentation either.

author: nctnico
author_rank: Super Contributor
timestamp: February 02, 2015, 08:00:04 pm
content: Did you read Zapta's thread on using an NXP controller?https://www.eevblog.com/forum/microcontrollers/introducing-the-arm-pro-mini-board-arm-made-eazy/IMHO this is a well paved road into ARM.

author: dannyf
author_rank: Super Contributor
timestamp: February 02, 2015, 08:05:46 pm
content: QuoteThey are all quite "complex".I would summarize it this way:ST: OK chip at cheap prices. Nothing stands out so an all-round winner. Dominates Cortex-M3.NXP: pricy chips with limited features. Proven design. Worst software support of all vendors.TI: premium chips with lots of features. Buggy. CM4 focused.Freescale: premium chips with great software support. CM0/CM4 focused.Others: more or less specialty vendors.So if you are poor, go with ST; If have lots of money, go with Freescale.

author: CM800
author_rank: Frequent Contributor
timestamp: February 02, 2015, 08:25:17 pm
content: Ouch my wallet....http://www.freescale.com/webapp/sps/site/overview.jsp?code=CW_SUITES&tid=CWHThanks for your advice. Does anyone have any good experience with USB and so on?Also, lifetime of the micro-controller is important as this will be in an industrial application. How do things look in that direction?

author: dgtl
author_rank: Regular Contributor
timestamp: February 02, 2015, 08:40:12 pm
content: My observations:ST: Cheap and OK chip. No vendor-provided dev environment, but multiple free options available in addition to paid options. There is ST-provided driver library, but it is limited, its code quality is low and its footprint is huge. For commercial quality projects, prepare to write whole bare-metal code yourself. Some parts of datasheets are not so easy to read; some information is quite well hidden or not there at all. Things are not consistent at all, expect mix of different styles and quality. USB stack is terrible if you want to use USB.NXP: More expensive chips. Quite cheap LPCXpresso boards. The vendor-provided libraries work well, but lately they have added too many options and everything starts to get to a mess; you have to read documentation to understand how to use things. Still, everything works well out-of-the-box, just prepare to read some documentation and be prepared for some wtf moments. Datasheets are OK.TI: Haven't used, but when looking at the history and errata sheets, everything seems very buggy. It will take TI a huge effort to come out of this hole they have dug themselves into.Freescale: Haven't used Cortex-M.Silabs Energy Micro EFM32: Good chips, a little on expensive side. Good datasheets. Their vendor-provided tools work well and are easy to use.Cypress PSoC: a different view on hardware. FPGA/HW guys will like the configurable blocks. Tools work well (windows-only). Chips have been on pricier side for long time; prices have been dropping in recent times. The debugger was more expensive than others. Getting documentation from web site requires registration and you'll get some e-mails now and then with questions like "how did you like that file you downloaded recently".Spansion / Fujitsu FM4: haven't triedAtmel: Won't use. Too many disappointments on all product ranges (AVR, SAM3S, SAM9). A lot of marketing bullshit, real world is different. Datasheets are very well written.

author: CM800
author_rank: Frequent Contributor
timestamp: February 02, 2015, 08:44:39 pm
content: Quote from: dgtl on February 02, 2015, 08:40:12 pmThanks for that, really quite useful point-outs there.Does anyone have any thoughts on XMOS multi-core MCUs? they seem very fancy and look bloody useful too.Have a look hereI also found this video that seems very interesting:

author: donotdespisethesnake
author_rank: Super Contributor
timestamp: February 02, 2015, 09:35:27 pm
content: Quote from: TCWilliamson on February 02, 2015, 08:25:17 pmFor Freescale ARM chips, look at Kinetis Design Studio instead. It is free and unlimited for most if not all of the Kinetis range. I think that is the best deal of all the vendors; the others seem to provide a limited free edition. The quality of the free software provided is a moot pointFreescale use the opportunity to promote their non-free middleware of course.I know that Atmel and Freescale have longevity programs, for what that is worth. TI dropped a whole range of Stellaris devices recently... that caught a lot of people out.I haven't used other vendors professionally, only hobby, but the points given here by others echo what I have read from various sources. I would say Freescale/STM have the edge currently.

author: CM800
author_rank: Frequent Contributor
timestamp: February 02, 2015, 09:45:54 pm
content: Well, it seems freescale's may be the best option, I shall have a look at it... when I get my confirmation email for my account, haha!

author: nctnico
author_rank: Super Contributor
timestamp: February 02, 2015, 10:00:14 pm
content: I'd look at the programming solution first. Years ago I ventured into trying Freescale's Coldfire processors. It turned out the programmer costed a lot of money making it impracticle to hand out several to field engineers. NXP ARM controllers OTOH can be programmed using nothing more than a simple USB to serial converter which can also be used to deal with a command line interface.

author: dannyf
author_rank: Super Contributor
timestamp: February 02, 2015, 10:04:18 pm
content: QuoteIt certainly is for some, like demanding mixed signal applications, performance-driven high reliability applications (automotive, power supplies), etc. Those guys have a huge share of the mcu market for really good reasons.But you have to pay dearly for that. So for others, it may not be the best option.

author: CM800
author_rank: Frequent Contributor
timestamp: February 03, 2015, 12:04:12 am
content: I shall have to look at it with my boss come tomorrow, I'll show what you guys have said, does anyone else have any good input or thoughts my boss should know on choosing one?

author: nctnico
author_rank: Super Contributor
timestamp: February 03, 2015, 12:46:17 am
content: The best way is to try a few. It takes time but it is the only way to make a good comparison.

author: JoeN
author_rank: Frequent Contributor
timestamp: February 03, 2015, 01:21:55 am
content: This is the Freescale programmer I have that seems to be the normal way to program their chips:http://www.pemicro.com/products/product_viewDetails.cfm?product_id=15320137http://www.digikey.com/product-search/en?KeyWords=U-MULTILINK-NDIt is supported directly in Codewarrior. The funny thing is I look at my records and I got this from Digikey for $119 on 5/17/2013 and it is now $199. That is not the direction programmer prices are supposed to be going in, it's a little bit unwise for Freescale to allow that to happen. Compared to a lot of other programmers these days, $199 is expensive, but it does every Freescale family: Kinetis (includes L-Series), Qorivva MPC5xxx, ColdFire +V1/ColdFire V1, ColdFire V2/3/4, HC(S)12(X), S12Z, HCS08, RS08, DSC. See details, etc.

author: andersm
author_rank: Super Contributor
timestamp: February 03, 2015, 02:09:45 am
content: Are there any Cortex-M devices thatdon'thave a standard ARM JTAG or SWD interface? Unless you really really want to tie yourself to the manufacturer's tools you're IMO much better off getting a universal interface. Eg. even if you want to use vendor-specific development environments, Segger's J-Link is supported almost everywhere.

author: ElektroQuark
author_rank: Unknown
timestamp: February 03, 2015, 08:25:26 am
content: Yes, J-Link is the way to go. Freescale ARMs are supported.Forget about CodeWarrior (they will drop Codewarrior support for new Kinetis devices), the recommended IDE, from Freescale, now is KDE (Kinetis Design Studio). KDE is free with no limits.

author: JoeN
author_rank: Frequent Contributor
timestamp: February 03, 2015, 08:33:59 am
content: Quote from: EdoNork on February 03, 2015, 08:25:26 amI did not know that. I do know that J-Link has an "EDU" non commercial and very cheap version that I own as I am a hobbyist. Should not be used for commercial production. I have to look at that KDE software.

author: CM800
author_rank: Frequent Contributor
timestamp: February 03, 2015, 06:15:18 pm
content: Thank you for all your replies, I have bookmarked this thread and shall be refering to it when I need to, I believe Freescale may be the choice however I need to talk with our overseas engineer to make some decisions (long long company pipelines y'know?)

author: JoeN
author_rank: Frequent Contributor
timestamp: February 03, 2015, 08:05:39 pm
content: I think any first choice should always be probational. Get some samples, make sure you can get the USB and CAN bus up to your liking and a very simple version of what you are trying to accomplish up and running on the device. If that works and you are comfortable with the device, and the devices are available and the right price for your project, then you can make a commitment. At some point it needs to be a commitment though because a lot of the code that has to do with USB and CAN buses will be very vendor-specific even if your algorithms are in C and are portable.