circuitcellar.com
Magazine Support   Digital Library   Products & Services   Suppliers Directory 
 
 





 

August 2006, Issue 193

Turning the Core-ner



by Tom Cantrell


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.