Start
Prop Job
Cog in the Machine
Hubba-Hubba
Spin Control
It's a Cog's Life
Propeller Heads Wanted
Sources and PDF
PROP
JOB
This
month, let’s take a look at a new multicore
chip from an unlikely source. Parallax is known
as a supplier of low-cost and easy-to-use gadgets,
most notably their line of BASIC Stamps. They’re
also the source for a high-performance, albeit
conventional, 8-bit MCU, the 50-MIPS SX.
Now
their creativity has found a new outlet in the
form of the Propeller chip. It’s an MCU that
by virtue of a mere $10 price tag brings multicore
to the masses, ready or not.
From
50,000¢ there’s little to distinguish the Propeller
from conventional MCUs. Indeed, the 40-pin DIP
package version has a positively retro feel
(surface-mount 44-pin LQFP and QFN versions
are also available).
|

(Click
here to enlarge)
|
Photo
1—Wiring up a minimal Propeller system configuration
is trivially easy. Thanks to the on-chip
oscillator, all that’s needed is a connection
for downloading code, either a USB-based
debugger (shown here), a serial EEPROM,
or both. |
Indeed,
belying the black magic under the hood, the
chip is embarrassingly easy to get up and running.
As you can see in Photo 1, I got on the air
with little more than a few connections to the
USB2SER PC interface. Notice that a minimal
configuration requires zero external components,
not even a crystal thanks to an on-chip RC oscillator
option. A more typical stand-alone setup will
add a serial EEPROM to hold the application
software and perhaps a crystal that works with
an on-chip PLL to generate a faster precision
clock (see Figure 1).
|

(Click
here to enlarge)
|
Figure
1—The only truly dedicated Propeller pins
are reset (RSTn), brownout enable (BOEn),
and connections for an optional crystal
(XI and XO). A typical system will also
use two pins for the debugger interface
(Rx and Tx) and two pins for an EEPROM (SDA
and SCL) holding the application code. |
From
the outside looking in, the most notable Propeller
features are the ones that are missing. For
example, where are all the UART, SPI, and counter/timer
connections that crowd the typical MCU’s pinout?
For that matter, where are the interrupts that
are the hallmark of real-time embedded applications?
Your eyes don’t deceive. Other than the four
pins used for the boot EEPROM and PC interface,
Propeller I/O lines are all completely general-purpose.
Why
doesn’t the Propeller have dedicated I/O and
interrupt pins? The short answer is that it
doesn’t need them. For the long answer, read
on.