5) Some popular microcontrollers
Some common microcontrollers are described below. A common question
is "what microcontroller should I use for...?" Well, that's a tough
one. The best advice would be to choose a chip that has a full set
of development tools at the price you can afford, and good
documentation. For the hobbyist, the Intel 8051, Motorola 68hc11, or
Microchip PIC would all make suitable choices.
8048 (Intel)
The grandaddy of 'em all, the first microcontroller, it all
started here! Although a bit long in the tooth and a bit kludgey
in design (at least by today's standards), it is still very
popular due to its very low cost, availability, and wide range of
development tools.
Modified Harvard architecture with program ROM on chip with an
additional 64 to 256 bytes of RAM also on chip. I/O is mapped in
its own space.
8051 (Intel and others)
The 8051, Intel's second generation of microcontrollers, rules the
microcontroller market at the present time. Although featuring a
somewhat bizarre design, it is a very powerful and easy to program
chip (once you get used to it).
Modified Harvard architecture with separate address spaces for
program memory and data memory. The program memory can be up to
64K. The lower portion (4K or 8K depending on type) may reside on
chip. The 8051 can address up to 64K of external data memory, and
is accessed only by indirect addressing. The 8051 has 128 bytes
(256 bytes for the 8052) of on-chip RAM, plus a number of special
function registers (SFRs). I/O is mapped in its own space.
The 8051 features the so-called "boolean processor". This refers
to the way instructions can single out bits just about anywhere
(RAM, accumulators, I/O registers, etc.), perform complex bit
tests and comparisons, and then execute relative jumps based on
the results.
Piles of software, both commercial and free, are available for the
8051 line. Many manufacturers supply what must be a hundred
different variants of this chip for any requirement. Often
featured in construction projects in the popular hobbyist
magazines.
80c196 (MCS-96)
The third generation of Intel microprocessors, the 80c196 is a 16
bit processor. Originally fabricated in NMOS (8096), it is now
mainly available in CMOS. Intel Corp. has recently introduced a
clock-doubled (50MHz) version of the 80c196.
Among the many features it includes are: hardware multiply and
divide, 6 addressing modes, high speed I/O, A/D, serial
communications channel, up to 40 I/O ports, 8 source priority
interrupt controller, PWM generator, and watchdog timer.
80186,80188 (Intel)
These chips are, in essence, microcontroller versions of the 8086
and 8088 (of IBM/PC fame). Included on the chip are: 2 channels
of DMA, 2 counter/timers, programmable interrupt controller, and
dynamic RAM refresh. There are several variations including: low
power versions, variations with serial ports, and so on.
One major advantage you gain by using one of these parts is that
you can use standard PC development tools (compilers, assemblers,
etc) for developing you applications. If you are already familiar
with PC software development, the learning curve will be short,
since these chips have the same basic architecture as the original
8088 (as used in the IBM/PC).
Other advantages include high speed processing, a full megabyte
addressing space, and powerful interrupt processing.
80386 EX (Intel)
The 80386 EX is of course a 386 in microcontroller clothing.
Included on the chip are: serial I/O, power management, DMA,
counter/timers, programmable interrupt controller, and dynamic RAM
refresh. And of course, all of the power of the 386
microprocessor.
One major advantage you gain by using one of these parts is that
you can use standard PC development tools (compilers, assemblers,
etc) for developing your applications. If you are already
familiar with PC software development, the learning curve will be
short, since these chips have the same basic architecture as the
original 8088 (as used in the IBM/PC).
We're talking power here gang. Now let's all wait for Microsoft
to release a version of Windows for embedded and real-time
applications (Windows ET? Windows RT? Windows 2000? :-).
6805 (Motorola)
The 6805 is based loosely on the manufacturer's earlier 6800, with
some similarities to the 6502. It has a Von-Neuman architecture
in which instructions, data, I/O, and timers all share the same
space. Stack pointer is 5 bits wide which limits the stack to 32
bytes deep. Some members of this family include on chip A/D, PLL
frequency synthesizer, serial I/O, and software security.
68hc11 (Motorola and Toshiba)
The popular 68hc11 is a powerful 8-bit data, 16-bit address
microcontroller from Motorola (the sole supplier) with an
instruction set that is similar to the older 68xx parts (6801,
6805, 6809). The 68hc11 has a common memory architecture in which
instructions, data, I/O, and timers all share the same memory
space.
Depending on the variety, the 68hc11 has built-in EEPROM/OTPROM,
RAM, digital I/O, timers, A/D converter, PWM generator, pulse
accumulator, and synchronous and ansynchronous communications
channels. Typical current draw is less than 20ma.
683xx (Motorola)
The MC68EC300 series incorporates various peripherals into various
68k family core processors. These can be called "integrated
processors". They are really super-microcontrollers, very high
performance, capable of high processing speeds, and able to
address large amounts of memory. A typical example from this line
would be the 68331. It is based on a 68020-like core and has
about the same processing power as an Intel 80386.
PIC (MicroChip)
While watching my 8 year old daughter play with her Barbie Dolls
(she has about 7 or so, including two that used to belong to Roz,
my wife, when she was a girl) I noticed an interesting difference
between the old dolls and the new dolls. The old Barbies could
only move their heads sideways, while the new Barbies not only can
move their heads sideways, but also up and down. AMAZING - the
old Barbies were good girls - they could only say no. The new
Barbies however can also say yes. Progress - isn't it wonderful!
(Not to mention the gymnast Barbie that Dave Perry's daughter got
for Christmas - "wait'll you see what *she* can do ;-)"
Which leads me to an amazing fact. Most everyone thinks of the
PIC microcontroller line as being a recent introduction. However,
they've been popular for over 20 years. What's the difference?
Microchip (which was originally [owned by] General Instruments),
seems to have recreated this microcontroller into a product
universally regarded as a powerful and cost effective solution.
The new chips are fabricated in CMOS, some features have been
added, and new family lines have been introduced.
The PIC microcontrollers were the first RISC microcontrollers.
RISC generally implies that simplicity of design allows more
features to be added at lower cost, and the PIC line is no
exception. Although having few instructions (eg. 33 instructions
for the 16C5X line versus over 90 for the Intel 8048), the PIC
line has a wealth of features included as part of the chip.
Separate buses for instructions and data (Harvard architecture)
allows simultaneous access of program and data, and overlapping of
some operations for increased processing performance. The
benefits of design simplicity are a very small chip, small pin
count, and very low power consumption.
PIC microcontrollers are rapidly gaining in popularity. They are
being featured more and more often in construction projects in
popular hobbyist magazines, and are chalking up a good number of
design wins. Due to their low cost, small size, and low power
consumption, these microcontrollers can now be used in areas that
previously wouldn't have been appropriate (such as logic
circuits). They are currently available in three lines: the
PIC16C5x, PIC16Cxx, and PIC17Cxx families.
PSST! Hey kid! Want a naked Barbie Doll?!
COP400 Family (National Semiconductor)
The COP400 Family is a P2CMOS 4-bit microcontroller which offers
512 bytes to 2K ROM and 32x4 to 160x4 RAM. Packages are varied
from 20 to 28 pin (DIP/SO/PLCC). Functions include Microwire,
timers counters, 2.3 to 6.0 Volt operation, ROMless modes, and OTP
support.
Far from being "old" technology - 4-bit microcontrollers are
meeting significant market needs in more applications than ever
before. The reason for the continuing strength of the COP400
family is its versatility. Over 60 different, compatible devices
are available for a wide range of requirements. The first under
$.50 microcontroller set a new standard of value for
cost/performance.
COP800 Family (National Semiconductor)
The COP800 Basic Family is a fully static 8-bit microcontroller,
fabricated using double metal silicon gate microCMOS technology.
This low cost microcontroller contains all system timing,
interrupt logic, ROM, RAM, and I/O necessary to implement
dedicated control functions in a variety of applications.
Depending on the device, features include: 8-bit memory mapped
architect, MICROWIRE serial I/O, UART, memory mapped I/O, many 16
bit timer/counters with capture registers, a multi-sourced
vectored interrupt, comparator, WATCHDOG Timer and Clock monitor,
Modulator/Timer (high speed PWM timer for IR transmission),
8-channel A/D converter with prescaler and both differential and
single-ended modes, brownout protection, halt mode, idle mode,
high current I/O pins with 15mA sink capability, Schmitt trigger
inputs and Multi-Input-Wake-Up. Most devices operate over a
voltage range from 2.5V to 6V.
High throughput is achieved with an efficient, powerful
instruction set operating at a 1uS per instruction rate (most
instructions are single byte/single cycle) including true bit
manipulation and BCD arithmetic instructions. Most devices have
military versions for -55C to +125C.
HPC Family (National Semiconductor)
The HPC Family of High Performance microControllers is a 16-bit
controller fabricated using National's advanced microCMOS
technology. This process combined with an advanced architecture
provides fast, flexible I/O control, efficient data manipulation,
and high speed computation.
With its 16x16 bit multiply and 32x16 bit divide, the HPC is
appropriate for compute-intensive environments that used to be the
sole domain of the microprocessor. The architecture is a
Von-Neuman architecture where the program and data memory share
the same address space.
Depending on the family member, features include: 16-bit
memory-mapped architecture with software configurable external
address/data bus, Microwire/Plus serial I/O, UART, 16-bit
timer/counters with input capture capability, High-Level Data Link
Control (HDLC) for ISO-standard data communications, 8-channel A/D
converter with prescaler and both differential and single-ended
modes, power-saving modes, Multiply/Accumulate Unit with built-in
circular buffer management for low to medium DSP applications,
software configurable chip-select outputs, 64KB address space
directly addressable, low-voltage (3.3V) operation.
High throughput is achieved with an efficient, powerful
instruction set operating at a 50ns per instruction cycle (most
instructions are single byte/single cycle) including true bit
manipulation. Key applications currently using the HPC family
include: Anti-lock Braking Systems, Hard Disk drives for mass
storage, telecommunications, security systems, laser printers, and
some military applications.
Project Piranha (National Semiconductor)
Project Piranha is an internal code name for National
Semiconductor's embedded RISC processor technology. The Piranha
technology represents the first RISC processor specifically
designed for the needs of embedded applications. This was
accomplished through examination of the needs of typical embedded
applications, resulting in a technology which maintains the
benefits of CISC while providing the performance of RISC.
Specifically, some of these benefits are:
compact code density --> smaller memory usage/
lower system cost
small core size --> more room for add-on system design
scalable architecture --> a range of performance solutions
from 8 to 64 bits with a common architecture
common instruction set --> you only face the learning curve
and development tools once
modular design --> designed for easy integration of
specialized functions into
single chip
This technology is initially being implemented in application
specific products from National Semiconductor, with the first
product being available in Q1, 1995. For further information on
this technology, please contact Mark Throndson at
tmetsc@esd.nsc.com, or (408) 721-4957.
Z8 (Zilog)
A "loose" derivative of the Zilog Z80, the Z8 is actually a
composite of several different achitectures. Not really
compatible with the Z80 peripherals. Has a unique architecture
with three memory spaces: program memory, data memory, and a CPU
register file. On-chip features include UART, timers, DMA, up to
40 I/O lines. Some versions include a synchronous/asynchronous
serial channel. Features fast interrupt response with 37
interrupt sources. The Z8671 has Tiny Basic in ROM. The Super-8
is just that, a super version of the Z8 with more of everything.
There seem to be quite a few new members of the zilog Z8 family
arriving recently, including chips such as the Z86C95 which
contains a fairly "normal" Z8 but with lots of registers (not the
normal 128, but 236), and an internal 16 bit harvard architecture
DSP with two data memory systems and one program memory system,
and with a 24 bit accumulator. The DSP unit has its memory
systems accessible as additional banks of Z8 registers (the exact
mechanism is very poorly explained in the documentation!) so the
Z8 can be used to write the data and code for the DSP into the
DSP's storage and then start the DSP running, etc. There are the
usual Z8 peripherals plus A/D and D/A (single channel, accessible
by the Z8 and DSP CPUs).
Zilog has also recently come out with some new OTP parts:
osc
part# PDIP EPROM RAM I/O type freq
---------------------------------------------------------------
Z86E04 18 pin 1K 124 bytes 14 pins xtal,LC, 8MHz
cer res,ext
Z86E08 18 pin 2K 124 bytes 14 pins xtal,LC, 12MHz
cer res,ext
Z86E30 28 pin 4K 237 bytes 24 pins xtal,LC,RC, 12MHz
cer res,ext
Z86E31 28 pin 2K 124 bytes 24 pins xtal,LC,RC, 8MHz
cer res,ext
All parts come with real configurable RAM stack and interrupt
systems, two fully programmable timers with interrupts, ROM
protect, low-EMI modes, two analog comparator inputs with
interrupt capability, low-power standby modes (as low as 1 uA) and
45 easy instruction set. There are no separate chip versions to
do each of the oscillator types, one chip does them all.
HD64180 (Hitachi)
A powerful microcontroller with full Z80 functionality plus:
extended memory management, two DMA channels, synchronous and
asynchronous communications channels, timers, and interrupt
controller. Some versions of this chip also include EPROM, RAM,
and PIO (programmable input/output). It runs Z80 code in fewer
clock cycles than the Z80 and adds in hardware multiply and a few
other instructions. Available in versions that run up to 18MHz.
TMS370 (Texas Instruments)
It is similar to the 8051 in having 256 registers, A and B
accumulators, stack in the register page, etc. It also has a
host of onboard support devices, some members have all of them
while others have a subset, the peripherals include: RAM, ROM
(mask, OTP, or EEPROM), 2 timers (configurable as timers/
counters/comparators/PWM output), watchdog timer, SCI (syncronous
serial port), SPI (asynchronous serial port), A/D (8 bit, 8
channel), interrupts.
Instruction set is mostly 8 bit with some 16 bit support. Has
several addressing modes, 8x8 multiply, 16/8 divide. Clock speeds
are up to 20MHz which gives 5MHz for buss access and instruction
cycles. Pins mostly TTL compatible (except clock and reset).
Packages include:
28,40 DIP
28 CLCC
28,44,68 PLCC
40,64 SDIP
A developers/proto board is available. It is a multi layer PCB
about 12"x7" with RS-232 serial I/O, and monitor as well as access
to all processor pins on a patch and proto area. Support software
includes IBM-PC monitor & loader, cross assembler (absolute only).
A pure serial TTY monitor is also supported. Sole power
requirement is +5v. Priced is about $500 or so.
A relocating assembler and linker, and a C compiler are also
available.
1802 (RCA)
This is a real old-timer. The 1802 is the successor to the 1801
(2 chip set) which was the first microprocessor implemented in
CMOS. Both products were called microprocessors by RCA, not
microcontrollers. However, since the 1801 was implemented in CMOS
and therefore had low power requirements, it was often used in
microcontroller applications. The 1802, with its higher level of
integration and ease of use, could actually be considered a true
microcontroller. The 1802 is radiation hard and used in a lot of
deep space and satellite applications.
The 1802 has a fairly clean instruction set, a bunch of
general-purpose registers (more like a Z80 than an 8051 in that
regard), and separate data and I/O address spaces.
MuP21 (Forth chip)
The MuP21 was designed by Chuck Moore, the inventor of Forth.
With the MuP21, Forth can compile into machine code and still be
Forth, because the machine code IS Forth. The MuP21 freaks out at
100 MIPS while consuming only 50 milliwatts. Not only that, the
chip includes a video generator, has only about 7000 transistors
(that's right, 7000 and not 7,000,000), and costs about $20.
The assembler on this chip is a sort of dialect of Forth, as the
CPU is modeled after the Forth virtual machine. MuP21 is a
MINIMAL Forth engine. In fact MuP21 was designed to run OKAD
(Chuck Moore's VLSI CAD softare), and OKAD was designed to run on
MuP21. OKAD was run on a 486 to design MuP21, and MuP21 was
designed to have just enough hardware to run OKAD about ten times
as fast as a 486 on a very cheap chip (the MuP21). That's the
reason for the MuP21's on-chip video generator coprocessor. The
CPU programs the video generator and then just manipulates the
video buffer. It is composite video out, so it only needs one
pin. MuP21 is only a 40 pin chip.
MuP21 chips, boards, software, manuals, and spec sheets are
available from:
Offete Enterprises
1306 South B Street, San Mateo CA 94402
(415) 574-8250
Email: tingch@ccmail.apldbio.com
tingch@perkin-elmer.com.
F21 (Next generation Forth chip)
F21 will be bigger (10k vs 7k transistors for the MuP21!) but
since it is going to implemented with a smaller geometry (.8
micron vs 1.2) it will still be extremely small and low power, and
low cost. Although the specs on this chip aren't final yet,
expected performance is in the range of 250 MIPS!!. It will have
multiple analog processors and a very high speed serial network
coprocessor on chip. F21 will also support a wider range of
memory chips and have more I/O processors.
Designed for cheap consumer multimedia and parallel processing,
the F21 is planned for release some time in 1995.
For more information on this project, contact: Jeff Fox
.