My blog has been moved to ariya.ofilabs.com.

Wednesday, December 05, 2007

looking for simple but fast 32-bit microcontroller

Dear Lazyweb,

It's been a while since I have been doing microcontroller-related projects. Now it's time to get my feet wet again. For an exciting new project, I'm a looking for an evaluation/development kit for an affordable but high-performance (best-bang-for-the-buck) microcontroller. Preferred is 32-bit, but 16-bit is manageable. Important here is the availability of the I/O ports, I don't care much for USB or Ethernet or even wireless support. Power is also not important. Built-in ADC will be a bonus, but not necessary. The program will be lightweight enough so no need for megabytes of memory.

Surprisingly, I have difficulties finding such a board/microcontroller. Seems that 32-bit microcontrollers todays are geared more toward multimedia solution (image+audio processing), portable networked device, or automotive/industrial applications with different (and confusing) bus types. All I want to do is relatively simple but fast processing of some data. Unfortunately, I can't stick with 8-bit system anymore because of the nature of the application. So what I am searching is rather a bare-bone, blazing-fast microcontroller with tons of digital I/O. The good old 8051 on steroids.

The closest I could find so far is Microchip PIC32 (though I wish it had more input output pins) with its $50 Starter Kit. However, I'm sure there are loads of similar stuff. Where are they?

PS: I'm quite proficient with FPGA so I guess the fallback solution will be a soft-processor in an FPGA, but I would like to stay with the plain microcontroller if I have the choice.

11 comments:

Anonymous said...

The 32 bit family of Atmel:

http://www.atmel.com/products/AVR32/

elcuco said...

Analog devices have a DSP based chip called Blackfin, which has a Linux port. The DSP system is pretty fast, and when compiling C applications the applications run pretty fast.

I have seen things like screen, php, perl ported to that architecture.

http://blackfin.uclinux.org/gf/

Johan Thelin said...

I would recommend you to go for a Spartan and a Microblaze soft CPU. Especially if you want IO.

Anonymous said...

Do you know the Parallax Propeller µC? 32 bit, has 32 I/O ports, 8 cores and goes up to 80MHz.

JohnFlux said...

What about the PIC18F452 or PIC18F876A or similar. I use them which much success

Anonymous said...

At work we have started to use a new series from Freescale, the S12XEP family. It's only 16bit, but rather powerfull. You can also look into the 9S12XS family, that has a reduced peripheral set from the XE family

http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=S12XE&nodeId=0162468636bJwn
http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=S12XS&nodeId=0162468636bJwn

Anonymous said...

AVR32 from Atmel
STM32 from ST
or Luminary Micro

Anonymous said...

I've asked my engineer brother, and he suggested:
"STM32 or Liminary Micro or even Atmel AVR32"

Anonymous said...

I would look at the NXP (previously Philips) ARM range. Very slim for an ARM.

Olimex make some good budget dev boards for them. http://www.olimex.com/dev/index.html

If you're thinking of going to 16bit, I've always thought TI's MSP430 range to be quite neat.

Anonymous said...

Well given that this is my day job, let me give the following suggestions:

Try and consider an ARM processor (either in the LPC2xxx series from NXP(former phillips) or an SAM7 from Atmel). ARM is 32 bit, fairly fast, well known and even the cheaper versions should be able to handle your demands (the bigger ones have loads of features). Both are well documented and work as described most of the time. The ARM processor has cheap (GCC) and good compiler support. I'd suggest going for a test board from Embedded Artists or Olimex (we use those at my workplace). And if debugging is of interest then Olimex have cheap JTAG to USB units that work with another free piece of software called OpenOCD for GDB debugging.

Toolchains including an Eclipse environment available for both Linux and Windows for free and there are several very active forums and mailing lists too (the LPC2000 mailing list and website has a ton of great code samples on them).

Ariya Hidayat said...

Thanks a lot to everyone that gave the suggestions!! I appreciate that.

@Mythor: AVR32 sounds good! I wonder how this one can miss my radar...

@elcuco: Blackfin isn't really targeted for plenty of digital I/O, is it?

@JohanThelin: exactly the fallback solution. I may even go the Nios way, just for the sake of trying any non-Xilinx stuff. It's the cost, together with the FPGA board itself, that pushes me towards microcontroller solution.

@wirr: The problem is, I am not decided yet whether to hate or to love Spin. Any experience?

@JohnFlux: These PICs seem to be 8-bit.

@Anonymous: I'll have a look at Freescale.

@Anonymous, @SadEagle: STM32 and Luminary Micro look cool. I will definitely check in details.

@robert_scott: Never heard of NXP, will check it out. MSP430 is fine, I've done some few things with it. I wish TI makes a turbo fast version.

@theICEBear: Very nice tips. About Olimex, yes I use their service every now and then and I am always happy with it. Embedded Artists is new to me, looks like they sell nice boards as well!