Power Cube/Controller

Overview
The Power Cube's Multithreaded Micro-Controller is a unit for handling all requests that may come to the power cube, such as throttle; but also capable of handling other requests simultaneously.

Details
Initial development of the Power Cube's Microcontroller is being laid out on a Propeller Chip - 40-Pin DIP Chip and unlike the Arduino that so many have become familiar with, this carries 8 processors that are referred to as "cogs" and handle events simultaneously while passing memory read/write access off in a rotational pattern between the 8 cogs.

The chip carries it's contents in RAM and starts at Cog 0 at it's boot sequence where it loads the image into RAM from the EEPROM. Programs can be written in Assembly, or the "SPIN" language. Cogs are able to kick off child processes and manage cog processes.

An example of child processes:



Features

 * Model Number: P8X32A-D40
 * Processors (cogs): Eight
 * Architecture: 32-bits
 * System Clock Speed: DC to 80 MHz
 * Global RAM/ROM: 64 K bytes; 32 K RAM / 32 K ROM
 * Cog RAM: 512 x 32 bits each
 * I/O Pins: 32 (simultaneously addressable by all eight cogs)
 * Current Source/Sink per I/O: 40 mA
 * Clock Modes: (a) External crystal 4 -8 MHz (16 x PLL) (b) Internal oscillator ~12 MHz or ~20 kHz (c) Direct drive
 * Package Type: 40-pin DIP

Pin Assignments

 * P0-P31: General purpose I/O. Can source/sink 40 mA each at 3.3 VDC
 * P31: Rx from host (general purpose I/O after boot up)
 * P30: Tx to host (general purpose I/O after boot up/download)
 * P29: I2C SDA connection to external EEPROM (general purpose I/O after boot up)
 * P28: I2C SCL connection to external EEPROM (general purpose I/O after boot up)
 * Vdd: 3.3 V power (2.7 - 3.6 VDC)
 * Vss: Ground (0 VDC)
 * BOEn: Brown Out Enable (active low). Must be connected to either Vdd or Vss. If low, RESn becomes a weak output (~5 KΩ) for monitoring purposes but can be driven low to cause reset. If high, RESn is a CMOS input with Schmitt Trigger.
 * RESn: Reset (active low). When low, resets the Propeller chip; all cogs disabled and I/O pins floating. Propeller restarts 50 ms after RESn transitions from low to high.
 * XI: Crystal / clock input. Can connect to crystal or oscillator.
 * XO: Crystal Output. Provides feedback for an external crystal. Internal C and R selectable for crystals (no other components required).

Key Specifications

 * Power requirements: 2.7 to 3.3 VDC
 * Communication: Serial for programming
 * Dimensions: 0.48 x 2.0 x 0.13 in (12.3 x 51 x 3.41 mm)
 * Operating temp range: -67 to +257 °F (-55 to +125 °C)
 * RoHS Compliant

Development Status
Currently, the Power Cube's controller is in it's prototype's initial design, and implementation on a LifeTrac at Creation Flame in Texas by Louis (Thad) T. Getterman IV, James "Bunny" Slade, and James "Dorkmo" Wise. We are in need of C support to answer questions we get hung up on. Those with relevant experience in C, Spin, or Assembly Language are encouraged to e-mail Thad.

Pictures

 * Reading about shared memory and child processes for the Propeller microcontroller
 * Propeller Microcontroller arrival
 * Picking up 2 Uno Controllers to develop the Power Cube Controller's Communication Protocol
 * Mapping out hydraulic system for LifeTrac set - Power Cube Controller will be able to read/write these values across it's protocol
 * Map out for systems between Power Cube's Controller and LifeTrac's Controller
 * Bobcat BOSS System with Open Source equivalent being Power Cube Propeller Microcontroller <-> LifeTrac Arduino Microcontroller

Videos

 * Development of Communication Protocol across I2C Bus
 * Development of Timer Functions for handling constant communication between the Power Cube and LifeTrac's reciprocal microcontrollers

Links

 * Electronic Joystick Candidate for feeding to LifeTrac Controller - The Power Cube and LifeTrac Controller are able to read/write each other's variables by means of protocol across I2C bus, meaning that the Electronic Joystick in the cockpit of the LifeTrac will be able to adjust the Power Cube's Throttle.

[[Media:Example.ogg]]