Maker Pro
Maker Pro

Advice on switching microntrollers

Ok, flamewar time I guess.

I am looking to explore new microcontrollers because the ones I have
under my belt are coming up short for what I need. I have a lot of
experience with the 16 series of PICs from Microchip, I have played
with basic Stamps (I, II, SX), some experience with Motorola's HC11,
HC12 and HC16 series. Currently I use Atmel's AVR (Atmega128) at work.
But in trying to branch out and find a better or at least alternate
choice I turn to the advice of those who already have experience with
something else.

My requirements are:
*External interrupts
*PWM outputs (everything I've used so far has done these with hardware
timers. seems nice)
*ADC inputs 8 bit resolution minimum, 10 or 12 bits nice.
*I2C or whatever that manufacturer likes to call it. Atmel calls it
TWI so they don't have to pay license fees to Philips or something.
*UART(s)
*hardware SPI
*JTAG nice but not required
*CAN support would be VERY nice but not absolutely required
*In circuit serially programmable
*Support for a secondary external crystal (32KHz for timekeeping)
*C friendly (and no, PICs do NOT fit this...) As a side note, GCC
compatible is a BIG plus. Paying out the nose for 3rd party compilers
is a killer.
*SMALL!!! I'd like to keep it smaller than an Atmega128 which is
64TQFP at 16x16mm.
*Low power (sleep modes are good). We're trying to stay below 10-20 mA
for full speed execution and <1mA for a sleep or low power mode.

My coworker would also like a cheap/free set of programming and debug
IDEs for it. I have experience with MPLab from Microchip and AVRStudio
from Atmel so anything that good or better would be fine. Just
something graphical to step through code, set breakpoints, simulate,
etc.

So anything not made of unobtanium that you guys would recommend?
Thanks!
-Will
 
P

Paul E. Bennett

Jan 1, 1970
0
Ok, flamewar time I guess.

I am looking to explore new microcontrollers because the ones I have
under my belt are coming up short for what I need. I have a lot of
experience with the 16 series of PICs from Microchip, I have played
with basic Stamps (I, II, SX), some experience with Motorola's HC11,
HC12 and HC16 series. Currently I use Atmel's AVR (Atmega128) at work.
But in trying to branch out and find a better or at least alternate
choice I turn to the advice of those who already have experience with
something else.

My requirements are:
*External interrupts
*PWM outputs (everything I've used so far has done these with hardware
timers. seems nice)
*ADC inputs 8 bit resolution minimum, 10 or 12 bits nice.
*I2C or whatever that manufacturer likes to call it. Atmel calls it
TWI so they don't have to pay license fees to Philips or something.
*UART(s)
*hardware SPI
*JTAG nice but not required
*CAN support would be VERY nice but not absolutely required
*In circuit serially programmable
*Support for a secondary external crystal (32KHz for timekeeping)
*C friendly (and no, PICs do NOT fit this...) As a side note, GCC
compatible is a BIG plus. Paying out the nose for 3rd party compilers
is a killer.
*SMALL!!! I'd like to keep it smaller than an Atmega128 which is
64TQFP at 16x16mm.
*Low power (sleep modes are good). We're trying to stay below 10-20 mA
for full speed execution and <1mA for a sleep or low power mode.

My coworker would also like a cheap/free set of programming and debug
IDEs for it. I have experience with MPLab from Microchip and AVRStudio
from Atmel so anything that good or better would be fine. Just
something graphical to step through code, set breakpoints, simulate,
etc.

So anything not made of unobtanium that you guys would recommend?
Thanks!
-Will

I don't see what you have against unobtainium. It is a wonderful material.
It's just a shame it's so expensive. ;>

Have you looked at the MSP430 series from TI? Quite a bit of your
requirements list covered (although I think not all). 14 bit ADC's on some
processors in the family 12 bit on others.

--
********************************************************************
Paul E. Bennett ....................<email://[email protected]>
Forth based HIDECS Consultancy .....<http://www.amleth.demon.co.uk/>
Mob: +44 (0)7811-639972
Tel: +44 (0)1235-811095
Going Forth Safely ....EBA. http://www.electric-boat-association.org.uk/
********************************************************************
 
J

Jim Granville

Jan 1, 1970
0
Ok, flamewar time I guess.

I am looking to explore new microcontrollers because the ones I have
under my belt are coming up short for what I need. I have a lot of
experience with the 16 series of PICs from Microchip, I have played
with basic Stamps (I, II, SX), some experience with Motorola's HC11,
HC12 and HC16 series. Currently I use Atmel's AVR (Atmega128) at work.
But in trying to branch out and find a better or at least alternate
choice I turn to the advice of those who already have experience with
something else.

My requirements are:
*External interrupts
*PWM outputs (everything I've used so far has done these with hardware
timers. seems nice)
*ADC inputs 8 bit resolution minimum, 10 or 12 bits nice.
*I2C or whatever that manufacturer likes to call it. Atmel calls it
TWI so they don't have to pay license fees to Philips or something.
*UART(s)
*hardware SPI
*JTAG nice but not required
*CAN support would be VERY nice but not absolutely required
*In circuit serially programmable
*Support for a secondary external crystal (32KHz for timekeeping)
*C friendly (and no, PICs do NOT fit this...) As a side note, GCC
compatible is a BIG plus. Paying out the nose for 3rd party compilers
is a killer.
*SMALL!!! I'd like to keep it smaller than an Atmega128 which is
64TQFP at 16x16mm.
*Low power (sleep modes are good). We're trying to stay below 10-20 mA
for full speed execution and <1mA for a sleep or low power mode.

My coworker would also like a cheap/free set of programming and debug
IDEs for it. I have experience with MPLab from Microchip and AVRStudio
from Atmel so anything that good or better would be fine. Just
something graphical to step through code, set breakpoints, simulate,
etc.

So anything not made of unobtanium that you guys would recommend?
Thanks!
-Will
Since you already have a reasonable range of 8 bit uC's, there would
seem little point adding another one. just to get a learnng curve....

I'd look at the ARM families, Philips presently have the
cheapest/smallest start at $1.50, and Atmel have ones with Ethernet.
Pretty much everyone makes some ARMxx variant, including Freescale and
TI.

-jg
 
J

Joerg

Jan 1, 1970
0
Hello Will,
Ok, flamewar time I guess.

Nah. Just different opinions.

I'd side with Paul. The MSP430 series is really nice and their ALU runs
at 16 bits. Almost feels like getting into that new V8, including the
financial pain that comes with that. Don't expect them to be much under
a Dollar for the bar bones versions, no matter what TI marketeers claim.
Once you want ADC and some other niceties expect to pay over $2. So,
right now they can't play in the Atmel price range.

*PWM outputs (everything I've used so far has done these with hardware
timers. seems nice)


All uC I have seen so far do it in hardware timers, or not at all. The
MSP is geared nicely here but again it uses the timer. For truly
dedicated PWM you need to look at DSP.

*Low power (sleep modes are good). We're trying to stay below 10-20 mA
for full speed execution and <1mA for a sleep or low power mode.

This is where the MSP430 truly excels. I don't know if any other uC can
go that low in power. They even have a mode where you can keep a RTC
running yet it sips only a couple uA or so.

Regards, Joerg
 
J

John B

Jan 1, 1970
0
Ok, flamewar time I guess.

I am looking to explore new microcontrollers because the ones I have
under my belt are coming up short for what I need. I have a lot of
experience with the 16 series of PICs from Microchip, I have played
with basic Stamps (I, II, SX), some experience with Motorola's HC11,
HC12 and HC16 series. Currently I use Atmel's AVR (Atmega128) at work.
But in trying to branch out and find a better or at least alternate
choice I turn to the advice of those who already have experience with
something else.

My requirements are:
*External interrupts
*PWM outputs (everything I've used so far has done these with hardware
timers. seems nice)
*ADC inputs 8 bit resolution minimum, 10 or 12 bits nice.
*I2C or whatever that manufacturer likes to call it. Atmel calls it
TWI so they don't have to pay license fees to Philips or something.
*UART(s)
*hardware SPI
*JTAG nice but not required
*CAN support would be VERY nice but not absolutely required
*In circuit serially programmable
*Support for a secondary external crystal (32KHz for timekeeping)
*C friendly (and no, PICs do NOT fit this...) As a side note, GCC
compatible is a BIG plus. Paying out the nose for 3rd party compilers
is a killer.
*SMALL!!! I'd like to keep it smaller than an Atmega128 which is
64TQFP at 16x16mm.
*Low power (sleep modes are good). We're trying to stay below 10-20 mA
for full speed execution and <1mA for a sleep or low power mode.

My coworker would also like a cheap/free set of programming and debug
IDEs for it. I have experience with MPLab from Microchip and AVRStudio
from Atmel so anything that good or better would be fine. Just
something graphical to step through code, set breakpoints, simulate,
etc.

So anything not made of unobtanium that you guys would recommend?
Thanks!
-Will

NEC V850 series. Unfortunately the tools I used were Greenhills. Expensive
crap, but V850 might be supported by GCC now.

John
 
R

Rich Grise, Plainclothes Hippie

Jan 1, 1970
0
Ok, flamewar time I guess.

I am looking to explore new microcontrollers because the ones I have
under my belt are coming up short for what I need. I have a lot of
experience with the 16 series of PICs from Microchip, I have played
with basic Stamps (I, II, SX), some experience with Motorola's HC11,
HC12 and HC16 series. Currently I use Atmel's AVR (Atmega128) at work.
But in trying to branch out and find a better or at least alternate
choice I turn to the advice of those who already have experience with
something else.

My requirements are:

[shopping list snipped]

Get the biggest FPGA or CPLD you can, and write the one of your
dreams. ;-P

Personally, I rather like microprogramming, albeit I'm kind of a
solution in search of a problem in that respect. For example, my
first real computer was a "Scelbi 8-H", which had an intel 8008
and 256 bytes of RAM. Eight toggle switches and three pushbuttons
on the front panel, and three rows of 8 LEDs: H, L, and M. The
buttons were, "Interrupt", "Step", and "Run". They weren't debounced,
which was a very powerful learning experience! ;-)

I guess the point is, the 8008 "assembly language" mapped almost
character for character onto the machine instructions, which, when
I saw the diagram of the architecture of the 8008 <googles> Ah,
rats. Most of the google hits are about history and crap - I was
hoping for a diagram. But it's so freaking simple that the program
is the equivalent of a microprogram. Like, the instructions are in
octal, two bits of op code, and three bits each for usually the
destination register (A,B,C,D,E,H,L,M) and three for the source
register (see above.) "3" was the opcode for "move". And when
you look at the architecture diagram of the 8008, you can see that
when the instruction enters the black box, it's split up into
opcode, destination, and source - which go directly to the data
selectors on the inputs or outputs, as designated! Oh, of course,
there are other opcodes, but they had sub-codes, which still only
needed one more level of decoding - my point being, that the
program for an 8008 was, essentially, a microprogram. :)

Cheers!
Richh

Cheers!
Rich
 
R

Rich Grise, Plainclothes Hippie

Jan 1, 1970
0
Since you already have a reasonable range of 8 bit uC's, there would
seem little point adding another one. just to get a learnng curve....

I'd look at the ARM families, Philips presently have the
cheapest/smallest start at $1.50, and Atmel have ones with Ethernet.
Pretty much everyone makes some ARMxx variant, including Freescale and
TI.

Or, work on new approaches to task sharing. What ever happened to
The Connection Machine? I remember reading a thing in some mag, where
some guy said, (I paraphrase) "Well, the only problem we have now is
how to program the thing!" "Ah, but we have an endless supply of
programmer flesh - undergrads!"

But nothing ever seems to have come of it.

Thanks,
Rich
 
P

Pooh Bear

Jan 1, 1970
0
Ok, flamewar time I guess.

I am looking to explore new microcontrollers because the ones I have
under my belt are coming up short for what I need. I have a lot of
experience with the 16 series of PICs from Microchip, I have played
with basic Stamps (I, II, SX), some experience with Motorola's HC11,
HC12 and HC16 series. Currently I use Atmel's AVR (Atmega128) at work.
But in trying to branch out and find a better or at least alternate
choice I turn to the advice of those who already have experience with
something else.

My requirements are:
*External interrupts
*PWM outputs (everything I've used so far has done these with hardware
timers. seems nice)
*ADC inputs 8 bit resolution minimum, 10 or 12 bits nice.
*I2C or whatever that manufacturer likes to call it. Atmel calls it
TWI so they don't have to pay license fees to Philips or something.
*UART(s)
*hardware SPI

You do of coursde realise that I2C and SPI just need a couple of port pins.

There's nothing special about the hardware. Simply write your own device
handler.

Graham
 
B

blueeyedpop

Jan 1, 1970
0
Danny Hillis is having more fun building crazy 10000 year clocks, and big
ole robots, out of Glendale CA, at a place called Applied Minds.
 
T

Tauno Voipio

Jan 1, 1970
0
Get the biggest FPGA or CPLD you can, and write the one of your
dreams. ;-P

Personally, I rather like microprogramming, albeit I'm kind of a
solution in search of a problem in that respect. For example, my
first real computer was a "Scelbi 8-H", which had an intel 8008
and 256 bytes of RAM. Eight toggle switches and three pushbuttons
on the front panel, and three rows of 8 LEDs: H, L, and M. The
buttons were, "Interrupt", "Step", and "Run". They weren't debounced,
which was a very powerful learning experience! ;-)

I guess the point is, the 8008 "assembly language" mapped almost
character for character onto the machine instructions, which, when
I saw the diagram of the architecture of the 8008 <googles> Ah,
rats. Most of the google hits are about history and crap - I was
hoping for a diagram. But it's so freaking simple that the program
is the equivalent of a microprogram. Like, the instructions are in
octal, two bits of op code, and three bits each for usually the
destination register (A,B,C,D,E,H,L,M) and three for the source
register (see above.) "3" was the opcode for "move". And when
you look at the architecture diagram of the 8008, you can see that
when the instruction enters the black box, it's split up into
opcode, destination, and source - which go directly to the data
selectors on the inputs or outputs, as designated! Oh, of course,
there are other opcodes, but they had sub-codes, which still only
needed one more level of decoding - my point being, that the
program for an 8008 was, essentially, a microprogram. :)

Cheers!
Rich

For more direct-mapped nostalgia, compare the instruction
set of Data General Nova and the Texas Instruments SN74181
ALU chip.

Another pretty easily microcoded example is the Digital
PDP-11.
 
A

Anton Erasmus

Jan 1, 1970
0
Ok, flamewar time I guess.

I am looking to explore new microcontrollers because the ones I have
under my belt are coming up short for what I need. I have a lot of
experience with the 16 series of PICs from Microchip, I have played
with basic Stamps (I, II, SX), some experience with Motorola's HC11,
HC12 and HC16 series. Currently I use Atmel's AVR (Atmega128) at work.
But in trying to branch out and find a better or at least alternate
choice I turn to the advice of those who already have experience with
something else.

My requirements are:
*External interrupts
*PWM outputs (everything I've used so far has done these with hardware
timers. seems nice)
*ADC inputs 8 bit resolution minimum, 10 or 12 bits nice.
*I2C or whatever that manufacturer likes to call it. Atmel calls it
TWI so they don't have to pay license fees to Philips or something.
*UART(s)
*hardware SPI
*JTAG nice but not required
*CAN support would be VERY nice but not absolutely required
*In circuit serially programmable
*Support for a secondary external crystal (32KHz for timekeeping)
*C friendly (and no, PICs do NOT fit this...) As a side note, GCC
compatible is a BIG plus. Paying out the nose for 3rd party compilers
is a killer.
*SMALL!!! I'd like to keep it smaller than an Atmega128 which is
64TQFP at 16x16mm.

The MLF package is a LOT smaller (9 x 9 mm), and not that difficult to
work with. (Much easier than BGA).
*Low power (sleep modes are good). We're trying to stay below 10-20 mA
for full speed execution and <1mA for a sleep or low power mode.

My coworker would also like a cheap/free set of programming and debug
IDEs for it. I have experience with MPLab from Microchip and AVRStudio
from Atmel so anything that good or better would be fine. Just
something graphical to step through code, set breakpoints, simulate,
etc.

So anything not made of unobtanium that you guys would recommend?

Look at the various new generation of ARM based MCUs. There are quite
a lot available from manufacturers such as Philips, Atmel, ST, Analog
Devices, TI and Freescale.

Regards
Anton Erasmus
 
A

Anton Erasmus

Jan 1, 1970
0
You do of coursde realise that I2C and SPI just need a couple of port pins.

There's nothing special about the hardware. Simply write your own device
handler.

If one need to bit-bang these ports, then one should just note the I/O
speed of the MCU. On many of the new ARM MCUs, the possible I/O
toggling speed is a lot lower for a specific system clock speed than
for the 8-bit MCUs.

Regards
Anton Erasmus
 
P

Paul E. Bennett

Jan 1, 1970
0
Or, work on new approaches to task sharing. What ever happened to
The Connection Machine? I remember reading a thing in some mag, where
some guy said, (I paraphrase) "Well, the only problem we have now is
how to program the thing!" "Ah, but we have an endless supply of
programmer flesh - undergrads!"

But nothing ever seems to have come of it.

Aahhhhhhhh!!!!, dreams of hypercubes....

There have been some interesting approaches to programming meshed and close
coupled processor cores. Some of them have been reported in The Journal for
Forth Applications Research. Forth was apparently the bring-up language for
one of the MPP's.

--
********************************************************************
Paul E. Bennett ....................<email://[email protected]>
Forth based HIDECS Consultancy .....<http://www.amleth.demon.co.uk/>
Mob: +44 (0)7811-639972
Tel: +44 (0)1235-811095
Going Forth Safely ....EBA. http://www.electric-boat-association.org.uk/
********************************************************************
 
J

John - KD5YI

Jan 1, 1970
0
Ok, flamewar time I guess.

I am looking to explore new microcontrollers because the ones I have
under my belt are coming up short for what I need. I have a lot of
experience with the 16 series of PICs from Microchip, I have played
with basic Stamps (I, II, SX), some experience with Motorola's HC11,
HC12 and HC16 series. Currently I use Atmel's AVR (Atmega128) at work.
But in trying to branch out and find a better or at least alternate
choice I turn to the advice of those who already have experience with
something else.

My requirements are:
*External interrupts
*PWM outputs (everything I've used so far has done these with hardware
timers. seems nice)
*ADC inputs 8 bit resolution minimum, 10 or 12 bits nice.
*I2C or whatever that manufacturer likes to call it. Atmel calls it
TWI so they don't have to pay license fees to Philips or something.
*UART(s)
*hardware SPI
*JTAG nice but not required
*CAN support would be VERY nice but not absolutely required
*In circuit serially programmable
*Support for a secondary external crystal (32KHz for timekeeping)
*C friendly (and no, PICs do NOT fit this...) As a side note, GCC
compatible is a BIG plus. Paying out the nose for 3rd party compilers
is a killer.
*SMALL!!! I'd like to keep it smaller than an Atmega128 which is
64TQFP at 16x16mm.
*Low power (sleep modes are good). We're trying to stay below 10-20 mA
for full speed execution and <1mA for a sleep or low power mode.

My coworker would also like a cheap/free set of programming and debug
IDEs for it. I have experience with MPLab from Microchip and AVRStudio
from Atmel so anything that good or better would be fine. Just
something graphical to step through code, set breakpoints, simulate,
etc.

So anything not made of unobtanium that you guys would recommend?
Thanks!
-Will


http://www.cypress.com

Click on PSoC Mixed-Signal Controllers.

The in-circuit emulator is not free.

Cheers,
John
 
A

Anthony Fremont

Jan 1, 1970
0
Anton Erasmus said:
If one need to bit-bang these ports, then one should just note the I/O
speed of the MCU. On many of the new ARM MCUs, the possible I/O
toggling speed is a lot lower for a specific system clock speed than
for the 8-bit MCUs.

How is that so? I mean, is there some kind of long propagation delay or
what? I have played around with PICs for years, but I have been gaining
interest in the ARM micros. This sounds like a serious issue to me.
 
U

Ulf Samuelsson

Jan 1, 1970
0
I am looking to explore new microcontrollers because the ones I have
under my belt are coming up short for what I need. I have a lot of
experience with the 16 series of PICs from Microchip, I have played
with basic Stamps (I, II, SX), some experience with Motorola's HC11,
HC12 and HC16 series. Currently I use Atmel's AVR (Atmega128) at work.
But in trying to branch out and find a better or at least alternate
choice I turn to the advice of those who already have experience with
something else.

My requirements are:
*External interrupts
*PWM outputs (everything I've used so far has done these with hardware
timers. seems nice)
*ADC inputs 8 bit resolution minimum, 10 or 12 bits nice.
*I2C or whatever that manufacturer likes to call it. Atmel calls it
TWI so they don't have to pay license fees to Philips or something.
*UART(s)
*hardware SPI
*JTAG nice but not required
*CAN support would be VERY nice but not absolutely required
*In circuit serially programmable
*Support for a secondary external crystal (32KHz for timekeeping)
*C friendly (and no, PICs do NOT fit this...) As a side note, GCC
compatible is a BIG plus. Paying out the nose for 3rd party compilers is
a killer.
*SMALL!!! I'd like to keep it smaller than an Atmega128 which is
64TQFP at 16x16mm.
*Low power (sleep modes are good). We're trying to stay below 10-20 mA
for full speed execution and <1mA for a sleep or low power mode.

My coworker would also like a cheap/free set of programming and debug
IDEs for it. I have experience with MPLab from Microchip and AVRStudio
from Atmel so anything that good or better would be fine. Just
something graphical to step through code, set breakpoints, simulate,
etc.

Why not just switch to the ATmega128 in QFN package = 9 x 9 mm.
The AT90CAN128 will give you the CAN controller.
The ATmega644 will give you at least 64 kB memory in a 7 x 7 mm QFN.
The AT91SAM7 could be alternatives, but there is no 32 KHz clock.
 
U

Ulf Samuelsson

Jan 1, 1970
0
If one need to bit-bang these ports, then one should just note the I/O
How is that so? I mean, is there some kind of long propagation delay or
what? I have played around with PICs for years, but I have been gaining
interest in the ARM micros. This sounds like a serious issue to me.

ARMs typically use the AMBA bus where you connect the CPU to the 32 bit
Advanced System Bus (ASB)
and then there is a bus bridge to an Advanced Peripheral Bus (APB).
The Bus Bridge will add delays so you find bit banging will take 5-6 clocks
at best due to delays.
The Philips LPC was so bad at this, that some new parts have the PIO on the
ASB bus instead of on the APB bus.
The AT91SAM7 is limited by the I/O buffers but H/W can shuffle bits at 25-30
Mbps.
 
R

Rich, Under the Affluence

Jan 1, 1970
0
For more direct-mapped nostalgia, compare the instruction
set of Data General Nova and the Texas Instruments SN74181
ALU chip.

Another pretty easily microcoded example is the Digital
PDP-11.

I had an opportunity to use an editor on a PDP-11 and cross-assembler
to write some test stuff for an IMP-16:
http://www.bitsavers.org/pdf/national/imp16/4200036A_IMP16P_Descr_1974.pdf
The company had the naked boards in stock, to use in another thing; they
didn't have that box.
There's more stuff:
http://www.bitsavers.org/pdf/national/imp16/
And, I believe I've seen the 74181s, or maybe AM2903s, on a PDP-11's CPU
board. I also once worked on an all-TTL "microprogrammable processor",
but it was 32 bits, and was used to test disk drives. That one had even
TTL RAM. The instruction cycle was 168 ns, which was unheard of at the
time. And, the thing that really makes the microprogram stand out as a
microprogram is the "next instruction" field in the instruction. The
G-15's machine language was like that too, but that was for timing,
since all of the memory was circulating on a magnetic drum.

Ah, I nostalge. <sigh> Sorry.

Cheers!
Rich
 
B

Bob Monsen

Jan 1, 1970
0
Ok, flamewar time I guess.

I am looking to explore new microcontrollers because the ones I have
under my belt are coming up short for what I need. I have a lot of
experience with the 16 series of PICs from Microchip, I have played
with basic Stamps (I, II, SX), some experience with Motorola's HC11,
HC12 and HC16 series. Currently I use Atmel's AVR (Atmega128) at work.
But in trying to branch out and find a better or at least alternate
choice I turn to the advice of those who already have experience with
something else.

My requirements are:
<yadda yadda>

sounds like a job for a dspic to me. Maybe a dsPIC30F2010. They are pretty
nice, particularly if you have pic16 experience.

---
Regards,
Bob Monsen

Beyond the natural numbers, addition, multiplication, and mathematical
induction are intuitively clear.
- Luitzen Brouwer (1881-1966) (intuitionist)
 
Top