Electronic Design

  
Reprints     Printer-Friendly    Email this Article    RSS        Font Size     What's This?


[Lab Bench Online]
EiED Online>> Parallax Propeller

William Wong  |   ED Online ID #13329  |   August 21, 2006


Parallax took a major turn from its bread and butter Basic Stamps and SX processors with its new Propeller architecture (see “Eight 32-Bit Cores Take Flight In Multiprocessor Microcontroller,” ED Online 12235). The Propeller packs eight 32-bit processors, called cogs, into a single package (see Figure 1).

Packing eight identical processors in the same package with shared memory may seem like a straight forward architecture but the Propeller is a bit more complicated and novel. For example, all eight cogs have access to all of the same 32 IO pins at the same time. This can make debugging a bit difficult if two processors accidentally use the same pin at the same time in a different fashion. This simply means designers need to have a good understanding of the application and its implementation.

The other thing is that Propeller has a split personality. First there are the eight cogs that have 512 32-bit words of RAM for variables, stack and cog code (also called Propeller assembler). The second is the Spin interpreter. Spin is a high level language where the high level control aspects of an application occur. Spin code is stored in main memory that consists of 8Kwords of RAM and 8Kwords of ROM. The latter contains the Spin interpreter along with other system tables and the system boot loader. The interpreter is written in cog code and is designed to run on a cog. The variables for the interpreter are stored in the cog’s memory but the Spin code is found in main memory. The interpreter reads a Spin instruction and then interprets it.

Spinning Up A Propeller
The boot loader cog code is what is loaded into a cog when the chip starts up. The boot loader can load an application into the main memory from the serial port or from a serial flash memory (see Figure 2). This is the configuration found on the Propeller demo board (see Figure 3). A serial interface is connected via the Propeller Clip (see Figure 4). Other development tools include the Propeller Stick kit (see Figure 5) that you need to assemble (see Figure 6).

Once the program code is loaded into main memory it begins executing the Spin code for the “top object.” This in turn can start up additional cogs. This is done by aiming a cog at an “object” stored in main memory. The cog code for this object is then copied to the cog’s memory and it begins running. The newly running code has access to main memory and is passed a parameter that it can use as the basis for communication and utilization of main memory.


<-- prev. page     [1] 2 3 4 5     next page -->

Reprints   Printer-Friendly  Email this Article  RSS    Font Size   What's This?



POST YOUR COMMENTS HERE
Name:

Email:
Your Comments:

Enter the text from the image below


Please refresh the page if you have trouble reading this text.

Search Electronic Design
     
  
 
Web Seminar
Sponsored By:
Title: Read Pacing: A Performance Enhancing Feature of PCI Express Gen 2 Switch Devices
Speakers: 
Date: 07/01/08
Register: 

Electronic Design Europe Electronic Design China EEPN Power Electronics Auto Electronics Microwaves & RF
Mobile Dev & Design Schematics Find Power Products Military Electronics EE Events Related Resources