Best ARM for my needs - Page 1
Forum section: electronics / projects

author: sgpee
author_rank: Contributor
timestamp: November 23, 2010, 12:54:03 am
content: Fellow masters,I have asked a question and got great responses and the outcome was i needed a better processor. Now, I have the following requirements, which processor do you guys think would be best:Must haves:- Price: As low as possible- 256K flash (128 would also be ok)- 64kb ram- 3 SPI and 1 I^2c- <30mm2 board space (or lower)- 2 A/D (8 bit is fine, up to 30kHz)- Debug port (jtag etc)Nice to haves:- Real time clock- I don't care about USB/Ethernet etc. Actually, it is better if I don't have them, lower pin count/board space much more importantThanks,sgpee

author: EEVblog
author_rank: Unknown
timestamp: November 23, 2010, 02:08:55 am
content: Have you tried the parametric searches at Digikey or Mouser?Dave.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: November 23, 2010, 08:47:45 am
content: 64k RAM is going to be the expensive bit - think carefully about whether you actually need this much.LPC2136 will do 256K flash+32K RAM, but still not a particularly cheap part.

author: sgpee
author_rank: Contributor
timestamp: November 23, 2010, 03:18:43 pm
content: I am squeezed by power and size, cost is obviously very important but I can probably manage that.. What is expensive in 10K quantities? I will check the prices with disty but are you talking ~3-4$ range or >5$?Thx,Sgpee

author: sgpee
author_rank: Contributor
timestamp: November 23, 2010, 03:20:13 pm
content: Follow this link for ultimate ARM selection guide.. Beats anything I have come across so far.. If I get time, I will make this an excel and post it here...http://www.keil.com/dd/parms/arm.htmBest, sgpee

author: TheDirty
author_rank: Frequent Contributor
timestamp: November 23, 2010, 03:43:47 pm
content: LPC17xx series. Looks like LPC1763.If cost and power use are important, don't bother with the LPC2xxx series.LM3S1xxx series would work as well, but they look more expensive.

author: vaneenbergen
author_rank: Contributor
timestamp: November 23, 2010, 08:19:10 pm
content: what about the atmel at91sam7xit has 2 spi and i2c. the spi has ,multiple channels (chip selects tah can be programmed with dma )you cold also do bitbanging some slow speed spi.joost van eenbergen

author: TheDirty
author_rank: Frequent Contributor
timestamp: November 23, 2010, 09:46:59 pm
content: Quote from: vaneenbergen on November 23, 2010, 08:19:10 pmI've done plenty of work with the SAM7's and I've given up on ARM7's all together now that Cortex-M3 and Cortex-M0 is out. CM3 is just cheaper and easier, both hardware and firmware wise to implement. The performance is way up there as well.If you want Atmel, the SAM3 series is their CM3 line, but I don't have any experience with it and they don't look readily available in singles.

author: TechGuy
author_rank: Regular Contributor
timestamp: November 23, 2010, 10:47:43 pm
content: Quote from: sgpee on November 23, 2010, 12:54:03 amI would look into the IDE software development costs first ($3K to $6K for ARM)

author: Unknown
author_rank: Unknown
timestamp: November 23, 2010, 11:18:52 pm
content: Quote from: TechGuy on November 23, 2010, 10:47:43 pmCode Red offers a free IDE with a $30 or so LPCexpresso, limited to 128k. Not sure if you can use it without the development board. There are also free versions based on arm-gcc available, although they may not be as polished. I'm sure there are cheap or free compilers available for other Cortex M3's, like those from ST.

author: TheDirty
author_rank: Frequent Contributor
timestamp: November 23, 2010, 11:38:05 pm
content: Yes, there are free GCC/OpenOCD/Eclipse toolchains. I tried them out a while ago and had a really hard time getting it going. I have not tried them in a while, and the fact that a lot of people use these toolchains just fine, means I just didn't go through all the steps properly.I'm using Rowley Crossworks Non-Commercial version ($150 - Exact same functionality as the full commercial version, you just have to sign a document that you aren't programming for a business or making commercial products). It's a GCC compiler, like the Code Red, but it's just so easy to use. The IDE is slick and supports packages for just about every ARM variant can be downloaded and installed through the IDE.

author: xani
author_rank: Frequent Contributor
timestamp: November 24, 2010, 04:31:29 am
content: "Devkits" versus open source software often comes to "how much you value your time?". Tho I think that in some time someone will do "Arduinio for ARM" with free and relatively easy to use IDE/Compiler/Programmer, it's just not there yet ;]There are things like Netduinohttp://www.sparkfun.com/products/10107but they are kinda... well .NET in 8 bit micro can't work very well, GCC pls ;] (tho i guess u could program whatever you want on it), and well, doesn't use even half of that micro I/Os, good idea wasted ;]

author: vaneenbergen
author_rank: Contributor
timestamp: November 24, 2010, 11:47:39 am
content: We're using crossworks (rowley.co.uk) it cost 1500$.you coul also go gcc+ocd+eclipse (but i never used this)

author: TechGuy
author_rank: Regular Contributor
timestamp: November 24, 2010, 07:01:09 pm
content: CrossWorks/Code Red/EtcDo they include libraries for USB development (As per the author's requirement)? I suspect that he will also need a Windows USB driver interface

author: Unknown
author_rank: Unknown
timestamp: November 24, 2010, 07:39:32 pm
content: Quote from: TechGuy on November 24, 2010, 07:01:09 pmI would be surprised if there wouldn't be a free USB stack available (haven't checked), but I don't believe it was actually a requirement:Quote from: sgpee on November 23, 2010, 12:54:03 am

author: reagle
author_rank: Unknown
timestamp: December 04, 2010, 11:33:07 pm
content: How about low end STM32? Some go for a few bucks

author: sgpee
author_rank: Contributor
timestamp: December 07, 2010, 08:15:56 am
content: Quote from: reagle on December 04, 2010, 11:33:07 pmIndeed.. I have settled for STM32 family. Great products, in the process of evaluating them now. The nice thing about STM32 is the variety. I will choose a big one first, once the code is developed, moving to a smaller size one will be easier as all versions are compatible.Do you have any suggestions in terms of tool chain? I am currently focusing on Crossworks. GCC compiler seems to be solid. I just don't know which JTAG is the best, currently purchased the Olimex and let's see where we go with that.

author: TheDirty
author_rank: Frequent Contributor
timestamp: December 07, 2010, 08:53:35 pm
content: The variety is good, but I found the lower end chips with high frequencies, which is what I use most, are not available through Digikey. They also don't offer a Cortex-M0 option, yet.

author: allanw
author_rank: Frequent Contributor
timestamp: December 08, 2010, 01:02:11 pm
content: Mouser has a bigger variety of STM32's.What I like about the STM32 is that I can just use the built-in UART bootloader to load up my program. No need for even a JTAG port or cable at all.By the way, anyone notice the ST site redesign? They've made EVERYTHING flash now, and changed all the datasheet URL's! So when you Google for ST datasheets they all come up as 404's. And it takes so much longer to find everything now.

author: TheDirty
author_rank: Frequent Contributor
timestamp: December 08, 2010, 02:13:13 pm
content: Quote from: allanw on December 08, 2010, 01:02:11 pmThere's not many new uC's that don't have an on chip flash loader anymore. I don't know of a CM3 chip that doesn't. The LPC's have them as well. Both UART and USB.My experience from trying it with the AT91SAM's is that it's a total time waster for development. Being unable to debug is a major drawback unless what you're programming is very basic. It's pretty helpful if your aim is remote flash updates and just dumping code to multiple chips, though.

author: drwho9437
author_rank: Regular Contributor
timestamp: December 13, 2010, 04:37:50 am
content: Quote from: sgpee on December 07, 2010, 08:15:56 amSgpee,I have used the STM32F103. I found the standard library pretty obnoxious. But the good thing is they are very available. I also have used Crossworks. If your project is non-commercial and you have no intention of selling anything ever, then I think the NC crossworks license is great, I found crossworks a very nice integrated environment. However, I wasn't comfortable with NC only and not ready to spend 1000+. If you don't want to pay the money or need more freedom this is a good little tutorial for the STM32:http://fun-tech.se/stm32/index.phpon open tools.With openOCD it is probably best to get a very recent build off git and build it.Next if you want to get uCs cheap forget digikey and mouser. Arrow and Newark are generally much cheaper, if they will sell you just 1 Arrow normally is the cheapest of all. STM32F105RCT6 meets your original spec: arrow 6.63, digikey 11.33, mouser 10.30, newark (unexpectedly) 13.55.Now I pretty much am never going to use a STM32 again because I found the library for Luminary (Ti) is WAY better. A development board for LM3S9B9x would meet your needs also except for 3 SPI, they only have 2 I think. I am not sure why you need 3 SPI at once though, you can just have one bus and multiple enables.

author: Hypernova
author_rank: Unknown
timestamp: December 13, 2010, 05:19:50 pm
content: Quote from: drwho9437 on December 13, 2010, 04:37:50 amOne of the ways of reducing electrical noise to external ADC is to make sure that the data bus stays idle while it's sampling, by extension that mandates a dedicated bus. It's part of the reason sensors use interrupt to indicate new data is ready instead of you constantly bugging it. One example is the BMA180 accelerometer, the data sheet recommends that you get all the data out during the temperature sample period and leave it alone while it's sampling the MEMS sensors.

author: drwho9437
author_rank: Regular Contributor
timestamp: December 17, 2010, 12:49:56 pm
content: If that is a concern I would just add a buffer chip if you insist that driving the non-enabled pins is a source of noise. I would say that digital systems on the whole are quite noisy. How many dBm can you tolerate coupled into your system? How many layers are you going to use for your PCB?