[time-nuts] Follow-up question re: microcontroller families

Hal Murray 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.
  http://www.leapsecond.com/pic/

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 mailing list