[time-nuts] Follow-up question re: microcontroller families
hmurray at megapathdsl.net
Sat May 25 18:44:31 EDT 2013
charles_steinmetz at lavabit.com said:
> My question here is more pointed: If one is going to learn a new system
> today for timing and other measurement/control projects, which "empire" is
> likely the best one to choose?
I'd split things into 3 piles.
PIC, AVR and friends are really small. Scan the selector guides to get a
feel for things. A typical unit will have a few K of flash memory for the
program and 256 bytes of RAM for data. The I/O is limited by the number of
pins. It's reasonable to count cycles and do exact timing. Don't expect
much of the c library to be available. This is the sort of thing you would
use to control a microwave oven. tvb has several examples.
The next step up is the low end ARM chips. They have more RAM and flash, and
the ALU is 32 bits wide. (PIC and AVR have 16/32 bit versions that are
pushing up into this space.) You can write real code, just not a lot of it.
A typical low end unit will have 16K RAM and 64K flash. It's big brother
might have 64K RAM and 256K of flash.
They typically come in clumps with several members of a family sharing the
same set of peripherals but having different amounts of RAM and Flash. Dev
boards typically come with the biggest one. You can save some cash when you
get into production by using a smaller version.
You will need 3 chunks of documentation.
One for the development environment.
One for the peripherals.
One for the instruction set.
If you code in c, you don't need to know all the instruction details, but you
probably want to read the overview part of the manual so you know how the
chip really works.
The high end is the SOC (system on chip) ARM units targeted at cell phones.
They have off-chip DRAM so what you get depends on the board rather than the
chip. These can run Linux so you need to be a system administrator rather
than (or as well as) a low level bit twiddler.
These are my opinions. I hate spam.
More information about the time-nuts