Forums

Next logical step after 8bit uCs?

Started by Michael Noone December 6, 2004
Hi - so I've gotten to the point where I feel fairly competent with Atmel 
AVRs (8 bit microcontrollers) - but I'd like to find something with a bit 
more power. Specifically, I really need a chip that is capable of doing 
more sophisticated math, ie 16 or 32 bit calculations, multiplication, 
division, powers, etc. I know some of this can kind of be done on AVRs, but 
it can't be done well, nor at the speed that I really need. So would 
anybody have any suggestions as to a logical progression past AVRs would be  
for me? Perhaps a more advanced microcontroller or microprocessor? Thanks!

-Michael Noone
> more power. Specifically, I really need a chip that is capable of
doing
> more sophisticated math, ie 16 or 32 bit calculations,
multiplication,
> division, powers, etc. I know some of this can kind of be done on
AVRs, but
> it can't be done well, nor at the speed that I really need. So would
A small incremental step would probably be to the MSP430. Getting into this platform is very inexpensive, about $50 total hardware investment (look at the Olimex stuff sold by, for example, www.sparkfun.com). If you are looking to make a big performance leap, consider a migration to ARM. The cheapest route for you to take right now would probably be to one of the Philips LPC21xx series parts. Again, inexpensive development hardware is available, though it is slightly more costly than MSP430.
4-bit uCs, of course.  As your embedded systems engineering skills
improve, you learn how to do more and more with less and less.

I hope this helps.  :)


-- 
Guy Macon
<http://www.guymacon.com/> 

Michael Noone wrote:
> Hi - so I've gotten to the point where I feel fairly competent with
Atmel
> AVRs (8 bit microcontrollers) - but I'd like to find something with a
bit
> more power. Specifically, I really need a chip that is capable of
doing
> more sophisticated math, ie 16 or 32 bit calculations,
multiplication,
> division, powers, etc. I know some of this can kind of be done on
AVRs, but
> it can't be done well, nor at the speed that I really need. So would > anybody have any suggestions as to a logical progression past AVRs
would be
> for me? Perhaps a more advanced microcontroller or microprocessor?
Thanks!
> > -Michael Noone
Microchip dsPic, a 16 bit digital signal controller, has a nice mix of DSP and microcontroller features, it has single cycle multiplication as well as a divide instruction so its more then capable to handle sophisticated math. Its the smallest fastest chip out there (6mm square in one package). ARM is another option, 32 bits, but has multiple cycle multiplies and no divide instruction, I would consider it a "weak" DSP processor, maybe its good enough for you.
I'd say, try this one... ;-)
http://www.cpu-museum.com/14500B_e.htm
A real challenge!!!

Waldemar

P.S. Guy, from the picture on your web site I gather that
you'proably know about this one, too...


"Guy Macon" <_see.web.page_@_www.guymacon.com_> schreef in bericht
news:10r988kn05pck22@corp.supernews.com...
> > 4-bit uCs, of course. As your embedded systems engineering skills > improve, you learn how to do more and more with less and less. > > I hope this helps. :) > > > -- > Guy Macon > <http://www.guymacon.com/> >
"Michael Noone" <mnoone.uiuc.edu@127.0.0.1> skrev i meddelandet
news:Xns95B77802AA764mnooneuiucedu127001@63.240.76.16...
> Hi - so I've gotten to the point where I feel fairly competent with Atmel > AVRs (8 bit microcontrollers) - but I'd like to find something with a bit > more power. Specifically, I really need a chip that is capable of doing > more sophisticated math, ie 16 or 32 bit calculations, multiplication, > division, powers, etc. I know some of this can kind of be done on AVRs,
but
> it can't be done well, nor at the speed that I really need. So would > anybody have any suggestions as to a logical progression past AVRs would
be
> for me? Perhaps a more advanced microcontroller or microprocessor? Thanks! > > -Michael Noone
You can get AVRs running at up to 40/48 MHz at 3 Volt if you look at the "special" chips. AT76C713 = 48 MHz. This is an 8515 with USB and 2 (very) advanced UARTs in a 100 pin package. No datasheet on the web yet, but the chip is in production. FPSLIC AT40K10AL = 25 Mhz, Beginning of next year the AT40K10AX is usable at 40 MHz. The chip is available today, but the toolset needs to be upgraded with the support for the chip, and this means Q1 next year. If you care to look for ARM chips, then the AT91SAM7S32 ARM 7 based controller will give a lot of bang for the buck. IAR C compiler + devkit & JTAG ICE for less than $300. -- Best Regards Ulf at atmel dot com These comments are intended to be my own opinion and they may, or may not be shared by my employer, Atmel Sweden.
Michael Noone wrote:
> Hi - so I've gotten to the point where I feel fairly competent with Atmel > AVRs (8 bit microcontrollers) - but I'd like to find something with a bit > more power. Specifically, I really need a chip that is capable of doing > more sophisticated math, ie 16 or 32 bit calculations, multiplication, > division, powers, etc. I know some of this can kind of be done on AVRs, but > it can't be done well, nor at the speed that I really need. So would > anybody have any suggestions as to a logical progression past AVRs would be > for me? Perhaps a more advanced microcontroller or microprocessor? Thanks! > > -Michael Noone
Work backwards from the most complex requirement: ie figure out how many MIPS you actually need, at what precision, and then benchmark cores that seem likely. If you need 32 bits, but want to stay Microcontroller-ish, then the ARM cores are a logical choice. If their maths is still not enough, then the DSP cores from TI / Analog Devices / Freescale would be next. Some DSPs have native floating point ALUs, so things like powers are very fast. FPGAs are also contenders if you can benefit from distributed ALU's -jg
"Michael Noone" <mnoone.uiuc.edu@127.0.0.1> wrote

> AVRs (8 bit microcontrollers) ... I'd like to find something with > multiplication, division, powers ... at the speed that I really need.
The real question is - how much speed do you really need? Without knowing that any further discourse on this matter is somewhat pointless. -- Nicholas Someone
larwe@larwe.com wrote in news:1102356607.572465.5980
@z14g2000cwz.googlegroups.com:

>> more power. Specifically, I really need a chip that is capable of > doing >> more sophisticated math, ie 16 or 32 bit calculations, > multiplication, >> division, powers, etc. I know some of this can kind of be done on > AVRs, but >> it can't be done well, nor at the speed that I really need. So would > > A small incremental step would probably be to the MSP430. Getting into > this platform is very inexpensive, about $50 total hardware investment > (look at the Olimex stuff sold by, for example, www.sparkfun.com). > > If you are looking to make a big performance leap, consider a migration > to ARM. The cheapest route for you to take right now would probably be > to one of the Philips LPC21xx series parts. Again, inexpensive > development hardware is available, though it is slightly more costly > than MSP430. > >
So I took a look at the Philips LPC21xx chips, and there's one thing I don't understand about them: They say they're 16/32 bit. I haven't encountered anything like this before - what exactly is meant by that? I'm looking here: http://www.semiconductors.philips.com/markets/mms/products/microcontrollers /key_solutions/32bit/index.html Thanks! -Michael Noone
On Mon, 06 Dec 2004 20:06:50 GMT, Michael Noone 
<mnoone.uiuc.edu@127.0.0.1> wrote:

> So I took a look at the Philips LPC21xx chips, and there's one thing I > don't understand about them: They say they're 16/32 bit. I haven't > encountered anything like this before - what exactly is meant by that?
ARM core can run in two modes: ARM (32-bit commands) and Thumb (16-bit commands). Thumb code takes less space, while ARM code executes faster. Conditional execution of commands is not possible in Thumb mode (obviously apart from branches), also commands always modify flags. You can switch between modes easily and have both ARM and Thumb code in the same binary module -- Thumb to save space, ARM for fast routines. The registers are 32-bit in both modes. Have a look at http://www.arm.com/documentation/ There is also news:comp.sys.arm newsgroup. Vadim